UNPKG

@xylabs/threads

Version:

Web workers & worker threads as simple as a function call

63 lines (61 loc) 1.55 kB
interface SerializedError { __error_marker: '$$error'; message: string; name: string; stack?: string; } declare enum MasterMessageType { cancel = "cancel", run = "run" } type MasterJobCancelMessage = { type: MasterMessageType.cancel; uid: number; }; type MasterJobRunMessage = { type: MasterMessageType.run; uid: number; method?: string; args: any[]; }; declare enum WorkerMessageType { error = "error", init = "init", result = "result", running = "running", uncaughtError = "uncaughtError" } type WorkerUncaughtErrorMessage = { type: WorkerMessageType.uncaughtError; error: { message: string; name: string; stack?: string; }; }; type WorkerInitMessage = { type: WorkerMessageType.init; exposed: { type: 'function'; } | { type: 'module'; methods: string[]; }; }; type WorkerJobErrorMessage = { type: WorkerMessageType.error; uid: number; error: SerializedError; }; type WorkerJobResultMessage = { type: WorkerMessageType.result; uid: number; complete?: true; payload?: any; }; type WorkerJobStartMessage = { type: WorkerMessageType.running; uid: number; resultType: 'observable' | 'promise'; }; export { type MasterJobCancelMessage, type MasterJobRunMessage, MasterMessageType, type SerializedError, type WorkerInitMessage, type WorkerJobErrorMessage, type WorkerJobResultMessage, type WorkerJobStartMessage, WorkerMessageType, type WorkerUncaughtErrorMessage };