import { parentPort, workerData } from "node:worker_threads"; if (!parentPort) throw new Error("browser-nested-worker-node-shim requires a parent port."); if (!workerData?.moduleUrl) throw new Error("browser-nested-worker-node-shim requires moduleUrl."); globalThis.self = { onmessage: null, postMessage(message, transfer = []) { parentPort.postMessage(message, transfer); }, }; await import(workerData.moduleUrl); if (typeof globalThis.self.onmessage !== "function") { throw new Error(`Nested browser worker module did not install onmessage: ${workerData.moduleUrl}`); } parentPort.on("message", (data) => globalThis.self.onmessage({ data }));