UNPKG

kysely-generic-sqlite

Version:
38 lines (35 loc) 1.03 kB
import { createGenericOnMessageCallback, access } from './chunk-DJ5QD4ZI.js'; import { EventEmitter } from 'node:events'; import { parentPort } from 'node:worker_threads'; var NodeEventEmitterWrapper = class extends EventEmitter { off(eventName) { return this.removeAllListeners(eventName); } }; function createNodeOnMessageCallback(init, rest) { if (!parentPort) { throw new Error("Must run in a worker thread"); } parentPort.on( "message", createGenericOnMessageCallback( init, (value) => parentPort.postMessage(value), rest ) ); } var handleNodeWorker = (worker, cb) => worker.on("message", cb); function createNodeMitt() { return new NodeEventEmitterWrapper(); } function createNodeWorkerExecutor(config) { const { worker, data } = config; return async () => ({ data, worker: await access(worker), handle: handleNodeWorker, mitt: createNodeMitt() }); } export { createNodeMitt, createNodeOnMessageCallback, createNodeWorkerExecutor, handleNodeWorker };