Sha256: 75adaf3160ee06ea23ea7769eb08d9d2e1e3b967c0b736040aa3c1a9dae5450b

Contents?: true

Size: 903 Bytes

Versions: 1

Compression:

Stored size: 903 Bytes

Contents

// A custom execjs runner that expects the source to return an instance of EventEmitter
// http://nodejs.org/api/events.html#events_class_events_eventemitter
// Works in node only
(function(program, execJS) { execJS(program) })(function(callback) { #{source}
}, function(program) {
  var output, print = function(string) {
    process.stdout.write('' + string);
  };
  var callback = function(result){
    if (typeof result == 'undefined' && result !== null) {
      print('["ok"]');
    } else {
      try {
        print('["ok", ' + JSON.stringify(result) + ']');
      } catch (err) {
        print('["err"]');
      }
    }
  };
  var returnError = function(err) {
    print(JSON.stringify(['err', '' + err]));
  };

  // data and end -> success, error -> error
  try {
    program().on('data', callback).on('end', callback).on('error', returnError);
  } catch (err) {
    returnError(err);
  }
});

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ruby-bower-0.0.1 lib/ruby-bower/support/node_event_emitter_runner.js