@xylabs/threads 4.7.1 → 4.7.2

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.
Files changed (231) hide show
  1. package/dist/browser/master/implementation.browser.mjs +89 -0
  2. package/dist/browser/master/implementation.browser.mjs.map +1 -0
  3. package/dist/browser/worker/worker.browser.mjs +291 -0
  4. package/dist/browser/worker/worker.browser.mjs.map +1 -0
  5. package/dist/neutral/index.mjs +1022 -0
  6. package/dist/neutral/index.mjs.map +1 -0
  7. package/dist/neutral/master/implementation.mjs +264 -0
  8. package/dist/neutral/master/implementation.mjs.map +1 -0
  9. package/dist/neutral/master/index.mjs +988 -0
  10. package/dist/neutral/master/index.mjs.map +1 -0
  11. package/dist/neutral/master/pool.mjs +579 -0
  12. package/dist/neutral/master/pool.mjs.map +1 -0
  13. package/dist/neutral/master/register.mjs +272 -0
  14. package/dist/neutral/master/register.mjs.map +1 -0
  15. package/dist/neutral/master/spawn.mjs +412 -0
  16. package/dist/neutral/master/spawn.mjs.map +1 -0
  17. package/dist/neutral/master/thread.mjs +29 -0
  18. package/dist/neutral/master/thread.mjs.map +1 -0
  19. package/dist/neutral/observable-promise.mjs +132 -0
  20. package/dist/neutral/observable-promise.mjs.map +1 -0
  21. package/dist/neutral/observable.mjs +31 -0
  22. package/dist/neutral/observable.mjs.map +1 -0
  23. package/dist/node/master/implementation.node.mjs +154 -0
  24. package/dist/node/master/implementation.node.mjs.map +1 -0
  25. package/dist/node/worker/worker.node.mjs +304 -0
  26. package/dist/node/worker/worker.node.mjs.map +1 -0
  27. package/dist/{common.d.ts → types/common.d.ts} +5 -1
  28. package/dist/types/common.d.ts.map +1 -0
  29. package/dist/types/index.d.ts +9 -0
  30. package/dist/types/index.d.ts.map +1 -0
  31. package/dist/{master → types/master}/get-bundle-url.browser.d.ts +1 -0
  32. package/dist/types/master/get-bundle-url.browser.d.ts.map +1 -0
  33. package/dist/{master → types/master}/implementation.browser.d.ts +2 -1
  34. package/dist/types/master/implementation.browser.d.ts.map +1 -0
  35. package/dist/{master → types/master}/implementation.d.ts +4 -1
  36. package/dist/types/master/implementation.d.ts.map +1 -0
  37. package/dist/{master → types/master}/implementation.node.d.ts +2 -1
  38. package/dist/types/master/implementation.node.d.ts.map +1 -0
  39. package/dist/types/master/index.d.ts +13 -0
  40. package/dist/types/master/index.d.ts.map +1 -0
  41. package/dist/{master → types/master}/invocation-proxy.d.ts +2 -1
  42. package/dist/types/master/invocation-proxy.d.ts.map +1 -0
  43. package/dist/{master → types/master}/pool-types.d.ts +16 -1
  44. package/dist/types/master/pool-types.d.ts.map +1 -0
  45. package/dist/types/master/pool.d.ts +93 -0
  46. package/dist/types/master/pool.d.ts.map +1 -0
  47. package/dist/types/master/register.d.ts +2 -0
  48. package/dist/types/master/register.d.ts.map +1 -0
  49. package/dist/{master → types/master}/spawn.d.ts +12 -2
  50. package/dist/types/master/spawn.d.ts.map +1 -0
  51. package/dist/types/master/thread.d.ts +13 -0
  52. package/dist/types/master/thread.d.ts.map +1 -0
  53. package/dist/{observable-promise.d.ts → types/observable-promise.d.ts} +14 -0
  54. package/dist/types/observable-promise.d.ts.map +1 -0
  55. package/dist/types/observable.d.ts +21 -0
  56. package/dist/types/observable.d.ts.map +1 -0
  57. package/dist/{ponyfills.d.ts → types/ponyfills.d.ts} +1 -0
  58. package/dist/types/ponyfills.d.ts.map +1 -0
  59. package/dist/types/promise.d.ts +6 -0
  60. package/dist/types/promise.d.ts.map +1 -0
  61. package/dist/{serializers.d.ts → types/serializers.d.ts} +1 -0
  62. package/dist/types/serializers.d.ts.map +1 -0
  63. package/dist/{symbols.d.ts → types/symbols.d.ts} +1 -0
  64. package/dist/types/symbols.d.ts.map +1 -0
  65. package/{src/transferable.ts → dist/types/transferable.d.ts} +8 -33
  66. package/dist/types/transferable.d.ts.map +1 -0
  67. package/dist/types/{master.d.ts → types/master.d.ts} +17 -3
  68. package/dist/types/types/master.d.ts.map +1 -0
  69. package/dist/types/{messages.d.ts → types/messages.d.ts} +1 -0
  70. package/dist/types/types/messages.d.ts.map +1 -0
  71. package/dist/types/{worker.d.ts → types/worker.d.ts} +1 -0
  72. package/dist/types/types/worker.d.ts.map +1 -0
  73. package/dist/types/worker/WorkerGlobalScope.d.ts +6 -0
  74. package/dist/types/worker/WorkerGlobalScope.d.ts.map +1 -0
  75. package/dist/types/worker/expose.d.ts +4 -0
  76. package/dist/types/worker/expose.d.ts.map +1 -0
  77. package/dist/types/worker/worker.browser.d.ts +14 -0
  78. package/dist/types/worker/worker.browser.d.ts.map +1 -0
  79. package/dist/types/worker/worker.node.d.ts +25 -0
  80. package/dist/types/worker/worker.node.d.ts.map +1 -0
  81. package/package.json +51 -92
  82. package/dist/common.js +0 -16
  83. package/dist/esm/common.js +0 -16
  84. package/dist/esm/index.js +0 -26
  85. package/dist/esm/master/get-bundle-url.browser.js +0 -25
  86. package/dist/esm/master/implementation.browser.js +0 -65
  87. package/dist/esm/master/implementation.js +0 -43
  88. package/dist/esm/master/implementation.node.js +0 -205
  89. package/dist/esm/master/index.js +0 -14
  90. package/dist/esm/master/invocation-proxy.js +0 -121
  91. package/dist/esm/master/pool-types.js +0 -14
  92. package/dist/esm/master/pool.js +0 -262
  93. package/dist/esm/master/register.js +0 -11
  94. package/dist/esm/master/spawn.js +0 -114
  95. package/dist/esm/master/thread.js +0 -18
  96. package/dist/esm/observable-promise.js +0 -132
  97. package/dist/esm/observable.js +0 -33
  98. package/dist/esm/ponyfills.js +0 -20
  99. package/dist/esm/promise.js +0 -23
  100. package/dist/esm/serializers.js +0 -41
  101. package/dist/esm/symbols.js +0 -8
  102. package/dist/esm/transferable.js +0 -25
  103. package/dist/esm/types/master.js +0 -9
  104. package/dist/esm/types/messages.js +0 -16
  105. package/dist/esm/types/worker.js +0 -2
  106. package/dist/esm/worker/bundle-entry.js +0 -26
  107. package/dist/esm/worker/implementation.browser.js +0 -24
  108. package/dist/esm/worker/implementation.js +0 -19
  109. package/dist/esm/worker/implementation.tiny-worker.js +0 -37
  110. package/dist/esm/worker/implementation.worker_threads.js +0 -41
  111. package/dist/esm/worker/index.js +0 -174
  112. package/dist/esm/worker_threads.js +0 -13
  113. package/dist/index.d.ts +0 -7
  114. package/dist/index.js +0 -26
  115. package/dist/master/get-bundle-url.browser.js +0 -25
  116. package/dist/master/implementation.browser.js +0 -65
  117. package/dist/master/implementation.js +0 -43
  118. package/dist/master/implementation.node.js +0 -205
  119. package/dist/master/index.d.ts +0 -10
  120. package/dist/master/index.js +0 -14
  121. package/dist/master/invocation-proxy.js +0 -121
  122. package/dist/master/pool-types.js +0 -14
  123. package/dist/master/pool.d.ts +0 -50
  124. package/dist/master/pool.js +0 -262
  125. package/dist/master/register.d.ts +0 -1
  126. package/dist/master/register.js +0 -11
  127. package/dist/master/spawn.js +0 -114
  128. package/dist/master/thread.d.ts +0 -8
  129. package/dist/master/thread.js +0 -18
  130. package/dist/observable-promise.js +0 -132
  131. package/dist/observable.d.ts +0 -11
  132. package/dist/observable.js +0 -33
  133. package/dist/ponyfills.js +0 -20
  134. package/dist/promise.d.ts +0 -1
  135. package/dist/promise.js +0 -23
  136. package/dist/serializers.js +0 -41
  137. package/dist/symbols.js +0 -8
  138. package/dist/transferable.d.ts +0 -9
  139. package/dist/transferable.js +0 -25
  140. package/dist/types/master.js +0 -9
  141. package/dist/types/messages.js +0 -16
  142. package/dist/types/worker.js +0 -2
  143. package/dist/worker/bundle-entry.d.ts +0 -1
  144. package/dist/worker/bundle-entry.js +0 -26
  145. package/dist/worker/implementation.browser.d.ts +0 -6
  146. package/dist/worker/implementation.browser.js +0 -24
  147. package/dist/worker/implementation.d.ts +0 -3
  148. package/dist/worker/implementation.js +0 -19
  149. package/dist/worker/implementation.tiny-worker.d.ts +0 -6
  150. package/dist/worker/implementation.tiny-worker.js +0 -37
  151. package/dist/worker/implementation.worker_threads.d.ts +0 -8
  152. package/dist/worker/implementation.worker_threads.js +0 -41
  153. package/dist/worker/index.d.ts +0 -5
  154. package/dist/worker/index.js +0 -174
  155. package/dist/worker_threads.d.ts +0 -8
  156. package/dist/worker_threads.js +0 -13
  157. package/eslint.config.mjs +0 -35
  158. package/index.mjs +0 -10
  159. package/observable.d.ts +0 -2
  160. package/observable.js +0 -2
  161. package/observable.mjs +0 -4
  162. package/register.d.ts +0 -2
  163. package/register.js +0 -2
  164. package/register.mjs +0 -1
  165. package/rollup.config.js +0 -16
  166. package/src/common.ts +0 -19
  167. package/src/index.ts +0 -10
  168. package/src/master/get-bundle-url.browser.ts +0 -31
  169. package/src/master/implementation.browser.ts +0 -82
  170. package/src/master/implementation.node.ts +0 -285
  171. package/src/master/implementation.ts +0 -21
  172. package/src/master/index.ts +0 -19
  173. package/src/master/invocation-proxy.ts +0 -151
  174. package/src/master/pool-types.ts +0 -83
  175. package/src/master/pool.ts +0 -399
  176. package/src/master/register.ts +0 -10
  177. package/src/master/spawn.ts +0 -172
  178. package/src/master/thread.ts +0 -29
  179. package/src/observable-promise.ts +0 -183
  180. package/src/observable.ts +0 -44
  181. package/src/ponyfills.ts +0 -31
  182. package/src/promise.ts +0 -26
  183. package/src/serializers.ts +0 -68
  184. package/src/symbols.ts +0 -5
  185. package/src/types/master.ts +0 -132
  186. package/src/types/messages.ts +0 -72
  187. package/src/types/worker.ts +0 -14
  188. package/src/worker/bundle-entry.ts +0 -10
  189. package/src/worker/implementation.browser.ts +0 -40
  190. package/src/worker/implementation.tiny-worker.ts +0 -55
  191. package/src/worker/implementation.ts +0 -23
  192. package/src/worker/implementation.worker_threads.ts +0 -50
  193. package/src/worker/index.ts +0 -230
  194. package/src/worker_threads.ts +0 -27
  195. package/test/lib/index.ts +0 -1
  196. package/test/lib/serialization.ts +0 -38
  197. package/test/observable-promise.test.ts +0 -205
  198. package/test/observable.test.ts +0 -87
  199. package/test/pool.test.ts +0 -183
  200. package/test/serialization.test.ts +0 -23
  201. package/test/spawn.chromium.mocha.ts +0 -53
  202. package/test/spawn.test.ts +0 -87
  203. package/test/streaming.test.ts +0 -29
  204. package/test/transferables.test.ts +0 -71
  205. package/test/workers/arraybuffer-xor.ts +0 -10
  206. package/test/workers/count-to-five.ts +0 -12
  207. package/test/workers/counter.ts +0 -19
  208. package/test/workers/faulty-function.ts +0 -5
  209. package/test/workers/hello-world.ts +0 -5
  210. package/test/workers/increment.ts +0 -8
  211. package/test/workers/minmax.ts +0 -25
  212. package/test/workers/serialization.ts +0 -13
  213. package/test/workers/top-level-throw.ts +0 -1
  214. package/test-tooling/rollup/app.js +0 -21
  215. package/test-tooling/rollup/rollup.config.ts +0 -14
  216. package/test-tooling/rollup/worker.js +0 -7
  217. package/test-tooling/tsconfig/minimal.ts +0 -12
  218. package/test-tooling/webpack/addition-worker.ts +0 -9
  219. package/test-tooling/webpack/app-with-inlined-worker.ts +0 -28
  220. package/test-tooling/webpack/app.ts +0 -61
  221. package/test-tooling/webpack/pool-worker.ts +0 -5
  222. package/test-tooling/webpack/raw-loader.d.ts +0 -4
  223. package/test-tooling/webpack/webpack.chromium.mocha.ts +0 -21
  224. package/test-tooling/webpack/webpack.node.config.js +0 -29
  225. package/test-tooling/webpack/webpack.web.config.js +0 -28
  226. package/types/is-observable.d.ts +0 -7
  227. package/types/tiny-worker.d.ts +0 -4
  228. package/types/webworker.d.ts +0 -9
  229. package/worker.d.ts +0 -2
  230. package/worker.js +0 -2
  231. package/worker.mjs +0 -6
