@xylabs/threads
Advanced tools
Comparing version 4.4.36 to 4.5.0
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.PoolEventType = void 0; | ||
var PoolEventType; | ||
(function (PoolEventType) { | ||
PoolEventType["initialized"] = "initialized"; | ||
PoolEventType["taskCanceled"] = "taskCanceled"; | ||
PoolEventType["taskCompleted"] = "taskCompleted"; | ||
PoolEventType["taskFailed"] = "taskFailed"; | ||
PoolEventType["taskQueued"] = "taskQueued"; | ||
PoolEventType["taskQueueDrained"] = "taskQueueDrained"; | ||
PoolEventType["taskStart"] = "taskStart"; | ||
PoolEventType["terminated"] = "terminated"; | ||
})(PoolEventType || (exports.PoolEventType = PoolEventType = {})); | ||
const enum_1 = require("../enum"); | ||
exports.PoolEventType = (0, enum_1.Enum)({ | ||
initialized: 'initialized', | ||
taskCanceled: 'taskCanceled', | ||
taskCompleted: 'taskCompleted', | ||
taskFailed: 'taskFailed', | ||
taskQueued: 'taskQueued', | ||
taskQueueDrained: 'taskQueueDrained', | ||
taskStart: 'taskStart', | ||
terminated: 'terminated', | ||
}); |
@@ -9,3 +9,2 @@ "use strict"; | ||
const observable_fns_1 = require("observable-fns"); | ||
const ponyfills_1 = require("../ponyfills"); | ||
const implementation_1 = require("./implementation"); | ||
@@ -125,3 +124,6 @@ const pool_types_1 = require("./pool-types"); | ||
} | ||
this.run(availableWorker, nextTask); | ||
this.run(availableWorker, nextTask).catch((error) => { | ||
this.debug('Error while running task:', error); | ||
this.eventSubject.error(error); | ||
}); | ||
} | ||
@@ -158,3 +160,3 @@ taskCompletion(taskID) { | ||
if (allowResolvingImmediately && this.taskQueue.length === 0) { | ||
await (0, ponyfills_1.allSettled)(getCurrentlyRunningTasks()); | ||
await Promise.allSettled(getCurrentlyRunningTasks()); | ||
return taskFailures; | ||
@@ -173,3 +175,3 @@ } | ||
}); | ||
await (0, ponyfills_1.allSettled)(getCurrentlyRunningTasks()); | ||
await Promise.allSettled(getCurrentlyRunningTasks()); | ||
failureSubscription.unsubscribe(); | ||
@@ -176,0 +178,0 @@ return taskFailures; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.WorkerEventType = void 0; | ||
var WorkerEventType; | ||
(function (WorkerEventType) { | ||
WorkerEventType["internalError"] = "internalError"; | ||
WorkerEventType["message"] = "message"; | ||
WorkerEventType["termination"] = "termination"; | ||
})(WorkerEventType || (exports.WorkerEventType = WorkerEventType = {})); | ||
const enum_1 = require("../enum"); | ||
exports.WorkerEventType = (0, enum_1.Enum)({ | ||
internalError: 'internalError', | ||
message: 'message', | ||
termination: 'termination', | ||
}); |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.WorkerMessageType = exports.MasterMessageType = void 0; | ||
var MasterMessageType; | ||
(function (MasterMessageType) { | ||
MasterMessageType["cancel"] = "cancel"; | ||
MasterMessageType["run"] = "run"; | ||
})(MasterMessageType || (exports.MasterMessageType = MasterMessageType = {})); | ||
var WorkerMessageType; | ||
(function (WorkerMessageType) { | ||
WorkerMessageType["error"] = "error"; | ||
WorkerMessageType["init"] = "init"; | ||
WorkerMessageType["result"] = "result"; | ||
WorkerMessageType["running"] = "running"; | ||
WorkerMessageType["uncaughtError"] = "uncaughtError"; | ||
})(WorkerMessageType || (exports.WorkerMessageType = WorkerMessageType = {})); | ||
const enum_1 = require("../enum"); | ||
exports.MasterMessageType = (0, enum_1.Enum)({ | ||
cancel: 'cancel', | ||
run: 'run', | ||
}); | ||
exports.WorkerMessageType = (0, enum_1.Enum)({ | ||
error: 'error', | ||
init: 'init', | ||
result: 'result', | ||
running: 'running', | ||
uncaughtError: 'uncaughtError', | ||
}); |
@@ -0,27 +1,30 @@ | ||
import type { EnumValue } from '../enum'; | ||
import { Enum } from '../enum'; | ||
import type { Thread } from './thread'; | ||
export declare enum PoolEventType { | ||
initialized = "initialized", | ||
taskCanceled = "taskCanceled", | ||
taskCompleted = "taskCompleted", | ||
taskFailed = "taskFailed", | ||
taskQueued = "taskQueued", | ||
taskQueueDrained = "taskQueueDrained", | ||
taskStart = "taskStart", | ||
terminated = "terminated" | ||
} | ||
export declare const PoolEventType: Enum<{ | ||
initialized: "initialized"; | ||
taskCanceled: "taskCanceled"; | ||
taskCompleted: "taskCompleted"; | ||
taskFailed: "taskFailed"; | ||
taskQueued: "taskQueued"; | ||
taskQueueDrained: "taskQueueDrained"; | ||
taskStart: "taskStart"; | ||
terminated: "terminated"; | ||
}>; | ||
export type PoolEventType = EnumValue<typeof PoolEventType>; | ||
export type TaskRunFunction<ThreadType extends Thread, Return> = (worker: ThreadType) => Promise<Return>; | ||
export type PoolEvent<ThreadType extends Thread> = { | ||
type: PoolEventType.initialized; | ||
type: 'initialized'; | ||
size: number; | ||
} | { | ||
type: PoolEventType.taskQueued; | ||
type: 'taskQueued'; | ||
taskID: number; | ||
} | { | ||
type: PoolEventType.taskQueueDrained; | ||
type: 'taskQueueDrained'; | ||
} | { | ||
type: PoolEventType.taskStart; | ||
type: 'taskStart'; | ||
taskID: number; | ||
workerID: number; | ||
} | { | ||
type: PoolEventType.taskCompleted; | ||
type: 'taskCompleted'; | ||
returnValue: any; | ||
@@ -31,3 +34,3 @@ taskID: number; | ||
} | { | ||
type: PoolEventType.taskFailed; | ||
type: 'taskFailed'; | ||
error: Error; | ||
@@ -37,6 +40,6 @@ taskID: number; | ||
} | { | ||
type: PoolEventType.taskCanceled; | ||
type: 'taskCanceled'; | ||
taskID: number; | ||
} | { | ||
type: PoolEventType.terminated; | ||
type: 'terminated'; | ||
remainingQueue: Array<QueuedTask<ThreadType, any>>; | ||
@@ -43,0 +46,0 @@ }; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.PoolEventType = void 0; | ||
var PoolEventType; | ||
(function (PoolEventType) { | ||
PoolEventType["initialized"] = "initialized"; | ||
PoolEventType["taskCanceled"] = "taskCanceled"; | ||
PoolEventType["taskCompleted"] = "taskCompleted"; | ||
PoolEventType["taskFailed"] = "taskFailed"; | ||
PoolEventType["taskQueued"] = "taskQueued"; | ||
PoolEventType["taskQueueDrained"] = "taskQueueDrained"; | ||
PoolEventType["taskStart"] = "taskStart"; | ||
PoolEventType["terminated"] = "terminated"; | ||
})(PoolEventType || (exports.PoolEventType = PoolEventType = {})); | ||
const enum_1 = require("../enum"); | ||
exports.PoolEventType = (0, enum_1.Enum)({ | ||
initialized: 'initialized', | ||
taskCanceled: 'taskCanceled', | ||
taskCompleted: 'taskCompleted', | ||
taskFailed: 'taskFailed', | ||
taskQueued: 'taskQueued', | ||
taskQueueDrained: 'taskQueueDrained', | ||
taskStart: 'taskStart', | ||
terminated: 'terminated', | ||
}); |
@@ -23,3 +23,12 @@ import { Observable } from 'observable-fns'; | ||
declare class WorkerPool<ThreadType extends Thread> implements Pool<ThreadType> { | ||
static EventType: typeof PoolEventType; | ||
static EventType: import("../enum").Enum<{ | ||
initialized: "initialized"; | ||
taskCanceled: "taskCanceled"; | ||
taskCompleted: "taskCompleted"; | ||
taskFailed: "taskFailed"; | ||
taskQueued: "taskQueued"; | ||
taskQueueDrained: "taskQueueDrained"; | ||
taskStart: "taskStart"; | ||
terminated: "terminated"; | ||
}>; | ||
private readonly debug; | ||
@@ -26,0 +35,0 @@ private readonly eventObservable; |
@@ -9,3 +9,2 @@ "use strict"; | ||
const observable_fns_1 = require("observable-fns"); | ||
const ponyfills_1 = require("../ponyfills"); | ||
const implementation_1 = require("./implementation"); | ||
@@ -125,3 +124,6 @@ const pool_types_1 = require("./pool-types"); | ||
} | ||
this.run(availableWorker, nextTask); | ||
this.run(availableWorker, nextTask).catch((error) => { | ||
this.debug('Error while running task:', error); | ||
this.eventSubject.error(error); | ||
}); | ||
} | ||
@@ -158,3 +160,3 @@ taskCompletion(taskID) { | ||
if (allowResolvingImmediately && this.taskQueue.length === 0) { | ||
await (0, ponyfills_1.allSettled)(getCurrentlyRunningTasks()); | ||
await Promise.allSettled(getCurrentlyRunningTasks()); | ||
return taskFailures; | ||
@@ -173,3 +175,3 @@ } | ||
}); | ||
await (0, ponyfills_1.allSettled)(getCurrentlyRunningTasks()); | ||
await Promise.allSettled(getCurrentlyRunningTasks()); | ||
failureSubscription.unsubscribe(); | ||
@@ -176,0 +178,0 @@ return taskFailures; |
import type { Observable } from 'observable-fns'; | ||
import type { EnumValue } from '../enum'; | ||
import { Enum } from '../enum'; | ||
import type { ObservablePromise } from '../observable-promise'; | ||
@@ -40,5 +42,4 @@ import type { $errors, $events, $terminate, $worker } from '../symbols'; | ||
export type Thread = AnyFunctionThread | AnyModuleThread; | ||
export type TransferList = Transferable[]; | ||
export interface Worker extends EventTarget { | ||
postMessage(value: any, transferList?: TransferList): void; | ||
postMessage(value: any, transferList?: Transferable[]): void; | ||
terminate(callback?: (error?: Error, exitCode?: number) => void): void | Promise<number>; | ||
@@ -58,3 +59,3 @@ } | ||
constructor(path: string, options?: ThreadsWorkerOptions); | ||
postMessage(value: any, transferList?: TransferList): void; | ||
postMessage(value: any, transferList?: Transferable[]): void; | ||
terminate(): void | Promise<number>; | ||
@@ -70,19 +71,20 @@ } | ||
} | ||
export declare enum WorkerEventType { | ||
internalError = "internalError", | ||
message = "message", | ||
termination = "termination" | ||
} | ||
export declare const WorkerEventType: Enum<{ | ||
internalError: "internalError"; | ||
message: "message"; | ||
termination: "termination"; | ||
}>; | ||
export type WorkerEventType = EnumValue<typeof WorkerEventType>; | ||
export interface WorkerInternalErrorEvent { | ||
error: Error; | ||
type: WorkerEventType.internalError; | ||
type: 'internalError'; | ||
} | ||
export interface WorkerMessageEvent<Data> { | ||
data: Data; | ||
type: WorkerEventType.message; | ||
type: 'message'; | ||
} | ||
export interface WorkerTerminationEvent { | ||
type: WorkerEventType.termination; | ||
type: 'termination'; | ||
} | ||
export type WorkerEvent = WorkerInternalErrorEvent | WorkerMessageEvent<any> | WorkerTerminationEvent; | ||
export {}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.WorkerEventType = void 0; | ||
var WorkerEventType; | ||
(function (WorkerEventType) { | ||
WorkerEventType["internalError"] = "internalError"; | ||
WorkerEventType["message"] = "message"; | ||
WorkerEventType["termination"] = "termination"; | ||
})(WorkerEventType || (exports.WorkerEventType = WorkerEventType = {})); | ||
const enum_1 = require("../enum"); | ||
exports.WorkerEventType = (0, enum_1.Enum)({ | ||
internalError: 'internalError', | ||
message: 'message', | ||
termination: 'termination', | ||
}); |
@@ -0,1 +1,3 @@ | ||
import type { EnumValue } from '../enum'; | ||
import { Enum } from '../enum'; | ||
export interface SerializedError { | ||
@@ -7,12 +9,13 @@ __error_marker: '$$error'; | ||
} | ||
export declare enum MasterMessageType { | ||
cancel = "cancel", | ||
run = "run" | ||
} | ||
export declare const MasterMessageType: Enum<{ | ||
cancel: "cancel"; | ||
run: "run"; | ||
}>; | ||
export type MasterMessageType = EnumValue<typeof MasterMessageType>; | ||
export type MasterJobCancelMessage = { | ||
type: MasterMessageType.cancel; | ||
type: 'cancel'; | ||
uid: number; | ||
}; | ||
export type MasterJobRunMessage = { | ||
type: MasterMessageType.run; | ||
type: 'run'; | ||
uid: number; | ||
@@ -22,11 +25,12 @@ method?: string; | ||
}; | ||
export declare enum WorkerMessageType { | ||
error = "error", | ||
init = "init", | ||
result = "result", | ||
running = "running", | ||
uncaughtError = "uncaughtError" | ||
} | ||
export declare const WorkerMessageType: Enum<{ | ||
error: "error"; | ||
init: "init"; | ||
result: "result"; | ||
running: "running"; | ||
uncaughtError: "uncaughtError"; | ||
}>; | ||
export type WorkerMessageType = EnumValue<typeof WorkerMessageType>; | ||
export type WorkerUncaughtErrorMessage = { | ||
type: WorkerMessageType.uncaughtError; | ||
type: 'uncaughtError'; | ||
error: { | ||
@@ -39,3 +43,3 @@ message: string; | ||
export type WorkerInitMessage = { | ||
type: WorkerMessageType.init; | ||
type: 'init'; | ||
exposed: { | ||
@@ -49,3 +53,3 @@ type: 'function'; | ||
export type WorkerJobErrorMessage = { | ||
type: WorkerMessageType.error; | ||
type: 'error'; | ||
uid: number; | ||
@@ -55,3 +59,3 @@ error: SerializedError; | ||
export type WorkerJobResultMessage = { | ||
type: WorkerMessageType.result; | ||
type: 'result'; | ||
uid: number; | ||
@@ -62,5 +66,5 @@ complete?: true; | ||
export type WorkerJobStartMessage = { | ||
type: WorkerMessageType.running; | ||
type: 'running'; | ||
uid: number; | ||
resultType: 'observable' | 'promise'; | ||
}; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.WorkerMessageType = exports.MasterMessageType = void 0; | ||
var MasterMessageType; | ||
(function (MasterMessageType) { | ||
MasterMessageType["cancel"] = "cancel"; | ||
MasterMessageType["run"] = "run"; | ||
})(MasterMessageType || (exports.MasterMessageType = MasterMessageType = {})); | ||
var WorkerMessageType; | ||
(function (WorkerMessageType) { | ||
WorkerMessageType["error"] = "error"; | ||
WorkerMessageType["init"] = "init"; | ||
WorkerMessageType["result"] = "result"; | ||
WorkerMessageType["running"] = "running"; | ||
WorkerMessageType["uncaughtError"] = "uncaughtError"; | ||
})(WorkerMessageType || (exports.WorkerMessageType = WorkerMessageType = {})); | ||
const enum_1 = require("../enum"); | ||
exports.MasterMessageType = (0, enum_1.Enum)({ | ||
cancel: 'cancel', | ||
run: 'run', | ||
}); | ||
exports.WorkerMessageType = (0, enum_1.Enum)({ | ||
error: 'error', | ||
init: 'init', | ||
result: 'result', | ||
running: 'running', | ||
uncaughtError: 'uncaughtError', | ||
}); |
{ | ||
"name": "@xylabs/threads", | ||
"version": "4.4.36", | ||
"version": "4.5.0", | ||
"description": "Web workers & worker threads as simple as a function call", | ||
@@ -94,7 +94,7 @@ "license": "MIT", | ||
"devDependencies": { | ||
"@babel/types": "^7.26.3", | ||
"@babel/types": "^7.26.5", | ||
"@rollup/plugin-commonjs": "^28.0.2", | ||
"@rollup/plugin-node-resolve": "^16.0.0", | ||
"@types/debug": "^4.1.12", | ||
"@types/node": "^22.10.4", | ||
"@types/node": "^22.10.7", | ||
"@xylabs/ts-scripts-yarn3": "^4.2.6", | ||
@@ -105,8 +105,7 @@ "cross-env": "^7.0.3", | ||
"rimraf": "^6.0.1", | ||
"rollup": "^4.29.1", | ||
"rollup": "^4.31.0", | ||
"threads-plugin": "^1.4.0", | ||
"tiny-worker": "^2.3.0", | ||
"tslib": "^2.8.1", | ||
"typescript": "^5.7.2", | ||
"vitest": "^2.1.8", | ||
"typescript": "^5.7.3", | ||
"vitest": "^3.0.3", | ||
"webpack": "^5.97.1" | ||
@@ -113,0 +112,0 @@ }, |
/* eslint-disable @typescript-eslint/no-explicit-any */ | ||
/* eslint-disable @typescript-eslint/member-ordering */ | ||
import type { EnumValue } from '../enum' | ||
import { Enum } from '../enum' | ||
import type { Thread } from './thread' | ||
/** Pool event type. Specifies the type of each `PoolEvent`. */ | ||
export enum PoolEventType { | ||
initialized = 'initialized', | ||
taskCanceled = 'taskCanceled', | ||
taskCompleted = 'taskCompleted', | ||
taskFailed = 'taskFailed', | ||
taskQueued = 'taskQueued', | ||
taskQueueDrained = 'taskQueueDrained', | ||
taskStart = 'taskStart', | ||
terminated = 'terminated', | ||
} | ||
export const PoolEventType = Enum({ | ||
initialized: 'initialized', | ||
taskCanceled: 'taskCanceled', | ||
taskCompleted: 'taskCompleted', | ||
taskFailed: 'taskFailed', | ||
taskQueued: 'taskQueued', | ||
taskQueueDrained: 'taskQueueDrained', | ||
taskStart: 'taskStart', | ||
terminated: 'terminated', | ||
}) | ||
export type PoolEventType = EnumValue<typeof PoolEventType> | ||
export type TaskRunFunction<ThreadType extends Thread, Return> = (worker: ThreadType) => Promise<Return> | ||
@@ -22,14 +26,14 @@ | ||
| { | ||
type: PoolEventType.initialized | ||
type: 'initialized' | ||
size: number | ||
} | ||
| { | ||
type: PoolEventType.taskQueued | ||
type: 'taskQueued' | ||
taskID: number | ||
} | ||
| { | ||
type: PoolEventType.taskQueueDrained | ||
type: 'taskQueueDrained' | ||
} | ||
| { | ||
type: PoolEventType.taskStart | ||
type: 'taskStart' | ||
taskID: number | ||
@@ -39,3 +43,3 @@ workerID: number | ||
| { | ||
type: PoolEventType.taskCompleted | ||
type: 'taskCompleted' | ||
returnValue: any | ||
@@ -46,3 +50,3 @@ taskID: number | ||
| { | ||
type: PoolEventType.taskFailed | ||
type: 'taskFailed' | ||
error: Error | ||
@@ -53,7 +57,7 @@ taskID: number | ||
| { | ||
type: PoolEventType.taskCanceled | ||
type: 'taskCanceled' | ||
taskID: number | ||
} | ||
| { | ||
type: PoolEventType.terminated | ||
type: 'terminated' | ||
remainingQueue: Array<QueuedTask<ThreadType, any>> | ||
@@ -60,0 +64,0 @@ } |
@@ -9,3 +9,3 @@ /* eslint-disable import-x/export */ | ||
/* eslint-disable @typescript-eslint/no-namespace */ | ||
/* eslint-disable @typescript-eslint/no-floating-promises */ | ||
import DebugLogger from 'debug' | ||
@@ -16,3 +16,2 @@ import { | ||
import { allSettled } from '../ponyfills' | ||
import { defaultPoolSize } from './implementation' | ||
@@ -229,3 +228,6 @@ import type { | ||
this.run(availableWorker, nextTask) | ||
this.run(availableWorker, nextTask).catch((error) => { | ||
this.debug('Error while running task:', error) | ||
this.eventSubject.error(error) | ||
}) | ||
} | ||
@@ -265,3 +267,3 @@ | ||
if (allowResolvingImmediately && this.taskQueue.length === 0) { | ||
await allSettled(getCurrentlyRunningTasks()) | ||
await Promise.allSettled(getCurrentlyRunningTasks()) | ||
return taskFailures | ||
@@ -282,3 +284,3 @@ } | ||
await allSettled(getCurrentlyRunningTasks()) | ||
await Promise.allSettled(getCurrentlyRunningTasks()) | ||
failureSubscription.unsubscribe() | ||
@@ -285,0 +287,0 @@ |
@@ -9,2 +9,4 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ | ||
import type { EnumValue } from '../enum' | ||
import { Enum } from '../enum' | ||
import type { ObservablePromise } from '../observable-promise' | ||
@@ -68,7 +70,5 @@ import type { | ||
export type TransferList = Transferable[] | ||
/** Worker instance. Either a web worker or a node.js Worker provided by `worker_threads` or `tiny-worker`. */ | ||
export interface Worker extends EventTarget { | ||
postMessage(value: any, transferList?: TransferList): void | ||
postMessage(value: any, transferList?: Transferable[]): void | ||
/** In nodejs 10+ return type is Promise while with tiny-worker and in browser return type is void */ | ||
@@ -98,3 +98,3 @@ terminate(callback?: (error?: Error, exitCode?: number) => void): void | Promise<number> | ||
constructor(path: string, options?: ThreadsWorkerOptions) | ||
postMessage(value: any, transferList?: TransferList): void | ||
postMessage(value: any, transferList?: Transferable[]): void | ||
terminate(): void | Promise<number> | ||
@@ -115,11 +115,13 @@ } | ||
/** Event as emitted by worker thread. Subscribe to using `Thread.events(thread)`. */ | ||
export enum WorkerEventType { | ||
internalError = 'internalError', | ||
message = 'message', | ||
termination = 'termination', | ||
} | ||
export const WorkerEventType = Enum({ | ||
internalError: 'internalError', | ||
message: 'message', | ||
termination: 'termination', | ||
}) | ||
export type WorkerEventType = EnumValue<typeof WorkerEventType> | ||
export interface WorkerInternalErrorEvent { | ||
error: Error | ||
type: WorkerEventType.internalError | ||
type: 'internalError' | ||
} | ||
@@ -129,9 +131,9 @@ | ||
data: Data | ||
type: WorkerEventType.message | ||
type: 'message' | ||
} | ||
export interface WorkerTerminationEvent { | ||
type: WorkerEventType.termination | ||
type: 'termination' | ||
} | ||
export type WorkerEvent = WorkerInternalErrorEvent | WorkerMessageEvent<any> | WorkerTerminationEvent |
/* eslint-disable @typescript-eslint/no-explicit-any */ | ||
import type { EnumValue } from '../enum' | ||
import { Enum } from '../enum' | ||
/* eslint-disable @typescript-eslint/member-ordering */ | ||
@@ -13,9 +17,11 @@ export interface SerializedError { | ||
export enum MasterMessageType { | ||
cancel = 'cancel', | ||
run = 'run', | ||
} | ||
export const MasterMessageType = Enum({ | ||
cancel: 'cancel', | ||
run: 'run', | ||
}) | ||
export type MasterMessageType = EnumValue<typeof MasterMessageType> | ||
export type MasterJobCancelMessage = { | ||
type: MasterMessageType.cancel | ||
type: 'cancel' | ||
uid: number | ||
@@ -25,3 +31,3 @@ } | ||
export type MasterJobRunMessage = { | ||
type: MasterMessageType.run | ||
type: 'run' | ||
uid: number | ||
@@ -35,12 +41,14 @@ method?: string | ||
export enum WorkerMessageType { | ||
error = 'error', | ||
init = 'init', | ||
result = 'result', | ||
running = 'running', | ||
uncaughtError = 'uncaughtError', | ||
} | ||
export const WorkerMessageType = Enum({ | ||
error: 'error', | ||
init: 'init', | ||
result: 'result', | ||
running: 'running', | ||
uncaughtError: 'uncaughtError', | ||
}) | ||
export type WorkerMessageType = EnumValue<typeof WorkerMessageType> | ||
export type WorkerUncaughtErrorMessage = { | ||
type: WorkerMessageType.uncaughtError | ||
type: 'uncaughtError' | ||
error: { | ||
@@ -54,3 +62,3 @@ message: string | ||
export type WorkerInitMessage = { | ||
type: WorkerMessageType.init | ||
type: 'init' | ||
exposed: { type: 'function' } | { type: 'module'; methods: string[] } | ||
@@ -60,3 +68,3 @@ } | ||
export type WorkerJobErrorMessage = { | ||
type: WorkerMessageType.error | ||
type: 'error' | ||
uid: number | ||
@@ -67,3 +75,3 @@ error: SerializedError | ||
export type WorkerJobResultMessage = { | ||
type: WorkerMessageType.result | ||
type: 'result' | ||
uid: number | ||
@@ -75,5 +83,5 @@ complete?: true | ||
export type WorkerJobStartMessage = { | ||
type: WorkerMessageType.running | ||
type: 'running' | ||
uid: number | ||
resultType: 'observable' | 'promise' | ||
} |
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
271716
16
6624
14