stardust-parallel-js 1.5.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,4 +1,3 @@
1
+ export { Thread } from "./primitives/Thread/index.js";
1
2
  export { ThreadPool } from "./primitives/ThreadPool.js";
2
- export { Thread } from "./primitives/Thread.js";
3
- export { Thread as ThreadV2 } from "./primitives/Thread/index.js";
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,3 @@
1
+ export { Thread } from "./primitives/Thread/index.js";
1
2
  export { ThreadPool } from "./primitives/ThreadPool.js";
2
- export { Thread } from "./primitives/Thread.js";
3
- export { Thread as ThreadV2 } from "./primitives/Thread/index.js";
4
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1,8 +1,9 @@
1
- import { execute, persistent, prewarm, clearPool } from "./ThreadFactory.js";
1
+ import { ExecutableThread } from "./ExecutableThread.js";
2
+ import { PersistentThread } from "./PersistentThread.js";
2
3
  export declare const Thread: {
3
- execute: typeof execute;
4
- persistent: typeof persistent;
5
- prewarm: typeof prewarm;
6
- clearPool: typeof clearPool;
4
+ execute<T, TArgs extends unknown[] = unknown[]>(fn: (...args: TArgs) => T, args?: TArgs, ttl?: number): ExecutableThread<T, TArgs>;
5
+ persistent<T, TArgs extends unknown[] = unknown[]>(fn: (...args: TArgs) => T, args?: TArgs): PersistentThread<T, TArgs>;
6
+ prewarm(count?: number): void;
7
+ clearPool(): void;
7
8
  };
8
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/Thread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7E,eAAO,MAAM,MAAM;;;;;CAKlB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/primitives/Thread/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,eAAO,MAAM,MAAM;YACP,CAAC,EAAE,KAAK,SAAS,OAAO,EAAE,kBAAkB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,SAAQ,KAAK;eAI3E,CAAC,EAAE,KAAK,SAAS,OAAO,EAAE,kBAAkB,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,SAAQ,KAAK;;;CAW5F,CAAA"}
@@ -1,8 +1,18 @@
1
- import { execute, persistent, prewarm, clearPool } from "./ThreadFactory.js";
1
+ import { BaseThread } from "./BaseThread.js";
2
+ import { ExecutableThread } from "./ExecutableThread.js";
3
+ import { PersistentThread } from "./PersistentThread.js";
2
4
  export const Thread = {
3
- execute,
4
- persistent,
5
- prewarm,
6
- clearPool
5
+ execute(fn, args = [], ttl = 0) {
6
+ return new ExecutableThread(fn, args, ttl);
7
+ },
8
+ persistent(fn, args = []) {
9
+ return new PersistentThread(fn, args);
10
+ },
11
+ prewarm(count = 4) {
12
+ BaseThread.prewarm(count);
13
+ },
14
+ clearPool() {
15
+ BaseThread.clearPool();
16
+ }
7
17
  };
8
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/Thread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE7E,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,OAAO;IACP,UAAU;IACV,OAAO;IACP,SAAS;CACZ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/primitives/Thread/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,OAAO,CAAyC,EAAyB,EAAE,OAAc,EAAsB,EAAE,GAAG,GAAG,CAAC;QACpH,OAAO,IAAI,gBAAgB,CAAW,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC;IAED,UAAU,CAAyC,EAAyB,EAAE,OAAc,EAAsB;QAC9G,OAAO,IAAI,gBAAgB,CAAW,EAAE,EAAE,IAAI,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,CAAC;QACb,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IAED,SAAS;QACL,UAAU,CAAC,SAAS,EAAE,CAAC;IAC3B,CAAC;CACJ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadPool.d.ts","sourceRoot":"","sources":["../../src/primitives/ThreadPool.ts"],"names":[],"mappings":"AAeA,qBAAa,UAAU;IAOP,OAAO,CAAC,IAAI;IANxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,UAAU,CAAqB;gBAEnB,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAK9C,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,YAAY;IAsBd,OAAO,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC1C,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAC/B,IAAI,GAAE,KAA8B,EACpC,GAAG,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IAyBb,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAM3E,QAAQ;;;;;;IASF,SAAS;CAclB"}
1
+ {"version":3,"file":"ThreadPool.d.ts","sourceRoot":"","sources":["../../src/primitives/ThreadPool.ts"],"names":[],"mappings":"AAeA,qBAAa,UAAU;IAOP,OAAO,CAAC,IAAI;IANxB,OAAO,CAAC,OAAO,CAAgB;IAC/B,OAAO,CAAC,gBAAgB,CAAgB;IACxC,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAoC;IACvD,OAAO,CAAC,UAAU,CAAqB;gBAEnB,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM;IAK9C,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,YAAY;IAsBd,OAAO,CAAC,KAAK,SAAS,OAAO,EAAE,EAAE,OAAO,EAC1C,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,OAAO,EAC/B,IAAI,GAAE,KAA8B,EACpC,GAAG,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IAyBb,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAM3E,QAAQ;;;;;;IASF,SAAS;CAyBlB"}
@@ -126,6 +126,15 @@ export class ThreadPool {
126
126
  clearTimeout(task.ttlTimeout);
127
127
  }
