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