@@ -1,4 +1,7 @@
1
- import * as BrowserImplementation from './implementation.browser';
1
+ import * as BrowserImplementation from './implementation.browser.ts';
2
+ /** Default size of pools. Depending on the platform the value might vary from device to device. */
2
3
  export declare const defaultPoolSize: number;
3
4
  export declare const getWorkerImplementation: typeof BrowserImplementation.getWorkerImplementation;
5
+ /** Returns `true` if this code is currently running in a worker. */
4
6
  export declare const isWorkerRuntime: typeof BrowserImplementation.isWorkerRuntime;
7
+ //# sourceMappingURL=implementation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation.d.ts","sourceRoot":"","sources":["../../../src/master/implementation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,qBAAqB,MAAM,6BAA6B,CAAA;AAMpE,mGAAmG;AACnG,eAAO,MAAM,eAAe,QAAiC,CAAA;AAE7D,eAAO,MAAM,uBAAuB,sDAAyC,CAAA;AAE7E,oEAAoE;AACpE,eAAO,MAAM,eAAe,8CAAiC,CAAA"}
@@ -1,4 +1,5 @@
1
- import type { ImplementationExport } from '../types/master';
1
+ import type { ImplementationExport } from '../types/master.ts';
2
2
  export declare const defaultPoolSize: number;
