Squashed '.claude/llm-functions/' content from commit 616d8d8
git-subtree-dir: .claude/llm-functions git-subtree-split: 616d8d84c5565fdb66d8782ae5ba56d994bfa82a
This commit is contained in:
22
tools/execute_js_code.js
Normal file
22
tools/execute_js_code.js
Normal file
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* 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 ({ code }) {
|
||||
let output = "";
|
||||
const oldStdoutWrite = process.stdout.write.bind(process.stdout);
|
||||
process.stdout.write = (chunk, _encoding, callback) => {
|
||||
output += chunk;
|
||||
if (callback) callback();
|
||||
};
|
||||
|
||||
const value = eval(code);
|
||||
if (value !== undefined) {
|
||||
output += value;
|
||||
}
|
||||
|
||||
process.stdout.write = oldStdoutWrite;
|
||||
return output;
|
||||
}
|
||||
Reference in New Issue
Block a user