blob: 3ca0401268e07aa6d8da322580fc81c3846a66d1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
/**
* Execute the javascript code in node.js.
* @typedef {Object} Args
* @property {string} code - Javascript code to execute, such as `console.log("hello world")`
* @param {Args} args
*/
exports.run = function run({ code }) {
let log = "";
const oldStdoutWrite = process.stdout.write.bind(process.stdout);
process.stdout.write = (chunk, _encoding, callback) => {
log += chunk;
if (callback) callback();
};
eval(code);
process.stdout.write = oldStdoutWrite;
return log;
}
|