15 lines
549 B
JavaScript
15 lines
549 B
JavaScript
|
|
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() });
|