@xyo-network/hash 3.9.38 → 3.10.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.
@@ -6,7 +6,6 @@
6
6
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
9
  var __commonJS = (cb, mod) => function __require() {
11
10
  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
12
11
  };
@@ -26,2596 +25,9 @@
26
25
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
26
  mod
28
27
  ));
29
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
30
-
31
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/serializers.js
32
- var require_serializers = __commonJS({
33
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/serializers.js"(exports) {
34
- "use strict";
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.DefaultSerializer = void 0;
37
- exports.extendSerializer = extendSerializer;
38
- function extendSerializer(extend, implementation) {
39
- const fallbackDeserializer = extend.deserialize.bind(extend);
40
- const fallbackSerializer = extend.serialize.bind(extend);
41
- return {
42
- deserialize(message) {
43
- return implementation.deserialize(message, fallbackDeserializer);
44
- },
45
- serialize(input) {
46
- return implementation.serialize(input, fallbackSerializer);
47
- }
48
- };
49
- }
50
- var DefaultErrorSerializer = {
51
- deserialize(message) {
52
- return Object.assign(new Error(message.message), {
53
- name: message.name,
54
- stack: message.stack
55
- });
56
- },
57
- serialize(error) {
58
- return {
59
- __error_marker: "$$error",
60
- message: error.message,
61
- name: error.name,
62
- stack: error.stack
63
- };
64
- }
65
- };
66
- var isSerializedError = (thing) => thing && typeof thing === "object" && "__error_marker" in thing && thing.__error_marker === "$$error";
67
- exports.DefaultSerializer = {
68
- deserialize(message) {
69
- return isSerializedError(message) ? DefaultErrorSerializer.deserialize(message) : message;
70
- },
71
- serialize(input) {
72
- return input instanceof Error ? DefaultErrorSerializer.serialize(input) : input;
73
- }
74
- };
75
- }
76
- });
77
-
78
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/common.js
79
- var require_common = __commonJS({
80
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/common.js"(exports) {
81
- "use strict";
82
- Object.defineProperty(exports, "__esModule", { value: true });
83
- exports.registerSerializer = registerSerializer;
84
- exports.deserialize = deserialize;
85
- exports.serialize = serialize;
86
- var serializers_1 = require_serializers();
87
- var registeredSerializer = serializers_1.DefaultSerializer;
88
- function registerSerializer(serializer) {
89
- registeredSerializer = (0, serializers_1.extendSerializer)(registeredSerializer, serializer);
90
- }
91
- function deserialize(message) {
92
- return registeredSerializer.deserialize(message);
93
- }
94
- function serialize(input) {
95
- return registeredSerializer.serialize(input);
96
- }
97
- }
98
- });
99
-
100
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/get-bundle-url.browser.js
101
- var require_get_bundle_url_browser = __commonJS({
102
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/get-bundle-url.browser.js"(exports) {
103
- "use strict";
104
- Object.defineProperty(exports, "__esModule", { value: true });
105
- exports.getBundleURL = getBundleURLCached;
106
- var bundleURL;
107
- function getBundleURLCached() {
108
- if (!bundleURL) {
109
- bundleURL = getBundleURL();
110
- }
111
- return bundleURL;
112
- }
113
- function getBundleURL() {
114
- try {
115
- throw new Error("getBundleURL failed");
116
- } catch (err) {
117
- const matches = ("" + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):\/\/[^\n)]+/g);
118
- if (matches) {
119
- return getBaseURL(matches[0]);
120
- }
121
- }
122
- return "/";
123
- }
124
- function getBaseURL(url) {
125
- return ("" + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\/\/.+)?\/[^/]+(?:\?.*)?$/, "$1") + "/";
126
- }
127
- }
128
- });
129
-
130
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/implementation.browser.js
131
- var require_implementation_browser = __commonJS({
132
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/implementation.browser.js"(exports) {
133
- "use strict";
134
- Object.defineProperty(exports, "__esModule", { value: true });
135
- exports.defaultPoolSize = void 0;
136
- exports.getWorkerImplementation = getWorkerImplementation;
137
- exports.isWorkerRuntime = isWorkerRuntime;
138
- var get_bundle_url_browser_1 = require_get_bundle_url_browser();
139
- exports.defaultPoolSize = typeof navigator !== "undefined" && navigator.hardwareConcurrency ? navigator.hardwareConcurrency : 4;
140
- var isAbsoluteURL = (value) => /^[A-Za-z][\d+.A-Za-z\-]*:/.test(value);
141
- function createSourceBlobURL(code) {
142
- const blob = new Blob([code], { type: "application/javascript" });
143
- return URL.createObjectURL(blob);
144
- }
145
- function selectWorkerImplementation() {
146
- if (typeof Worker === "undefined") {
147
- return class NoWebWorker {
148
- constructor() {
149
- throw new Error("No web worker implementation available. You might have tried to spawn a worker within a worker in a browser that doesn't support workers in workers.");
150
- }
151
- };
152
- }
153
- class WebWorker extends Worker {
154
- constructor(url, options) {
155
- if (typeof url === "string" && options && options._baseURL) {
156
- url = new URL(url, options._baseURL);
157
- } else if (typeof url === "string" && !isAbsoluteURL(url) && /^file:\/\//i.test((0, get_bundle_url_browser_1.getBundleURL)())) {
158
- url = new URL(url, (0, get_bundle_url_browser_1.getBundleURL)().replace(/\/[^/]+$/, "/"));
159
- if (options?.CORSWorkaround ?? true) {
160
- url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
161
- }
162
- }
163
- if (typeof url === "string" && isAbsoluteURL(url) && (options?.CORSWorkaround ?? true)) {
164
- url = createSourceBlobURL(`importScripts(${JSON.stringify(url)});`);
165
- }
166
- super(url, options);
167
- }
168
- }
169
- class BlobWorker extends WebWorker {
170
- constructor(blob, options) {
171
- const url = globalThis.URL.createObjectURL(blob);
172
- super(url, options);
173
- }
174
- static fromText(source, options) {
175
- const blob = new globalThis.Blob([source], { type: "text/javascript" });
176
- return new BlobWorker(blob, options);
177
- }
178
- }
179
- return {
180
- blob: BlobWorker,
181
- default: WebWorker
182
- };
183
- }
184
- var implementation;
185
- function getWorkerImplementation() {
186
- if (!implementation) {
187
- implementation = selectWorkerImplementation();
188
- }
189
- return implementation;
190
- }
191
- function isWorkerRuntime() {
192
- const isWindowContext = typeof globalThis !== "undefined" && typeof Window !== "undefined" && globalThis instanceof Window;
193
- return typeof globalThis !== "undefined" && self["postMessage"] && !isWindowContext ? true : false;
194
- }
195
- }
196
- });
197
-
198
- // ../../../../../../node_modules/.store/ms-npm-2.1.3-81ff3cfac1/package/index.js
199
- var require_package = __commonJS({
200
- "../../../../../../node_modules/.store/ms-npm-2.1.3-81ff3cfac1/package/index.js"(exports, module) {
201
- var s = 1e3;
202
- var m = s * 60;
203
- var h = m * 60;
204
- var d = h * 24;
205
- var w = d * 7;
206
- var y = d * 365.25;
207
- module.exports = function(val, options) {
208
- options = options || {};
209
- var type = typeof val;
210
- if (type === "string" && val.length > 0) {
211
- return parse(val);
212
- } else if (type === "number" && isFinite(val)) {
213
- return options.long ? fmtLong(val) : fmtShort(val);
214
- }
215
- throw new Error(
216
- "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
217
- );
218
- };
219
- function parse(str) {
220
- str = String(str);
221
- if (str.length > 100) {
222
- return;
223
- }
224
- var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
225
- str
226
- );
227
- if (!match) {
228
- return;
229
- }
230
- var n = parseFloat(match[1]);
231
- var type = (match[2] || "ms").toLowerCase();
232
- switch (type) {
233
- case "years":
234
- case "year":
235
- case "yrs":
236
- case "yr":
237
- case "y":
238
- return n * y;
239
- case "weeks":
240
- case "week":
241
- case "w":
242
- return n * w;
243
- case "days":
244
- case "day":
245
- case "d":
246
- return n * d;
247
- case "hours":
248
- case "hour":
249
- case "hrs":
250
- case "hr":
251
- case "h":
252
- return n * h;
253
- case "minutes":
254
- case "minute":
255
- case "mins":
256
- case "min":
257
- case "m":
258
- return n * m;
259
- case "seconds":
260
- case "second":
261
- case "secs":
262
- case "sec":
263
- case "s":
264
- return n * s;
265
- case "milliseconds":
266
- case "millisecond":
267
- case "msecs":
268
- case "msec":
269
- case "ms":
270
- return n;
271
- default:
272
- return void 0;
273
- }
274
- }
275
- function fmtShort(ms) {
276
- var msAbs = Math.abs(ms);
277
- if (msAbs >= d) {
278
- return Math.round(ms / d) + "d";
279
- }
280
- if (msAbs >= h) {
281
- return Math.round(ms / h) + "h";
282
- }
283
- if (msAbs >= m) {
284
- return Math.round(ms / m) + "m";
285
- }
286
- if (msAbs >= s) {
287
- return Math.round(ms / s) + "s";
288
- }
289
- return ms + "ms";
290
- }
291
- function fmtLong(ms) {
292
- var msAbs = Math.abs(ms);
293
- if (msAbs >= d) {
294
- return plural(ms, msAbs, d, "day");
295
- }
296
- if (msAbs >= h) {
297
- return plural(ms, msAbs, h, "hour");
298
- }
299
- if (msAbs >= m) {
300
- return plural(ms, msAbs, m, "minute");
301
- }
302
- if (msAbs >= s) {
303
- return plural(ms, msAbs, s, "second");
304
- }
305
- return ms + " ms";
306
- }
307
- function plural(ms, msAbs, n, name) {
308
- var isPlural = msAbs >= n * 1.5;
309
- return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
310
- }
311
- }
312
- });
313
-
314
- // ../../../../../../node_modules/.store/debug-virtual-ec9ff5b796/package/src/common.js
315
- var require_common2 = __commonJS({
316
- "../../../../../../node_modules/.store/debug-virtual-ec9ff5b796/package/src/common.js"(exports, module) {
317
- function setup(env) {
318
- createDebug.debug = createDebug;
319
- createDebug.default = createDebug;
320
- createDebug.coerce = coerce;
321
- createDebug.disable = disable;
322
- createDebug.enable = enable;
323
- createDebug.enabled = enabled;
324
- createDebug.humanize = require_package();
325
- createDebug.destroy = destroy;
326
- Object.keys(env).forEach((key) => {
327
- createDebug[key] = env[key];
328
- });
329
- createDebug.names = [];
330
- createDebug.skips = [];
331
- createDebug.formatters = {};
332
- function selectColor(namespace) {
333
- let hash = 0;
334
- for (let i = 0; i < namespace.length; i++) {
335
- hash = (hash << 5) - hash + namespace.charCodeAt(i);
336
- hash |= 0;
337
- }
338
- return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
339
- }
340
- createDebug.selectColor = selectColor;
341
- function createDebug(namespace) {
342
- let prevTime;
343
- let enableOverride = null;
344
- let namespacesCache;
345
- let enabledCache;
346
- function debug(...args) {
347
- if (!debug.enabled) {
348
- return;
349
- }
350
- const self2 = debug;
351
- const curr = Number(/* @__PURE__ */ new Date());
352
- const ms = curr - (prevTime || curr);
353
- self2.diff = ms;
354
- self2.prev = prevTime;
355
- self2.curr = curr;
356
- prevTime = curr;
357
- args[0] = createDebug.coerce(args[0]);
358
- if (typeof args[0] !== "string") {
359
- args.unshift("%O");
360
- }
361
- let index = 0;
362
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
363
- if (match === "%%") {
364
- return "%";
365
- }
366
- index++;
367
- const formatter = createDebug.formatters[format];
368
- if (typeof formatter === "function") {
369
- const val = args[index];
370
- match = formatter.call(self2, val);
371
- args.splice(index, 1);
372
- index--;
373
- }
374
- return match;
375
- });
376
- createDebug.formatArgs.call(self2, args);
377
- const logFn = self2.log || createDebug.log;
378
- logFn.apply(self2, args);
379
- }
380
- debug.namespace = namespace;
381
- debug.useColors = createDebug.useColors();
382
- debug.color = createDebug.selectColor(namespace);
383
- debug.extend = extend;
384
- debug.destroy = createDebug.destroy;
385
- Object.defineProperty(debug, "enabled", {
386
- enumerable: true,
387
- configurable: false,
388
- get: () => {
389
- if (enableOverride !== null) {
390
- return enableOverride;
391
- }
392
- if (namespacesCache !== createDebug.namespaces) {
393
- namespacesCache = createDebug.namespaces;
394
- enabledCache = createDebug.enabled(namespace);
395
- }
396
- return enabledCache;
397
- },
398
- set: (v) => {
399
- enableOverride = v;
400
- }
401
- });
402
- if (typeof createDebug.init === "function") {
403
- createDebug.init(debug);
404
- }
405
- return debug;
406
- }
407
- function extend(namespace, delimiter) {
408
- const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
409
- newDebug.log = this.log;
410
- return newDebug;
411
- }
412
- function enable(namespaces) {
413
- createDebug.save(namespaces);
414
- createDebug.namespaces = namespaces;
415
- createDebug.names = [];
416
- createDebug.skips = [];
417
- const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(" ", ",").split(",").filter(Boolean);
418
- for (const ns of split) {
419
- if (ns[0] === "-") {
420
- createDebug.skips.push(ns.slice(1));
421
- } else {
422
- createDebug.names.push(ns);
423
- }
424
- }
425
- }
426
- function matchesTemplate(search, template) {
427
- let searchIndex = 0;
428
- let templateIndex = 0;
429
- let starIndex = -1;
430
- let matchIndex = 0;
431
- while (searchIndex < search.length) {
432
- if (templateIndex < template.length && (template[templateIndex] === search[searchIndex] || template[templateIndex] === "*")) {
433
- if (template[templateIndex] === "*") {
434
- starIndex = templateIndex;
435
- matchIndex = searchIndex;
436
- templateIndex++;
437
- } else {
438
- searchIndex++;
439
- templateIndex++;
440
- }
441
- } else if (starIndex !== -1) {
442
- templateIndex = starIndex + 1;
443
- matchIndex++;
444
- searchIndex = matchIndex;
445
- } else {
446
- return false;
447
- }
448
- }
449
- while (templateIndex < template.length && template[templateIndex] === "*") {
450
- templateIndex++;
451
- }
452
- return templateIndex === template.length;
453
- }
454
- function disable() {
455
- const namespaces = [
456
- ...createDebug.names,
457
- ...createDebug.skips.map((namespace) => "-" + namespace)
458
- ].join(",");
459
- createDebug.enable("");
460
- return namespaces;
461
- }
462
- function enabled(name) {
463
- for (const skip of createDebug.skips) {
464
- if (matchesTemplate(name, skip)) {
465
- return false;
466
- }
467
- }
468
- for (const ns of createDebug.names) {
469
- if (matchesTemplate(name, ns)) {
470
- return true;
471
- }
472
- }
473
- return false;
474
- }
475
- function coerce(val) {
476
- if (val instanceof Error) {
477
- return val.stack || val.message;
478
- }
479
- return val;
480
- }
481
- function destroy() {
482
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
483
- }
484
- createDebug.enable(createDebug.load());
485
- return createDebug;
486
- }
487
- module.exports = setup;
488
- }
489
- });
490
-
491
- // ../../../../../../node_modules/.store/debug-virtual-ec9ff5b796/package/src/browser.js
492
- var require_browser = __commonJS({
493
- "../../../../../../node_modules/.store/debug-virtual-ec9ff5b796/package/src/browser.js"(exports, module) {
494
- exports.formatArgs = formatArgs;
495
- exports.save = save;
496
- exports.load = load;
497
- exports.useColors = useColors;
498
- exports.storage = localstorage();
499
- exports.destroy = /* @__PURE__ */ (() => {
500
- let warned = false;
501
- return () => {
502
- if (!warned) {
503
- warned = true;
504
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
505
- }
506
- };
507
- })();
508
- exports.colors = [
509
- "#0000CC",
510
- "#0000FF",
511
- "#0033CC",
512
- "#0033FF",
513
- "#0066CC",
514
- "#0066FF",
515
- "#0099CC",
516
- "#0099FF",
517
- "#00CC00",
518
- "#00CC33",
519
- "#00CC66",
520
- "#00CC99",
521
- "#00CCCC",
522
- "#00CCFF",
523
- "#3300CC",
524
- "#3300FF",
525
- "#3333CC",
526
- "#3333FF",
527
- "#3366CC",
528
- "#3366FF",
529
- "#3399CC",
530
- "#3399FF",
531
- "#33CC00",
532
- "#33CC33",
533
- "#33CC66",
534
- "#33CC99",
535
- "#33CCCC",
536
- "#33CCFF",
537
- "#6600CC",
538
- "#6600FF",
539
- "#6633CC",
540
- "#6633FF",
541
- "#66CC00",
542
- "#66CC33",
543
- "#9900CC",
544
- "#9900FF",
545
- "#9933CC",
546
- "#9933FF",
547
- "#99CC00",
548
- "#99CC33",
549
- "#CC0000",
550
- "#CC0033",
551
- "#CC0066",
552
- "#CC0099",
553
- "#CC00CC",
554
- "#CC00FF",
555
- "#CC3300",
556
- "#CC3333",
557
- "#CC3366",
558
- "#CC3399",
559
- "#CC33CC",
560
- "#CC33FF",
561
- "#CC6600",
562
- "#CC6633",
563
- "#CC9900",
564
- "#CC9933",
565
- "#CCCC00",
566
- "#CCCC33",
567
- "#FF0000",
568
- "#FF0033",
569
- "#FF0066",
570
- "#FF0099",
571
- "#FF00CC",
572
- "#FF00FF",
573
- "#FF3300",
574
- "#FF3333",
575
- "#FF3366",
576
- "#FF3399",
577
- "#FF33CC",
578
- "#FF33FF",
579
- "#FF6600",
580
- "#FF6633",
581
- "#FF9900",
582
- "#FF9933",
583
- "#FFCC00",
584
- "#FFCC33"
585
- ];
586
- function useColors() {
587
- if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
588
- return true;
589
- }
590
- if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
591
- return false;
592
- }
593
- let m;
594
- return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
595
- typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
596
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
597
- typeof navigator !== "undefined" && navigator.userAgent && (m = navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)) && parseInt(m[1], 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
598
- typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
599
- }
600
- function formatArgs(args) {
601
- args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module.exports.humanize(this.diff);
602
- if (!this.useColors) {
603
- return;
604
- }
605
- const c = "color: " + this.color;
606
- args.splice(1, 0, c, "color: inherit");
607
- let index = 0;
608
- let lastC = 0;
609
- args[0].replace(/%[a-zA-Z%]/g, (match) => {
610
- if (match === "%%") {
611
- return;
612
- }
613
- index++;
614
- if (match === "%c") {
615
- lastC = index;
616
- }
617
- });
618
- args.splice(lastC, 0, c);
619
- }
620
- exports.log = console.debug || console.log || (() => {
621
- });
622
- function save(namespaces) {
623
- try {
624
- if (namespaces) {
625
- exports.storage.setItem("debug", namespaces);
626
- } else {
627
- exports.storage.removeItem("debug");
628
- }
629
- } catch (error) {
630
- }
631
- }
632
- function load() {
633
- let r;
634
- try {
635
- r = exports.storage.getItem("debug");
636
- } catch (error) {
637
- }
638
- if (!r && typeof process !== "undefined" && "env" in process) {
639
- r = process.env.DEBUG;
640
- }
641
- return r;
642
- }
643
- function localstorage() {
644
- try {
645
- return localStorage;
646
- } catch (error) {
647
- }
648
- }
649
- module.exports = require_common2()(exports);
650
- var { formatters } = module.exports;
651
- formatters.j = function(v) {
652
- try {
653
- return JSON.stringify(v);
654
- } catch (error) {
655
- return "[UnexpectedJSONParseError]: " + error.message;
656
- }
657
- };
658
- }
659
- });
660
-
661
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/_scheduler.js
662
- var require_scheduler = __commonJS({
663
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/_scheduler.js"(exports) {
664
- "use strict";
665
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
666
- function adopt(value) {
667
- return value instanceof P ? value : new P(function(resolve) {
668
- resolve(value);
669
- });
670
- }
671
- return new (P || (P = Promise))(function(resolve, reject) {
672
- function fulfilled(value) {
673
- try {
674
- step(generator.next(value));
675
- } catch (e) {
676
- reject(e);
677
- }
678
- }
679
- function rejected(value) {
680
- try {
681
- step(generator["throw"](value));
682
- } catch (e) {
683
- reject(e);
684
- }
685
- }
686
- function step(result) {
687
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
688
- }
689
- step((generator = generator.apply(thisArg, _arguments || [])).next());
690
- });
691
- };
692
- Object.defineProperty(exports, "__esModule", { value: true });
693
- exports.AsyncSerialScheduler = void 0;
694
- var AsyncSerialScheduler = class {
695
- constructor(observer) {
696
- this._baseObserver = observer;
697
- this._pendingPromises = /* @__PURE__ */ new Set();
698
- }
699
- complete() {
700
- Promise.all(this._pendingPromises).then(() => this._baseObserver.complete()).catch((error) => this._baseObserver.error(error));
701
- }
702
- error(error) {
703
- this._baseObserver.error(error);
704
- }
705
- schedule(task) {
706
- const prevPromisesCompletion = Promise.all(this._pendingPromises);
707
- const values = [];
708
- const next = (value) => values.push(value);
709
- const promise = Promise.resolve().then(() => __awaiter2(this, void 0, void 0, function* () {
710
- yield prevPromisesCompletion;
711
- yield task(next);
712
- this._pendingPromises.delete(promise);
713
- for (const value of values) {
714
- this._baseObserver.next(value);
715
- }
716
- })).catch((error) => {
717
- this._pendingPromises.delete(promise);
718
- this._baseObserver.error(error);
719
- });
720
- this._pendingPromises.add(promise);
721
- }
722
- };
723
- exports.AsyncSerialScheduler = AsyncSerialScheduler;
724
- }
725
- });
726
-
727
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/symbols.js
728
- var require_symbols = __commonJS({
729
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/symbols.js"(exports) {
730
- "use strict";
731
- Object.defineProperty(exports, "__esModule", { value: true });
732
- }
733
- });
734
-
735
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/_symbols.js
736
- var require_symbols2 = __commonJS({
737
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/_symbols.js"(exports) {
738
- "use strict";
739
- Object.defineProperty(exports, "__esModule", { value: true });
740
- exports.registerObservableSymbol = exports.getSymbol = exports.hasSymbol = exports.hasSymbols = void 0;
741
- var hasSymbols = () => typeof Symbol === "function";
742
- exports.hasSymbols = hasSymbols;
743
- var hasSymbol = (name) => exports.hasSymbols() && Boolean(Symbol[name]);
744
- exports.hasSymbol = hasSymbol;
745
- var getSymbol = (name) => exports.hasSymbol(name) ? Symbol[name] : "@@" + name;
746
- exports.getSymbol = getSymbol;
747
- function registerObservableSymbol() {
748
- if (exports.hasSymbols() && !exports.hasSymbol("observable")) {
749
- Symbol.observable = Symbol("observable");
750
- }
751
- }
752
- exports.registerObservableSymbol = registerObservableSymbol;
753
- if (!exports.hasSymbol("asyncIterator")) {
754
- Symbol.asyncIterator = Symbol.asyncIterator || Symbol.for("Symbol.asyncIterator");
755
- }
756
- }
757
- });
758
-
759
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/observable.js
760
- var require_observable = __commonJS({
761
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/observable.js"(exports) {
762
- "use strict";
763
- Object.defineProperty(exports, "__esModule", { value: true });
764
- exports.Observable = exports.SubscriptionObserver = exports.Subscription = void 0;
765
- require_symbols();
766
- var _symbols_1 = require_symbols2();
767
- var SymbolIterator = _symbols_1.getSymbol("iterator");
768
- var SymbolObservable = _symbols_1.getSymbol("observable");
769
- var SymbolSpecies = _symbols_1.getSymbol("species");
770
- function getMethod(obj, key) {
771
- const value = obj[key];
772
- if (value == null) {
773
- return void 0;
774
- }
775
- if (typeof value !== "function") {
776
- throw new TypeError(value + " is not a function");
777
- }
778
- return value;
779
- }
780
- function getSpecies(obj) {
781
- let ctor = obj.constructor;
782
- if (ctor !== void 0) {
783
- ctor = ctor[SymbolSpecies];
784
- if (ctor === null) {
785
- ctor = void 0;
786
- }
787
- }
788
- return ctor !== void 0 ? ctor : Observable;
789
- }
790
- function isObservable(x) {
791
- return x instanceof Observable;
792
- }
793
- function hostReportError(error) {
794
- if (hostReportError.log) {
795
- hostReportError.log(error);
796
- } else {
797
- setTimeout(() => {
798
- throw error;
799
- }, 0);
800
- }
801
- }
802
- function enqueue(fn) {
803
- Promise.resolve().then(() => {
804
- try {
805
- fn();
806
- } catch (e) {
807
- hostReportError(e);
808
- }
809
- });
810
- }
811
- function cleanupSubscription(subscription) {
812
- const cleanup = subscription._cleanup;
813
- if (cleanup === void 0) {
814
- return;
815
- }
816
- subscription._cleanup = void 0;
817
- if (!cleanup) {
818
- return;
819
- }
820
- try {
821
- if (typeof cleanup === "function") {
822
- cleanup();
823
- } else {
824
- const unsubscribe = getMethod(cleanup, "unsubscribe");
825
- if (unsubscribe) {
826
- unsubscribe.call(cleanup);
827
- }
828
- }
829
- } catch (e) {
830
- hostReportError(e);
831
- }
832
- }
833
- function closeSubscription(subscription) {
834
- subscription._observer = void 0;
835
- subscription._queue = void 0;
836
- subscription._state = "closed";
837
- }
838
- function flushSubscription(subscription) {
839
- const queue = subscription._queue;
840
- if (!queue) {
841
- return;
842
- }
843
- subscription._queue = void 0;
844
- subscription._state = "ready";
845
- for (const item of queue) {
846
- notifySubscription(subscription, item.type, item.value);
847
- if (subscription._state === "closed") {
848
- break;
849
- }
850
- }
851
- }
852
- function notifySubscription(subscription, type, value) {
853
- subscription._state = "running";
854
- const observer = subscription._observer;
855
- try {
856
- const m = observer ? getMethod(observer, type) : void 0;
857
- switch (type) {
858
- case "next":
859
- if (m)
860
- m.call(observer, value);
861
- break;
862
- case "error":
863
- closeSubscription(subscription);
864
- if (m)
865
- m.call(observer, value);
866
- else
867
- throw value;
868
- break;
869
- case "complete":
870
- closeSubscription(subscription);
871
- if (m)
872
- m.call(observer);
873
- break;
874
- }
875
- } catch (e) {
876
- hostReportError(e);
877
- }
878
- if (subscription._state === "closed") {
879
- cleanupSubscription(subscription);
880
- } else if (subscription._state === "running") {
881
- subscription._state = "ready";
882
- }
883
- }
884
- function onNotify(subscription, type, value) {
885
- if (subscription._state === "closed") {
886
- return;
887
- }
888
- if (subscription._state === "buffering") {
889
- subscription._queue = subscription._queue || [];
890
- subscription._queue.push({ type, value });
891
- return;
892
- }
893
- if (subscription._state !== "ready") {
894
- subscription._state = "buffering";
895
- subscription._queue = [{ type, value }];
896
- enqueue(() => flushSubscription(subscription));
897
- return;
898
- }
899
- notifySubscription(subscription, type, value);
900
- }
901
- var Subscription = class {
902
- constructor(observer, subscriber) {
903
- this._cleanup = void 0;
904
- this._observer = observer;
905
- this._queue = void 0;
906
- this._state = "initializing";
907
- const subscriptionObserver = new SubscriptionObserver(this);
908
- try {
909
- this._cleanup = subscriber.call(void 0, subscriptionObserver);
910
- } catch (e) {
911
- subscriptionObserver.error(e);
912
- }
913
- if (this._state === "initializing") {
914
- this._state = "ready";
915
- }
916
- }
917
- get closed() {
918
- return this._state === "closed";
919
- }
920
- unsubscribe() {
921
- if (this._state !== "closed") {
922
- closeSubscription(this);
923
- cleanupSubscription(this);
924
- }
925
- }
926
- };
927
- exports.Subscription = Subscription;
928
- var SubscriptionObserver = class {
929
- constructor(subscription) {
930
- this._subscription = subscription;
931
- }
932
- get closed() {
933
- return this._subscription._state === "closed";
934
- }
935
- next(value) {
936
- onNotify(this._subscription, "next", value);
937
- }
938
- error(value) {
939
- onNotify(this._subscription, "error", value);
940
- }
941
- complete() {
942
- onNotify(this._subscription, "complete");
943
- }
944
- };
945
- exports.SubscriptionObserver = SubscriptionObserver;
946
- var Observable = class _Observable {
947
- constructor(subscriber) {
948
- if (!(this instanceof _Observable)) {
949
- throw new TypeError("Observable cannot be called as a function");
950
- }
951
- if (typeof subscriber !== "function") {
952
- throw new TypeError("Observable initializer must be a function");
953
- }
954
- this._subscriber = subscriber;
955
- }
956
- subscribe(nextOrObserver, onError, onComplete) {
957
- if (typeof nextOrObserver !== "object" || nextOrObserver === null) {
958
- nextOrObserver = {
959
- next: nextOrObserver,
960
- error: onError,
961
- complete: onComplete
962
- };
963
- }
964
- return new Subscription(nextOrObserver, this._subscriber);
965
- }
966
- pipe(first, ...mappers) {
967
- let intermediate = this;
968
- for (const mapper of [first, ...mappers]) {
969
- intermediate = mapper(intermediate);
970
- }
971
- return intermediate;
972
- }
973
- tap(nextOrObserver, onError, onComplete) {
974
- const tapObserver = typeof nextOrObserver !== "object" || nextOrObserver === null ? {
975
- next: nextOrObserver,
976
- error: onError,
977
- complete: onComplete
978
- } : nextOrObserver;
979
- return new _Observable((observer) => {
980
- return this.subscribe({
981
- next(value) {
982
- tapObserver.next && tapObserver.next(value);
983
- observer.next(value);
984
- },
985
- error(error) {
986
- tapObserver.error && tapObserver.error(error);
987
- observer.error(error);
988
- },
989
- complete() {
990
- tapObserver.complete && tapObserver.complete();
991
- observer.complete();
992
- },
993
- start(subscription) {
994
- tapObserver.start && tapObserver.start(subscription);
995
- }
996
- });
997
- });
998
- }
999
- forEach(fn) {
1000
- return new Promise((resolve, reject) => {
1001
- if (typeof fn !== "function") {
1002
- reject(new TypeError(fn + " is not a function"));
1003
- return;
1004
- }
1005
- function done() {
1006
- subscription.unsubscribe();
1007
- resolve(void 0);
1008
- }
1009
- const subscription = this.subscribe({
1010
- next(value) {
1011
- try {
1012
- fn(value, done);
1013
- } catch (e) {
1014
- reject(e);
1015
- subscription.unsubscribe();
1016
- }
1017
- },
1018
- error(error) {
1019
- reject(error);
1020
- },
1021
- complete() {
1022
- resolve(void 0);
1023
- }
1024
- });
1025
- });
1026
- }
1027
- map(fn) {
1028
- if (typeof fn !== "function") {
1029
- throw new TypeError(fn + " is not a function");
1030
- }
1031
- const C = getSpecies(this);
1032
- return new C((observer) => this.subscribe({
1033
- next(value) {
1034
- let propagatedValue = value;
1035
- try {
1036
- propagatedValue = fn(value);
1037
- } catch (e) {
1038
- return observer.error(e);
1039
- }
1040
- observer.next(propagatedValue);
1041
- },
1042
- error(e) {
1043
- observer.error(e);
1044
- },
1045
- complete() {
1046
- observer.complete();
1047
- }
1048
- }));
1049
- }
1050
- filter(fn) {
1051
- if (typeof fn !== "function") {
1052
- throw new TypeError(fn + " is not a function");
1053
- }
1054
- const C = getSpecies(this);
1055
- return new C((observer) => this.subscribe({
1056
- next(value) {
1057
- try {
1058
- if (!fn(value))
1059
- return;
1060
- } catch (e) {
1061
- return observer.error(e);
1062
- }
1063
- observer.next(value);
1064
- },
1065
- error(e) {
1066
- observer.error(e);
1067
- },
1068
- complete() {
1069
- observer.complete();
1070
- }
1071
- }));
1072
- }
1073
- reduce(fn, seed) {
1074
- if (typeof fn !== "function") {
1075
- throw new TypeError(fn + " is not a function");
1076
- }
1077
- const C = getSpecies(this);
1078
- const hasSeed = arguments.length > 1;
1079
- let hasValue = false;
1080
- let acc = seed;
1081
- return new C((observer) => this.subscribe({
1082
- next(value) {
1083
- const first = !hasValue;
1084
- hasValue = true;
1085
- if (!first || hasSeed) {
1086
- try {
1087
- acc = fn(acc, value);
1088
- } catch (e) {
1089
- return observer.error(e);
1090
- }
1091
- } else {
1092
- acc = value;
1093
- }
1094
- },
1095
- error(e) {
1096
- observer.error(e);
1097
- },
1098
- complete() {
1099
- if (!hasValue && !hasSeed) {
1100
- return observer.error(new TypeError("Cannot reduce an empty sequence"));
1101
- }
1102
- observer.next(acc);
1103
- observer.complete();
1104
- }
1105
- }));
1106
- }
1107
- concat(...sources) {
1108
- const C = getSpecies(this);
1109
- return new C((observer) => {
1110
- let subscription;
1111
- let index = 0;
1112
- function startNext(next) {
1113
- subscription = next.subscribe({
1114
- next(v) {
1115
- observer.next(v);
1116
- },
1117
- error(e) {
1118
- observer.error(e);
1119
- },
1120
- complete() {
1121
- if (index === sources.length) {
1122
- subscription = void 0;
1123
- observer.complete();
1124
- } else {
1125
- startNext(C.from(sources[index++]));
1126
- }
1127
- }
1128
- });
1129
- }
1130
- startNext(this);
1131
- return () => {
1132
- if (subscription) {
1133
- subscription.unsubscribe();
1134
- subscription = void 0;
1135
- }
1136
- };
1137
- });
1138
- }
1139
- flatMap(fn) {
1140
- if (typeof fn !== "function") {
1141
- throw new TypeError(fn + " is not a function");
1142
- }
1143
- const C = getSpecies(this);
1144
- return new C((observer) => {
1145
- const subscriptions = [];
1146
- const outer = this.subscribe({
1147
- next(value) {
1148
- let normalizedValue;
1149
- if (fn) {
1150
- try {
1151
- normalizedValue = fn(value);
1152
- } catch (e) {
1153
- return observer.error(e);
1154
- }
1155
- } else {
1156
- normalizedValue = value;
1157
- }
1158
- const inner = C.from(normalizedValue).subscribe({
1159
- next(innerValue) {
1160
- observer.next(innerValue);
1161
- },
1162
- error(e) {
1163
- observer.error(e);
1164
- },
1165
- complete() {
1166
- const i = subscriptions.indexOf(inner);
1167
- if (i >= 0)
1168
- subscriptions.splice(i, 1);
1169
- completeIfDone();
1170
- }
1171
- });
1172
- subscriptions.push(inner);
1173
- },
1174
- error(e) {
1175
- observer.error(e);
1176
- },
1177
- complete() {
1178
- completeIfDone();
1179
- }
1180
- });
1181
- function completeIfDone() {
1182
- if (outer.closed && subscriptions.length === 0) {
1183
- observer.complete();
1184
- }
1185
- }
1186
- return () => {
1187
- subscriptions.forEach((s) => s.unsubscribe());
1188
- outer.unsubscribe();
1189
- };
1190
- });
1191
- }
1192
- [(Symbol.observable, SymbolObservable)]() {
1193
- return this;
1194
- }
1195
- static from(x) {
1196
- const C = typeof this === "function" ? this : _Observable;
1197
- if (x == null) {
1198
- throw new TypeError(x + " is not an object");
1199
- }
1200
- const observableMethod = getMethod(x, SymbolObservable);
1201
- if (observableMethod) {
1202
- const observable = observableMethod.call(x);
1203
- if (Object(observable) !== observable) {
1204
- throw new TypeError(observable + " is not an object");
1205
- }
1206
- if (isObservable(observable) && observable.constructor === C) {
1207
- return observable;
1208
- }
1209
- return new C((observer) => observable.subscribe(observer));
1210
- }
1211
- if (_symbols_1.hasSymbol("iterator")) {
1212
- const iteratorMethod = getMethod(x, SymbolIterator);
1213
- if (iteratorMethod) {
1214
- return new C((observer) => {
1215
- enqueue(() => {
1216
- if (observer.closed)
1217
- return;
1218
- for (const item of iteratorMethod.call(x)) {
1219
- observer.next(item);
1220
- if (observer.closed)
1221
- return;
1222
- }
1223
- observer.complete();
1224
- });
1225
- });
1226
- }
1227
- }
1228
- if (Array.isArray(x)) {
1229
- return new C((observer) => {
1230
- enqueue(() => {
1231
- if (observer.closed)
1232
- return;
1233
- for (const item of x) {
1234
- observer.next(item);
1235
- if (observer.closed)
1236
- return;
1237
- }
1238
- observer.complete();
1239
- });
1240
- });
1241
- }
1242
- throw new TypeError(x + " is not observable");
1243
- }
1244
- static of(...items) {
1245
- const C = typeof this === "function" ? this : _Observable;
1246
- return new C((observer) => {
1247
- enqueue(() => {
1248
- if (observer.closed)
1249
- return;
1250
- for (const item of items) {
1251
- observer.next(item);
1252
- if (observer.closed)
1253
- return;
1254
- }
1255
- observer.complete();
1256
- });
1257
- });
1258
- }
1259
- static get [SymbolSpecies]() {
1260
- return this;
1261
- }
1262
- };
1263
- exports.Observable = Observable;
1264
- if (_symbols_1.hasSymbols()) {
1265
- Object.defineProperty(Observable, Symbol("extensions"), {
1266
- value: {
1267
- symbol: SymbolObservable,
1268
- hostReportError
1269
- },
1270
- configurable: true
1271
- });
1272
- }
1273
- exports.default = Observable;
1274
- }
1275
- });
1276
-
1277
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/unsubscribe.js
1278
- var require_unsubscribe = __commonJS({
1279
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/unsubscribe.js"(exports) {
1280
- "use strict";
1281
- Object.defineProperty(exports, "__esModule", { value: true });
1282
- function unsubscribe(subscription) {
1283
- if (typeof subscription === "function") {
1284
- subscription();
1285
- } else if (subscription && typeof subscription.unsubscribe === "function") {
1286
- subscription.unsubscribe();
1287
- }
1288
- }
1289
- exports.default = unsubscribe;
1290
- }
1291
- });
1292
-
1293
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/filter.js
1294
- var require_filter = __commonJS({
1295
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/filter.js"(exports) {
1296
- "use strict";
1297
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
1298
- function adopt(value) {
1299
- return value instanceof P ? value : new P(function(resolve) {
1300
- resolve(value);
1301
- });
1302
- }
1303
- return new (P || (P = Promise))(function(resolve, reject) {
1304
- function fulfilled(value) {
1305
- try {
1306
- step(generator.next(value));
1307
- } catch (e) {
1308
- reject(e);
1309
- }
1310
- }
1311
- function rejected(value) {
1312
- try {
1313
- step(generator["throw"](value));
1314
- } catch (e) {
1315
- reject(e);
1316
- }
1317
- }
1318
- function step(result) {
1319
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
1320
- }
1321
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1322
- });
1323
- };
1324
- Object.defineProperty(exports, "__esModule", { value: true });
1325
- var _scheduler_1 = require_scheduler();
1326
- var observable_1 = require_observable();
1327
- var unsubscribe_1 = require_unsubscribe();
1328
- function filter(test) {
1329
- return (observable) => {
1330
- return new observable_1.default((observer) => {
1331
- const scheduler = new _scheduler_1.AsyncSerialScheduler(observer);
1332
- const subscription = observable.subscribe({
1333
- complete() {
1334
- scheduler.complete();
1335
- },
1336
- error(error) {
1337
- scheduler.error(error);
1338
- },
1339
- next(input) {
1340
- scheduler.schedule((next) => __awaiter2(this, void 0, void 0, function* () {
1341
- if (yield test(input)) {
1342
- next(input);
1343
- }
1344
- }));
1345
- }
1346
- });
1347
- return () => unsubscribe_1.default(subscription);
1348
- });
1349
- };
1350
- }
1351
- exports.default = filter;
1352
- }
1353
- });
1354
-
1355
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/_util.js
1356
- var require_util = __commonJS({
1357
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/_util.js"(exports) {
1358
- "use strict";
1359
- Object.defineProperty(exports, "__esModule", { value: true });
1360
- exports.isIterator = exports.isAsyncIterator = void 0;
1361
- var _symbols_1 = require_symbols2();
1362
- function isAsyncIterator(thing) {
1363
- return thing && _symbols_1.hasSymbol("asyncIterator") && thing[Symbol.asyncIterator];
1364
- }
1365
- exports.isAsyncIterator = isAsyncIterator;
1366
- function isIterator(thing) {
1367
- return thing && _symbols_1.hasSymbol("iterator") && thing[Symbol.iterator];
1368
- }
1369
- exports.isIterator = isIterator;
1370
- }
1371
- });
1372
-
1373
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/flatMap.js
1374
- var require_flatMap = __commonJS({
1375
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/flatMap.js"(exports) {
1376
- "use strict";
1377
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
1378
- function adopt(value) {
1379
- return value instanceof P ? value : new P(function(resolve) {
1380
- resolve(value);
1381
- });
1382
- }
1383
- return new (P || (P = Promise))(function(resolve, reject) {
1384
- function fulfilled(value) {
1385
- try {
1386
- step(generator.next(value));
1387
- } catch (e) {
1388
- reject(e);
1389
- }
1390
- }
1391
- function rejected(value) {
1392
- try {
1393
- step(generator["throw"](value));
1394
- } catch (e) {
1395
- reject(e);
1396
- }
1397
- }
1398
- function step(result) {
1399
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
1400
- }
1401
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1402
- });
1403
- };
1404
- var __asyncValues = exports && exports.__asyncValues || function(o) {
1405
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
1406
- var m = o[Symbol.asyncIterator], i;
1407
- return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function() {
1408
- return this;
1409
- }, i);
1410
- function verb(n) {
1411
- i[n] = o[n] && function(v) {
1412
- return new Promise(function(resolve, reject) {
1413
- v = o[n](v), settle(resolve, reject, v.done, v.value);
1414
- });
1415
- };
1416
- }
1417
- function settle(resolve, reject, d, v) {
1418
- Promise.resolve(v).then(function(v2) {
1419
- resolve({ value: v2, done: d });
1420
- }, reject);
1421
- }
1422
- };
1423
- Object.defineProperty(exports, "__esModule", { value: true });
1424
- var _scheduler_1 = require_scheduler();
1425
- var _util_1 = require_util();
1426
- var observable_1 = require_observable();
1427
- var unsubscribe_1 = require_unsubscribe();
1428
- function flatMap(mapper) {
1429
- return (observable) => {
1430
- return new observable_1.default((observer) => {
1431
- const scheduler = new _scheduler_1.AsyncSerialScheduler(observer);
1432
- const subscription = observable.subscribe({
1433
- complete() {
1434
- scheduler.complete();
1435
- },
1436
- error(error) {
1437
- scheduler.error(error);
1438
- },
1439
- next(input) {
1440
- scheduler.schedule((next) => __awaiter2(this, void 0, void 0, function* () {
1441
- var e_1, _a2;
1442
- const mapped = yield mapper(input);
1443
- if (_util_1.isIterator(mapped) || _util_1.isAsyncIterator(mapped)) {
1444
- try {
1445
- for (var mapped_1 = __asyncValues(mapped), mapped_1_1; mapped_1_1 = yield mapped_1.next(), !mapped_1_1.done; ) {
1446
- const element = mapped_1_1.value;
1447
- next(element);
1448
- }
1449
- } catch (e_1_1) {
1450
- e_1 = { error: e_1_1 };
1451
- } finally {
1452
- try {
1453
- if (mapped_1_1 && !mapped_1_1.done && (_a2 = mapped_1.return)) yield _a2.call(mapped_1);
1454
- } finally {
1455
- if (e_1) throw e_1.error;
1456
- }
1457
- }
1458
- } else {
1459
- mapped.map((output) => next(output));
1460
- }
1461
- }));
1462
- }
1463
- });
1464
- return () => unsubscribe_1.default(subscription);
1465
- });
1466
- };
1467
- }
1468
- exports.default = flatMap;
1469
- }
1470
- });
1471
-
1472
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/interval.js
1473
- var require_interval = __commonJS({
1474
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/interval.js"(exports) {
1475
- "use strict";
1476
- Object.defineProperty(exports, "__esModule", { value: true });
1477
- var observable_1 = require_observable();
1478
- function interval(period) {
1479
- return new observable_1.Observable((observer) => {
1480
- let counter = 0;
1481
- const handle = setInterval(() => {
1482
- observer.next(counter++);
1483
- }, period);
1484
- return () => clearInterval(handle);
1485
- });
1486
- }
1487
- exports.default = interval;
1488
- }
1489
- });
1490
-
1491
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/map.js
1492
- var require_map = __commonJS({
1493
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/map.js"(exports) {
1494
- "use strict";
1495
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
1496
- function adopt(value) {
1497
- return value instanceof P ? value : new P(function(resolve) {
1498
- resolve(value);
1499
- });
1500
- }
1501
- return new (P || (P = Promise))(function(resolve, reject) {
1502
- function fulfilled(value) {
1503
- try {
1504
- step(generator.next(value));
1505
- } catch (e) {
1506
- reject(e);
1507
- }
1508
- }
1509
- function rejected(value) {
1510
- try {
1511
- step(generator["throw"](value));
1512
- } catch (e) {
1513
- reject(e);
1514
- }
1515
- }
1516
- function step(result) {
1517
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
1518
- }
1519
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1520
- });
1521
- };
1522
- Object.defineProperty(exports, "__esModule", { value: true });
1523
- var _scheduler_1 = require_scheduler();
1524
- var observable_1 = require_observable();
1525
- var unsubscribe_1 = require_unsubscribe();
1526
- function map(mapper) {
1527
- return (observable) => {
1528
- return new observable_1.default((observer) => {
1529
- const scheduler = new _scheduler_1.AsyncSerialScheduler(observer);
1530
- const subscription = observable.subscribe({
1531
- complete() {
1532
- scheduler.complete();
1533
- },
1534
- error(error) {
1535
- scheduler.error(error);
1536
- },
1537
- next(input) {
1538
- scheduler.schedule((next) => __awaiter2(this, void 0, void 0, function* () {
1539
- const mapped = yield mapper(input);
1540
- next(mapped);
1541
- }));
1542
- }
1543
- });
1544
- return () => unsubscribe_1.default(subscription);
1545
- });
1546
- };
1547
- }
1548
- exports.default = map;
1549
- }
1550
- });
1551
-
1552
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/merge.js
1553
- var require_merge = __commonJS({
1554
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/merge.js"(exports) {
1555
- "use strict";
1556
- Object.defineProperty(exports, "__esModule", { value: true });
1557
- var observable_1 = require_observable();
1558
- var unsubscribe_1 = require_unsubscribe();
1559
- function merge(...observables) {
1560
- if (observables.length === 0) {
1561
- return observable_1.Observable.from([]);
1562
- }
1563
- return new observable_1.Observable((observer) => {
1564
- let completed = 0;
1565
- const subscriptions = observables.map((input) => {
1566
- return input.subscribe({
1567
- error(error) {
1568
- observer.error(error);
1569
- unsubscribeAll();
1570
- },
1571
- next(value) {
1572
- observer.next(value);
1573
- },
1574
- complete() {
1575
- if (++completed === observables.length) {
1576
- observer.complete();
1577
- unsubscribeAll();
1578
- }
1579
- }
1580
- });
1581
- });
1582
- const unsubscribeAll = () => {
1583
- subscriptions.forEach((subscription) => unsubscribe_1.default(subscription));
1584
- };
1585
- return unsubscribeAll;
1586
- });
1587
- }
1588
- exports.default = merge;
1589
- }
1590
- });
1591
-
1592
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/subject.js
1593
- var require_subject = __commonJS({
1594
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/subject.js"(exports) {
1595
- "use strict";
1596
- Object.defineProperty(exports, "__esModule", { value: true });
1597
- var observable_1 = require_observable();
1598
- var MulticastSubject = class extends observable_1.default {
1599
- constructor() {
1600
- super((observer) => {
1601
- this._observers.add(observer);
1602
- return () => this._observers.delete(observer);
1603
- });
1604
- this._observers = /* @__PURE__ */ new Set();
1605
- }
1606
- next(value) {
1607
- for (const observer of this._observers) {
1608
- observer.next(value);
1609
- }
1610
- }
1611
- error(error) {
1612
- for (const observer of this._observers) {
1613
- observer.error(error);
1614
- }
1615
- }
1616
- complete() {
1617
- for (const observer of this._observers) {
1618
- observer.complete();
1619
- }
1620
- }
1621
- };
1622
- exports.default = MulticastSubject;
1623
- }
1624
- });
1625
-
1626
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/multicast.js
1627
- var require_multicast = __commonJS({
1628
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/multicast.js"(exports) {
1629
- "use strict";
1630
- Object.defineProperty(exports, "__esModule", { value: true });
1631
- var observable_1 = require_observable();
1632
- var subject_1 = require_subject();
1633
- var unsubscribe_1 = require_unsubscribe();
1634
- function multicast(coldObservable) {
1635
- const subject = new subject_1.default();
1636
- let sourceSubscription;
1637
- let subscriberCount = 0;
1638
- return new observable_1.default((observer) => {
1639
- if (!sourceSubscription) {
1640
- sourceSubscription = coldObservable.subscribe(subject);
1641
- }
1642
- const subscription = subject.subscribe(observer);
1643
- subscriberCount++;
1644
- return () => {
1645
- subscriberCount--;
1646
- subscription.unsubscribe();
1647
- if (subscriberCount === 0) {
1648
- unsubscribe_1.default(sourceSubscription);
1649
- sourceSubscription = void 0;
1650
- }
1651
- };
1652
- });
1653
- }
1654
- exports.default = multicast;
1655
- }
1656
- });
1657
-
1658
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/scan.js
1659
- var require_scan = __commonJS({
1660
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/scan.js"(exports) {
1661
- "use strict";
1662
- var __awaiter2 = exports && exports.__awaiter || function(thisArg, _arguments, P, generator) {
1663
- function adopt(value) {
1664
- return value instanceof P ? value : new P(function(resolve) {
1665
- resolve(value);
1666
- });
1667
- }
1668
- return new (P || (P = Promise))(function(resolve, reject) {
1669
- function fulfilled(value) {
1670
- try {
1671
- step(generator.next(value));
1672
- } catch (e) {
1673
- reject(e);
1674
- }
1675
- }
1676
- function rejected(value) {
1677
- try {
1678
- step(generator["throw"](value));
1679
- } catch (e) {
1680
- reject(e);
1681
- }
1682
- }
1683
- function step(result) {
1684
- result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
1685
- }
1686
- step((generator = generator.apply(thisArg, _arguments || [])).next());
1687
- });
1688
- };
1689
- Object.defineProperty(exports, "__esModule", { value: true });
1690
- var _scheduler_1 = require_scheduler();
1691
- var observable_1 = require_observable();
1692
- var unsubscribe_1 = require_unsubscribe();
1693
- function scan(accumulator, seed) {
1694
- return (observable) => {
1695
- return new observable_1.default((observer) => {
1696
- let accumulated;
1697
- let index = 0;
1698
- const scheduler = new _scheduler_1.AsyncSerialScheduler(observer);
1699
- const subscription = observable.subscribe({
1700
- complete() {
1701
- scheduler.complete();
1702
- },
1703
- error(error) {
1704
- scheduler.error(error);
1705
- },
1706
- next(value) {
1707
- scheduler.schedule((next) => __awaiter2(this, void 0, void 0, function* () {
1708
- const prevAcc = index === 0 ? typeof seed === "undefined" ? value : seed : accumulated;
1709
- accumulated = yield accumulator(prevAcc, value, index++);
1710
- next(accumulated);
1711
- }));
1712
- }
1713
- });
1714
- return () => unsubscribe_1.default(subscription);
1715
- });
1716
- };
1717
- }
1718
- exports.default = scan;
1719
- }
1720
- });
1721
-
1722
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/index.js
1723
- var require_dist = __commonJS({
1724
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/dist/index.js"(exports) {
1725
- "use strict";
1726
- Object.defineProperty(exports, "__esModule", { value: true });
1727
- exports.unsubscribe = exports.Subject = exports.scan = exports.Observable = exports.multicast = exports.merge = exports.map = exports.interval = exports.flatMap = exports.filter = void 0;
1728
- var filter_1 = require_filter();
1729
- Object.defineProperty(exports, "filter", { enumerable: true, get: function() {
1730
- return filter_1.default;
1731
- } });
1732
- var flatMap_1 = require_flatMap();
1733
- Object.defineProperty(exports, "flatMap", { enumerable: true, get: function() {
1734
- return flatMap_1.default;
1735
- } });
1736
- var interval_1 = require_interval();
1737
- Object.defineProperty(exports, "interval", { enumerable: true, get: function() {
1738
- return interval_1.default;
1739
- } });
1740
- var map_1 = require_map();
1741
- Object.defineProperty(exports, "map", { enumerable: true, get: function() {
1742
- return map_1.default;
1743
- } });
1744
- var merge_1 = require_merge();
1745
- Object.defineProperty(exports, "merge", { enumerable: true, get: function() {
1746
- return merge_1.default;
1747
- } });
1748
- var multicast_1 = require_multicast();
1749
- Object.defineProperty(exports, "multicast", { enumerable: true, get: function() {
1750
- return multicast_1.default;
1751
- } });
1752
- var observable_1 = require_observable();
1753
- Object.defineProperty(exports, "Observable", { enumerable: true, get: function() {
1754
- return observable_1.default;
1755
- } });
1756
- var scan_1 = require_scan();
1757
- Object.defineProperty(exports, "scan", { enumerable: true, get: function() {
1758
- return scan_1.default;
1759
- } });
1760
- var subject_1 = require_subject();
1761
- Object.defineProperty(exports, "Subject", { enumerable: true, get: function() {
1762
- return subject_1.default;
1763
- } });
1764
- var unsubscribe_1 = require_unsubscribe();
1765
- Object.defineProperty(exports, "unsubscribe", { enumerable: true, get: function() {
1766
- return unsubscribe_1.default;
1767
- } });
1768
- }
1769
- });
1770
-
1771
- // ../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/index.js
1772
- var require_package2 = __commonJS({
1773
- "../../../../../../node_modules/.store/observable-fns-npm-0.6.1-305598d6d4/package/index.js"(exports, module) {
1774
- module.exports = require_dist();
1775
- }
1776
- });
1777
-
1778
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/ponyfills.js
1779
- var require_ponyfills = __commonJS({
1780
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/ponyfills.js"(exports) {
1781
- "use strict";
1782
- Object.defineProperty(exports, "__esModule", { value: true });
1783
- exports.allSettled = allSettled;
1784
- function allSettled(values) {
1785
- return Promise.all(values.map((item) => {
1786
- const onFulfill = (value) => {
1787
- return { status: "fulfilled", value };
1788
- };
1789
- const onReject = (reason) => {
1790
- return { reason, status: "rejected" };
1791
- };
1792
- const itemPromise = Promise.resolve(item);
1793
- try {
1794
- return itemPromise.then(onFulfill, onReject);
1795
- } catch (error) {
1796
- return Promise.reject(error);
1797
- }
1798
- }));
1799
- }
1800
- }
1801
- });
1802
-
1803
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/pool-types.js
1804
- var require_pool_types = __commonJS({
1805
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/pool-types.js"(exports) {
1806
- "use strict";
1807
- Object.defineProperty(exports, "__esModule", { value: true });
1808
- exports.PoolEventType = void 0;
1809
- var PoolEventType;
1810
- (function(PoolEventType2) {
1811
- PoolEventType2["initialized"] = "initialized";
1812
- PoolEventType2["taskCanceled"] = "taskCanceled";
1813
- PoolEventType2["taskCompleted"] = "taskCompleted";
1814
- PoolEventType2["taskFailed"] = "taskFailed";
1815
- PoolEventType2["taskQueued"] = "taskQueued";
1816
- PoolEventType2["taskQueueDrained"] = "taskQueueDrained";
1817
- PoolEventType2["taskStart"] = "taskStart";
1818
- PoolEventType2["terminated"] = "terminated";
1819
- })(PoolEventType || (exports.PoolEventType = PoolEventType = {}));
1820
- }
1821
- });
1822
-
1823
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/symbols.js
1824
- var require_symbols3 = __commonJS({
1825
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/symbols.js"(exports) {
1826
- "use strict";
1827
- Object.defineProperty(exports, "__esModule", { value: true });
1828
- exports.$worker = exports.$transferable = exports.$terminate = exports.$events = exports.$errors = void 0;
1829
- exports.$errors = Symbol("thread.errors");
1830
- exports.$events = Symbol("thread.events");
1831
- exports.$terminate = Symbol("thread.terminate");
1832
- exports.$transferable = Symbol("thread.transferable");
1833
- exports.$worker = Symbol("thread.worker");
1834
- }
1835
- });
1836
-
1837
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/thread.js
1838
- var require_thread = __commonJS({
1839
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/thread.js"(exports) {
1840
- "use strict";
1841
- Object.defineProperty(exports, "__esModule", { value: true });
1842
- exports.Thread = void 0;
1843
- var symbols_1 = require_symbols3();
1844
- function fail(message) {
1845
- throw new Error(message);
1846
- }
1847
- exports.Thread = {
1848
- errors(thread) {
1849
- return thread[symbols_1.$errors] || fail("Error observable not found. Make sure to pass a thread instance as returned by the spawn() promise.");
1850
- },
1851
- events(thread) {
1852
- return thread[symbols_1.$events] || fail("Events observable not found. Make sure to pass a thread instance as returned by the spawn() promise.");
1853
- },
1854
- terminate(thread) {
1855
- return thread[symbols_1.$terminate]();
1856
- }
1857
- };
1858
- }
1859
- });
1860
-
1861
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/pool.js
1862
- var require_pool = __commonJS({
1863
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/pool.js"(exports) {
1864
- "use strict";
1865
- var __importDefault = exports && exports.__importDefault || function(mod) {
1866
- return mod && mod.__esModule ? mod : { "default": mod };
1867
- };
1868
- Object.defineProperty(exports, "__esModule", { value: true });
1869
- exports.Thread = exports.PoolEventType = exports.Pool = void 0;
1870
- var debug_1 = __importDefault(require_browser());
1871
- var observable_fns_1 = require_package2();
1872
- var ponyfills_1 = require_ponyfills();
1873
- var implementation_1 = require_implementation_browser();
1874
- var pool_types_1 = require_pool_types();
1875
- var thread_1 = require_thread();
1876
- var nextPoolID = 1;
1877
- function createArray(size) {
1878
- const array = [];
1879
- for (let index = 0; index < size; index++) {
1880
- array.push(index);
1881
- }
1882
- return array;
1883
- }
1884
- function delay(ms) {
1885
- return new Promise((resolve) => setTimeout(resolve, ms));
1886
- }
1887
- function flatMap(array, mapper) {
1888
- return array.reduce((flattened, element) => [...flattened, ...mapper(element)], []);
1889
- }
1890
- function slugify(text) {
1891
- return text.replaceAll(/\W/g, " ").trim().replaceAll(/\s+/g, "-");
1892
- }
1893
- function spawnWorkers(spawnWorker, count) {
1894
- return createArray(count).map(() => ({
1895
- init: spawnWorker(),
1896
- runningTasks: []
1897
- }));
1898
- }
1899
- var WorkerPool = class {
1900
- debug;
1901
- eventObservable;
1902
- options;
1903
- workers;
1904
- eventSubject = new observable_fns_1.Subject();
1905
- initErrors = [];
1906
- isClosing = false;
1907
- nextTaskID = 1;
1908
- taskQueue = [];
1909
- constructor(spawnWorker, optionsOrSize) {
1910
- const options = typeof optionsOrSize === "number" ? { size: optionsOrSize } : optionsOrSize || {};
1911
- const { size = implementation_1.defaultPoolSize } = options;
1912
- this.debug = (0, debug_1.default)(`threads:pool:${slugify(options.name || String(nextPoolID++))}`);
1913
- this.options = options;
1914
- this.workers = spawnWorkers(spawnWorker, size);
1915
- this.eventObservable = (0, observable_fns_1.multicast)(observable_fns_1.Observable.from(this.eventSubject));
1916
- Promise.all(this.workers.map((worker) => worker.init)).then(() => this.eventSubject.next({
1917
- size: this.workers.length,
1918
- type: pool_types_1.PoolEventType.initialized
1919
- }), (error) => {
1920
- this.debug("Error while initializing pool worker:", error);
1921
- this.eventSubject.error(error);
1922
- this.initErrors.push(error);
1923
- });
1924
- }
1925
- findIdlingWorker() {
1926
- const { concurrency = 1 } = this.options;
1927
- return this.workers.find((worker) => worker.runningTasks.length < concurrency);
1928
- }
1929
- async runPoolTask(worker, task) {
1930
- const workerID = this.workers.indexOf(worker) + 1;
1931
- this.debug(`Running task #${task.id} on worker #${workerID}...`);
1932
- this.eventSubject.next({
1933
- taskID: task.id,
1934
- type: pool_types_1.PoolEventType.taskStart,
1935
- workerID
1936
- });
1937
- try {
1938
- const returnValue = await task.run(await worker.init);
1939
- this.debug(`Task #${task.id} completed successfully`);
1940
- this.eventSubject.next({
1941
- returnValue,
1942
- taskID: task.id,
1943
- type: pool_types_1.PoolEventType.taskCompleted,
1944
- workerID
1945
- });
1946
- } catch (error) {
1947
- this.debug(`Task #${task.id} failed`);
1948
- this.eventSubject.next({
1949
- error,
1950
- taskID: task.id,
1951
- type: pool_types_1.PoolEventType.taskFailed,
1952
- workerID
1953
- });
1954
- }
1955
- }
1956
- async run(worker, task) {
1957
- const runPromise = (async () => {
1958
- const removeTaskFromWorkersRunningTasks = () => {
1959
- worker.runningTasks = worker.runningTasks.filter((someRunPromise) => someRunPromise !== runPromise);
1960
- };
1961
- await delay(0);
1962
- try {
1963
- await this.runPoolTask(worker, task);
1964
- } finally {
1965
- removeTaskFromWorkersRunningTasks();
1966
- if (!this.isClosing) {
1967
- this.scheduleWork();
1968
- }
1969
- }
1970
- })();
1971
- worker.runningTasks.push(runPromise);
1972
- }
1973
- scheduleWork() {
1974
- this.debug("Attempt de-queueing a task in order to run it...");
1975
- const availableWorker = this.findIdlingWorker();
1976
- if (!availableWorker)
1977
- return;
1978
- const nextTask = this.taskQueue.shift();
1979
- if (!nextTask) {
1980
- this.debug("Task queue is empty");
1981
- this.eventSubject.next({ type: pool_types_1.PoolEventType.taskQueueDrained });
1982
- return;
1983
- }
1984
- this.run(availableWorker, nextTask);
1985
- }
1986
- taskCompletion(taskID) {
1987
- return new Promise((resolve, reject) => {
1988
- const eventSubscription = this.events().subscribe((event) => {
1989
- if (event.type === pool_types_1.PoolEventType.taskCompleted && event.taskID === taskID) {
1990
- eventSubscription.unsubscribe();
1991
- resolve(event.returnValue);
1992
- } else if (event.type === pool_types_1.PoolEventType.taskFailed && event.taskID === taskID) {
1993
- eventSubscription.unsubscribe();
1994
- reject(event.error);
1995
- } else if (event.type === pool_types_1.PoolEventType.terminated) {
1996
- eventSubscription.unsubscribe();
1997
- reject(new Error("Pool has been terminated before task was run."));
1998
- }
1999
- });
2000
- });
2001
- }
2002
- async settled(allowResolvingImmediately = false) {
2003
- const getCurrentlyRunningTasks = () => flatMap(this.workers, (worker) => worker.runningTasks);
2004
- const taskFailures = [];
2005
- const failureSubscription = this.eventObservable.subscribe((event) => {
2006
- if (event.type === pool_types_1.PoolEventType.taskFailed) {
2007
- taskFailures.push(event.error);
2008
- }
2009
- });
2010
- if (this.initErrors.length > 0) {
2011
- throw this.initErrors[0];
2012
- }
2013
- if (allowResolvingImmediately && this.taskQueue.length === 0) {
2014
- await (0, ponyfills_1.allSettled)(getCurrentlyRunningTasks());
2015
- return taskFailures;
2016
- }
2017
- await new Promise((resolve, reject) => {
2018
- const subscription = this.eventObservable.subscribe({
2019
- error: reject,
2020
- next(event) {
2021
- if (event.type === pool_types_1.PoolEventType.taskQueueDrained) {
2022
- subscription.unsubscribe();
2023
- resolve(void 0);
2024
- }
2025
- }
2026
- });
2027
- });
2028
- await (0, ponyfills_1.allSettled)(getCurrentlyRunningTasks());
2029
- failureSubscription.unsubscribe();
2030
- return taskFailures;
2031
- }
2032
- async completed(allowResolvingImmediately = false) {
2033
- const settlementPromise = this.settled(allowResolvingImmediately);
2034
- const earlyExitPromise = new Promise((resolve, reject) => {
2035
- const subscription = this.eventObservable.subscribe({
2036
- error: reject,
2037
- next(event) {
2038
- if (event.type === pool_types_1.PoolEventType.taskQueueDrained) {
2039
- subscription.unsubscribe();
2040
- resolve(settlementPromise);
2041
- } else if (event.type === pool_types_1.PoolEventType.taskFailed) {
2042
- subscription.unsubscribe();
2043
- reject(event.error);
2044
- }
2045
- }
2046
- });
2047
- });
2048
- const errors = await Promise.race([settlementPromise, earlyExitPromise]);
2049
- if (errors.length > 0) {
2050
- throw errors[0];
2051
- }
2052
- }
2053
- events() {
2054
- return this.eventObservable;
2055
- }
2056
- queue(taskFunction) {
2057
- const { maxQueuedJobs = Number.POSITIVE_INFINITY } = this.options;
2058
- if (this.isClosing) {
2059
- throw new Error("Cannot schedule pool tasks after terminate() has been called.");
2060
- }
2061
- if (this.initErrors.length > 0) {
2062
- throw this.initErrors[0];
2063
- }
2064
- const taskID = this.nextTaskID++;
2065
- const taskCompletion = this.taskCompletion(taskID);
2066
- taskCompletion.catch((error) => {
2067
- this.debug(`Task #${taskID} errored:`, error);
2068
- });
2069
- const task = {
2070
- cancel: () => {
2071
- if (!this.taskQueue.includes(task))
2072
- return;
2073
- this.taskQueue = this.taskQueue.filter((someTask) => someTask !== task);
2074
- this.eventSubject.next({
2075
- taskID: task.id,
2076
- type: pool_types_1.PoolEventType.taskCanceled
2077
- });
2078
- },
2079
- id: taskID,
2080
- run: taskFunction,
2081
- then: taskCompletion.then.bind(taskCompletion)
2082
- };
2083
- if (this.taskQueue.length >= maxQueuedJobs) {
2084
- throw new Error("Maximum number of pool tasks queued. Refusing to queue another one.\nThis usually happens for one of two reasons: We are either at peak workload right now or some tasks just won't finish, thus blocking the pool.");
2085
- }
2086
- this.debug(`Queueing task #${task.id}...`);
2087
- this.taskQueue.push(task);
2088
- this.eventSubject.next({
2089
- taskID: task.id,
2090
- type: pool_types_1.PoolEventType.taskQueued
2091
- });
2092
- this.scheduleWork();
2093
- return task;
2094
- }
2095
- async terminate(force) {
2096
- this.isClosing = true;
2097
- if (!force) {
2098
- await this.completed(true);
2099
- }
2100
- this.eventSubject.next({
2101
- remainingQueue: [...this.taskQueue],
2102
- type: pool_types_1.PoolEventType.terminated
2103
- });
2104
- this.eventSubject.complete();
2105
- await Promise.all(this.workers.map(async (worker) => thread_1.Thread.terminate(await worker.init)));
2106
- }
2107
- };
2108
- __publicField(WorkerPool, "EventType", pool_types_1.PoolEventType);
2109
- function PoolConstructor(spawnWorker, optionsOrSize) {
2110
- return new WorkerPool(spawnWorker, optionsOrSize);
2111
- }
2112
- PoolConstructor.EventType = pool_types_1.PoolEventType;
2113
- exports.Pool = PoolConstructor;
2114
- var pool_types_2 = require_pool_types();
2115
- Object.defineProperty(exports, "PoolEventType", { enumerable: true, get: function() {
2116
- return pool_types_2.PoolEventType;
2117
- } });
2118
- var thread_2 = require_thread();
2119
- Object.defineProperty(exports, "Thread", { enumerable: true, get: function() {
2120
- return thread_2.Thread;
2121
- } });
2122
- }
2123
- });
2124
-
2125
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/promise.js
2126
- var require_promise = __commonJS({
2127
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/promise.js"(exports) {
2128
- "use strict";
2129
- Object.defineProperty(exports, "__esModule", { value: true });
2130
- exports.createPromiseWithResolver = createPromiseWithResolver;
2131
- var doNothing = () => void 0;
2132
- function createPromiseWithResolver() {
2133
- let alreadyResolved = false;
2134
- let resolvedTo;
2135
- let resolver = doNothing;
2136
- const promise = new Promise((resolve) => {
2137
- if (alreadyResolved) {
2138
- resolve(resolvedTo);
2139
- } else {
2140
- resolver = resolve;
2141
- }
2142
- });
2143
- const exposedResolver = (value) => {
2144
- alreadyResolved = true;
2145
- resolvedTo = value;
2146
- resolver(resolvedTo);
2147
- };
2148
- return [promise, exposedResolver];
2149
- }
2150
- }
2151
- });
2152
-
2153
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/types/master.js
2154
- var require_master = __commonJS({
2155
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/types/master.js"(exports) {
2156
- "use strict";
2157
- Object.defineProperty(exports, "__esModule", { value: true });
2158
- exports.WorkerEventType = void 0;
2159
- var WorkerEventType;
2160
- (function(WorkerEventType2) {
2161
- WorkerEventType2["internalError"] = "internalError";
2162
- WorkerEventType2["message"] = "message";
2163
- WorkerEventType2["termination"] = "termination";
2164
- })(WorkerEventType || (exports.WorkerEventType = WorkerEventType = {}));
2165
- }
2166
- });
2167
-
2168
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/observable-promise.js
2169
- var require_observable_promise = __commonJS({
2170
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/observable-promise.js"(exports) {
2171
- "use strict";
2172
- Object.defineProperty(exports, "__esModule", { value: true });
2173
- exports.ObservablePromise = void 0;
2174
- var observable_fns_1 = require_package2();
2175
- var doNothing = () => {
2176
- };
2177
- var returnInput = (input) => input;
2178
- var runDeferred = (fn) => Promise.resolve().then(fn);
2179
- function fail(error) {
2180
- throw error;
2181
- }
2182
- function isThenable(thing) {
2183
- return thing && typeof thing.then === "function";
2184
- }
2185
- var ObservablePromise = class _ObservablePromise extends observable_fns_1.Observable {
2186
- [Symbol.toStringTag] = "[object ObservablePromise]";
2187
- initHasRun = false;
2188
- fulfillmentCallbacks = [];
2189
- rejectionCallbacks = [];
2190
- firstValue;
2191
- firstValueSet = false;
2192
- rejection;
2193
- state = "pending";
2194
- constructor(init) {
2195
- super((originalObserver) => {
2196
- const self2 = this;
2197
- const observer = {
2198
- ...originalObserver,
2199
- complete() {
2200
- originalObserver.complete();
2201
- self2.onCompletion();
2202
- },
2203
- error(error) {
2204
- originalObserver.error(error);
2205
- self2.onError(error);
2206
- },
2207
- next(value) {
2208
- originalObserver.next(value);
2209
- self2.onNext(value);
2210
- }
2211
- };
2212
- try {
2213
- this.initHasRun = true;
2214
- return init(observer);
2215
- } catch (error) {
2216
- observer.error(error);
2217
- }
2218
- });
2219
- }
2220
- onNext(value) {
2221
- if (!this.firstValueSet) {
2222
- this.firstValue = value;
2223
- this.firstValueSet = true;
2224
- }
2225
- }
2226
- onError(error) {
2227
- this.state = "rejected";
2228
- this.rejection = error;
2229
- for (const onRejected of this.rejectionCallbacks) {
2230
- runDeferred(() => onRejected(error));
2231
- }
2232
- }
2233
- onCompletion() {
2234
- this.state = "fulfilled";
2235
- for (const onFulfilled of this.fulfillmentCallbacks) {
2236
- runDeferred(() => onFulfilled(this.firstValue));
2237
- }
2238
- }
2239
- then(onFulfilledRaw, onRejectedRaw) {
2240
- const onFulfilled = onFulfilledRaw || returnInput;
2241
- const onRejected = onRejectedRaw || fail;
2242
- let onRejectedCalled = false;
2243
- return new Promise((resolve, reject) => {
2244
- const rejectionCallback = (error) => {
2245
- if (onRejectedCalled)
2246
- return;
2247
- onRejectedCalled = true;
2248
- try {
2249
- resolve(onRejected(error));
2250
- } catch (anotherError) {
2251
- reject(anotherError);
2252
- }
2253
- };
2254
- const fulfillmentCallback = (value) => {
2255
- try {
2256
- resolve(onFulfilled(value));
2257
- } catch (error) {
2258
- rejectionCallback(error);
2259
- }
2260
- };
2261
- if (!this.initHasRun) {
2262
- this.subscribe({ error: rejectionCallback });
2263
- }
2264
- if (this.state === "fulfilled") {
2265
- return resolve(onFulfilled(this.firstValue));
2266
- }
2267
- if (this.state === "rejected") {
2268
- onRejectedCalled = true;
2269
- return resolve(onRejected(this.rejection));
2270
- }
2271
- this.fulfillmentCallbacks.push(fulfillmentCallback);
2272
- this.rejectionCallbacks.push(rejectionCallback);
2273
- });
2274
- }
2275
- catch(onRejected) {
2276
- return this.then(void 0, onRejected);
2277
- }
2278
- finally(onCompleted) {
2279
- const handler = onCompleted || doNothing;
2280
- return this.then((value) => {
2281
- handler();
2282
- return value;
2283
- }, () => handler());
2284
- }
2285
- static from(thing) {
2286
- return isThenable(thing) ? new _ObservablePromise((observer) => {
2287
- const onFulfilled = (value) => {
2288
- observer.next(value);
2289
- observer.complete();
2290
- };
2291
- const onRejected = (error) => {
2292
- observer.error(error);
2293
- };
2294
- thing.then(onFulfilled, onRejected);
2295
- }) : super.from(thing);
2296
- }
2297
- };
2298
- exports.ObservablePromise = ObservablePromise;
2299
- }
2300
- });
2301
-
2302
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/transferable.js
2303
- var require_transferable = __commonJS({
2304
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/transferable.js"(exports) {
2305
- "use strict";
2306
- Object.defineProperty(exports, "__esModule", { value: true });
2307
- exports.isTransferDescriptor = isTransferDescriptor;
2308
- exports.Transfer = Transfer;
2309
- var symbols_1 = require_symbols3();
2310
- function isTransferable(thing) {
2311
- if (!thing || typeof thing !== "object")
2312
- return false;
2313
- return true;
2314
- }
2315
- function isTransferDescriptor(thing) {
2316
- return thing && typeof thing === "object" && thing[symbols_1.$transferable];
2317
- }
2318
- function Transfer(payload, transferables) {
2319
- if (!transferables) {
2320
- if (!isTransferable(payload))
2321
- throw new Error("Not transferable");
2322
- transferables = [payload];
2323
- }
2324
- return {
2325
- [symbols_1.$transferable]: true,
2326
- send: payload,
2327
- transferables
2328
- };
2329
- }
2330
- }
2331
- });
2332
-
2333
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/types/messages.js
2334
- var require_messages = __commonJS({
2335
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/types/messages.js"(exports) {
2336
- "use strict";
2337
- Object.defineProperty(exports, "__esModule", { value: true });
2338
- exports.WorkerMessageType = exports.MasterMessageType = void 0;
2339
- var MasterMessageType;
2340
- (function(MasterMessageType2) {
2341
- MasterMessageType2["cancel"] = "cancel";
2342
- MasterMessageType2["run"] = "run";
2343
- })(MasterMessageType || (exports.MasterMessageType = MasterMessageType = {}));
2344
- var WorkerMessageType;
2345
- (function(WorkerMessageType2) {
2346
- WorkerMessageType2["error"] = "error";
2347
- WorkerMessageType2["init"] = "init";
2348
- WorkerMessageType2["result"] = "result";
2349
- WorkerMessageType2["running"] = "running";
2350
- WorkerMessageType2["uncaughtError"] = "uncaughtError";
2351
- })(WorkerMessageType || (exports.WorkerMessageType = WorkerMessageType = {}));
2352
- }
2353
- });
2354
-
2355
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/invocation-proxy.js
2356
- var require_invocation_proxy = __commonJS({
2357
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/invocation-proxy.js"(exports) {
2358
- "use strict";
2359
- var __importDefault = exports && exports.__importDefault || function(mod) {
2360
- return mod && mod.__esModule ? mod : { "default": mod };
2361
- };
2362
- Object.defineProperty(exports, "__esModule", { value: true });
2363
- exports.createProxyFunction = createProxyFunction;
2364
- exports.createProxyModule = createProxyModule;
2365
- var debug_1 = __importDefault(require_browser());
2366
- var observable_fns_1 = require_package2();
2367
- var common_1 = require_common();
2368
- var observable_promise_1 = require_observable_promise();
2369
- var transferable_1 = require_transferable();
2370
- var messages_1 = require_messages();
2371
- var debugMessages = (0, debug_1.default)("threads:master:messages");
2372
- var nextJobUID = 1;
2373
- var dedupe = (array) => [...new Set(array)];
2374
- var isJobErrorMessage = (data) => data && data.type === messages_1.WorkerMessageType.error;
2375
- var isJobResultMessage = (data) => data && data.type === messages_1.WorkerMessageType.result;
2376
- var isJobStartMessage = (data) => data && data.type === messages_1.WorkerMessageType.running;
2377
- function createObservableForJob(worker, jobUID) {
2378
- return new observable_fns_1.Observable((observer) => {
2379
- let asyncType;
2380
- const messageHandler = (event) => {
2381
- debugMessages("Message from worker:", event.data);
2382
- if (!event.data || event.data.uid !== jobUID)
2383
- return;
2384
- if (isJobStartMessage(event.data)) {
2385
- asyncType = event.data.resultType;
2386
- } else if (isJobResultMessage(event.data)) {
2387
- if (asyncType === "promise") {
2388
- if (event.data.payload !== void 0) {
2389
- observer.next((0, common_1.deserialize)(event.data.payload));
2390
- }
2391
- observer.complete();
2392
- worker.removeEventListener("message", messageHandler);
2393
- } else {
2394
- if (event.data.payload) {
2395
- observer.next((0, common_1.deserialize)(event.data.payload));
2396
- }
2397
- if (event.data.complete) {
2398
- observer.complete();
2399
- worker.removeEventListener("message", messageHandler);
2400
- }
2401
- }
2402
- } else if (isJobErrorMessage(event.data)) {
2403
- const error = (0, common_1.deserialize)(event.data.error);
2404
- if (asyncType === "promise" || !asyncType) {
2405
- observer.error(error);
2406
- } else {
2407
- observer.error(error);
2408
- }
2409
- worker.removeEventListener("message", messageHandler);
2410
- }
2411
- };
2412
- worker.addEventListener("message", messageHandler);
2413
- return () => {
2414
- if (asyncType === "observable" || !asyncType) {
2415
- const cancelMessage = {
2416
- type: messages_1.MasterMessageType.cancel,
2417
- uid: jobUID
2418
- };
2419
- worker.postMessage(cancelMessage);
2420
- }
2421
- worker.removeEventListener("message", messageHandler);
2422
- };
2423
- });
2424
- }
2425
- function prepareArguments(rawArgs) {
2426
- if (rawArgs.length === 0) {
2427
- return {
2428
- args: [],
2429
- transferables: []
2430
- };
2431
- }
2432
- const args = [];
2433
- const transferables = [];
2434
- for (const arg of rawArgs) {
2435
- if ((0, transferable_1.isTransferDescriptor)(arg)) {
2436
- args.push((0, common_1.serialize)(arg.send));
2437
- transferables.push(...arg.transferables);
2438
- } else {
2439
- args.push((0, common_1.serialize)(arg));
2440
- }
2441
- }
2442
- return {
2443
- args,
2444
- transferables: transferables.length === 0 ? transferables : dedupe(transferables)
2445
- };
2446
- }
2447
- function createProxyFunction(worker, method) {
2448
- return (...rawArgs) => {
2449
- const uid = nextJobUID++;
2450
- const { args, transferables } = prepareArguments(rawArgs);
2451
- const runMessage = {
2452
- args,
2453
- method,
2454
- type: messages_1.MasterMessageType.run,
2455
- uid
2456
- };
2457
- debugMessages("Sending command to run function to worker:", runMessage);
2458
- try {
2459
- worker.postMessage(runMessage, transferables);
2460
- } catch (error) {
2461
- return observable_promise_1.ObservablePromise.from(Promise.reject(error));
2462
- }
2463
- return observable_promise_1.ObservablePromise.from((0, observable_fns_1.multicast)(createObservableForJob(worker, uid)));
2464
- };
2465
- }
2466
- function createProxyModule(worker, methodNames) {
2467
- const proxy = {};
2468
- for (const methodName of methodNames) {
2469
- proxy[methodName] = createProxyFunction(worker, methodName);
2470
- }
2471
- return proxy;
2472
- }
2473
- }
2474
- });
2475
-
2476
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/spawn.js
2477
- var require_spawn = __commonJS({
2478
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/spawn.js"(exports) {
2479
- "use strict";
2480
- var __importDefault = exports && exports.__importDefault || function(mod) {
2481
- return mod && mod.__esModule ? mod : { "default": mod };
2482
- };
2483
- Object.defineProperty(exports, "__esModule", { value: true });
2484
- exports.spawn = spawn;
2485
- var debug_1 = __importDefault(require_browser());
2486
- var observable_fns_1 = require_package2();
2487
- var common_1 = require_common();
2488
- var promise_1 = require_promise();
2489
- var symbols_1 = require_symbols3();
2490
- var master_1 = require_master();
2491
- var invocation_proxy_1 = require_invocation_proxy();
2492
- var debugMessages = (0, debug_1.default)("threads:master:messages");
2493
- var debugSpawn = (0, debug_1.default)("threads:master:spawn");
2494
- var debugThreadUtils = (0, debug_1.default)("threads:master:thread-utils");
2495
- var isInitMessage = (data) => data && data.type === "init";
2496
- var isUncaughtErrorMessage = (data) => data && data.type === "uncaughtError";
2497
- var initMessageTimeout = typeof process !== "undefined" && process.env !== void 0 && process.env.THREADS_WORKER_INIT_TIMEOUT ? Number.parseInt(process.env.THREADS_WORKER_INIT_TIMEOUT, 10) : 1e4;
2498
- async function withTimeout(promise, timeoutInMs, errorMessage) {
2499
- let timeoutHandle;
2500
- const timeout = new Promise((resolve, reject) => {
2501
- timeoutHandle = setTimeout(() => reject(new Error(errorMessage)), timeoutInMs);
2502
- });
2503
- const result = await Promise.race([promise, timeout]);
2504
- clearTimeout(timeoutHandle);
2505
- return result;
2506
- }
2507
- function receiveInitMessage(worker) {
2508
- return new Promise((resolve, reject) => {
2509
- const messageHandler = (event) => {
2510
- debugMessages("Message from worker before finishing initialization:", event.data);
2511
- if (isInitMessage(event.data)) {
2512
- worker.removeEventListener("message", messageHandler);
2513
- resolve(event.data);
2514
- } else if (isUncaughtErrorMessage(event.data)) {
2515
- worker.removeEventListener("message", messageHandler);
2516
- reject((0, common_1.deserialize)(event.data.error));
2517
- }
2518
- };
2519
- worker.addEventListener("message", messageHandler);
2520
- });
2521
- }
2522
- function createEventObservable(worker, workerTermination) {
2523
- return new observable_fns_1.Observable((observer) => {
2524
- const messageHandler = (messageEvent) => {
2525
- const workerEvent = {
2526
- data: messageEvent.data,
2527
- type: master_1.WorkerEventType.message
2528
- };
2529
- observer.next(workerEvent);
2530
- };
2531
- const rejectionHandler = (errorEvent) => {
2532
- debugThreadUtils("Unhandled promise rejection event in thread:", errorEvent);
2533
- const workerEvent = {
2534
- error: new Error(errorEvent.reason),
2535
- type: master_1.WorkerEventType.internalError
2536
- };
2537
- observer.next(workerEvent);
2538
- };
2539
- worker.addEventListener("message", messageHandler);
2540
- worker.addEventListener("unhandledrejection", rejectionHandler);
2541
- workerTermination.then(() => {
2542
- const terminationEvent = { type: master_1.WorkerEventType.termination };
2543
- worker.removeEventListener("message", messageHandler);
2544
- worker.removeEventListener("unhandledrejection", rejectionHandler);
2545
- observer.next(terminationEvent);
2546
- observer.complete();
2547
- });
2548
- });
2549
- }
2550
- function createTerminator(worker) {
2551
- const [termination, resolver] = (0, promise_1.createPromiseWithResolver)();
2552
- const terminate = async () => {
2553
- debugThreadUtils("Terminating worker");
2554
- await worker.terminate();
2555
- resolver();
2556
- };
2557
- return { terminate, termination };
2558
- }
2559
- function setPrivateThreadProps(raw, worker, workerEvents, terminate) {
2560
- const workerErrors = workerEvents.filter((event) => event.type === master_1.WorkerEventType.internalError).map((errorEvent) => errorEvent.error);
2561
- return Object.assign(raw, {
2562
- [symbols_1.$errors]: workerErrors,
2563
- [symbols_1.$events]: workerEvents,
2564
- [symbols_1.$terminate]: terminate,
2565
- [symbols_1.$worker]: worker
2566
- });
2567
- }
2568
- async function spawn(worker, options) {
2569
- debugSpawn("Initializing new thread");
2570
- const timeout = options && options.timeout ? options.timeout : initMessageTimeout;
2571
- const initMessage = await withTimeout(receiveInitMessage(worker), timeout, `Timeout: Did not receive an init message from worker after ${timeout}ms. Make sure the worker calls expose().`);
2572
- const exposed = initMessage.exposed;
2573
- const { termination, terminate } = createTerminator(worker);
2574
- const events = createEventObservable(worker, termination);
2575
- if (exposed.type === "function") {
2576
- const proxy = (0, invocation_proxy_1.createProxyFunction)(worker);
2577
- return setPrivateThreadProps(proxy, worker, events, terminate);
2578
- } else if (exposed.type === "module") {
2579
- const proxy = (0, invocation_proxy_1.createProxyModule)(worker, exposed.methods);
2580
- return setPrivateThreadProps(proxy, worker, events, terminate);
2581
- } else {
2582
- const type = exposed.type;
2583
- throw new Error(`Worker init message states unexpected type of expose(): ${type}`);
2584
- }
2585
- }
2586
- }
2587
- });
2588
-
2589
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/index.js
2590
- var require_master2 = __commonJS({
2591
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/master/index.js"(exports) {
2592
- "use strict";
2593
- Object.defineProperty(exports, "__esModule", { value: true });
2594
- exports.isWorkerRuntime = exports.Worker = exports.BlobWorker = exports.Thread = exports.spawn = exports.Pool = void 0;
2595
- var implementation_1 = require_implementation_browser();
2596
- var pool_1 = require_pool();
2597
- Object.defineProperty(exports, "Pool", { enumerable: true, get: function() {
2598
- return pool_1.Pool;
2599
- } });
2600
- var spawn_1 = require_spawn();
2601
- Object.defineProperty(exports, "spawn", { enumerable: true, get: function() {
2602
- return spawn_1.spawn;
2603
- } });
2604
- var thread_1 = require_thread();
2605
- Object.defineProperty(exports, "Thread", { enumerable: true, get: function() {
2606
- return thread_1.Thread;
2607
- } });
2608
- exports.BlobWorker = (0, implementation_1.getWorkerImplementation)().blob;
2609
- exports.Worker = (0, implementation_1.getWorkerImplementation)().default;
2610
- var implementation_2 = require_implementation_browser();
2611
- Object.defineProperty(exports, "isWorkerRuntime", { enumerable: true, get: function() {
2612
- return implementation_2.isWorkerRuntime;
2613
- } });
2614
- }
2615
- });
2616
28
 