128
128
  }
129
+ while (!this.taskQueue.isEmpty()) {
130
+ const task = this.taskQueue.dequeue();
131
+ if (task) {
132
+ if (task.ttlTimeout) {
133
+ clearTimeout(task.ttlTimeout);
134
+ }
135
+ task.reject(new Error('Pool terminated'));
136
+ }
137
+ }
129
138
  await Promise.all(this.workers.map(w => w.terminate()));
130
139
  this.workers = [];
131
140
  this.availableWorkers = [];
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadPool.js","sourceRoot":"","sources":["../../src/primitives/ThreadPool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThreadPool.js","sourceRoot":"","sources":["../../src/primitives/ThreadPool.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "stardust-parallel-js",
3
- "version": "1.5.0",
3
+ "version": "3.0.0",
4
4
  "description": "Simple parallel execution library for Node.js using Worker Threads. Execute CPU-intensive tasks with thread pools and isolated workers. Supports both regular and arrow functions.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -23,6 +23,7 @@
23
23
  "update-badge": "node scripts/update-coverage-badge.mjs",
24
24
  "test:badge": "npm run test:coverage && npm run update-badge",
25
25
  "lint": "eslint .",
26
+ "typecheck": "tsc --noEmit",
26
27
  "release": "semantic-release",
27
28
  "prepare": "npm run build"
28
29
  },
@@ -42,7 +43,7 @@
42
43
  ],
43
44
  "author": "b1411",
44
45
  "license": "MIT",
