UNPKG

echogarden

Version:

An easy-to-use speech toolset. Includes tools for synthesis, recognition, alignment, speech translation, language detection, source separation and more.

31 lines 1.16 kB
import { isMainThread, parentPort } from 'node:worker_threads'; import { sendMessageToWorker, addListenerToWorkerMessages, startMessageChannel } from './Worker.js'; import { OpenPromise } from '../utilities/OpenPromise.js'; async function startIfInWorkerThread() { if (isMainThread || !parentPort) { return; } startMessageChannel(); addListenerToWorkerMessages((message) => { parentPort?.postMessage(message); }); const initOpenPromise = new OpenPromise(); parentPort.once('message', (message) => { if (message.name == 'init') { process.stderr.isTTY = message.stdErrIsTTY; process.stderr.hasColors = () => message.hasColors; process.stderr.write = (text) => { parentPort.postMessage({ name: 'writeToStdErr', text }); return true; }; initOpenPromise.resolve(); } }); await initOpenPromise.promise; parentPort.on('message', (message) => { sendMessageToWorker(message); }); } // Start worker if running in worker thread startIfInWorkerThread(); //# sourceMappingURL=WorkerStarter.js.map