@xylabs/threads
Version:
Web workers & worker threads as simple as a function call
34 lines • 2.2 kB
TypeScript
import type { MessagePort, Transferable as NodeTransferable } from 'node:worker_threads';
import type { AbstractedWorkerAPI } from '../types/worker.ts';
/** Check if the current code is running inside a Node.js worker thread. */
declare const isWorkerRuntime: AbstractedWorkerAPI['isWorkerRuntime'];
/** Post a message from this worker to the master thread via the parent port. */
declare const postMessageToMaster: AbstractedWorkerAPI['postMessageToMaster'];
/** Subscribe to messages from the master thread on the parent port. */
declare const subscribeToMasterMessages: AbstractedWorkerAPI['subscribeToMasterMessages'];
/** Bound `on` method from the parent port for adding event listeners. */
declare const addEventListener: {
(event: "close", listener: (ev: Event) => void): MessagePort;
(event: "message", listener: (value: any) => void): MessagePort;
(event: "messageerror", listener: (error: Error) => void): MessagePort;
(event: string, listener: (arg: any) => void): MessagePort;
};
/** Bound `postMessage` method from the parent port. */
declare const postMessage: {
(message: any, transfer: NodeTransferable[]): void;
(message: any, options?: import("node:worker_threads").StructuredSerializeOptions): void;
};
/** Bound `off` method from the parent port for removing event listeners. */
declare const removeEventListener: {
(event: "close", listener: (ev: Event) => void, options?: EventListenerOptions): MessagePort;
(event: "message", listener: (value: any) => void, options?: EventListenerOptions): MessagePort;
(event: "messageerror", listener: (error: Error) => void, options?: EventListenerOptions): MessagePort;
(event: string, listener: (arg: any) => void, options?: EventListenerOptions): MessagePort;
};
export { addEventListener, postMessage, removeEventListener, };
declare const expose: (exposed: import("../types/worker.ts").WorkerFunction | import("../types/worker.ts").WorkerModule<any>) => void;
export { isWorkerRuntime, postMessageToMaster, subscribeToMasterMessages, };
export { registerSerializer } from '../common.ts';
export { Transfer } from '../transferable.ts';
export { expose };
//# sourceMappingURL=worker.node.d.ts.map