45
- "packageManager": "pnpm@10.23.0",
46
+ "packageManager": "pnpm@10.28.0+sha512.05df71d1421f21399e053fde567cea34d446fa02c76571441bfc1c7956e98e363088982d940465fd34480d4d90a0668bc12362f8aa88000a64e83d0b0e47be48",
46
47
  "devDependencies": {
47
48
  "@eslint/js": "^9.39.2",
48
49
  "@semantic-release/changelog": "^6.0.3",
@@ -1,7 +0,0 @@
1
- import { ExecutableThread } from "./ExecutableThread.js";
2
- import { PersistentThread } from "./PersistentThread.js";
3
- export declare function execute<T, TArgs extends unknown[] = unknown[]>(fn: (...args: TArgs) => T, args?: TArgs, ttl?: number): ExecutableThread<T, TArgs>;
4
- export declare function persistent<T, TArgs extends unknown[] = unknown[]>(fn: (...args: TArgs) => T, args?: TArgs): PersistentThread<T, TArgs>;
5
- export declare function prewarm(count?: number): void;
6
- export declare function clearPool(): void;
7
- //# sourceMappingURL=ThreadFactory.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThreadFactory.d.ts","sourceRoot":"","sources":["../../../src/primitives/Thread/ThreadFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,GAAE,KAA8B,EAAE,GAAG,SAAI,8BAEvI;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,GAAE,KAA8B,8BAEjI;AAED,wBAAgB,OAAO,CAAC,KAAK,SAAI,QAEhC;AAED,wBAAgB,SAAS,SAExB"}
@@ -1,16 +0,0 @@
1
- import { BaseThread } from "./BaseThread.js";
2
- import { ExecutableThread } from "./ExecutableThread.js";
3
- import { PersistentThread } from "./PersistentThread.js";
4
- export function execute(fn, args = [], ttl = 0) {
5
- return new ExecutableThread(fn, args, ttl);
6
- }
7
- export function persistent(fn, args = []) {
8
- return new PersistentThread(fn, args);
9
- }
10
- export function prewarm(count = 4) {
11
- BaseThread.prewarm(count);
12
- }
13
- export function clearPool() {
14
- BaseThread.clearPool();
15
- }
16
- //# sourceMappingURL=ThreadFactory.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ThreadFactory.js","sourceRoot":"","sources":["../../../src/primitives/Thread/ThreadFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,UAAU,OAAO,CAAyC,EAAyB,EAAE,OAAc,EAAsB,EAAE,GAAG,GAAG,CAAC;IACpI,OAAO,IAAI,gBAAgB,CAAW,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,UAAU,CAAyC,EAAyB,EAAE,OAAc,EAAsB;IAC9H,OAAO,IAAI,gBAAgB,CAAW,EAAE,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,KAAK,GAAG,CAAC;IAC7B,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,SAAS;IACrB,UAAU,CAAC,SAAS,EAAE,CAAC;AAC3B,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * @deprecated Use ThreadV2.execute() instead
3
- */
4
- declare class Thread<T, TArgs extends unknown[] = unknown[]> {
5
- private worker;
6
- private promise;
7
- constructor(fn: (...args: TArgs) => T, args?: TArgs);
8
- join(): Promise<T>;
9
- }
10
- export { Thread };
11
- //# sourceMappingURL=Thread.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../src/primitives/Thread.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,cAAM,MAAM,CAAC,CAAC,EAAE,KAAK,SAAS,OAAO,EAAE,GAAG,OAAO,EAAE;IAC/C,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,OAAO,CAAa;gBAEhB,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,KAAK,CAAC,EAAE,IAAI,GAAE,KAA8B;IA8BrE,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC;CAQ3B;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
@@ -1,47 +0,0 @@
1
- import { extractTransferables } from "../utils/extractTransferables.js";
2
- import { createWorker } from "../utils/workerFactory.js";
3
- /**
4
- * @deprecated Use ThreadV2.execute() instead
5
- */
6
- class Thread {
7
- worker;
8
- promise;
9
- constructor(fn, args = []) {
10
- this.worker = createWorker();
11
- this.promise = new Promise((resolve, reject) => {
12
- this.worker.worker.on('message', (res) => {
13
- if (res.success) {
14
- resolve(res.result);
15
- }
16
- else {
17
- const error = new Error(res.error?.message || 'Unknown error');
18
- if (res.error?.stack) {
19
- error.stack = res.error.stack;
20
- }
21
- reject(error);
22
- }
23
- });
24
- this.worker.worker.on('error', (err) => {
25
- reject(err);
26
- });
27
- this.worker.worker.on('exit', (code) => {
28
- if (code !== 0) {
29
- reject(new Error(`Worker stopped with exit code ${code}`));
30
- }
31
- });
32
- });
33
- const transferables = extractTransferables(args);
34
- this.worker.run(fn, args, transferables);
35
- }
36
- async join() {
37
- try {
38
- const result = await this.promise;
39
- return result;
40
- }
41
- finally {
42
- this.worker.worker.terminate();
43
- }
44
- }
45
- }
46
- export { Thread };
47
- //# sourceMappingURL=Thread.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Thread.js","sourceRoot":"","sources":["../../src/primitives/Thread.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM;IACA,MAAM,CAAkC;IACxC,OAAO,CAAa;IAE5B,YAAY,EAAyB,EAAE,OAAc,EAAsB;QACvE,IAAI,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;QAE7B,IAAI,CAAC,OAAO,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAkF,EAAE,EAAE;gBACpH,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,MAAW,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACJ,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,IAAI,eAAe,CAAC,CAAC;oBAC/D,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC;wBACnB,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;oBAClC,CAAC;oBACD,MAAM,CAAC,KAAK,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACnC,MAAM,CAAC,GAAG,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnC,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,KAAK,CAAC,iCAAiC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAEjD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,IAAI;QACN,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC;YAClC,OAAO,MAAM,CAAC;QAClB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QACnC,CAAC;IACL,CAAC;CACJ;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}