UNPKG

@xylabs/threads

Version:

Web workers & worker threads as simple as a function call

34 lines 2.2 kB
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