@xylabs/threads 4.7.10 → 4.7.12
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/browser/index-browser.mjs +2 -22
- package/dist/browser/index-browser.mjs.map +1 -1
- package/dist/browser/master/index-browser.mjs +2 -22
- package/dist/browser/master/index-browser.mjs.map +1 -1
- package/dist/browser/master/pool-browser.mjs +2 -22
- package/dist/browser/master/pool-browser.mjs.map +1 -1
- package/dist/browser/worker/worker.browser.mjs +3 -9
- package/dist/browser/worker/worker.browser.mjs.map +1 -1
- package/dist/node/index-node.mjs +2 -22
- package/dist/node/index-node.mjs.map +1 -1
- package/dist/node/master/index-node.mjs +2 -22
- package/dist/node/master/index-node.mjs.map +1 -1
- package/dist/node/master/pool-node.mjs +2 -22
- package/dist/node/master/pool-node.mjs.map +1 -1
- package/dist/types/master/pool-browser.d.ts.map +1 -1
- package/dist/types/master/pool-node.d.ts.map +1 -1
- package/dist/types/worker/worker.browser.d.ts +3 -3
- package/dist/types/worker/worker.browser.d.ts.map +1 -1
- package/package.json +4 -7
- package/src/master/pool-browser.ts +2 -3
- package/src/master/pool-node.ts +2 -3
- package/src/worker/worker.browser.ts +3 -13
- package/dist/types/ponyfills.d.ts +0 -9
- package/dist/types/ponyfills.d.ts.map +0 -1
- package/src/ponyfills.ts +0 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pool-node.d.ts","sourceRoot":"","sources":["../../../src/master/pool-node.ts"],"names":[],"mappings":"AAWA,OAAO,EACM,UAAU,EACtB,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"pool-node.d.ts","sourceRoot":"","sources":["../../../src/master/pool-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,9 @@ import type { AbstractedWorkerAPI } from '../types/worker.ts';
|
|
|
2
2
|
declare const isWorkerRuntime: AbstractedWorkerAPI['isWorkerRuntime'];
|
|
3
3
|
declare const postMessageToMaster: AbstractedWorkerAPI['postMessageToMaster'];
|
|
4
4
|
declare const subscribeToMasterMessages: AbstractedWorkerAPI['subscribeToMasterMessages'];
|
|
5
|
-
declare
|
|
6
|
-
declare
|
|
7
|
-
declare
|
|
5
|
+
declare const addEventListener: (eventName: string, listener: (event: Event) => void) => void;
|
|
6
|
+
declare const postMessage: (message: unknown, transferList?: Readonly<Transferable[]>) => void;
|
|
7
|
+
declare const removeEventListener: (eventName: string, listener: (event: Event) => void) => void;
|
|
8
8
|
export { addEventListener, postMessage, removeEventListener, };
|
|
9
9
|
declare const expose: (exposed: import("../types/worker.ts").WorkerFunction | import("../types/worker.ts").WorkerModule<any>) => void;
|
|
10
10
|
export { isWorkerRuntime, postMessageToMaster, subscribeToMasterMessages, };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.browser.d.ts","sourceRoot":"","sources":["../../../src/worker/worker.browser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAM7D,QAAA,MAAM,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAG3D,CAAA;AAED,QAAA,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,qBAAqB,CAEnE,CAAA;AAED,QAAA,MAAM,yBAAyB,EAAE,mBAAmB,CAAC,2BAA2B,CAS/E,CAAA;
|
|
1
|
+
{"version":3,"file":"worker.browser.d.ts","sourceRoot":"","sources":["../../../src/worker/worker.browser.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAM7D,QAAA,MAAM,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAG3D,CAAA;AAED,QAAA,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,qBAAqB,CAEnE,CAAA;AAED,QAAA,MAAM,yBAAyB,EAAE,mBAAmB,CAAC,2BAA2B,CAS/E,CAAA;AAED,QAAA,MAAM,gBAAgB,+DAAmC,CAAA;AACzD,QAAA,MAAM,WAAW,qEAA8B,CAAA;AAC/C,QAAA,MAAM,mBAAmB,+DAAsC,CAAA;AAE/D,OAAO,EACL,gBAAgB,EAChB,WAAW,EACX,mBAAmB,GACpB,CAAA;AAED,QAAA,MAAM,MAAM,iHAIV,CAAA;AAEF,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,yBAAyB,GAC1B,CAAA;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xylabs/threads",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.12",
|
|
4
4
|
"description": "Web workers & worker threads as simple as a function call",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"thread",
|
|
@@ -115,14 +115,11 @@
|
|
|
115
115
|
},
|
|
116
116
|
"devDependencies": {
|
|
117
117
|
"@types/debug": "^4.1.12",
|
|
118
|
-
"@types/node": "^22.13.
|
|
119
|
-
"@xylabs/eslint-config-flat": "^6.1.
|
|
120
|
-
"@xylabs/ts-scripts-yarn3": "^6.1.
|
|
118
|
+
"@types/node": "^22.13.14",
|
|
119
|
+
"@xylabs/eslint-config-flat": "^6.1.12",
|
|
120
|
+
"@xylabs/ts-scripts-yarn3": "^6.1.12",
|
|
121
121
|
"typescript": "^5.8.2"
|
|
122
122
|
},
|
|
123
|
-
"optionalDependencies": {
|
|
124
|
-
"tiny-worker": "^2.3.0"
|
|
125
|
-
},
|
|
126
123
|
"publishConfig": {
|
|
127
124
|
"access": "public"
|
|
128
125
|
}
|
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
multicast, Observable, Subject,
|
|
14
14
|
} from 'observable-fns'
|
|
15
15
|
|
|
16
|
-
import { allSettled } from '../ponyfills.ts'
|
|
17
16
|
import { defaultPoolSize } from './implementation.browser.ts'
|
|
18
17
|
import type {
|
|
19
18
|
PoolEvent, QueuedTask, TaskRunFunction, WorkerDescriptor,
|
|
@@ -261,7 +260,7 @@ class WorkerPool<ThreadType extends Thread> implements Pool<ThreadType> {
|
|
|
261
260
|
throw this.initErrors[0]
|
|
262
261
|
}
|
|
263
262
|
if (allowResolvingImmediately && this.taskQueue.length === 0) {
|
|
264
|
-
await allSettled(getCurrentlyRunningTasks())
|
|
263
|
+
await Promise.allSettled(getCurrentlyRunningTasks())
|
|
265
264
|
return taskFailures
|
|
266
265
|
}
|
|
267
266
|
|
|
@@ -277,7 +276,7 @@ class WorkerPool<ThreadType extends Thread> implements Pool<ThreadType> {
|
|
|
277
276
|
})
|
|
278
277
|
})
|
|
279
278
|
|
|
280
|
-
await allSettled(getCurrentlyRunningTasks())
|
|
279
|
+
await Promise.allSettled(getCurrentlyRunningTasks())
|
|
281
280
|
failureSubscription.unsubscribe()
|
|
282
281
|
|
|
283
282
|
return taskFailures
|
package/src/master/pool-node.ts
CHANGED
|
@@ -13,7 +13,6 @@ import {
|
|
|
13
13
|
multicast, Observable, Subject,
|
|
14
14
|
} from 'observable-fns'
|
|
15
15
|
|
|
16
|
-
import { allSettled } from '../ponyfills.ts'
|
|
17
16
|
import { defaultPoolSize } from './implementation.node.ts'
|
|
18
17
|
import type {
|
|
19
18
|
PoolEvent, QueuedTask, TaskRunFunction, WorkerDescriptor,
|
|
@@ -261,7 +260,7 @@ class WorkerPool<ThreadType extends Thread> implements Pool<ThreadType> {
|
|
|
261
260
|
throw this.initErrors[0]
|
|
262
261
|
}
|
|
263
262
|
if (allowResolvingImmediately && this.taskQueue.length === 0) {
|
|
264
|
-
await allSettled(getCurrentlyRunningTasks())
|
|
263
|
+
await Promise.allSettled(getCurrentlyRunningTasks())
|
|
265
264
|
return taskFailures
|
|
266
265
|
}
|
|
267
266
|
|
|
@@ -277,7 +276,7 @@ class WorkerPool<ThreadType extends Thread> implements Pool<ThreadType> {
|
|
|
277
276
|
})
|
|
278
277
|
})
|
|
279
278
|
|
|
280
|
-
await allSettled(getCurrentlyRunningTasks())
|
|
279
|
+
await Promise.allSettled(getCurrentlyRunningTasks())
|
|
281
280
|
failureSubscription.unsubscribe()
|
|
282
281
|
|
|
283
282
|
return taskFailures
|
|
@@ -29,19 +29,9 @@ const subscribeToMasterMessages: AbstractedWorkerAPI['subscribeToMasterMessages'
|
|
|
29
29
|
return unsubscribe
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return self.addEventListener(eventName, listener)
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
function postMessage(message: unknown, transferList?: Readonly<Transferable[]>) {
|
|
39
|
-
return self.postMessage(message, transferList)
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
function removeEventListener(eventName: string, listener: (event: Event) => void) {
|
|
43
|
-
return self.removeEventListener(eventName, listener)
|
|
44
|
-
}
|
|
32
|
+
const addEventListener = self.addEventListener.bind(this)
|
|
33
|
+
const postMessage = self.postMessage.bind(this)
|
|
34
|
+
const removeEventListener = self.removeEventListener.bind(this)
|
|
45
35
|
|
|
46
36
|
export {
|
|
47
37
|
addEventListener,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ponyfills.d.ts","sourceRoot":"","sources":["../../src/ponyfills.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAC1B;IACA,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,CAAC,CAAA;CACT,GACC;IACA,MAAM,EAAE,GAAG,CAAA;IACX,MAAM,EAAE,UAAU,CAAA;CACnB,CAAA;AAGH,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,CAkB9E"}
|
package/src/ponyfills.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
export type SettlementResult<T> =
|
|
3
|
-
| {
|
|
4
|
-
status: 'fulfilled'
|
|
5
|
-
value: T
|
|
6
|
-
}
|
|
7
|
-
| {
|
|
8
|
-
reason: any
|
|
9
|
-
status: 'rejected'
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
// Based on <https://github.com/es-shims/Promise.allSettled/blob/master/implementation.js>
|
|
13
|
-
export function allSettled<T>(values: T[]): Promise<Array<SettlementResult<T>>> {
|
|
14
|
-
return Promise.all(
|
|
15
|
-
values.map((item) => {
|
|
16
|
-
const onFulfill = (value: T) => {
|
|
17
|
-
return { status: 'fulfilled', value } as const
|
|
18
|
-
}
|
|
19
|
-
const onReject = (reason: any) => {
|
|
20
|
-
return { reason, status: 'rejected' } as const
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const itemPromise = Promise.resolve(item)
|
|
24
|
-
try {
|
|
25
|
-
return itemPromise.then(onFulfill, onReject)
|
|
26
|
-
} catch (error) {
|
|
27
|
-
return Promise.reject(error)
|
|
28
|
-
}
|
|
29
|
-
}),
|
|
30
|
-
)
|
|
31
|
-
}
|