map/tests/helpers-generation-worker-node-wrapper.mjs

15 lines
549 B
JavaScript
Raw Permalink Normal View History

2026-08-11 21:51:07 +09:00
import { parentPort } from 'node:worker_threads';
if (!parentPort) throw new Error('generation worker node wrapper requires parentPort');
const pending = [];
globalThis.self = {
postMessage(data, transfer = []) {
parentPort.postMessage(data, transfer);
},
};
parentPort.on('message', (data) => {
if (typeof globalThis.self.onmessage === 'function') globalThis.self.onmessage({ data });
else pending.push(data);
});
await import('../src/generationWorker.js');
while (pending.length) globalThis.self.onmessage({ data: pending.shift() });