blux-ca / ca /evaluator /advanced /js_ts_async.py
Justadudeinspace
restructure and upgrade all ca python files
2c5ae19
import subprocess
import tempfile
import os
class JSEvaluatorAsync:
"""
Evaluates JS/TS code asynchronously using Node.js subprocess.
"""
def __init__(self, name="js_async_evaluator"):
self.name = name
def evaluate(self, code_str):
try:
with tempfile.NamedTemporaryFile(mode='w', suffix='.js', delete=False) as tmp_file:
tmp_file.write(code_str)
tmp_path = tmp_file.name
result = subprocess.run(['node', tmp_path], capture_output=True, text=True, timeout=5)
os.remove(tmp_path)
return {"success": result.returncode == 0, "stdout": result.stdout, "stderr": result.stderr}
except Exception as e:
return {"success": False, "error": str(e)}