3
3
  export declare function getWorkerImplementation(): ImplementationExport;
4
4
  export declare function isWorkerRuntime(): boolean;
5
+ //# sourceMappingURL=implementation.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"implementation.node.d.ts","sourceRoot":"","sources":["../../../src/master/implementation.node.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,oBAAoB,EAErB,MAAM,oBAAoB,CAAA;AAM3B,eAAO,MAAM,eAAe,QAAgB,CAAA;AAuK5C,wBAAgB,uBAAuB,IAAI,oBAAoB,CAK9D;AAED,wBAAgB,eAAe,YAW9B"}
@@ -0,0 +1,13 @@
1
+ import type { BlobWorker as BlobWorkerClass, Worker as WorkerType } from '../types/master.ts';
2
+ export type { FunctionThread, ModuleThread } from '../types/master.ts';
3
+ export { Pool } from './pool.ts';
4
+ export { spawn } from './spawn.ts';
5
+ export { Thread } from './thread.ts';
6
+ export type BlobWorker = typeof BlobWorkerClass;
7
+ export type Worker = WorkerType;
8
+ /** Separate class to spawn workers from source code blobs or strings. */
9
+ export declare const BlobWorker: typeof BlobWorkerClass;
10
+ /** Worker implementation. Either web worker or a node.js Worker class. */
11
+ export declare const Worker: typeof import("../types/master.ts").WorkerImplementation;
12
+ export { isWorkerRuntime } from './implementation.ts';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/master/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,IAAI,eAAe,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAG7F,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEpC,MAAM,MAAM,UAAU,GAAG,OAAO,eAAe,CAAA;AAC/C,MAAM,MAAM,MAAM,GAAG,UAAU,CAAA;AAE/B,yEAAyE;AACzE,eAAO,MAAM,UAAU,wBAAiC,CAAA;AAExD,0EAA0E;AAC1E,eAAO,MAAM,MAAM,0DAAoC,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1,3 +1,4 @@
1
- import type { ModuleMethods, ModuleProxy, ProxyableFunction, Worker as WorkerType } from '../types/master';
1
+ import type { ModuleMethods, ModuleProxy, ProxyableFunction, Worker as WorkerType } from '../types/master.ts';
2
2
  export declare function createProxyFunction<Args extends any[], ReturnType>(worker: WorkerType, method?: string): ProxyableFunction<Args, ReturnType>;
3
3
  export declare function createProxyModule<Methods extends ModuleMethods>(worker: WorkerType, methodNames: string[]): ModuleProxy<Methods>;
