UNPKG

@xylabs/threads

Version:

Web workers & worker threads as simple as a function call

71 lines 2.08 kB
/** Serialized representation of an Error for transmission between threads. */ export interface SerializedError { __error_marker: '$$error'; message: string; name: string; stack?: string; } /** Types of messages that the master thread can send to a worker. */ export declare enum MasterMessageType { cancel = "cancel", run = "run" } /** Message sent by the master to cancel a running job. */ export type MasterJobCancelMessage = { type: MasterMessageType.cancel; uid: number; }; /** Message sent by the master to run a function in the worker. */ export type MasterJobRunMessage = { type: MasterMessageType.run; uid: number; method?: string; args: any[]; }; /** Types of messages that a worker thread can send to the master. */ export declare enum WorkerMessageType { error = "error", init = "init", result = "result", running = "running", uncaughtError = "uncaughtError" } /** Message sent by a worker when an uncaught error occurs. */ export type WorkerUncaughtErrorMessage = { type: WorkerMessageType.uncaughtError; error: { message: string; name: string; stack?: string; }; }; /** Message sent by a worker after calling `expose()` to signal its API to the master. */ export type WorkerInitMessage = { type: WorkerMessageType.init; exposed: { type: 'function'; } | { type: 'module'; methods: string[]; }; }; /** Message sent by a worker when a job encounters an error. */ export type WorkerJobErrorMessage = { type: WorkerMessageType.error; uid: number; error: SerializedError; }; /** Message sent by a worker containing a job's result value. */ export type WorkerJobResultMessage = { type: WorkerMessageType.result; uid: number; complete?: true; payload?: any; }; /** Message sent by a worker when a job starts executing. */ export type WorkerJobStartMessage = { type: WorkerMessageType.running; uid: number; resultType: 'observable' | 'promise'; }; //# sourceMappingURL=messages.d.ts.map