mirror of
https://github.com/rails/execjs
synced 2023-03-27 23:21:20 -04:00
Merge branch 'node_vm' of https://github.com/jhawthorn/execjs into jhawthorn-node_vm
This commit is contained in:
commit
08e7cd6456
1 changed files with 9 additions and 13 deletions
|
@ -1,20 +1,17 @@
|
|||
(function(program, execJS) { execJS(program) })(function(global, process, module, exports, require, console, setTimeout, setInterval, clearTimeout, clearInterval, setImmediate, clearImmediate) { #{source}
|
||||
}, function(program) {
|
||||
(function(execJS) { execJS() })(function() {
|
||||
var source = #{::JSON.dump(source)};
|
||||
source = "(function(){"+ source + "})()";
|
||||
|
||||
var output, print = function(string) {
|
||||
process.stdout.write('' + string);
|
||||
};
|
||||
try {
|
||||
var __process__ = process;
|
||||
delete this.process;
|
||||
delete this.console;
|
||||
delete this.setTimeout;
|
||||
delete this.setInterval;
|
||||
delete this.clearTimeout;
|
||||
delete this.clearInterval;
|
||||
delete this.setImmediate;
|
||||
delete this.clearImmediate;
|
||||
var program = function(){
|
||||
var vm = require('vm');
|
||||
var context = vm.createContext();
|
||||
return vm.runInNewContext(source, context, "(execjs)");
|
||||
}
|
||||
result = program();
|
||||
this.process = __process__;
|
||||
if (typeof result == 'undefined' && result !== null) {
|
||||
print('["ok"]');
|
||||
} else {
|
||||
|
@ -25,7 +22,6 @@
|
|||
}
|
||||
}
|
||||
} catch (err) {
|
||||
this.process = __process__;
|
||||
print(JSON.stringify(['err', '' + err, err.stack]));
|
||||
}
|
||||
});
|
||||
|
|
Loading…
Reference in a new issue