@xylabs/threads
Version:
Web workers & worker threads as simple as a function call
13 lines (11 loc) • 480 B
TypeScript
type UnsubscribeFn = () => void;
interface AbstractedWorkerAPI {
isWorkerRuntime(): boolean;
postMessageToMaster(message: any, transferList?: Transferable[]): void;
subscribeToMasterMessages(onMessage: (data: any) => void): UnsubscribeFn;
}
type WorkerFunction = ((...args: any[]) => any) | (() => any);
type WorkerModule<Keys extends string> = {
[key in Keys]: WorkerFunction;
};
export type { AbstractedWorkerAPI as A, WorkerFunction as W, WorkerModule as a };