Bot
Initial commit for HF Spaces
05c5ed5
Raw
History Blame Contribute Delete
1.09 kB
import {
CodeRunnerResult,
CodeWorkerEvent,
CodeWorkerRequest,
CodeWorkerResult,
} from "./code-runner.interface";
import { safeJsRun } from "./safe-js-run";
import { safePythonRun } from "./safe-python-run";
self.onmessage = async (event) => {
const { code, type, timeout = 300000, id } = event.data as CodeWorkerRequest;
const engine = type == "javascript" ? safeJsRun : safePythonRun;
const result = await engine({
code,
timeout,
onLog(entry) {
const logEvent: CodeWorkerEvent = {
id,
type: "log",
entry,
};
self.postMessage(logEvent);
},
}).catch((error) => {
const errorResult: CodeRunnerResult = {
success: false,
logs: [
{
type: "error",
args: [
{
type: "data",
value: error.message,
},
],
},
],
error: error.message,
};
return errorResult;
});
const resultEvent: CodeWorkerResult = {
id,
type: "result",
result,
};
self.postMessage(resultEvent);
};