New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@xylabs/threads

Package Overview
Dependencies
Maintainers
5
Versions
135
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@xylabs/threads - npm Package Compare versions

Comparing version 4.4.36 to 4.5.0

dist/enum.d.ts

22

dist/esm/master/pool-types.js
"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'
}
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc