Sha256: 07027bd9db2e182c6a26ca834d6a7ff22f72d9a549a1fc116fdecfb489ffb37a

Contents?: true

Size: 869 Bytes

Versions: 6

Compression:

Stored size: 869 Bytes

Contents

# backtick_javascript: true

`/* global imports */`

# Basic version, appends \n:
# $stdout.write_proc = `function(s){print(s)}`
# $stderr.write_proc = `function(s){printerr(s)}`

# Advanced version:
%x{
  var GLib = imports.gi.GLib;
  var ByteArray = imports.byteArray;

  var stdin = GLib.IOChannel.unix_new(0);
  var stdout = GLib.IOChannel.unix_new(1);
  var stderr = GLib.IOChannel.unix_new(2);

  Opal.gvars.stdout.write_proc = function(s) {
    var buf = ByteArray.fromString(s);
    stdout.write_chars(buf, buf.length);
    stdout.flush();
  }

  Opal.gvars.stderr.write_proc = function(s) {
    var buf = ByteArray.fromString(s);
    stderr.write_chars(buf, buf.length);
    stderr.flush();
  }

  Opal.gvars.stdin.read_proc = function(_s) {
    var out = stdin.read_line();
    if (out[0] == GLib.IOStatus.EOF) return nil;
    return out[1].toString();
  }
}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
opal-1.8.3.rc1 stdlib/gjs/io.rb
opal-1.8.2 stdlib/gjs/io.rb
opal-1.8.1 stdlib/gjs/io.rb
opal-1.8.0 stdlib/gjs/io.rb
opal-1.8.0.beta1 stdlib/gjs/io.rb
opal-1.8.0.alpha1 stdlib/gjs/io.rb