Files
linuxcncWebWASM/web/worker/sim-worker.mjs

21 lines
614 B
JavaScript

import createModule from "../../build-wasm/linuxcnc-sim-core.js";
import { SimSession } from "./sim-session.mjs";
const core = await createModule();
const session = new SimSession(core);
self.onmessage = (event) => {
try {
self.postMessage(session.accept(event.data));
} catch (error) {
self.postMessage({
schema_version: 1,
kind: "ERROR",
context_id: session.contextId,
session_id: session.sessionId,
seq: event.data?.seq ?? 0,
payload: { status: "error", code: "worker_exception", message_key: String(error?.message ?? error), retryable: false },
});
}
};