1
This commit is contained in:
parent
1a3ba56d9a
commit
810ad6f5cb
33 changed files with 10710 additions and 1087 deletions
19
tests/browser-nested-worker-node-shim.mjs
Normal file
19
tests/browser-nested-worker-node-shim.mjs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
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 }));
|
||||
Loading…
Add table
Add a link
Reference in a new issue