4
+ //# sourceMappingURL=invocation-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation-proxy.d.ts","sourceRoot":"","sources":["../../../src/master/invocation-proxy.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EACV,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,IAAI,UAAU,EACpE,MAAM,oBAAoB,CAAA;AAsG3B,wBAAgB,mBAAmB,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAoBxF,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CACjD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,SAAS,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,CAAC,CAQhI"}
@@ -1,4 +1,5 @@
1
- import type { Thread } from './thread';
1
+ import type { Thread } from './thread.ts';
2
+ /** Pool event type. Specifies the type of each `PoolEvent`. */
2
3
  export declare enum PoolEventType {
3
4
  initialized = "initialized",
4
5
  taskCanceled = "taskCanceled",
@@ -10,6 +11,7 @@ export declare enum PoolEventType {
10
11
  terminated = "terminated"
11
12
  }
12
13
  export type TaskRunFunction<ThreadType extends Thread, Return> = (worker: ThreadType) => Promise<Return>;
14
+ /** Pool event. Subscribe to those events using `pool.events()`. Useful for debugging. */
13
15
  export type PoolEvent<ThreadType extends Thread> = {
14
16
  type: PoolEventType.initialized;
15
17
  size: number;
@@ -43,9 +45,22 @@ export interface WorkerDescriptor<ThreadType extends Thread> {
43
45
  init: Promise<ThreadType>;
44
46
  runningTasks: Array<Promise<any>>;
45
47
  }
48
+ /**
49
+ * Task that has been `pool.queued()`-ed.
50
+ */
46
51
  export interface QueuedTask<ThreadType extends Thread, Return> {
52
+ /** @private */
47
53
  id: number;
54
+ /** @private */
48
55
  run: TaskRunFunction<ThreadType, Return>;
56
+ /**
57
+ * Queued tasks can be cancelled until the pool starts running them on a worker thread.
58
+ */
49
59
  cancel(): void;
60
+ /**
61
+ * `QueuedTask` is thenable, so you can `await` it.
62
+ * Resolves when the task has successfully been executed. Rejects if the task fails.
63
+ */
50
64
  then: Promise<Return>['then'];
51
65
  }
66
+ //# sourceMappingURL=pool-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool-types.d.ts","sourceRoot":"","sources":["../../../src/master/pool-types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,+DAA+D;AAC/D,oBAAY,aAAa;IACvB,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,aAAa,kBAAkB;IAC/B,UAAU,eAAe;IACzB,UAAU,eAAe;IACzB,gBAAgB,qBAAqB;IACrC,SAAS,cAAc;IACvB,UAAU,eAAe;CAC1B;AAED,MAAM,MAAM,eAAe,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;AAExG,yFAAyF;AACzF,MAAM,MAAM,SAAS,CAAC,UAAU,SAAS,MAAM,IAC3C;IACA,IAAI,EAAE,aAAa,CAAC,WAAW,CAAA;IAC/B,IAAI,EAAE,MAAM,CAAA;CACb,GACC;IACA,IAAI,EAAE,aAAa,CAAC,UAAU,CAAA;IAC9B,MAAM,EAAE,MAAM,CAAA;CACf,GACC;IACA,IAAI,EAAE,aAAa,CAAC,gBAAgB,CAAA;CACrC,GACC;IACA,IAAI,EAAE,aAAa,CAAC,SAAS,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,GACC;IACA,IAAI,EAAE,aAAa,CAAC,aAAa,CAAA;IACjC,WAAW,EAAE,GAAG,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,GACC;IACA,IAAI,EAAE,aAAa,CAAC,UAAU,CAAA;IAC9B,KAAK,EAAE,KAAK,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;CACjB,GACC;IACA,IAAI,EAAE,aAAa,CAAC,YAAY,CAAA;IAChC,MAAM,EAAE,MAAM,CAAA;CACf,GACC;IACA,IAAI,EAAE,aAAa,CAAC,UAAU,CAAA;IAC9B,cAAc,EAAE,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAA;CACnD,CAAA;AAEH,MAAM,WAAW,gBAAgB,CAAC,UAAU,SAAS,MAAM;IACzD,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;IACzB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,UAAU,CAAC,UAAU,SAAS,MAAM,EAAE,MAAM;IAC3D,eAAe;IACf,EAAE,EAAE,MAAM,CAAA;IAEV,eAAe;IACf,GAAG,EAAE,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,CAAA;IAExC;;OAEG;IACH,MAAM,IAAI,IAAI,CAAA;IAEd;;;OAGG;IACH,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAA;CAC9B"}
@@ -0,0 +1,93 @@
1
+ import { Observable } from 'observable-fns';
2
+ import type { PoolEvent, QueuedTask, TaskRunFunction } from './pool-types.ts';
3
+ import { PoolEventType } from './pool-types.ts';
4
+ import { Thread } from './thread.ts';
5
+ export declare namespace Pool {
6
+ type Event<ThreadType extends Thread = any> = PoolEvent<ThreadType>;
7
+ type EventType = PoolEventType;
8
+ }
9
+ /**
10
+ * Thread pool managing a set of worker threads.
11
+ * Use it to queue tasks that are run on those threads with limited
12
+ * concurrency.
13
+ */
14
+ export interface Pool<ThreadType extends Thread> {
15
+ /**
16
+ * Returns a promise that resolves once the task queue is emptied.
17
+ * Promise will be rejected if any task fails.
18
+ *
19
+ * @param allowResolvingImmediately Set to `true` to resolve immediately if task queue is currently empty.
20
+ */
21
+ completed(allowResolvingImmediately?: boolean): Promise<any>;
22
+ /**
23
+ * Returns a promise that resolves once the task queue is emptied.
24
+ * Failing tasks will not cause the promise to be rejected.
25
+ *
26
+ * @param allowResolvingImmediately Set to `true` to resolve immediately if task queue is currently empty.
27
+ */
28
+ settled(allowResolvingImmediately?: boolean): Promise<Error[]>;
29
+ /**
30
+ * Returns an observable that yields pool events.
31
+ */
32
+ events(): Observable<PoolEvent<ThreadType>>;
33
+ /**
34
+ * Queue a task and return a promise that resolves once the task has been dequeued,
35
+ * started and finished.
36
+ *
37
+ * @param task An async function that takes a thread instance and invokes it.
38
+ */
39
+ queue<Return>(task: TaskRunFunction<ThreadType, Return>): QueuedTask<ThreadType, Return>;
40
+ /**
41
+ * Terminate all pool threads.
42
+ *
43
+ * @param force Set to `true` to kill the thread even if it cannot be stopped gracefully.
44
+ */
45
+ terminate(force?: boolean): Promise<void>;
46
+ }
47
+ interface PoolOptions {
48
+ /** Maximum no. of tasks to run on one worker thread at a time. Defaults to one. */
49
+ concurrency?: number;
50
+ /** Maximum no. of jobs to be queued for execution before throwing an error. */
51
+ maxQueuedJobs?: number;
52
+ /** Gives that pool a name to be used for debug logging, letting you distinguish between log output of different pools. */
53
+ name?: string;
54
+ /** No. of worker threads to spawn and to be managed by the pool. */
55
+ size?: number;
56
+ }
57
+ declare class WorkerPool<ThreadType extends Thread> implements Pool<ThreadType> {
58
+ static EventType: typeof PoolEventType;
59
+ private readonly debug;
60
+ private readonly eventObservable;
61
+ private readonly options;
62
+ private readonly workers;
63
+ private readonly eventSubject;
64
+ private initErrors;
65
+ private isClosing;
66
+ private nextTaskID;
67
+ private taskQueue;
68
+ constructor(spawnWorker: () => Promise<ThreadType>, optionsOrSize?: number | PoolOptions);
69
+ private findIdlingWorker;
70
+ private runPoolTask;
71
+ private run;
72
+ private scheduleWork;
73
+ private taskCompletion;
74
+ settled(allowResolvingImmediately?: boolean): Promise<Error[]>;
75
+ completed(allowResolvingImmediately?: boolean): Promise<void>;
76
+ events(): Observable<PoolEvent<ThreadType>>;
77
+ queue(taskFunction: TaskRunFunction<ThreadType, any>): QueuedTask<ThreadType, any>;
78
+ terminate(force?: boolean): Promise<void>;
79
+ }
80
+ /**
81
+ * Thread pool constructor. Creates a new pool and spawns its worker threads.
82
+ */
83
+ declare function PoolConstructor<ThreadType extends Thread>(spawnWorker: () => Promise<ThreadType>, optionsOrSize?: number | PoolOptions): WorkerPool<ThreadType>;
84
+ /**
85
+ * Thread pool constructor. Creates a new pool and spawns its worker threads.
86
+ */
87
+ export declare const Pool: typeof PoolConstructor & {
88
+ EventType: typeof PoolEventType;
89
+ };
90
+ export type { PoolEvent, QueuedTask } from './pool-types.ts';
91
+ export { PoolEventType } from './pool-types.ts';
92
+ export { Thread } from './thread.ts';
93
+ //# sourceMappingURL=pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/master/pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/master/register.ts"],"names":[],"mappings":""}
@@ -1,11 +1,21 @@
1
- import type { FunctionThread, ModuleThread, StripAsync, Worker as WorkerType } from '../types/master';
2
- import type { WorkerFunction, WorkerModule } from '../types/worker';
1
+ import type { FunctionThread, ModuleThread, StripAsync, Worker as WorkerType } from '../types/master.ts';
2
+ import type { WorkerFunction, WorkerModule } from '../types/worker.ts';
3
3
  type ArbitraryWorkerInterface = WorkerFunction & WorkerModule<string> & {
4
4
  somekeythatisneverusedinproductioncode123: 'magicmarker123';
5
5
  };
6
6
  type ArbitraryThreadType = FunctionThread<any, any> & ModuleThread<any>;
7
7
  export type ExposedToThreadType<Exposed extends WorkerFunction | WorkerModule<any>> = Exposed extends ArbitraryWorkerInterface ? ArbitraryThreadType : Exposed extends WorkerFunction ? FunctionThread<Parameters<Exposed>, StripAsync<ReturnType<Exposed>>> : Exposed extends WorkerModule<any> ? ModuleThread<Exposed> : never;
8
+ /**
9
+ * Spawn a new thread. Takes a fresh worker instance, wraps it in a thin
10
+ * abstraction layer to provide the transparent API and verifies that
11
+ * the worker has initialized successfully.
12
+ *
13
+ * @param worker Instance of `Worker`. Either a web worker, `worker_threads` worker or `tiny-worker` worker.
14
+ * @param [options]
15
+ * @param [options.timeout] Init message timeout. Default: 10000 or set by environment variable.
16
+ */
8
17
  export declare function spawn<Exposed extends WorkerFunction | WorkerModule<any> = ArbitraryWorkerInterface>(worker: WorkerType, options?: {
9
18
  timeout?: number;
10
19
  }): Promise<ExposedToThreadType<Exposed>>;
11
20
  export {};
21
+ //# sourceMappingURL=spawn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/master/spawn.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EAEZ,UAAU,EACV,MAAM,IAAI,UAAU,EAKrB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAGtE,KAAK,wBAAwB,GAAG,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG;IAAE,yCAAyC,EAAE,gBAAgB,CAAA;CAAE,CAAA;AACvI,KAAK,mBAAmB,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;AAEvE,MAAM,MAAM,mBAAmB,CAAC,OAAO,SAAS,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,IAChF,OAAO,SAAS,wBAAwB,GAAG,mBAAmB,GAC1D,OAAO,SAAS,cAAc,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GACnG,OAAO,SAAS,YAAY,CAAC,GAAG,CAAC,GAAG,YAAY,CAAC,OAAO,CAAC,GACvD,KAAK,CAAA;AAqGf;;;;;;;;GAQG;AACH,wBAAsB,KAAK,CAAC,OAAO,SAAS,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,wBAAwB,EACvG,MAAM,EAAE,UAAU,EAClB,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GAC7B,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAwBvC"}
@@ -0,0 +1,13 @@
1
+ import type { Observable } from 'observable-fns';
2
+ import type { Thread as ThreadType, WorkerEvent } from '../types/master.ts';
3
+ export type Thread = ThreadType;
4
+ /** Thread utility functions. Use them to manage or inspect a `spawn()`-ed thread. */
5
+ export declare const Thread: {
6
+ /** Return an observable that can be used to subscribe to all errors happening in the thread. */
7
+ errors<ThreadT extends ThreadType>(thread: ThreadT): Observable<Error>;
8
+ /** Return an observable that can be used to subscribe to internal events happening in the thread. Useful for debugging. */
9
+ events<ThreadT extends ThreadType>(thread: ThreadT): Observable<WorkerEvent>;
10
+ /** Terminate a thread. Remember to terminate every thread when you are done using it. */
11
+ terminate<ThreadT extends ThreadType>(thread: ThreadT): Promise<void>;
12
+ };
13
+ //# sourceMappingURL=thread.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread.d.ts","sourceRoot":"","sources":["../../../src/master/thread.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAKhD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAM3E,MAAM,MAAM,MAAM,GAAG,UAAU,CAAA;AAE/B,qFAAqF;AACrF,eAAO,MAAM,MAAM;IACjB,gGAAgG;WACzF,OAAO,SAAS,UAAU,UAAU,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC;IAGtE,2HAA2H;WACpH,OAAO,SAAS,UAAU,UAAU,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC;IAG5E,yFAAyF;cAC/E,OAAO,SAAS,UAAU,UAAU,OAAO;CAGtD,CAAA"}
@@ -5,6 +5,19 @@ type Thenable<T> = {
5
5
  then: (onFulfilled?: (value: T) => any, onRejected?: (error: any) => any) => any;
6
6
  };
7
7
  type UnsubscribeFn = () => void;
8
+ /**
9
+ * Creates a hybrid, combining the APIs of an Observable and a Promise.
10
+ *
11
+ * It is used to proxy async process states when we are initially not sure
12
+ * if that async process will yield values once (-> Promise) or multiple
13
+ * times (-> Observable).
14
+ *
15
+ * Note that the observable promise inherits some of the observable's characteristics:
16
+ * The `init` function will be called *once for every time anyone subscribes to it*.
17
+ *
18
+ * If this is undesired, derive a hot observable from it using `makeHot()` and
19
+ * subscribe to that.
20
+ */
8
21
  export declare class ObservablePromise<T> extends Observable<T> implements Promise<T> {
9
22
  readonly [Symbol.toStringTag] = "[object ObservablePromise]";
10
23
  private initHasRun;
@@ -24,3 +37,4 @@ export declare class ObservablePromise<T> extends Observable<T> implements Promi
24
37
  static from<T>(thing: Observable<T> | ObservableLike<T> | ArrayLike<T> | Thenable<T>): ObservablePromise<T>;
25
38
  }
26
39
  export {};
40
+ //# sourceMappingURL=observable-promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observable-promise.d.ts","sourceRoot":"","sources":["../../src/observable-promise.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAK3C,KAAK,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,aAAa,GAAG,IAAI,CAAA;AAEjF,KAAK,QAAQ,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,CAAA;CAAE,CAAA;AAEvG,KAAK,aAAa,GAAG,MAAM,IAAI,CAAA;AAc/B;;;;;;;;;;;;GAYG;AACH,qBAAa,iBAAiB,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAC3E,QAAQ,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,gCAA+B;IAC5D,OAAO,CAAC,UAAU,CAAQ;IAC1B,OAAO,CAAC,oBAAoB,CAA4B;IACxD,OAAO,CAAC,kBAAkB,CAAmB;IAE7C,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,KAAK,CAAkD;gBAEnD,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;IA6BhC,OAAO,CAAC,MAAM;IAOd,OAAO,CAAC,OAAO;IAWf,OAAO,CAAC,YAAY;IAUpB,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EACjC,cAAc,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,EACpF,aAAa,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,GACrF,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAuC/B,KAAK,CAAC,MAAM,GAAG,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,SAAS,GACpD,OAAO,CAAC,MAAM,CAAC;IAG5D,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS,GAQ9C,OAAO,CAAC,CAAC,CAAC;WAGD,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;CAcrH"}
@@ -0,0 +1,21 @@
1
+ import type { ObservableLike } from 'observable-fns';
2
+ import { Observable } from 'observable-fns';
3
+ declare const $observers: unique symbol;
4
+ /**
5
+ * Observable subject. Implements the Observable interface, but also exposes
6
+ * the `next()`, `error()`, `complete()` methods to initiate observable
7
+ * updates "from the outside".
8
+ *
9
+ * Use `Observable.from(subject)` to derive an observable that proxies all
10
+ * values, errors and the completion raised on this subject, but does not
11
+ * expose the `next()`, `error()`, `complete()` methods.
12
+ */
13
+ export declare class Subject<T> extends Observable<T> implements ObservableLike<T> {
14
+ private [$observers];
15
+ constructor();
16
+ complete(): void;
17
+ error(error: any): void;
18
+ next(value: T): void;
19
+ }
20
+ export { Observable } from 'observable-fns';
21
+ //# sourceMappingURL=observable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"observable.d.ts","sourceRoot":"","sources":["../../src/observable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAwB,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE3C,QAAA,MAAM,UAAU,eAAsB,CAAA;AAEtC;;;;;;;;GAQG;AACH,qBAAa,OAAO,CAAC,CAAC,CAAE,SAAQ,UAAU,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,CAAC,UAAU,CAAC,CAAgC;;IAcpD,QAAQ;IAIR,KAAK,CAAC,KAAK,EAAE,GAAG;IAIhB,IAAI,CAAC,KAAK,EAAE,CAAC;CAGd;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA"}
@@ -6,3 +6,4 @@ export type SettlementResult<T> = {
6
6
  status: 'rejected';
7
7
  };
8
8
  export declare function allSettled<T>(values: T[]): Promise<Array<SettlementResult<T>>>;
9
+ //# sourceMappingURL=ponyfills.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Creates a new promise and exposes its resolver function.
3
+ * Use with care!
4
+ */
5
+ export declare function createPromiseWithResolver<T>(): [Promise<T>, (result: T) => void];
6
+ //# sourceMappingURL=promise.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise.d.ts","sourceRoot":"","sources":["../../src/promise.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,CAAC,CAkBhF"}
@@ -14,3 +14,4 @@ type JsonSerializableObject = {
14
14
  export type JsonSerializable = JsonSerializablePrimitive | JsonSerializablePrimitive[] | JsonSerializableObject | JsonSerializableObject[];
15
15
  export declare const DefaultSerializer: Serializer<JsonSerializable>;
16
16
  export {};
17
+ //# sourceMappingURL=serializers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serializers.d.ts","sourceRoot":"","sources":["../../src/serializers.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,UAAU,CAAC,GAAG,GAAG,gBAAgB,EAAE,KAAK,GAAG,GAAG;IAC7D,WAAW,CAAC,OAAO,EAAE,GAAG,GAAG,KAAK,CAAA;IAChC,SAAS,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,CAAA;CAC7B;AAED,MAAM,WAAW,wBAAwB,CAAC,GAAG,GAAG,gBAAgB,EAAE,KAAK,GAAG,GAAG;IAC3E,WAAW,CAAC,OAAO,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,GAAG,KAAK,CAAA;IACzE,SAAS,CAAC,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,GAAG,GAAG,CAAA;CACpE;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,SAAS,GAAG,GAAG,EAC3D,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,EAC1C,cAAc,EAAE,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,GAC/D,UAAU,CAAC,WAAW,EAAE,SAAS,CAAC,CAapC;AAED,KAAK,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAA;AAEjE,KAAK,sBAAsB,GAAG;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,yBAAyB,GAAG,yBAAyB,EAAE,GAAG,sBAAsB,GAAG,sBAAsB,EAAE,GAAG,SAAS,CAAA;CACvI,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,yBAAyB,GAAG,yBAAyB,EAAE,GAAG,sBAAsB,GAAG,sBAAsB,EAAE,CAAA;AAsB1I,eAAO,MAAM,iBAAiB,EAAE,UAAU,CAAC,gBAAgB,CAO1D,CAAA"}
@@ -3,3 +3,4 @@ export declare const $events: unique symbol;
3
3
  export declare const $terminate: unique symbol;
4
4
  export declare const $transferable: unique symbol;
5
5
  export declare const $worker: unique symbol;
6
+ //# sourceMappingURL=symbols.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbols.d.ts","sourceRoot":"","sources":["../../src/symbols.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,eAA0B,CAAA;AAC9C,eAAO,MAAM,OAAO,eAA0B,CAAA;AAC9C,eAAO,MAAM,UAAU,eAA6B,CAAA;AACpD,eAAO,MAAM,aAAa,eAAgC,CAAA;AAC1D,eAAO,MAAM,OAAO,eAA0B,CAAA"}
@@ -1,22 +1,10 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- import { $transferable } from './symbols'
3
-
1
+ import { $transferable } from './symbols.ts';
4
2
  export interface TransferDescriptor<T = any> {
5
- [$transferable]: true
6
- send: T
7
- transferables: Transferable[]
3
+ [$transferable]: true;
4
+ send: T;
5
+ transferables: Transferable[];
8
6
  }
9
-
10
- function isTransferable(thing: any): thing is Transferable {
11
- if (!thing || typeof thing !== 'object') return false
12
- // Don't check too thoroughly, since the list of transferable things in JS might grow over time
13
- return true
14
- }
15
-
16
- export function isTransferDescriptor(thing: any): thing is TransferDescriptor {
17
- return thing && typeof thing === 'object' && thing[$transferable]
18
- }
19
-
7
+ export declare function isTransferDescriptor(thing: any): thing is TransferDescriptor;
20
8
  /**
21
9
  * Mark a transferable object as such, so it will no be serialized and
22
10
  * deserialized on messaging with the main thread, but to transfer
@@ -33,8 +21,7 @@ export function isTransferDescriptor(thing: any): thing is TransferDescriptor {
33
21
  * @param transferable Array buffer, message port or similar.
34
22
  * @see <https://developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast>
35
23
  */
36
- export function Transfer(transferable: Transferable): TransferDescriptor
37
-
24
+ export declare function Transfer(transferable: Transferable): TransferDescriptor;
38
25
  /**
39
26
  * Mark transferable objects within an arbitrary object or array as
40
27
  * being a transferable object. They will then not be serialized
@@ -52,17 +39,5 @@ export function Transfer(transferable: Transferable): TransferDescriptor
52
39
  * @param transferable Array buffer, message port or similar.
53
40
  * @see <https://developers.google.com/web/updates/2011/12/Transferable-Objects-Lightning-Fast>
54
41
  */
55
- export function Transfer<T>(payload: T, transferables: Transferable[]): TransferDescriptor
56
-
57
- export function Transfer<T>(payload: T, transferables?: Transferable[]): TransferDescriptor {
58
- if (!transferables) {
59
- if (!isTransferable(payload)) throw new Error('Not transferable')
60
- transferables = [payload]
61
- }
62
-
63
- return {
64
- [$transferable]: true,
65
- send: payload,
66
- transferables,
67
- }
68
- }
42
+ export declare function Transfer<T>(payload: T, transferables: Transferable[]): TransferDescriptor;
43
+ //# sourceMappingURL=transferable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transferable.d.ts","sourceRoot":"","sources":["../../src/transferable.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,GAAG;IACzC,CAAC,aAAa,CAAC,EAAE,IAAI,CAAA;IACrB,IAAI,EAAE,CAAC,CAAA;IACP,aAAa,EAAE,YAAY,EAAE,CAAA;CAC9B;AAQD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,kBAAkB,CAE5E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,YAAY,EAAE,YAAY,GAAG,kBAAkB,CAAA;AAExE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,kBAAkB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import type { Observable } from 'observable-fns';
2
- import type { ObservablePromise } from '../observable-promise';
3
- import type { $errors, $events, $terminate, $worker } from '../symbols';
4
- import type { TransferDescriptor } from '../transferable';
2
+ import type { ObservablePromise } from '../observable-promise.ts';
3
+ import type { $errors, $events, $terminate, $worker } from '../symbols.ts';
4
+ import type { TransferDescriptor } from '../transferable.ts';
5
5
  interface ObservableLikeSubscription {
6
6
  unsubscribe(): any;
7
7
  }
@@ -36,27 +36,39 @@ interface AnyFunctionThread extends PrivateThreadProps {
36
36
  }
37
37
  interface AnyModuleThread extends PrivateThreadProps {
38
38
  }
39
+ /** Worker thread. Either a `FunctionThread` or a `ModuleThread`. */
39
40
  export type Thread = AnyFunctionThread | AnyModuleThread;
40
41
  export type TransferList = Transferable[];
42
+ /** Worker instance. Either a web worker or a node.js Worker provided by `worker_threads` or `tiny-worker`. */
41
43
  export interface Worker extends EventTarget {
42
44
  postMessage(value: any, transferList?: TransferList): void;
45
+ /** In nodejs 10+ return type is Promise while with tiny-worker and in browser return type is void */
43
46
  terminate(callback?: (error?: Error, exitCode?: number) => void): void | Promise<number>;
44
47
  }
45
48
  export interface ThreadsWorkerOptions extends WorkerOptions {
49
+ /** Whether to apply CORS protection workaround. Defaults to true. */
46
50
  CORSWorkaround?: boolean;
51
+ /** Prefix for the path passed to the Worker constructor. Web worker only. */
47
52
  _baseURL?: string;
53
+ /** Resource limits passed on to Node worker_threads */
48
54
  resourceLimits?: {
55
+ /** The size of a pre-allocated memory range used for generated code. */
49
56
  codeRangeSizeMb?: number;
57
+ /** The maximum size of the main heap in MB. */
50
58
  maxOldGenerationSizeMb?: number;
59
+ /** The maximum size of a heap space for recently created objects. */
51
60
  maxYoungGenerationSizeMb?: number;
52
61
  };
62
+ /** Data passed on to node.js worker_threads. */
53
63
  workerData?: any;
54
64
  }
65
+ /** Worker implementation. Either web worker or a node.js Worker class. */
55
66
  export declare class WorkerImplementation extends EventTarget implements Worker {
56
67
  constructor(path: string, options?: ThreadsWorkerOptions);
57
68
  postMessage(value: any, transferList?: TransferList): void;
58
69
  terminate(): void | Promise<number>;
59
70
  }
71
+ /** Class to spawn workers from a blob or source string. */
60
72
  export declare class BlobWorker extends WorkerImplementation {
61
73
  constructor(blob: Blob, options?: ThreadsWorkerOptions);
62
74
  static fromText(source: string, options?: ThreadsWorkerOptions): WorkerImplementation;
@@ -65,6 +77,7 @@ export interface ImplementationExport {
65
77
  blob: typeof BlobWorker;
66
78
  default: typeof WorkerImplementation;
67
79
  }
80
+ /** Event as emitted by worker thread. Subscribe to using `Thread.events(thread)`. */
68
81
  export declare enum WorkerEventType {
69
82
  internalError = "internalError",
70
83
  message = "message",
@@ -83,3 +96,4 @@ export interface WorkerTerminationEvent {
83
96
  }
84
97
  export type WorkerEvent = WorkerInternalErrorEvent | WorkerMessageEvent<any> | WorkerTerminationEvent;
85
98
  export {};
99
+ //# sourceMappingURL=master.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"master.d.ts","sourceRoot":"","sources":["../../../src/types/master.ts"],"names":[],"mappings":"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"}
@@ -58,3 +58,4 @@ export type WorkerJobStartMessage = {
58
58
  uid: number;
59
59
  resultType: 'observable' | 'promise';
60
60
  };
61
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../src/types/messages.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,SAAS,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAKD,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAA;IAC9B,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAA;IAC3B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,GAAG,EAAE,CAAA;CACZ,CAAA;AAKD,oBAAY,iBAAiB;IAC3B,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,aAAa,kBAAkB;CAChC;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,iBAAiB,CAAC,aAAa,CAAA;IACrC,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAA;QACf,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,CAAC,EAAE,MAAM,CAAA;KACf,CAAA;CACF,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAA;IAC5B,OAAO,EAAE;QAAE,IAAI,EAAE,UAAU,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;CACtE,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,iBAAiB,CAAC,KAAK,CAAA;IAC7B,GAAG,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,eAAe,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAA;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,OAAO,CAAC,EAAE,GAAG,CAAA;CACd,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG;IAClC,IAAI,EAAE,iBAAiB,CAAC,OAAO,CAAA;IAC/B,GAAG,EAAE,MAAM,CAAA;IACX,UAAU,EAAE,YAAY,GAAG,SAAS,CAAA;CACrC,CAAA"}
@@ -9,3 +9,4 @@ export type WorkerModule<Keys extends string> = {
9
9
  [key in Keys]: WorkerFunction;
10
10
  };
11
11
  export {};
12
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/types/worker.ts"],"names":[],"mappings":"AACA,KAAK,aAAa,GAAG,MAAM,IAAI,CAAA;AAE/B,MAAM,WAAW,mBAAmB;IAClC,eAAe,IAAI,OAAO,CAAA;IAC1B,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;IACtE,yBAAyB,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,aAAa,CAAA;CACzE;AAED,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAA;AAEpE,MAAM,MAAM,YAAY,CAAC,IAAI,SAAS,MAAM,IAAI;KAC7C,GAAG,IAAI,IAAI,GAAG,cAAc;CAC9B,CAAA"}
@@ -0,0 +1,6 @@
1
+ export interface WorkerGlobalScope {
2
+ addEventListener(eventName: string, listener: (event: Event) => void): void;
3
+ postMessage(message: unknown, transferList?: Readonly<Transferable[]>): void;
4
+ removeEventListener(eventName: string, listener: (event: Event) => void): void;
5
+ }
6
+ //# sourceMappingURL=WorkerGlobalScope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WorkerGlobalScope.d.ts","sourceRoot":"","sources":["../../../src/worker/WorkerGlobalScope.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAA;IAC3E,WAAW,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAA;IAC5E,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI,CAAA;CAC/E"}
@@ -0,0 +1,4 @@
1
+ import type { AbstractedWorkerAPI, WorkerFunction, WorkerModule } from '../types/worker.ts';
2
+ import type { WorkerGlobalScope } from './WorkerGlobalScope.ts';
3
+ export declare function createExpose(implementation: AbstractedWorkerAPI, self: WorkerGlobalScope): (exposed: WorkerFunction | WorkerModule<any>) => void;
4
+ //# sourceMappingURL=expose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expose.d.ts","sourceRoot":"","sources":["../../../src/worker/expose.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EACV,mBAAmB,EAAE,cAAc,EAAE,YAAY,EAClD,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAI/D,wBAAgB,YAAY,CAAC,cAAc,EAAE,mBAAmB,EAAE,IAAI,EAAE,iBAAiB,aAoI9D,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,UAsE5D"}
@@ -0,0 +1,14 @@
1
+ import type { AbstractedWorkerAPI } from '../types/worker.ts';
2
+ declare const isWorkerRuntime: AbstractedWorkerAPI['isWorkerRuntime'];
3
+ declare const postMessageToMaster: AbstractedWorkerAPI['postMessageToMaster'];
4
+ declare const subscribeToMasterMessages: AbstractedWorkerAPI['subscribeToMasterMessages'];
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
+ export { addEventListener, postMessage, removeEventListener, };
9
+ declare const expose: (exposed: import("../types/worker.ts").WorkerFunction | import("../types/worker.ts").WorkerModule<any>) => void;
10
+ export { isWorkerRuntime, postMessageToMaster, subscribeToMasterMessages, };
11
+ export { registerSerializer } from '../common.ts';
12
+ export { Transfer } from '../transferable.ts';
13
+ export { expose };
14
+ //# sourceMappingURL=worker.browser.d.ts.map
@@ -0,0 +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;AAED,QAAA,MAAM,gBAAgB,+DAAwB,CAAA;AAC9C,QAAA,MAAM,WAAW,qEAAmB,CAAA;AACpC,QAAA,MAAM,mBAAmB,+DAA2B,CAAA;AAEpD,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"}
@@ -0,0 +1,25 @@
1
+ import type { MessagePort, TransferListItem } from 'node:worker_threads';
2
+ import type { AbstractedWorkerAPI } from '../types/worker.ts';
3
+ declare const isWorkerRuntime: AbstractedWorkerAPI['isWorkerRuntime'];
4
+ declare const postMessageToMaster: AbstractedWorkerAPI['postMessageToMaster'];
5
+ declare const subscribeToMasterMessages: AbstractedWorkerAPI['subscribeToMasterMessages'];
6
+ declare const addEventListener: {
7
+ (event: "close", listener: () => void): MessagePort;
8
+ (event: "message", listener: (value: any) => void): MessagePort;
9
+ (event: "messageerror", listener: (error: Error) => void): MessagePort;
10
+ (event: string | symbol, listener: (...args: any[]) => void): MessagePort;
11
+ };
12
+ declare const postMessage: (value: any, transferList?: readonly TransferListItem[]) => void;
13
+ declare const removeEventListener: {
14
+ (event: "close", listener: () => void): MessagePort;
15
+ (event: "message", listener: (value: any) => void): MessagePort;
16
+ (event: "messageerror", listener: (error: Error) => void): MessagePort;
17
+ (event: string | symbol, listener: (...args: any[]) => void): MessagePort;
18
+ };
19
+ export { addEventListener, postMessage, removeEventListener, };
20
+ declare const expose: (exposed: import("../types/worker.ts").WorkerFunction | import("../types/worker.ts").WorkerModule<any>) => void;
21
+ export { isWorkerRuntime, postMessageToMaster, subscribeToMasterMessages, };
22
+ export { registerSerializer } from '../common.ts';
23
+ export { Transfer } from '../transferable.ts';
24
+ export { expose };
25
+ //# sourceMappingURL=worker.node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.node.d.ts","sourceRoot":"","sources":["../../../src/worker/worker.node.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAKxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAY7D,QAAA,MAAM,eAAe,EAAE,mBAAmB,CAAC,iBAAiB,CAE3D,CAAA;AAED,QAAA,MAAM,mBAAmB,EAAE,mBAAmB,CAAC,qBAAqB,CAEnE,CAAA;AAED,QAAA,MAAM,yBAAyB,EAAE,mBAAmB,CAAC,2BAA2B,CAY/E,CAAA;AAED,QAAA,MAAM,gBAAgB;;;;wCAyB0gR,GAAG;CAzB3+Q,CAAA;AACxD,QAAA,MAAM,WAAW,kEAA2C,CAAA;AAC5D,QAAA,MAAM,mBAAmB;;;;wCAuBoiU,GAAG;CAvBpgU,CAAA;AAE5D,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"}