2617
29
  // ../../../../../../node_modules/.store/is-observable-npm-2.1.0-f5cc32df88/package/index.js
2618
- var require_package3 = __commonJS({
30
+ var require_package = __commonJS({
2619
31
  "../../../../../../node_modules/.store/is-observable-npm-2.1.0-f5cc32df88/package/index.js"(exports, module) {
2620
32
  "use strict";
2621
33
  module.exports = (value) => {
@@ -2633,257 +45,7 @@
2633
45
  }
2634
46
  });
2635
47
 
2636
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/worker/implementation.browser.js
2637
- var require_implementation_browser2 = __commonJS({
2638
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/worker/implementation.browser.js"(exports) {
2639
- "use strict";
2640
- Object.defineProperty(exports, "__esModule", { value: true });
2641
- var isWorkerRuntime = function isWorkerRuntime2() {
2642
- const isWindowContext = self !== void 0 && typeof Window !== "undefined" && self instanceof Window;
2643
- return self !== void 0 && self["postMessage"] && !isWindowContext ? true : false;
2644
- };
2645
- var postMessageToMaster = function postMessageToMaster2(data, transferList) {
2646
- self.postMessage(data, transferList);
2647
- };
2648
- var subscribeToMasterMessages = function subscribeToMasterMessages2(onMessage) {
2649
- const messageHandler = (messageEvent) => {
2650
- onMessage(messageEvent.data);
2651
- };
2652
- const unsubscribe = () => {
2653
- self.removeEventListener("message", messageHandler);
2654
- };
2655
- self.addEventListener("message", messageHandler);
2656
- return unsubscribe;
2657
- };
2658
- exports.default = {
2659
- isWorkerRuntime,
2660
- postMessageToMaster,
2661
- subscribeToMasterMessages
2662
- };
2663
- }
2664
- });
2665
-
2666
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/worker/index.js
2667
- var require_worker = __commonJS({
2668
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/worker/index.js"(exports) {
2669
- "use strict";
2670
- var __importDefault = exports && exports.__importDefault || function(mod) {
2671
- return mod && mod.__esModule ? mod : { "default": mod };
2672
- };
2673
- Object.defineProperty(exports, "__esModule", { value: true });
2674
- exports.isWorkerRuntime = exports.Transfer = exports.registerSerializer = void 0;
2675
- exports.expose = expose2;
2676
- var is_observable_2_1_0_1 = __importDefault(require_package3());
2677
- var common_1 = require_common();
2678
- var transferable_1 = require_transferable();
2679
- var messages_1 = require_messages();
2680
- var implementation_1 = __importDefault(require_implementation_browser2());
2681
- var common_2 = require_common();
2682
- Object.defineProperty(exports, "registerSerializer", { enumerable: true, get: function() {
2683
- return common_2.registerSerializer;
2684
- } });
2685
- var transferable_2 = require_transferable();
2686
- Object.defineProperty(exports, "Transfer", { enumerable: true, get: function() {
2687
- return transferable_2.Transfer;
2688
- } });
2689
- exports.isWorkerRuntime = implementation_1.default.isWorkerRuntime;
2690
- var exposeCalled = false;
2691
- var activeSubscriptions = /* @__PURE__ */ new Map();
2692
- var isMasterJobCancelMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.cancel;
2693
- var isMasterJobRunMessage = (thing) => thing && thing.type === messages_1.MasterMessageType.run;
2694
- var isObservable = (thing) => (0, is_observable_2_1_0_1.default)(thing) || isZenObservable(thing);
2695
- function isZenObservable(thing) {
2696
- return thing && typeof thing === "object" && typeof thing.subscribe === "function";
2697
- }
2698
- function deconstructTransfer(thing) {
2699
- return (0, transferable_1.isTransferDescriptor)(thing) ? { payload: thing.send, transferables: thing.transferables } : { payload: thing, transferables: void 0 };
2700
- }
2701
- function postFunctionInitMessage() {
2702
- const initMessage = {
2703
- exposed: { type: "function" },
2704
- type: messages_1.WorkerMessageType.init
2705
- };
2706
- implementation_1.default.postMessageToMaster(initMessage);
2707
- }
2708
- function postModuleInitMessage(methodNames) {
2709
- const initMessage = {
2710
- exposed: {
2711
- methods: methodNames,
2712
- type: "module"
2713
- },
2714
- type: messages_1.WorkerMessageType.init
2715
- };
2716
- implementation_1.default.postMessageToMaster(initMessage);
2717
- }
2718
- function postJobErrorMessage(uid, rawError) {
2719
- const { payload: error, transferables } = deconstructTransfer(rawError);
2720
- const errorMessage = {
2721
- error: (0, common_1.serialize)(error),
2722
- type: messages_1.WorkerMessageType.error,
2723
- uid
2724
- };
2725
- implementation_1.default.postMessageToMaster(errorMessage, transferables);
2726
- }
2727
- function postJobResultMessage(uid, completed, resultValue) {
2728
- const { payload, transferables } = deconstructTransfer(resultValue);
2729
- const resultMessage = {
2730
- complete: completed ? true : void 0,
2731
- payload,
2732
- type: messages_1.WorkerMessageType.result,
2733
- uid
2734
- };
2735
- implementation_1.default.postMessageToMaster(resultMessage, transferables);
2736
- }
2737
- function postJobStartMessage(uid, resultType) {
2738
- const startMessage = {
2739
- resultType,
2740
- type: messages_1.WorkerMessageType.running,
2741
- uid
2742
- };
2743
- implementation_1.default.postMessageToMaster(startMessage);
2744
- }
2745
- function postUncaughtErrorMessage(error) {
2746
- try {
2747
- const errorMessage = {
2748
- error: (0, common_1.serialize)(error),
2749
- type: messages_1.WorkerMessageType.uncaughtError
2750
- };
2751
- implementation_1.default.postMessageToMaster(errorMessage);
2752
- } catch (subError) {
2753
- console.error("Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:", subError, "\nOriginal error:", error);
2754
- }
2755
- }
2756
- async function runFunction(jobUID, fn, args) {
2757
- let syncResult;
2758
- try {
2759
- syncResult = fn(...args);
2760
- } catch (error) {
2761
- return postJobErrorMessage(jobUID, error);
2762
- }
2763
- const resultType = isObservable(syncResult) ? "observable" : "promise";
2764
- postJobStartMessage(jobUID, resultType);
2765
- if (isObservable(syncResult)) {
2766
- const subscription = syncResult.subscribe((value) => postJobResultMessage(jobUID, false, (0, common_1.serialize)(value)), (error) => {
2767
- postJobErrorMessage(jobUID, (0, common_1.serialize)(error));
2768
- activeSubscriptions.delete(jobUID);
2769
- }, () => {
2770
- postJobResultMessage(jobUID, true);
2771
- activeSubscriptions.delete(jobUID);
2772
- });
2773
- activeSubscriptions.set(jobUID, subscription);
2774
- } else {
2775
- try {
2776
- const result = await syncResult;
2777
- postJobResultMessage(jobUID, true, (0, common_1.serialize)(result));
2778
- } catch (error) {
2779
- postJobErrorMessage(jobUID, (0, common_1.serialize)(error));
2780
- }
2781
- }
2782
- }
2783
- function expose2(exposed) {
2784
- if (!implementation_1.default.isWorkerRuntime()) {
2785
- throw new Error("expose() called in the master thread.");
2786
- }
2787
- if (exposeCalled) {
2788
- throw new Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");
2789
- }
2790
- exposeCalled = true;
2791
- if (typeof exposed === "function") {
2792
- implementation_1.default.subscribeToMasterMessages((messageData) => {
2793
- if (isMasterJobRunMessage(messageData) && !messageData.method) {
2794
- runFunction(messageData.uid, exposed, messageData.args.map(common_1.deserialize));
2795
- }
2796
- });
2797
- postFunctionInitMessage();
2798
- } else if (typeof exposed === "object" && exposed) {
2799
- implementation_1.default.subscribeToMasterMessages((messageData) => {
2800
- if (isMasterJobRunMessage(messageData) && messageData.method) {
2801
- runFunction(messageData.uid, exposed[messageData.method], messageData.args.map(common_1.deserialize));
2802
- }
2803
- });
2804
- const methodNames = Object.keys(exposed).filter((key) => typeof exposed[key] === "function");
2805
- postModuleInitMessage(methodNames);
2806
- } else {
2807
- throw new Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${exposed}`);
2808
- }
2809
- implementation_1.default.subscribeToMasterMessages((messageData) => {
2810
- if (isMasterJobCancelMessage(messageData)) {
2811
- const jobUID = messageData.uid;
2812
- const subscription = activeSubscriptions.get(jobUID);
2813
- if (subscription) {
2814
- subscription.unsubscribe();
2815
- activeSubscriptions.delete(jobUID);
2816
- }
2817
- }
2818
- });
2819
- }
2820
- if (typeof globalThis !== "undefined" && typeof self.addEventListener === "function" && implementation_1.default.isWorkerRuntime()) {
2821
- self.addEventListener("error", (event) => {
2822
- setTimeout(() => postUncaughtErrorMessage(event.error || event), 250);
2823
- });
2824
- self.addEventListener("unhandledrejection", (event) => {
2825
- const error = event.reason;
2826
- if (error && typeof error.message === "string") {
2827
- setTimeout(() => postUncaughtErrorMessage(error), 250);
2828
- }
2829
- });
2830
- }
2831
- if (typeof process !== "undefined" && typeof process.on === "function" && implementation_1.default.isWorkerRuntime()) {
2832
- process.on("uncaughtException", (error) => {
2833
- setTimeout(() => postUncaughtErrorMessage(error), 250);
2834
- });
2835
- process.on("unhandledRejection", (error) => {
2836
- if (error && typeof error.message === "string") {
2837
- setTimeout(() => postUncaughtErrorMessage(error), 250);
2838
- }
2839
- });
2840
- }
2841
- }
2842
- });
2843
-
2844
- // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/index.js
2845
- var require_esm = __commonJS({
2846
- "../../../../../../node_modules/.store/@xylabs-threads-npm-4.6.4-a1d6b1bc6f/package/dist/esm/index.js"(exports) {
2847
- "use strict";
2848
- var __createBinding = exports && exports.__createBinding || (Object.create ? function(o, m, k, k2) {
2849
- if (k2 === void 0) k2 = k;
2850
- var desc = Object.getOwnPropertyDescriptor(m, k);
2851
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
2852
- desc = { enumerable: true, get: function() {
2853
- return m[k];
2854
- } };
2855
- }
2856
- Object.defineProperty(o, k2, desc);
2857
- } : function(o, m, k, k2) {
2858
- if (k2 === void 0) k2 = k;
2859
- o[k2] = m[k];
2860
- });
2861
- var __exportStar = exports && exports.__exportStar || function(m, exports2) {
2862
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p)) __createBinding(exports2, m, p);
2863
- };
2864
- Object.defineProperty(exports, "__esModule", { value: true });
2865
- exports.expose = exports.Transfer = exports.DefaultSerializer = exports.registerSerializer = void 0;
2866
- var common_1 = require_common();
2867
- Object.defineProperty(exports, "registerSerializer", { enumerable: true, get: function() {
2868
- return common_1.registerSerializer;
2869
- } });
2870
- __exportStar(require_master2(), exports);
2871
- var serializers_1 = require_serializers();
2872
- Object.defineProperty(exports, "DefaultSerializer", { enumerable: true, get: function() {
2873
- return serializers_1.DefaultSerializer;
2874
- } });
2875
- var transferable_1 = require_transferable();
2876
- Object.defineProperty(exports, "Transfer", { enumerable: true, get: function() {
2877
- return transferable_1.Transfer;
2878
- } });
2879
- var index_1 = require_worker();
2880
- Object.defineProperty(exports, "expose", { enumerable: true, get: function() {
2881
- return index_1.expose;
2882
- } });
2883
- }
2884
- });
2885
-
2886
- // ../../../../../../node_modules/.store/@xylabs-hex-npm-4.6.4-6b7cd7d233/package/dist/neutral/index.mjs
48
+ // ../../../../../../node_modules/.store/@xylabs-hex-npm-4.7.2-c461cca15a/package/dist/neutral/index.mjs
2887
49
  var assertError = (value, assert, defaultMessage) => {
2888
50
  if (assert) {
2889
51
  const assertString = typeof assert === "string" ? assert : typeof assert === "boolean" ? defaultMessage : assert(value, defaultMessage);
@@ -2939,8 +101,245 @@
2939
101
  return isHash(stringValue) ? stringValue : assertError(value, assert, `Value is not a Hash [${value}]`);
2940
102
  }
2941
103
 
2942
- // src/worker/wasmHash.ts
2943
- var import_threads = __toESM(require_esm(), 1);
104
+ // ../../../../../../node_modules/.store/@xylabs-threads-npm-4.7.2-ddf7b4e71d/package/dist/browser/worker/worker.browser.mjs
105
+ var import_is_observable_2_1_0 = __toESM(require_package(), 1);
106
+ var DefaultErrorSerializer = {
107
+ deserialize(message) {
108
+ return Object.assign(new Error(message.message), {
109
+ name: message.name,
110
+ stack: message.stack
111
+ });
112
+ },
113
+ serialize(error) {
114
+ return {
115
+ __error_marker: "$$error",
116
+ message: error.message,
117
+ name: error.name,
118
+ stack: error.stack
119
+ };
120
+ }
121
+ };
122
+ var isSerializedError = (thing) => thing && typeof thing === "object" && "__error_marker" in thing && thing.__error_marker === "$$error";
123
+ var DefaultSerializer = {
124
+ deserialize(message) {
125
+ return isSerializedError(message) ? DefaultErrorSerializer.deserialize(message) : message;
126
+ },
127
+ serialize(input) {
128
+ return input instanceof Error ? DefaultErrorSerializer.serialize(input) : input;
129
+ }
130
+ };
131
+ globalThis.registeredSerializer = globalThis.registeredSerializer ?? DefaultSerializer;
132
+ function deserialize(message) {
133
+ return globalThis.registeredSerializer.deserialize(message);
134
+ }
135
+ function serialize(input) {
136
+ return globalThis.registeredSerializer.serialize(input);
137
+ }
138
+ var $errors = Symbol("thread.errors");
139
+ var $events = Symbol("thread.events");
140
+ var $terminate = Symbol("thread.terminate");
141
+ var $transferable = Symbol("thread.transferable");
142
+ var $worker = Symbol("thread.worker");
143
+ function isTransferDescriptor(thing) {
144
+ return thing && typeof thing === "object" && thing[$transferable];
145
+ }
146
+ var isErrorEvent = (value) => value && value.error;
147
+ function createExpose(implementation, self2) {
148
+ let exposeCalled = false;
149
+ const activeSubscriptions = /* @__PURE__ */ new Map();
150
+ const isMasterJobCancelMessage = (thing) => thing && thing.type === "cancel";
151
+ const isMasterJobRunMessage = (thing) => thing && thing.type === "run";
152
+ const isObservable = (thing) => (0, import_is_observable_2_1_0.default)(thing) || isZenObservable(thing);
153
+ function isZenObservable(thing) {
154
+ return thing && typeof thing === "object" && typeof thing.subscribe === "function";
155
+ }
156
+ function deconstructTransfer(thing) {
157
+ return isTransferDescriptor(thing) ? { payload: thing.send, transferables: thing.transferables } : { payload: thing, transferables: void 0 };
158
+ }
159
+ function postFunctionInitMessage() {
160
+ const initMessage = {
161
+ exposed: { type: "function" },
162
+ type: "init"
163
+ /* init */
164
+ };
165
+ implementation.postMessageToMaster(initMessage);
166
+ }
167
+ function postModuleInitMessage(methodNames) {
168
+ const initMessage = {
169
+ exposed: {
170
+ methods: methodNames,
171
+ type: "module"
172
+ },
173
+ type: "init"
174
+ /* init */
175
+ };
176
+ implementation.postMessageToMaster(initMessage);
177
+ }
178
+ function postJobErrorMessage(uid, rawError) {
179
+ const { payload: error, transferables } = deconstructTransfer(rawError);
180
+ const errorMessage = {
181
+ error: serialize(error),
182
+ type: "error",
183
+ uid
184
+ };
185
+ implementation.postMessageToMaster(errorMessage, transferables);
186
+ }
187
+ function postJobResultMessage(uid, completed, resultValue) {
188
+ const { payload, transferables } = deconstructTransfer(resultValue);
189
+ const resultMessage = {
190
+ complete: completed ? true : void 0,
191
+ payload,
192
+ type: "result",
193
+ uid
194
+ };
195
+ implementation.postMessageToMaster(resultMessage, transferables);
196
+ }
197
+ function postJobStartMessage(uid, resultType) {
198
+ const startMessage = {
199
+ resultType,
200
+ type: "running",
201
+ uid
202
+ };
203
+ implementation.postMessageToMaster(startMessage);
204
+ }
205
+ function postUncaughtErrorMessage(error) {
206
+ try {
207
+ const errorMessage = {
208
+ error: serialize(error),
209
+ type: "uncaughtError"
210
+ /* uncaughtError */
211
+ };
212
+ implementation.postMessageToMaster(errorMessage);
213
+ } catch (subError) {
214
+ console.error(
215
+ "Not reporting uncaught error back to master thread as it occured while reporting an uncaught error already.\nLatest error:",
216
+ subError,
217
+ "\nOriginal error:",
218
+ error
219
+ );
220
+ }
221
+ }
222
+ async function runFunction(jobUID, fn, args) {
223
+ let syncResult;
224
+ try {
225
+ syncResult = fn(...args);
226
+ } catch (ex) {
227
+ const error = ex;
228
+ return postJobErrorMessage(jobUID, error);
229
+ }
230
+ const resultType = isObservable(syncResult) ? "observable" : "promise";
231
+ postJobStartMessage(jobUID, resultType);
232
+ if (isObservable(syncResult)) {
233
+ const subscription = syncResult.subscribe(
234
+ (value) => postJobResultMessage(jobUID, false, serialize(value)),
235
+ (error) => {
236
+ postJobErrorMessage(jobUID, serialize(error));
237
+ activeSubscriptions.delete(jobUID);
238
+ },
239
+ () => {
240
+ postJobResultMessage(jobUID, true);
241
+ activeSubscriptions.delete(jobUID);
242
+ }
243
+ );
244
+ activeSubscriptions.set(jobUID, subscription);
245
+ } else {
246
+ try {
247
+ const result = await syncResult;
248
+ postJobResultMessage(jobUID, true, serialize(result));
249
+ } catch (error) {
250
+ postJobErrorMessage(jobUID, serialize(error));
251
+ }
252
+ }
253
+ }
254
+ const expose2 = (exposed) => {
255
+ if (!implementation.isWorkerRuntime()) {
256
+ throw new Error("expose() called in the master thread.");
257
+ }
258
+ if (exposeCalled) {
259
+ throw new Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");
260
+ }
261
+ exposeCalled = true;
262
+ if (typeof exposed === "function") {
263
+ implementation.subscribeToMasterMessages((messageData) => {
264
+ if (isMasterJobRunMessage(messageData) && !messageData.method) {
265
+ runFunction(messageData.uid, exposed, messageData.args.map(deserialize));
266
+ }
267
+ });
268
+ postFunctionInitMessage();
269
+ } else if (typeof exposed === "object" && exposed) {
270
+ implementation.subscribeToMasterMessages((messageData) => {
271
+ if (isMasterJobRunMessage(messageData) && messageData.method) {
272
+ runFunction(messageData.uid, exposed[messageData.method], messageData.args.map(deserialize));
273
+ }
274
+ });
275
+ const methodNames = Object.keys(exposed).filter((key) => typeof exposed[key] === "function");
276
+ postModuleInitMessage(methodNames);
277
+ } else {
278
+ throw new Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${exposed}`);
279
+ }
280
+ implementation.subscribeToMasterMessages((messageData) => {
281
+ if (isMasterJobCancelMessage(messageData)) {
282
+ const jobUID = messageData.uid;
283
+ const subscription = activeSubscriptions.get(jobUID);
284
+ if (subscription) {
285
+ subscription.unsubscribe();
286
+ activeSubscriptions.delete(jobUID);
287
+ }
288
+ }
289
+ });
290
+ };
291
+ if (typeof globalThis !== "undefined" && typeof self2.addEventListener === "function" && implementation.isWorkerRuntime()) {
292
+ self2.addEventListener("error", (event) => {
293
+ setTimeout(() => postUncaughtErrorMessage(isErrorEvent(event) ? event.error : event), 250);
294
+ });
295
+ self2.addEventListener("unhandledrejection", (event) => {
296
+ const error = event.reason;
297
+ if (error && typeof error.message === "string") {
298
+ setTimeout(() => postUncaughtErrorMessage(error), 250);
299
+ }
300
+ });
301
+ }
302
+ if (typeof process !== "undefined" && typeof process.on === "function" && implementation.isWorkerRuntime()) {
303
+ process.on("uncaughtException", (error) => {
304
+ setTimeout(() => postUncaughtErrorMessage(error), 250);
305
+ });
306
+ process.on("unhandledRejection", (error) => {
307
+ if (error && typeof error.message === "string") {
308
+ setTimeout(() => postUncaughtErrorMessage(error), 250);
309
+ }
310
+ });
311
+ }
312
+ return expose2;
313
+ }
314
+ var isWorkerRuntime = function isWorkerRuntime2() {
315
+ const isWindowContext = self !== void 0 && typeof Window !== "undefined" && self instanceof Window;
316
+ return self !== void 0 && self["postMessage"] && !isWindowContext ? true : false;
317
+ };
318
+ var postMessageToMaster = function postMessageToMaster2(data, transferList) {
319
+ self.postMessage(data, transferList);
320
+ };
321
+ var subscribeToMasterMessages = function subscribeToMasterMessages2(onMessage) {
322
+ const messageHandler = (messageEvent) => {
323
+ onMessage(messageEvent.data);
324
+ };
325
+ const unsubscribe = () => {
326
+ self.removeEventListener("message", messageHandler);
327
+ };
328
+ self.addEventListener("message", messageHandler);
329
+ return unsubscribe;
330
+ };
331
+ var addEventListener = self.addEventListener;
332
+ var postMessage = self.postMessage;
333
+ var removeEventListener = self.removeEventListener;
334
+ var expose = createExpose({
335
+ isWorkerRuntime,
336
+ postMessageToMaster,
337
+ subscribeToMasterMessages
338
+ }, {
339
+ addEventListener,
340
+ postMessage,
341
+ removeEventListener
342
+ });
2944
343
 
2945
344
  // ../../../../../../node_modules/.store/hash-wasm-npm-4.12.0-d6bb202626/package/dist/index.esm.js
2946
345
  function __awaiter(thisArg, _arguments, P, generator) {
@@ -3331,7 +730,7 @@
3331
730
  var mutex = new Mutex();
3332
731
 
3333
732
  // src/worker/wasmHash.ts
3334
- (0, import_threads.expose)({
733
+ expose({
3335
734
  async hash(data) {
3336
735
  return asHash(await sha256(data), true);
3337
736
  }