File: cwlNodeEngineJSConsole.js

package info (click to toggle)
cwl-utils 0.37-1
  • links: PTS, VCS
  • area: main
  • in suites: sid, trixie
  • size: 5,156 kB
  • sloc: python: 88,920; makefile: 141; javascript: 91
file content (32 lines) | stat: -rw-r--r-- 985 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
"use strict";
function js_console_log(){
    console.error("[log] "+require("util").format.apply(this, arguments).split("\n").join("\n[log] "));
}
function js_console_err(){
    console.error("[err] "+require("util").format.apply(this, arguments).split("\n").join("\n[err] "));
}
process.stdin.setEncoding("utf8");
var incoming = "";
process.stdin.on("data", function(chunk) {
  incoming += chunk;
  var i = incoming.indexOf("\n");
  if (i > -1) {
      try{
        var fn = JSON.parse(incoming.substr(0, i));
        incoming = incoming.substr(i+1);
        process.stdout.write(JSON.stringify(require("vm").runInNewContext(fn, {
        console: {
            log: js_console_log, 
            error: js_console_err
        }
        })) + "\n");
    }
    catch(e){
        console.error(e)
    }
    /*strings to indicate the process has finished*/
    console.log("r1cepzbhUTxtykz5XTC4");
    console.error("r1cepzbhUTxtykz5XTC4");
  }
});
process.stdin.on("end", process.exit);