feat: some shit
Some checks failed
Deploy to GitHub Pages / build_site (push) Failing after 6s

This commit is contained in:
2024-12-18 17:26:24 +01:00
parent 9d4d67f086
commit 0c9a9269c4
20 changed files with 361 additions and 197 deletions

View File

@ -0,0 +1,40 @@
/// <reference lib="webworker" />
import { NodeDefinitionSchema } from "../schemas/types.ts";
import { WorkerMessage } from "./types.ts";
import { createWasmWrapper } from "./utils.ts";
const workerSelf = self as DedicatedWorkerGlobalScope & {
postMessage: (message: WorkerMessage) => void;
};
function extractDefinition(wasmCode: ArrayBuffer) {
try {
const wasm = createWasmWrapper(wasmCode);
const definition = wasm.get_definition();
const p = NodeDefinitionSchema.safeParse(definition);
if (!p.success) {
workerSelf.postMessage({ action: "error", error: p.error });
return;
}
workerSelf.postMessage({ action: "result", result: p.data });
} catch (e) {
console.log("HEEERE", e);
workerSelf.postMessage({ action: "error", error: e });
}
}
self.onmessage = (e: MessageEvent<WorkerMessage>) => {
switch (e.data.action) {
case "extract-definition":
extractDefinition(e.data.content);
self.close();
break;
default:
throw new Error("Unknown action: " + e.data.action);
}
};