@byloth/core 2.0.0-rc.1 → 2.0.0-rc.10
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/core.js +1379 -894
- package/dist/core.js.map +1 -1
- package/dist/core.umd.cjs +3 -3
- package/dist/core.umd.cjs.map +1 -1
- package/package.json +8 -10
- package/src/helpers.ts +7 -0
- package/src/index.ts +19 -14
- package/src/models/aggregators/aggregated-async-iterator.ts +129 -81
- package/src/models/aggregators/aggregated-iterator.ts +128 -82
- package/src/models/aggregators/index.ts +1 -3
- package/src/models/aggregators/reduced-iterator.ts +118 -30
- package/src/models/aggregators/types.ts +15 -10
- package/src/models/callbacks/callable-object.ts +23 -0
- package/src/models/callbacks/index.ts +5 -0
- package/src/models/callbacks/publisher.ts +45 -0
- package/src/models/callbacks/switchable-callback.ts +108 -0
- package/src/models/callbacks/types.ts +1 -0
- package/src/models/exceptions/core.ts +3 -3
- package/src/models/exceptions/index.ts +13 -13
- package/src/models/game-loop.ts +9 -9
- package/src/models/index.ts +3 -6
- package/src/models/iterators/smart-async-iterator.ts +109 -23
- package/src/models/iterators/smart-iterator.ts +105 -12
- package/src/models/iterators/types.ts +17 -7
- package/src/models/json/json-storage.ts +2 -3
- package/src/models/json/types.ts +3 -1
- package/src/models/promises/deferred-promise.ts +1 -1
- package/src/models/promises/index.ts +3 -1
- package/src/models/promises/long-running-task.ts +294 -0
- package/src/models/promises/smart-promise.ts +6 -1
- package/src/models/promises/thenable.ts +97 -0
- package/src/models/promises/timed-promise.ts +1 -1
- package/src/models/promises/types.ts +2 -0
- package/src/models/timers/clock.ts +29 -7
- package/src/models/timers/countdown.ts +56 -20
- package/src/models/types.ts +12 -10
- package/src/utils/async.ts +9 -4
- package/src/utils/date.ts +3 -0
- package/src/utils/index.ts +1 -1
- package/src/utils/random.ts +4 -3
- package/src/models/aggregators/aggregator.ts +0 -46
- package/src/models/aggregators/async-aggregator.ts +0 -56
- package/src/models/publisher.ts +0 -39
package/dist/core.js
CHANGED
|
@@ -1,464 +1,415 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
var
|
|
4
|
-
const
|
|
5
|
-
var
|
|
6
|
-
const
|
|
7
|
-
var
|
|
8
|
-
const
|
|
9
|
-
|
|
1
|
+
var Ne = Object.defineProperty;
|
|
2
|
+
var Ye = (i, t, e) => t in i ? Ne(i, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : i[t] = e;
|
|
3
|
+
var a = (i, t, e) => Ye(i, typeof t != "symbol" ? t + "" : t, e);
|
|
4
|
+
const Oe = typeof window < "u" && typeof window.document < "u";
|
|
5
|
+
var O;
|
|
6
|
+
const Qe = typeof process < "u" && ((O = process.versions) == null ? void 0 : O.node);
|
|
7
|
+
var A;
|
|
8
|
+
const Xe = typeof self == "object" && ((A = self.constructor) == null ? void 0 : A.name) === "DedicatedWorkerGlobalScope";
|
|
9
|
+
var $, q;
|
|
10
|
+
class f extends (q = Error, $ = Symbol.toStringTag, q) {
|
|
11
|
+
constructor(e, n, s = "Exception") {
|
|
12
|
+
super(e);
|
|
13
|
+
a(this, $, "Exception");
|
|
14
|
+
this.cause = n, this.name = s, n && (n instanceof Error ? this.stack += `
|
|
15
|
+
|
|
16
|
+
Caused by ${n.stack}` : this.stack += `
|
|
17
|
+
|
|
18
|
+
Caused by ${n}`);
|
|
19
|
+
}
|
|
10
20
|
static FromUnknown(e) {
|
|
11
|
-
if (e instanceof
|
|
21
|
+
if (e instanceof f)
|
|
12
22
|
return e;
|
|
13
23
|
if (e instanceof Error) {
|
|
14
|
-
const
|
|
15
|
-
return
|
|
24
|
+
const n = new f(e.message);
|
|
25
|
+
return n.stack = e.stack, n.name = e.name, n;
|
|
16
26
|
}
|
|
17
|
-
return new
|
|
18
|
-
}
|
|
19
|
-
constructor(e, t, n = "Exception") {
|
|
20
|
-
super(e), this.cause = t, this.name = n, t && (t instanceof Error ? this.stack += `
|
|
21
|
-
|
|
22
|
-
Caused by ${t.stack}` : this.stack += `
|
|
23
|
-
|
|
24
|
-
Caused by ${t}`);
|
|
25
|
-
}
|
|
26
|
-
get [Symbol.toStringTag]() {
|
|
27
|
-
return "Exception";
|
|
27
|
+
return new f(`${e}`);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
30
|
+
var N, Y;
|
|
31
|
+
class k extends (Y = f, N = Symbol.toStringTag, Y) {
|
|
32
|
+
constructor(e, n, s = "FatalErrorException") {
|
|
33
|
+
e === void 0 && (e = "The program has encountered an unrecoverable error and cannot continue as expected. Please, try again later. If the problem persists, contact the support team.");
|
|
34
|
+
super(e, n, s);
|
|
35
|
+
a(this, N, "FatalErrorException");
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
38
|
+
var z, J;
|
|
39
|
+
class ze extends (J = k, z = Symbol.toStringTag, J) {
|
|
40
|
+
constructor(e, n, s = "NotImplementedException") {
|
|
41
|
+
e === void 0 && (e = "This feature is not implemented yet. Please, try again later.");
|
|
42
|
+
super(e, n, s);
|
|
43
|
+
a(this, z, "NotImplementedException");
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return "FileException";
|
|
46
|
+
var V, W;
|
|
47
|
+
class Ae extends (W = f, V = Symbol.toStringTag, W) {
|
|
48
|
+
constructor(e, n, s = "FileException") {
|
|
49
|
+
super(e, n, s);
|
|
50
|
+
a(this, V, "FileException");
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return "FileExistsException";
|
|
53
|
+
var B, G;
|
|
54
|
+
class Ze extends (G = Ae, B = Symbol.toStringTag, G) {
|
|
55
|
+
constructor(e, n, s = "FileExistsException") {
|
|
56
|
+
super(e, n, s);
|
|
57
|
+
a(this, B, "FileExistsException");
|
|
60
58
|
}
|
|
61
59
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return "FileNotFoundException";
|
|
60
|
+
var K, L;
|
|
61
|
+
class Ue extends (L = Ae, K = Symbol.toStringTag, L) {
|
|
62
|
+
constructor(e, n, s = "FileNotFoundException") {
|
|
63
|
+
super(e, n, s);
|
|
64
|
+
a(this, K, "FileNotFoundException");
|
|
68
65
|
}
|
|
69
66
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
return "KeyException";
|
|
67
|
+
var H, Q;
|
|
68
|
+
class x extends (Q = f, H = Symbol.toStringTag, Q) {
|
|
69
|
+
constructor(e, n, s = "KeyException") {
|
|
70
|
+
super(e, n, s);
|
|
71
|
+
a(this, H, "KeyException");
|
|
76
72
|
}
|
|
77
73
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
return "NetworkException";
|
|
74
|
+
var X, Z;
|
|
75
|
+
class et extends (Z = f, X = Symbol.toStringTag, Z) {
|
|
76
|
+
constructor(e, n, s = "NetworkException") {
|
|
77
|
+
super(e, n, s);
|
|
78
|
+
a(this, X, "NetworkException");
|
|
84
79
|
}
|
|
85
80
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
return "PermissionException";
|
|
81
|
+
var U, ee;
|
|
82
|
+
class tt extends (ee = f, U = Symbol.toStringTag, ee) {
|
|
83
|
+
constructor(e, n, s = "PermissionException") {
|
|
84
|
+
super(e, n, s);
|
|
85
|
+
a(this, U, "PermissionException");
|
|
92
86
|
}
|
|
93
87
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
return "ReferenceException";
|
|
88
|
+
var te, ne;
|
|
89
|
+
class Je extends (ne = f, te = Symbol.toStringTag, ne) {
|
|
90
|
+
constructor(e, n, s = "ReferenceException") {
|
|
91
|
+
super(e, n, s);
|
|
92
|
+
a(this, te, "ReferenceException");
|
|
100
93
|
}
|
|
101
94
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
return "RuntimeException";
|
|
95
|
+
var se, re;
|
|
96
|
+
class m extends (re = f, se = Symbol.toStringTag, re) {
|
|
97
|
+
constructor(e, n, s = "RuntimeException") {
|
|
98
|
+
super(e, n, s);
|
|
99
|
+
a(this, se, "RuntimeException");
|
|
108
100
|
}
|
|
109
101
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
return "EnvironmentException";
|
|
102
|
+
var ie, oe;
|
|
103
|
+
class Ve extends (oe = m, ie = Symbol.toStringTag, oe) {
|
|
104
|
+
constructor(e, n, s = "EnvironmentException") {
|
|
105
|
+
super(e, n, s);
|
|
106
|
+
a(this, ie, "EnvironmentException");
|
|
116
107
|
}
|
|
117
108
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
return "TimeoutException";
|
|
109
|
+
var ae, le;
|
|
110
|
+
class We extends (le = f, ae = Symbol.toStringTag, le) {
|
|
111
|
+
constructor(e, n, s = "TimeoutException") {
|
|
112
|
+
super(e, n, s);
|
|
113
|
+
a(this, ae, "TimeoutException");
|
|
124
114
|
}
|
|
125
115
|
}
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
return "TypeException";
|
|
116
|
+
var ue, ce;
|
|
117
|
+
class nt extends (ce = f, ue = Symbol.toStringTag, ce) {
|
|
118
|
+
constructor(e, n, s = "TypeException") {
|
|
119
|
+
super(e, n, s);
|
|
120
|
+
a(this, ue, "TypeException");
|
|
132
121
|
}
|
|
133
122
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
return "ValueException";
|
|
123
|
+
var he, fe;
|
|
124
|
+
class p extends (fe = f, he = Symbol.toStringTag, fe) {
|
|
125
|
+
constructor(e, n, s = "ValueException") {
|
|
126
|
+
super(e, n, s);
|
|
127
|
+
a(this, he, "ValueException");
|
|
140
128
|
}
|
|
141
129
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
return "RangeException";
|
|
130
|
+
var de, me;
|
|
131
|
+
class $e extends (me = p, de = Symbol.toStringTag, me) {
|
|
132
|
+
constructor(e, n, s = "RangeException") {
|
|
133
|
+
super(e, n, s);
|
|
134
|
+
a(this, de, "RangeException");
|
|
148
135
|
}
|
|
149
136
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
137
|
+
var _e;
|
|
138
|
+
class c {
|
|
139
|
+
constructor(t) {
|
|
140
|
+
a(this, "_iterator");
|
|
141
|
+
a(this, "return");
|
|
142
|
+
a(this, "throw");
|
|
143
|
+
a(this, _e, "SmartIterator");
|
|
144
|
+
t instanceof Function ? this._iterator = t() : Symbol.iterator in t ? this._iterator = t[Symbol.iterator]() : this._iterator = t, this._iterator.return && (this.return = (e) => this._iterator.return(e)), this._iterator.throw && (this.throw = (e) => this._iterator.throw(e));
|
|
145
|
+
}
|
|
146
|
+
every(t) {
|
|
147
|
+
let e = 0;
|
|
159
148
|
for (; ; ) {
|
|
160
149
|
const n = this._iterator.next();
|
|
161
150
|
if (n.done)
|
|
162
151
|
return !0;
|
|
163
|
-
if (!
|
|
152
|
+
if (!t(n.value, e))
|
|
164
153
|
return !1;
|
|
165
|
-
|
|
154
|
+
e += 1;
|
|
166
155
|
}
|
|
167
156
|
}
|
|
168
|
-
some(
|
|
169
|
-
let
|
|
157
|
+
some(t) {
|
|
158
|
+
let e = 0;
|
|
170
159
|
for (; ; ) {
|
|
171
160
|
const n = this._iterator.next();
|
|
172
161
|
if (n.done)
|
|
173
162
|
return !1;
|
|
174
|
-
if (
|
|
163
|
+
if (t(n.value, e))
|
|
175
164
|
return !0;
|
|
176
|
-
|
|
165
|
+
e += 1;
|
|
177
166
|
}
|
|
178
167
|
}
|
|
179
|
-
filter(
|
|
180
|
-
const
|
|
181
|
-
return new
|
|
168
|
+
filter(t) {
|
|
169
|
+
const e = this._iterator;
|
|
170
|
+
return new c(function* () {
|
|
182
171
|
let n = 0;
|
|
183
172
|
for (; ; ) {
|
|
184
|
-
const
|
|
185
|
-
if (
|
|
186
|
-
return
|
|
187
|
-
|
|
173
|
+
const s = e.next();
|
|
174
|
+
if (s.done)
|
|
175
|
+
return s.value;
|
|
176
|
+
t(s.value, n) && (yield s.value), n += 1;
|
|
188
177
|
}
|
|
189
178
|
});
|
|
190
179
|
}
|
|
191
|
-
map(
|
|
192
|
-
const
|
|
193
|
-
return new
|
|
180
|
+
map(t) {
|
|
181
|
+
const e = this._iterator;
|
|
182
|
+
return new c(function* () {
|
|
194
183
|
let n = 0;
|
|
195
184
|
for (; ; ) {
|
|
196
|
-
const
|
|
197
|
-
if (
|
|
198
|
-
return
|
|
199
|
-
yield
|
|
185
|
+
const s = e.next();
|
|
186
|
+
if (s.done)
|
|
187
|
+
return s.value;
|
|
188
|
+
yield t(s.value, n), n += 1;
|
|
200
189
|
}
|
|
201
190
|
});
|
|
202
191
|
}
|
|
203
|
-
reduce(
|
|
204
|
-
let n = 0,
|
|
205
|
-
if (
|
|
206
|
-
const
|
|
207
|
-
if (
|
|
208
|
-
throw new
|
|
209
|
-
|
|
192
|
+
reduce(t, e) {
|
|
193
|
+
let n = 0, s = e;
|
|
194
|
+
if (s === void 0) {
|
|
195
|
+
const r = this._iterator.next();
|
|
196
|
+
if (r.done)
|
|
197
|
+
throw new p("Cannot reduce an empty iterator without an initial value.");
|
|
198
|
+
s = r.value, n += 1;
|
|
210
199
|
}
|
|
211
200
|
for (; ; ) {
|
|
212
|
-
const
|
|
213
|
-
if (
|
|
214
|
-
return
|
|
215
|
-
|
|
201
|
+
const r = this._iterator.next();
|
|
202
|
+
if (r.done)
|
|
203
|
+
return s;
|
|
204
|
+
s = t(s, r.value, n), n += 1;
|
|
216
205
|
}
|
|
217
206
|
}
|
|
218
|
-
|
|
219
|
-
return this.map((e, t) => [t, e]);
|
|
220
|
-
}
|
|
221
|
-
unique() {
|
|
207
|
+
flatMap(t) {
|
|
222
208
|
const e = this._iterator;
|
|
223
|
-
return new
|
|
224
|
-
|
|
209
|
+
return new c(function* () {
|
|
210
|
+
let n = 0;
|
|
225
211
|
for (; ; ) {
|
|
226
|
-
const
|
|
227
|
-
if (
|
|
228
|
-
return
|
|
229
|
-
|
|
212
|
+
const s = e.next();
|
|
213
|
+
if (s.done)
|
|
214
|
+
return s.value;
|
|
215
|
+
const r = t(s.value, n);
|
|
216
|
+
for (const o of r)
|
|
217
|
+
yield o;
|
|
218
|
+
n += 1;
|
|
230
219
|
}
|
|
231
220
|
});
|
|
232
221
|
}
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
if (this._iterator.next().done)
|
|
237
|
-
return e;
|
|
238
|
-
e += 1;
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
forEach(e) {
|
|
242
|
-
let t = 0;
|
|
243
|
-
for (; ; ) {
|
|
244
|
-
const n = this._iterator.next();
|
|
245
|
-
if (n.done)
|
|
246
|
-
return;
|
|
247
|
-
e(n.value, t), t += 1;
|
|
248
|
-
}
|
|
249
|
-
}
|
|
250
|
-
next(...e) {
|
|
251
|
-
return this._iterator.next(...e);
|
|
252
|
-
}
|
|
253
|
-
toArray() {
|
|
254
|
-
return Array.from(this);
|
|
255
|
-
}
|
|
256
|
-
get [Symbol.toStringTag]() {
|
|
257
|
-
return "SmartIterator";
|
|
258
|
-
}
|
|
259
|
-
[Symbol.iterator]() {
|
|
260
|
-
return this;
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
class d {
|
|
264
|
-
constructor(e) {
|
|
265
|
-
u(this, "_iterator");
|
|
266
|
-
u(this, "return");
|
|
267
|
-
u(this, "throw");
|
|
268
|
-
if (e instanceof Function) {
|
|
269
|
-
const t = e();
|
|
270
|
-
Symbol.asyncIterator in t ? this._iterator = t : this._iterator = async function* () {
|
|
271
|
-
let n = [];
|
|
272
|
-
for (; ; ) {
|
|
273
|
-
const r = t.next(...n);
|
|
274
|
-
if (r.done)
|
|
275
|
-
return r.value;
|
|
276
|
-
n = [yield r.value];
|
|
277
|
-
}
|
|
278
|
-
}();
|
|
279
|
-
} else if (Symbol.asyncIterator in e)
|
|
280
|
-
this._iterator = e[Symbol.asyncIterator]();
|
|
281
|
-
else if (Symbol.iterator in e) {
|
|
282
|
-
const t = e[Symbol.iterator]();
|
|
283
|
-
this._iterator = async function* () {
|
|
284
|
-
for (; ; ) {
|
|
285
|
-
const n = t.next();
|
|
286
|
-
if (n.done)
|
|
287
|
-
return n.value;
|
|
288
|
-
yield n.value;
|
|
289
|
-
}
|
|
290
|
-
}();
|
|
291
|
-
} else
|
|
292
|
-
this._iterator = async function* () {
|
|
293
|
-
let t = [];
|
|
294
|
-
for (; ; ) {
|
|
295
|
-
const n = await e.next(...t);
|
|
296
|
-
if (n.done)
|
|
297
|
-
return n.value;
|
|
298
|
-
t = [yield n.value];
|
|
299
|
-
}
|
|
300
|
-
}();
|
|
301
|
-
this._iterator.return && (this.return = (t) => this._iterator.return(t)), this._iterator.throw && (this.throw = (t) => this._iterator.throw(t));
|
|
302
|
-
}
|
|
303
|
-
async every(e) {
|
|
304
|
-
let t = 0;
|
|
305
|
-
for (; ; ) {
|
|
306
|
-
const n = await this._iterator.next();
|
|
307
|
-
if (n.done)
|
|
308
|
-
return !0;
|
|
309
|
-
if (!e(n.value, t))
|
|
310
|
-
return !1;
|
|
311
|
-
t += 1;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
async some(e) {
|
|
315
|
-
let t = 0;
|
|
316
|
-
for (; ; ) {
|
|
317
|
-
const n = await this._iterator.next();
|
|
318
|
-
if (n.done)
|
|
319
|
-
return !1;
|
|
320
|
-
if (e(n.value, t))
|
|
321
|
-
return !0;
|
|
322
|
-
t += 1;
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
filter(e) {
|
|
326
|
-
const t = this._iterator;
|
|
327
|
-
return new d(async function* () {
|
|
222
|
+
drop(t) {
|
|
223
|
+
const e = this._iterator;
|
|
224
|
+
return new c(function* () {
|
|
328
225
|
let n = 0;
|
|
226
|
+
for (; n < t; ) {
|
|
227
|
+
if (e.next().done)
|
|
228
|
+
return;
|
|
229
|
+
n += 1;
|
|
230
|
+
}
|
|
329
231
|
for (; ; ) {
|
|
330
|
-
const
|
|
331
|
-
if (
|
|
332
|
-
return
|
|
333
|
-
|
|
232
|
+
const s = e.next();
|
|
233
|
+
if (s.done)
|
|
234
|
+
return s.value;
|
|
235
|
+
yield s.value;
|
|
334
236
|
}
|
|
335
237
|
});
|
|
336
238
|
}
|
|
337
|
-
|
|
338
|
-
const
|
|
339
|
-
return new
|
|
239
|
+
take(t) {
|
|
240
|
+
const e = this._iterator;
|
|
241
|
+
return new c(function* () {
|
|
340
242
|
let n = 0;
|
|
341
|
-
for (; ; ) {
|
|
342
|
-
const
|
|
343
|
-
if (
|
|
344
|
-
return
|
|
345
|
-
yield
|
|
243
|
+
for (; n < t; ) {
|
|
244
|
+
const s = e.next();
|
|
245
|
+
if (s.done)
|
|
246
|
+
return s.value;
|
|
247
|
+
yield s.value, n += 1;
|
|
346
248
|
}
|
|
347
249
|
});
|
|
348
250
|
}
|
|
349
|
-
|
|
350
|
-
let
|
|
351
|
-
if (r === void 0) {
|
|
352
|
-
const i = await this._iterator.next();
|
|
353
|
-
if (i.done)
|
|
354
|
-
throw new f("Cannot reduce an empty iterator without an initial value.");
|
|
355
|
-
r = i.value, n += 1;
|
|
356
|
-
}
|
|
251
|
+
find(t) {
|
|
252
|
+
let e = 0;
|
|
357
253
|
for (; ; ) {
|
|
358
|
-
const
|
|
359
|
-
if (
|
|
360
|
-
return
|
|
361
|
-
|
|
254
|
+
const n = this._iterator.next();
|
|
255
|
+
if (n.done)
|
|
256
|
+
return;
|
|
257
|
+
if (t(n.value, e))
|
|
258
|
+
return n.value;
|
|
259
|
+
e += 1;
|
|
362
260
|
}
|
|
363
261
|
}
|
|
364
262
|
enumerate() {
|
|
365
|
-
return this.map((
|
|
263
|
+
return this.map((t, e) => [e, t]);
|
|
366
264
|
}
|
|
367
265
|
unique() {
|
|
368
|
-
const
|
|
369
|
-
return new
|
|
370
|
-
const
|
|
266
|
+
const t = this._iterator;
|
|
267
|
+
return new c(function* () {
|
|
268
|
+
const e = /* @__PURE__ */ new Set();
|
|
371
269
|
for (; ; ) {
|
|
372
|
-
const n =
|
|
270
|
+
const n = t.next();
|
|
373
271
|
if (n.done)
|
|
374
272
|
return n.value;
|
|
375
|
-
|
|
273
|
+
e.has(n.value) || (e.add(n.value), yield n.value);
|
|
376
274
|
}
|
|
377
275
|
});
|
|
378
276
|
}
|
|
379
|
-
|
|
380
|
-
let
|
|
277
|
+
count() {
|
|
278
|
+
let t = 0;
|
|
381
279
|
for (; ; ) {
|
|
382
|
-
if (
|
|
383
|
-
return
|
|
384
|
-
|
|
280
|
+
if (this._iterator.next().done)
|
|
281
|
+
return t;
|
|
282
|
+
t += 1;
|
|
385
283
|
}
|
|
386
284
|
}
|
|
387
|
-
|
|
388
|
-
let
|
|
285
|
+
forEach(t) {
|
|
286
|
+
let e = 0;
|
|
389
287
|
for (; ; ) {
|
|
390
|
-
const n =
|
|
288
|
+
const n = this._iterator.next();
|
|
391
289
|
if (n.done)
|
|
392
290
|
return;
|
|
393
|
-
|
|
291
|
+
t(n.value, e), e += 1;
|
|
394
292
|
}
|
|
395
293
|
}
|
|
396
|
-
next(...
|
|
397
|
-
return this._iterator.next(...
|
|
294
|
+
next(...t) {
|
|
295
|
+
return this._iterator.next(...t);
|
|
398
296
|
}
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
for (; ; ) {
|
|
402
|
-
const t = await this._iterator.next();
|
|
403
|
-
if (t.done)
|
|
404
|
-
return e;
|
|
405
|
-
e.push(t.value);
|
|
406
|
-
}
|
|
297
|
+
groupBy(t) {
|
|
298
|
+
return new S(this.map((e, n) => [t(e, n), e]));
|
|
407
299
|
}
|
|
408
|
-
|
|
409
|
-
return
|
|
300
|
+
toArray() {
|
|
301
|
+
return Array.from(this);
|
|
410
302
|
}
|
|
411
|
-
[Symbol.
|
|
303
|
+
[(_e = Symbol.toStringTag, Symbol.iterator)]() {
|
|
412
304
|
return this;
|
|
413
305
|
}
|
|
414
306
|
}
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
307
|
+
var we;
|
|
308
|
+
we = Symbol.toStringTag;
|
|
309
|
+
const b = class b {
|
|
310
|
+
constructor(t) {
|
|
311
|
+
a(this, "_elements");
|
|
312
|
+
a(this, we, "ReducedIterator");
|
|
313
|
+
this._elements = new c(t);
|
|
314
|
+
}
|
|
315
|
+
every(t) {
|
|
316
|
+
for (const [e, [n, s]] of this._elements.enumerate())
|
|
317
|
+
if (!t(n, s, e))
|
|
318
|
+
return !1;
|
|
319
|
+
return !0;
|
|
419
320
|
}
|
|
420
|
-
|
|
421
|
-
const
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
321
|
+
some(t) {
|
|
322
|
+
for (const [e, [n, s]] of this._elements.enumerate())
|
|
323
|
+
if (t(n, s, e))
|
|
324
|
+
return !0;
|
|
325
|
+
return !1;
|
|
326
|
+
}
|
|
327
|
+
filter(t) {
|
|
328
|
+
const e = this._elements.enumerate();
|
|
329
|
+
return new b(function* () {
|
|
330
|
+
for (const [n, [s, r]] of e)
|
|
331
|
+
t(s, r, n) && (yield [s, r]);
|
|
425
332
|
});
|
|
426
333
|
}
|
|
427
|
-
map(
|
|
428
|
-
const
|
|
429
|
-
return new
|
|
430
|
-
for (const [n, [
|
|
431
|
-
yield [
|
|
334
|
+
map(t) {
|
|
335
|
+
const e = this._elements.enumerate();
|
|
336
|
+
return new b(function* () {
|
|
337
|
+
for (const [n, [s, r]] of e)
|
|
338
|
+
yield [s, t(s, r, n)];
|
|
432
339
|
});
|
|
433
340
|
}
|
|
434
|
-
reduce(
|
|
435
|
-
let n = 0,
|
|
436
|
-
if (
|
|
437
|
-
r =
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
throw new f("Cannot reduce an empty iterator without an initial value.");
|
|
442
|
-
n += 1, r = i.value[1];
|
|
341
|
+
reduce(t, e) {
|
|
342
|
+
let n = 0, s = e;
|
|
343
|
+
if (s === void 0) {
|
|
344
|
+
const r = this._elements.next();
|
|
345
|
+
if (r.done)
|
|
346
|
+
throw new p("Cannot reduce an empty iterator without an initial value.");
|
|
347
|
+
s = r.value[1], n += 1;
|
|
443
348
|
}
|
|
444
|
-
for (const [
|
|
445
|
-
|
|
446
|
-
return
|
|
349
|
+
for (const [r, o] of this._elements)
|
|
350
|
+
s = t(r, s, o, n), n += 1;
|
|
351
|
+
return s;
|
|
352
|
+
}
|
|
353
|
+
flatMap(t) {
|
|
354
|
+
const e = this._elements.enumerate();
|
|
355
|
+
return new S(function* () {
|
|
356
|
+
for (const [n, [s, r]] of e)
|
|
357
|
+
for (const o of t(s, r, n))
|
|
358
|
+
yield [s, o];
|
|
359
|
+
});
|
|
360
|
+
}
|
|
361
|
+
drop(t) {
|
|
362
|
+
const e = this._elements.enumerate();
|
|
363
|
+
return new b(function* () {
|
|
364
|
+
for (const [n, [s, r]] of e)
|
|
365
|
+
n >= t && (yield [s, r]);
|
|
366
|
+
});
|
|
367
|
+
}
|
|
368
|
+
take(t) {
|
|
369
|
+
const e = this._elements.enumerate();
|
|
370
|
+
return new b(function* () {
|
|
371
|
+
for (const [n, [s, r]] of e) {
|
|
372
|
+
if (n >= t)
|
|
373
|
+
break;
|
|
374
|
+
yield [s, r];
|
|
375
|
+
}
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
enumerate() {
|
|
379
|
+
return this.map((t, e, n) => [n, e]);
|
|
380
|
+
}
|
|
381
|
+
unique() {
|
|
382
|
+
const t = this._elements;
|
|
383
|
+
return new b(function* () {
|
|
384
|
+
const e = /* @__PURE__ */ new Set();
|
|
385
|
+
for (const [n, s] of t)
|
|
386
|
+
e.has(s) || (e.add(s), yield [n, s]);
|
|
387
|
+
});
|
|
388
|
+
}
|
|
389
|
+
count() {
|
|
390
|
+
let t = 0;
|
|
391
|
+
for (const e of this._elements)
|
|
392
|
+
t += 1;
|
|
393
|
+
return t;
|
|
394
|
+
}
|
|
395
|
+
forEach(t) {
|
|
396
|
+
for (const [e, [n, s]] of this._elements.enumerate())
|
|
397
|
+
t(n, s, e);
|
|
447
398
|
}
|
|
448
399
|
keys() {
|
|
449
|
-
const
|
|
450
|
-
return new
|
|
451
|
-
for (const [
|
|
452
|
-
yield
|
|
400
|
+
const t = this._elements;
|
|
401
|
+
return new c(function* () {
|
|
402
|
+
for (const [e] of t)
|
|
403
|
+
yield e;
|
|
453
404
|
});
|
|
454
405
|
}
|
|
455
406
|
items() {
|
|
456
407
|
return this._elements;
|
|
457
408
|
}
|
|
458
409
|
values() {
|
|
459
|
-
const
|
|
460
|
-
return new
|
|
461
|
-
for (const [
|
|
410
|
+
const t = this._elements;
|
|
411
|
+
return new c(function* () {
|
|
412
|
+
for (const [e, n] of t)
|
|
462
413
|
yield n;
|
|
463
414
|
});
|
|
464
415
|
}
|
|
@@ -471,374 +422,683 @@ class l {
|
|
|
471
422
|
toObject() {
|
|
472
423
|
return Object.fromEntries(this.items());
|
|
473
424
|
}
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
class
|
|
479
|
-
constructor(
|
|
480
|
-
|
|
481
|
-
this
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
425
|
+
};
|
|
426
|
+
let d = b;
|
|
427
|
+
var pe;
|
|
428
|
+
pe = Symbol.toStringTag;
|
|
429
|
+
const y = class y {
|
|
430
|
+
constructor(t) {
|
|
431
|
+
a(this, "_elements");
|
|
432
|
+
a(this, pe, "AggregatedAsyncIterator");
|
|
433
|
+
this._elements = new w(t);
|
|
434
|
+
}
|
|
435
|
+
async every(t) {
|
|
436
|
+
const e = /* @__PURE__ */ new Map();
|
|
437
|
+
for await (const [n, s] of this._elements) {
|
|
438
|
+
const [r, o] = e.get(n) ?? [0, !0];
|
|
439
|
+
o && e.set(n, [r + 1, await t(n, s, r)]);
|
|
488
440
|
}
|
|
489
|
-
return new
|
|
490
|
-
for (const [n, [
|
|
491
|
-
yield [n,
|
|
441
|
+
return new d(function* () {
|
|
442
|
+
for (const [n, [s, r]] of e)
|
|
443
|
+
yield [n, r];
|
|
492
444
|
});
|
|
493
445
|
}
|
|
494
|
-
some(
|
|
495
|
-
const
|
|
496
|
-
for (const [n,
|
|
497
|
-
const [
|
|
498
|
-
o ||
|
|
446
|
+
async some(t) {
|
|
447
|
+
const e = /* @__PURE__ */ new Map();
|
|
448
|
+
for await (const [n, s] of this._elements) {
|
|
449
|
+
const [r, o] = e.get(n) ?? [0, !1];
|
|
450
|
+
o || e.set(n, [r + 1, await t(n, s, r)]);
|
|
499
451
|
}
|
|
500
|
-
return new
|
|
501
|
-
for (const [n, [
|
|
502
|
-
yield [n,
|
|
452
|
+
return new d(function* () {
|
|
453
|
+
for (const [n, [s, r]] of e)
|
|
454
|
+
yield [n, r];
|
|
503
455
|
});
|
|
504
456
|
}
|
|
505
|
-
filter(
|
|
506
|
-
const
|
|
507
|
-
return new
|
|
457
|
+
filter(t) {
|
|
458
|
+
const e = this._elements;
|
|
459
|
+
return new y(async function* () {
|
|
508
460
|
const n = /* @__PURE__ */ new Map();
|
|
509
|
-
for (const [
|
|
510
|
-
const o = n.get(
|
|
511
|
-
|
|
461
|
+
for await (const [s, r] of e) {
|
|
462
|
+
const o = n.get(s) ?? 0;
|
|
463
|
+
await t(s, r, o) && (yield [s, r]), n.set(s, o + 1);
|
|
512
464
|
}
|
|
513
465
|
});
|
|
514
466
|
}
|
|
515
|
-
map(
|
|
516
|
-
const
|
|
517
|
-
return new
|
|
467
|
+
map(t) {
|
|
468
|
+
const e = this._elements;
|
|
469
|
+
return new y(async function* () {
|
|
518
470
|
const n = /* @__PURE__ */ new Map();
|
|
519
|
-
for (const [
|
|
520
|
-
const o = n.get(
|
|
521
|
-
|
|
471
|
+
for await (const [s, r] of e) {
|
|
472
|
+
const o = n.get(s) ?? 0;
|
|
473
|
+
yield [s, await t(s, r, o)], n.set(s, o + 1);
|
|
522
474
|
}
|
|
523
475
|
});
|
|
524
476
|
}
|
|
525
|
-
reduce(
|
|
477
|
+
async reduce(t, e) {
|
|
526
478
|
const n = /* @__PURE__ */ new Map();
|
|
527
|
-
for (const [
|
|
528
|
-
let o,
|
|
529
|
-
if (n.has(
|
|
530
|
-
[o,
|
|
531
|
-
else if (
|
|
532
|
-
o = 0,
|
|
479
|
+
for await (const [s, r] of this._elements) {
|
|
480
|
+
let o, l;
|
|
481
|
+
if (n.has(s))
|
|
482
|
+
[o, l] = n.get(s);
|
|
483
|
+
else if (e !== void 0)
|
|
484
|
+
o = 0, l = await e(s);
|
|
533
485
|
else {
|
|
534
|
-
n.set(
|
|
486
|
+
n.set(s, [0, r]);
|
|
535
487
|
continue;
|
|
536
488
|
}
|
|
537
|
-
|
|
489
|
+
n.set(s, [o + 1, await t(s, l, r, o)]);
|
|
538
490
|
}
|
|
539
|
-
return new
|
|
540
|
-
for (const [
|
|
541
|
-
yield [
|
|
491
|
+
return new d(function* () {
|
|
492
|
+
for (const [s, [r, o]] of n)
|
|
493
|
+
yield [s, o];
|
|
542
494
|
});
|
|
543
495
|
}
|
|
544
|
-
|
|
496
|
+
flatMap(t) {
|
|
545
497
|
const e = this._elements;
|
|
546
|
-
return new
|
|
547
|
-
const
|
|
548
|
-
for (const [
|
|
549
|
-
const
|
|
550
|
-
|
|
498
|
+
return new y(async function* () {
|
|
499
|
+
const n = /* @__PURE__ */ new Map();
|
|
500
|
+
for await (const [s, r] of e) {
|
|
501
|
+
const o = n.get(s) ?? 0, l = await t(s, r, o);
|
|
502
|
+
for await (const u of l)
|
|
503
|
+
yield [s, u];
|
|
504
|
+
n.set(s, o + 1);
|
|
551
505
|
}
|
|
552
506
|
});
|
|
553
507
|
}
|
|
554
|
-
|
|
508
|
+
drop(t) {
|
|
509
|
+
const e = this._elements;
|
|
510
|
+
return new y(async function* () {
|
|
511
|
+
const n = /* @__PURE__ */ new Map();
|
|
512
|
+
for await (const [s, r] of e) {
|
|
513
|
+
const o = n.get(s) ?? 0;
|
|
514
|
+
if (o < t) {
|
|
515
|
+
n.set(s, o + 1);
|
|
516
|
+
continue;
|
|
517
|
+
}
|
|
518
|
+
yield [s, r];
|
|
519
|
+
}
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
take(t) {
|
|
523
|
+
const e = this._elements;
|
|
524
|
+
return new y(async function* () {
|
|
525
|
+
const n = /* @__PURE__ */ new Map();
|
|
526
|
+
for await (const [s, r] of e) {
|
|
527
|
+
const o = n.get(s) ?? 0;
|
|
528
|
+
o >= t || (yield [s, r], n.set(s, o + 1));
|
|
529
|
+
}
|
|
530
|
+
});
|
|
531
|
+
}
|
|
532
|
+
async find(t) {
|
|
555
533
|
const e = /* @__PURE__ */ new Map();
|
|
556
|
-
for (const [
|
|
557
|
-
|
|
558
|
-
e.set(
|
|
534
|
+
for await (const [n, s] of this._elements) {
|
|
535
|
+
let [r, o] = e.get(n) ?? [0, void 0];
|
|
536
|
+
o === void 0 && (await t(n, s, r) && (o = s), e.set(n, [r + 1, o]));
|
|
559
537
|
}
|
|
560
|
-
return new
|
|
561
|
-
for (const [
|
|
562
|
-
yield [
|
|
538
|
+
return new d(function* () {
|
|
539
|
+
for (const [n, [s, r]] of e)
|
|
540
|
+
yield [n, r];
|
|
563
541
|
});
|
|
564
542
|
}
|
|
565
|
-
|
|
566
|
-
const
|
|
567
|
-
|
|
568
|
-
e
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
yield [
|
|
543
|
+
unique() {
|
|
544
|
+
const t = this._elements;
|
|
545
|
+
return new y(async function* () {
|
|
546
|
+
const e = /* @__PURE__ */ new Map();
|
|
547
|
+
for await (const [n, s] of t) {
|
|
548
|
+
const r = e.get(n) ?? /* @__PURE__ */ new Set();
|
|
549
|
+
r.has(s) || (r.add(s), e.set(n, r), yield [n, s]);
|
|
550
|
+
}
|
|
572
551
|
});
|
|
573
552
|
}
|
|
574
|
-
|
|
575
|
-
const
|
|
576
|
-
for (const [
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
553
|
+
async count() {
|
|
554
|
+
const t = /* @__PURE__ */ new Map();
|
|
555
|
+
for await (const [e] of this._elements) {
|
|
556
|
+
const n = t.get(e) ?? 0;
|
|
557
|
+
t.set(e, n + 1);
|
|
558
|
+
}
|
|
559
|
+
return new d(function* () {
|
|
560
|
+
for (const [e, n] of t)
|
|
561
|
+
yield [e, n];
|
|
581
562
|
});
|
|
582
563
|
}
|
|
564
|
+
async forEach(t) {
|
|
565
|
+
const e = /* @__PURE__ */ new Map();
|
|
566
|
+
for await (const [n, s] of this._elements) {
|
|
567
|
+
const r = e.get(n) ?? 0;
|
|
568
|
+
t(n, s, r), e.set(n, r + 1);
|
|
569
|
+
}
|
|
570
|
+
}
|
|
583
571
|
keys() {
|
|
584
|
-
const
|
|
585
|
-
return new
|
|
586
|
-
const
|
|
587
|
-
for (const [n] of
|
|
588
|
-
|
|
572
|
+
const t = this._elements;
|
|
573
|
+
return new w(async function* () {
|
|
574
|
+
const e = /* @__PURE__ */ new Set();
|
|
575
|
+
for await (const [n] of t)
|
|
576
|
+
e.has(n) || (e.add(n), yield n);
|
|
589
577
|
});
|
|
590
578
|
}
|
|
591
579
|
items() {
|
|
592
580
|
return this._elements;
|
|
593
581
|
}
|
|
594
582
|
values() {
|
|
595
|
-
const
|
|
596
|
-
return new
|
|
597
|
-
for (const [
|
|
583
|
+
const t = this._elements;
|
|
584
|
+
return new w(async function* () {
|
|
585
|
+
for await (const [e, n] of t)
|
|
598
586
|
yield n;
|
|
599
587
|
});
|
|
600
588
|
}
|
|
601
|
-
toArray() {
|
|
602
|
-
|
|
589
|
+
async toArray() {
|
|
590
|
+
const t = await this.toMap();
|
|
591
|
+
return Array.from(t.values());
|
|
603
592
|
}
|
|
604
|
-
toMap() {
|
|
605
|
-
const
|
|
606
|
-
for (const [
|
|
607
|
-
const
|
|
608
|
-
|
|
593
|
+
async toMap() {
|
|
594
|
+
const t = /* @__PURE__ */ new Map();
|
|
595
|
+
for await (const [e, n] of this._elements) {
|
|
596
|
+
const s = t.get(e) ?? [];
|
|
597
|
+
s.push(n), t.set(e, s);
|
|
609
598
|
}
|
|
610
|
-
return
|
|
599
|
+
return t;
|
|
611
600
|
}
|
|
612
|
-
toObject() {
|
|
613
|
-
const
|
|
614
|
-
for (const [
|
|
615
|
-
const
|
|
616
|
-
|
|
601
|
+
async toObject() {
|
|
602
|
+
const t = {};
|
|
603
|
+
for await (const [e, n] of this._elements) {
|
|
604
|
+
const s = t[e] ?? [];
|
|
605
|
+
s.push(n), t[e] = s;
|
|
617
606
|
}
|
|
618
|
-
return
|
|
607
|
+
return t;
|
|
619
608
|
}
|
|
620
|
-
|
|
621
|
-
|
|
609
|
+
};
|
|
610
|
+
let E = y;
|
|
611
|
+
var ye;
|
|
612
|
+
class w {
|
|
613
|
+
constructor(t) {
|
|
614
|
+
a(this, "_iterator");
|
|
615
|
+
a(this, "return");
|
|
616
|
+
a(this, "throw");
|
|
617
|
+
a(this, ye, "SmartAsyncIterator");
|
|
618
|
+
if (t instanceof Function) {
|
|
619
|
+
const e = t();
|
|
620
|
+
Symbol.asyncIterator in e ? this._iterator = e : this._iterator = async function* () {
|
|
621
|
+
let n = [];
|
|
622
|
+
for (; ; ) {
|
|
623
|
+
const s = e.next(...n);
|
|
624
|
+
if (s.done)
|
|
625
|
+
return s.value;
|
|
626
|
+
n = [yield s.value];
|
|
627
|
+
}
|
|
628
|
+
}();
|
|
629
|
+
} else if (Symbol.asyncIterator in t)
|
|
630
|
+
this._iterator = t[Symbol.asyncIterator]();
|
|
631
|
+
else if (Symbol.iterator in t) {
|
|
632
|
+
const e = t[Symbol.iterator]();
|
|
633
|
+
this._iterator = async function* () {
|
|
634
|
+
for (; ; ) {
|
|
635
|
+
const n = e.next();
|
|
636
|
+
if (n.done)
|
|
637
|
+
return n.value;
|
|
638
|
+
yield n.value;
|
|
639
|
+
}
|
|
640
|
+
}();
|
|
641
|
+
} else
|
|
642
|
+
this._iterator = async function* () {
|
|
643
|
+
let e = [];
|
|
644
|
+
for (; ; ) {
|
|
645
|
+
const n = await t.next(...e);
|
|
646
|
+
if (n.done)
|
|
647
|
+
return n.value;
|
|
648
|
+
e = [yield n.value];
|
|
649
|
+
}
|
|
650
|
+
}();
|
|
651
|
+
this._iterator.return && (this.return = (e) => this._iterator.return(e)), this._iterator.throw && (this.throw = (e) => this._iterator.throw(e));
|
|
622
652
|
}
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
653
|
+
async every(t) {
|
|
654
|
+
let e = 0;
|
|
655
|
+
for (; ; ) {
|
|
656
|
+
const n = await this._iterator.next();
|
|
657
|
+
if (n.done)
|
|
658
|
+
return !0;
|
|
659
|
+
if (!await t(n.value, e))
|
|
660
|
+
return !1;
|
|
661
|
+
e += 1;
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
async some(t) {
|
|
665
|
+
let e = 0;
|
|
666
|
+
for (; ; ) {
|
|
667
|
+
const n = await this._iterator.next();
|
|
668
|
+
if (n.done)
|
|
669
|
+
return !1;
|
|
670
|
+
if (await t(n.value, e))
|
|
671
|
+
return !0;
|
|
672
|
+
e += 1;
|
|
673
|
+
}
|
|
628
674
|
}
|
|
629
|
-
filter(
|
|
630
|
-
|
|
675
|
+
filter(t) {
|
|
676
|
+
const e = this._iterator;
|
|
677
|
+
return new w(async function* () {
|
|
678
|
+
let n = 0;
|
|
679
|
+
for (; ; ) {
|
|
680
|
+
const s = await e.next();
|
|
681
|
+
if (s.done)
|
|
682
|
+
return s.value;
|
|
683
|
+
await t(s.value, n) && (yield s.value), n += 1;
|
|
684
|
+
}
|
|
685
|
+
});
|
|
631
686
|
}
|
|
632
|
-
map(
|
|
633
|
-
|
|
687
|
+
map(t) {
|
|
688
|
+
const e = this._iterator;
|
|
689
|
+
return new w(async function* () {
|
|
690
|
+
let n = 0;
|
|
691
|
+
for (; ; ) {
|
|
692
|
+
const s = await e.next();
|
|
693
|
+
if (s.done)
|
|
694
|
+
return s.value;
|
|
695
|
+
yield await t(s.value, n), n += 1;
|
|
696
|
+
}
|
|
697
|
+
});
|
|
698
|
+
}
|
|
699
|
+
async reduce(t, e) {
|
|
700
|
+
let n = 0, s = e;
|
|
701
|
+
if (s === void 0) {
|
|
702
|
+
const r = await this._iterator.next();
|
|
703
|
+
if (r.done)
|
|
704
|
+
throw new p("Cannot reduce an empty iterator without an initial value.");
|
|
705
|
+
s = r.value, n += 1;
|
|
706
|
+
}
|
|
707
|
+
for (; ; ) {
|
|
708
|
+
const r = await this._iterator.next();
|
|
709
|
+
if (r.done)
|
|
710
|
+
return s;
|
|
711
|
+
s = await t(s, r.value, n), n += 1;
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
flatMap(t) {
|
|
715
|
+
const e = this._iterator;
|
|
716
|
+
return new w(async function* () {
|
|
717
|
+
let n = 0;
|
|
718
|
+
for (; ; ) {
|
|
719
|
+
const s = await e.next();
|
|
720
|
+
if (s.done)
|
|
721
|
+
return s.value;
|
|
722
|
+
const r = await t(s.value, n);
|
|
723
|
+
for await (const o of r)
|
|
724
|
+
yield o;
|
|
725
|
+
n += 1;
|
|
726
|
+
}
|
|
727
|
+
});
|
|
728
|
+
}
|
|
729
|
+
drop(t) {
|
|
730
|
+
const e = this._iterator;
|
|
731
|
+
return new w(async function* () {
|
|
732
|
+
let n = 0;
|
|
733
|
+
for (; n < t; ) {
|
|
734
|
+
if ((await e.next()).done)
|
|
735
|
+
return;
|
|
736
|
+
n += 1;
|
|
737
|
+
}
|
|
738
|
+
for (; ; ) {
|
|
739
|
+
const s = await e.next();
|
|
740
|
+
if (s.done)
|
|
741
|
+
return s.value;
|
|
742
|
+
yield s.value;
|
|
743
|
+
}
|
|
744
|
+
});
|
|
745
|
+
}
|
|
746
|
+
take(t) {
|
|
747
|
+
const e = this._iterator;
|
|
748
|
+
return new w(async function* () {
|
|
749
|
+
let n = 0;
|
|
750
|
+
for (; n < t; ) {
|
|
751
|
+
const s = await e.next();
|
|
752
|
+
if (s.done)
|
|
753
|
+
return s.value;
|
|
754
|
+
yield s.value, n += 1;
|
|
755
|
+
}
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
async find(t) {
|
|
759
|
+
let e = 0;
|
|
760
|
+
for (; ; ) {
|
|
761
|
+
const n = await this._iterator.next();
|
|
762
|
+
if (n.done)
|
|
763
|
+
return;
|
|
764
|
+
if (await t(n.value, e))
|
|
765
|
+
return n.value;
|
|
766
|
+
e += 1;
|
|
767
|
+
}
|
|
768
|
+
}
|
|
769
|
+
enumerate() {
|
|
770
|
+
return this.map((t, e) => [e, t]);
|
|
634
771
|
}
|
|
635
772
|
unique() {
|
|
636
|
-
|
|
773
|
+
const t = this._iterator;
|
|
774
|
+
return new w(async function* () {
|
|
775
|
+
const e = /* @__PURE__ */ new Set();
|
|
776
|
+
for (; ; ) {
|
|
777
|
+
const n = await t.next();
|
|
778
|
+
if (n.done)
|
|
779
|
+
return n.value;
|
|
780
|
+
e.has(n.value) || (e.add(n.value), yield n.value);
|
|
781
|
+
}
|
|
782
|
+
});
|
|
637
783
|
}
|
|
638
|
-
|
|
639
|
-
|
|
784
|
+
async count() {
|
|
785
|
+
let t = 0;
|
|
786
|
+
for (; ; ) {
|
|
787
|
+
if ((await this._iterator.next()).done)
|
|
788
|
+
return t;
|
|
789
|
+
t += 1;
|
|
790
|
+
}
|
|
640
791
|
}
|
|
641
|
-
|
|
642
|
-
|
|
792
|
+
async forEach(t) {
|
|
793
|
+
let e = 0;
|
|
794
|
+
for (; ; ) {
|
|
795
|
+
const n = await this._iterator.next();
|
|
796
|
+
if (n.done)
|
|
797
|
+
return;
|
|
798
|
+
await t(n.value, e), e += 1;
|
|
799
|
+
}
|
|
643
800
|
}
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
constructor(e) {
|
|
647
|
-
u(this, "_elements");
|
|
648
|
-
this._elements = new d(e);
|
|
801
|
+
next(...t) {
|
|
802
|
+
return this._iterator.next(...t);
|
|
649
803
|
}
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
804
|
+
groupBy(t) {
|
|
805
|
+
return new E(this.map(async (e, n) => [await t(e, n), e]));
|
|
806
|
+
}
|
|
807
|
+
toArray() {
|
|
808
|
+
return Array.fromAsync(this);
|
|
809
|
+
}
|
|
810
|
+
[(ye = Symbol.toStringTag, Symbol.asyncIterator)]() {
|
|
811
|
+
return this;
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
var ge;
|
|
815
|
+
ge = Symbol.toStringTag;
|
|
816
|
+
const g = class g {
|
|
817
|
+
constructor(t) {
|
|
818
|
+
a(this, "_elements");
|
|
819
|
+
a(this, ge, "AggregatedIterator");
|
|
820
|
+
this._elements = new c(t);
|
|
821
|
+
}
|
|
822
|
+
every(t) {
|
|
823
|
+
const e = /* @__PURE__ */ new Map();
|
|
824
|
+
for (const [n, s] of this._elements) {
|
|
825
|
+
const [r, o] = e.get(n) ?? [0, !0];
|
|
826
|
+
o && e.set(n, [r + 1, t(n, s, r)]);
|
|
655
827
|
}
|
|
656
|
-
return new
|
|
657
|
-
for (const [n, [
|
|
658
|
-
yield [n,
|
|
828
|
+
return new d(function* () {
|
|
829
|
+
for (const [n, [s, r]] of e)
|
|
830
|
+
yield [n, r];
|
|
659
831
|
});
|
|
660
832
|
}
|
|
661
|
-
|
|
662
|
-
const
|
|
663
|
-
for
|
|
664
|
-
const [
|
|
665
|
-
o ||
|
|
833
|
+
some(t) {
|
|
834
|
+
const e = /* @__PURE__ */ new Map();
|
|
835
|
+
for (const [n, s] of this._elements) {
|
|
836
|
+
const [r, o] = e.get(n) ?? [0, !1];
|
|
837
|
+
o || e.set(n, [r + 1, t(n, s, r)]);
|
|
666
838
|
}
|
|
667
|
-
return new
|
|
668
|
-
for (const [n, [
|
|
669
|
-
yield [n,
|
|
839
|
+
return new d(function* () {
|
|
840
|
+
for (const [n, [s, r]] of e)
|
|
841
|
+
yield [n, r];
|
|
670
842
|
});
|
|
671
843
|
}
|
|
672
|
-
filter(
|
|
673
|
-
const
|
|
674
|
-
return new
|
|
844
|
+
filter(t) {
|
|
845
|
+
const e = this._elements;
|
|
846
|
+
return new g(function* () {
|
|
675
847
|
const n = /* @__PURE__ */ new Map();
|
|
676
|
-
for
|
|
677
|
-
const o = n.get(
|
|
678
|
-
|
|
848
|
+
for (const [s, r] of e) {
|
|
849
|
+
const o = n.get(s) ?? 0;
|
|
850
|
+
t(s, r, o) && (yield [s, r]), n.set(s, o + 1);
|
|
679
851
|
}
|
|
680
852
|
});
|
|
681
853
|
}
|
|
682
|
-
map(
|
|
683
|
-
const
|
|
684
|
-
return new
|
|
854
|
+
map(t) {
|
|
855
|
+
const e = this._elements;
|
|
856
|
+
return new g(function* () {
|
|
685
857
|
const n = /* @__PURE__ */ new Map();
|
|
686
|
-
for
|
|
687
|
-
const o = n.get(
|
|
688
|
-
|
|
858
|
+
for (const [s, r] of e) {
|
|
859
|
+
const o = n.get(s) ?? 0;
|
|
860
|
+
yield [s, t(s, r, o)], n.set(s, o + 1);
|
|
689
861
|
}
|
|
690
862
|
});
|
|
691
863
|
}
|
|
692
|
-
|
|
864
|
+
reduce(t, e) {
|
|
693
865
|
const n = /* @__PURE__ */ new Map();
|
|
694
|
-
for
|
|
695
|
-
let o,
|
|
696
|
-
if (n.has(
|
|
697
|
-
[o,
|
|
698
|
-
else if (
|
|
699
|
-
o = 0,
|
|
866
|
+
for (const [s, r] of this._elements) {
|
|
867
|
+
let o, l;
|
|
868
|
+
if (n.has(s))
|
|
869
|
+
[o, l] = n.get(s);
|
|
870
|
+
else if (e !== void 0)
|
|
871
|
+
o = 0, l = e(s);
|
|
700
872
|
else {
|
|
701
|
-
n.set(
|
|
873
|
+
n.set(s, [0, r]);
|
|
702
874
|
continue;
|
|
703
875
|
}
|
|
704
|
-
|
|
876
|
+
n.set(s, [o + 1, t(s, l, r, o)]);
|
|
705
877
|
}
|
|
706
|
-
return new
|
|
707
|
-
for (const [
|
|
708
|
-
yield [
|
|
878
|
+
return new d(function* () {
|
|
879
|
+
for (const [s, [r, o]] of n)
|
|
880
|
+
yield [s, o];
|
|
709
881
|
});
|
|
710
882
|
}
|
|
711
|
-
|
|
883
|
+
flatMap(t) {
|
|
712
884
|
const e = this._elements;
|
|
713
|
-
return new
|
|
714
|
-
const
|
|
715
|
-
for
|
|
716
|
-
const
|
|
717
|
-
|
|
885
|
+
return new g(function* () {
|
|
886
|
+
const n = /* @__PURE__ */ new Map();
|
|
887
|
+
for (const [s, r] of e) {
|
|
888
|
+
const o = n.get(s) ?? 0, l = t(s, r, o);
|
|
889
|
+
for (const u of l)
|
|
890
|
+
yield [s, u];
|
|
891
|
+
n.set(s, o + 1);
|
|
718
892
|
}
|
|
719
893
|
});
|
|
720
894
|
}
|
|
721
|
-
|
|
895
|
+
drop(t) {
|
|
896
|
+
const e = this._elements;
|
|
897
|
+
return new g(function* () {
|
|
898
|
+
const n = /* @__PURE__ */ new Map();
|
|
899
|
+
for (const [s, r] of e) {
|
|
900
|
+
const o = n.get(s) ?? 0;
|
|
901
|
+
if (o < t) {
|
|
902
|
+
n.set(s, o + 1);
|
|
903
|
+
continue;
|
|
904
|
+
}
|
|
905
|
+
yield [s, r];
|
|
906
|
+
}
|
|
907
|
+
});
|
|
908
|
+
}
|
|
909
|
+
take(t) {
|
|
910
|
+
const e = this._elements;
|
|
911
|
+
return new g(function* () {
|
|
912
|
+
const n = /* @__PURE__ */ new Map();
|
|
913
|
+
for (const [s, r] of e) {
|
|
914
|
+
const o = n.get(s) ?? 0;
|
|
915
|
+
o >= t || (yield [s, r], n.set(s, o + 1));
|
|
916
|
+
}
|
|
917
|
+
});
|
|
918
|
+
}
|
|
919
|
+
find(t) {
|
|
722
920
|
const e = /* @__PURE__ */ new Map();
|
|
723
|
-
for
|
|
724
|
-
|
|
725
|
-
e.set(
|
|
921
|
+
for (const [n, s] of this._elements) {
|
|
922
|
+
let [r, o] = e.get(n) ?? [0, void 0];
|
|
923
|
+
o === void 0 && (t(n, s, r) && (o = s), e.set(n, [r + 1, o]));
|
|
726
924
|
}
|
|
727
|
-
return new
|
|
728
|
-
for (const [
|
|
729
|
-
yield [
|
|
925
|
+
return new d(function* () {
|
|
926
|
+
for (const [n, [s, r]] of e)
|
|
927
|
+
yield [n, r];
|
|
730
928
|
});
|
|
731
929
|
}
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
930
|
+
enumerate() {
|
|
931
|
+
return this.map((t, e, n) => [n, e]);
|
|
932
|
+
}
|
|
933
|
+
unique() {
|
|
934
|
+
const t = this._elements;
|
|
935
|
+
return new g(function* () {
|
|
936
|
+
const e = /* @__PURE__ */ new Map();
|
|
937
|
+
for (const [n, s] of t) {
|
|
938
|
+
const r = e.get(n) ?? /* @__PURE__ */ new Set();
|
|
939
|
+
r.has(s) || (r.add(s), e.set(n, r), yield [n, s]);
|
|
940
|
+
}
|
|
739
941
|
});
|
|
740
942
|
}
|
|
741
|
-
|
|
742
|
-
const
|
|
743
|
-
for
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
943
|
+
count() {
|
|
944
|
+
const t = /* @__PURE__ */ new Map();
|
|
945
|
+
for (const [e] of this._elements) {
|
|
946
|
+
const n = t.get(e) ?? 0;
|
|
947
|
+
t.set(e, n + 1);
|
|
948
|
+
}
|
|
949
|
+
return new d(function* () {
|
|
950
|
+
for (const [e, n] of t)
|
|
951
|
+
yield [e, n];
|
|
748
952
|
});
|
|
749
953
|
}
|
|
954
|
+
forEach(t) {
|
|
955
|
+
const e = /* @__PURE__ */ new Map();
|
|
956
|
+
for (const [n, s] of this._elements) {
|
|
957
|
+
const r = e.get(n) ?? 0;
|
|
958
|
+
t(n, s, r), e.set(n, r + 1);
|
|
959
|
+
}
|
|
960
|
+
}
|
|
750
961
|
keys() {
|
|
751
|
-
const
|
|
752
|
-
return new
|
|
753
|
-
const
|
|
754
|
-
for
|
|
755
|
-
|
|
962
|
+
const t = this._elements;
|
|
963
|
+
return new c(function* () {
|
|
964
|
+
const e = /* @__PURE__ */ new Set();
|
|
965
|
+
for (const [n] of t)
|
|
966
|
+
e.has(n) || (e.add(n), yield n);
|
|
756
967
|
});
|
|
757
968
|
}
|
|
758
969
|
items() {
|
|
759
970
|
return this._elements;
|
|
760
971
|
}
|
|
761
972
|
values() {
|
|
762
|
-
const
|
|
763
|
-
return new
|
|
764
|
-
for
|
|
973
|
+
const t = this._elements;
|
|
974
|
+
return new c(function* () {
|
|
975
|
+
for (const [e, n] of t)
|
|
765
976
|
yield n;
|
|
766
977
|
});
|
|
767
978
|
}
|
|
768
|
-
|
|
769
|
-
const
|
|
770
|
-
return Array.from(
|
|
979
|
+
toArray() {
|
|
980
|
+
const t = this.toMap();
|
|
981
|
+
return Array.from(t.values());
|
|
771
982
|
}
|
|
772
|
-
|
|
773
|
-
const
|
|
774
|
-
for
|
|
775
|
-
const
|
|
776
|
-
|
|
983
|
+
toMap() {
|
|
984
|
+
const t = /* @__PURE__ */ new Map();
|
|
985
|
+
for (const [e, n] of this._elements) {
|
|
986
|
+
const s = t.get(e) ?? [];
|
|
987
|
+
s.push(n), t.set(e, s);
|
|
777
988
|
}
|
|
778
|
-
return
|
|
989
|
+
return t;
|
|
779
990
|
}
|
|
780
|
-
|
|
781
|
-
const
|
|
782
|
-
for
|
|
783
|
-
const
|
|
784
|
-
|
|
991
|
+
toObject() {
|
|
992
|
+
const t = {};
|
|
993
|
+
for (const [e, n] of this._elements) {
|
|
994
|
+
const s = t[e] ?? [];
|
|
995
|
+
s.push(n), t[e] = s;
|
|
785
996
|
}
|
|
786
|
-
return
|
|
997
|
+
return t;
|
|
787
998
|
}
|
|
788
|
-
|
|
789
|
-
|
|
999
|
+
};
|
|
1000
|
+
let S = g;
|
|
1001
|
+
const Be = Function;
|
|
1002
|
+
class Ge extends Be {
|
|
1003
|
+
constructor() {
|
|
1004
|
+
super("return this.invoke(...arguments);");
|
|
1005
|
+
const t = this.bind(this);
|
|
1006
|
+
return Object.setPrototypeOf(this, t), t;
|
|
790
1007
|
}
|
|
791
1008
|
}
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
}
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
1009
|
+
var be;
|
|
1010
|
+
be = Symbol.toStringTag;
|
|
1011
|
+
class M {
|
|
1012
|
+
constructor() {
|
|
1013
|
+
a(this, "_subscribers");
|
|
1014
|
+
a(this, be, "Publisher");
|
|
1015
|
+
this._subscribers = /* @__PURE__ */ new Map();
|
|
1016
|
+
}
|
|
1017
|
+
subscribe(t, e) {
|
|
1018
|
+
this._subscribers.has(t) || this._subscribers.set(t, []);
|
|
1019
|
+
const n = this._subscribers.get(t);
|
|
1020
|
+
return n.push(e), () => {
|
|
1021
|
+
const s = n.indexOf(e);
|
|
1022
|
+
if (s < 0)
|
|
1023
|
+
throw new Je("Unable to unsubscribe the required subscriber. The subscription was already unsubscribed.");
|
|
1024
|
+
n.splice(s, 1);
|
|
1025
|
+
};
|
|
808
1026
|
}
|
|
809
|
-
|
|
810
|
-
|
|
1027
|
+
publish(t, ...e) {
|
|
1028
|
+
const n = this._subscribers.get(t);
|
|
1029
|
+
return n ? n.slice().map((s) => s(...e)) : [];
|
|
811
1030
|
}
|
|
812
1031
|
}
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
1032
|
+
class st extends Ge {
|
|
1033
|
+
constructor() {
|
|
1034
|
+
const e = () => {
|
|
1035
|
+
throw new ze(
|
|
1036
|
+
"The `SwitchableCallback` has no callback defined yet. Did you forget to call the `register` method?"
|
|
1037
|
+
);
|
|
1038
|
+
};
|
|
1039
|
+
super();
|
|
1040
|
+
a(this, "_callback");
|
|
1041
|
+
a(this, "_callbacks");
|
|
1042
|
+
a(this, "_isEnabled");
|
|
1043
|
+
a(this, "_key");
|
|
1044
|
+
a(this, "invoke");
|
|
1045
|
+
this._callback = e, this._callbacks = /* @__PURE__ */ new Map(), this._isEnabled = !0, this._key = "", this.invoke = (...n) => this._callback(...n);
|
|
1046
|
+
}
|
|
1047
|
+
get isEnabled() {
|
|
1048
|
+
return this._isEnabled;
|
|
1049
|
+
}
|
|
1050
|
+
get key() {
|
|
1051
|
+
return this._key;
|
|
1052
|
+
}
|
|
1053
|
+
enable() {
|
|
1054
|
+
if (!this._key)
|
|
1055
|
+
throw new x(
|
|
1056
|
+
"The `SwitchableCallback` has no callback defined yet. Did you forget to call the `register` method?"
|
|
1057
|
+
);
|
|
1058
|
+
if (this._isEnabled)
|
|
1059
|
+
throw new m("The `SwitchableCallback` is already enabled.");
|
|
1060
|
+
this._callback = this._callbacks.get(this._key), this._isEnabled = !0;
|
|
1061
|
+
}
|
|
1062
|
+
disable() {
|
|
1063
|
+
if (!this._isEnabled)
|
|
1064
|
+
throw new m("The `SwitchableCallback` is already disabled.");
|
|
1065
|
+
this._callback = () => {
|
|
1066
|
+
}, this._isEnabled = !1;
|
|
1067
|
+
}
|
|
1068
|
+
register(e, n) {
|
|
1069
|
+
if (this._callbacks.size === 0)
|
|
1070
|
+
this._key = e, this._callback = n;
|
|
1071
|
+
else if (this._callbacks.has(e))
|
|
1072
|
+
throw new x(`The key '${e}' has already been used for another callback.`);
|
|
1073
|
+
this._callbacks.set(e, n);
|
|
1074
|
+
}
|
|
1075
|
+
unregister(e) {
|
|
1076
|
+
if (!this._callbacks.has(e))
|
|
1077
|
+
throw new x(`The key '${e}' doesn't yet have any associated callback.`);
|
|
1078
|
+
this._callbacks.delete(e);
|
|
1079
|
+
}
|
|
1080
|
+
switch(e) {
|
|
1081
|
+
if (!this._callbacks.has(e))
|
|
1082
|
+
throw new x(`The key '${e}' doesn't yet have any associated callback.`);
|
|
1083
|
+
this._key = e, this._isEnabled && (this._callback = this._callbacks.get(e));
|
|
1084
|
+
}
|
|
827
1085
|
}
|
|
828
|
-
|
|
829
|
-
|
|
830
|
-
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
this
|
|
836
|
-
|
|
1086
|
+
var xe;
|
|
1087
|
+
xe = Symbol.toStringTag;
|
|
1088
|
+
class qe {
|
|
1089
|
+
constructor(t, e = 40) {
|
|
1090
|
+
a(this, "_handle");
|
|
1091
|
+
a(this, "_startTime");
|
|
1092
|
+
a(this, "_isRunning");
|
|
1093
|
+
a(this, "_start");
|
|
1094
|
+
a(this, "_stop");
|
|
1095
|
+
a(this, xe, "GameLoop");
|
|
1096
|
+
this._startTime = 0, this._isRunning = !1, Oe ? (this._start = () => {
|
|
1097
|
+
t(this.elapsedTime), this._handle = window.requestAnimationFrame(this._start);
|
|
837
1098
|
}, this._stop = () => window.cancelAnimationFrame(this._handle)) : (console.warn(
|
|
838
|
-
`Not a browser environment detected. Using setInterval@${
|
|
1099
|
+
`Not a browser environment detected. Using setInterval@${e}ms instead of requestAnimationFrame...`
|
|
839
1100
|
), this._start = () => {
|
|
840
|
-
|
|
841
|
-
this._handle = setInterval(() => e(this.elapsedTime), n);
|
|
1101
|
+
this._handle = setInterval(() => t(this.elapsedTime), e);
|
|
842
1102
|
}, this._stop = () => clearInterval(this._handle));
|
|
843
1103
|
}
|
|
844
1104
|
get startTime() {
|
|
@@ -850,58 +1110,61 @@ class R {
|
|
|
850
1110
|
get elapsedTime() {
|
|
851
1111
|
return performance.now() - this._startTime;
|
|
852
1112
|
}
|
|
853
|
-
start(
|
|
1113
|
+
start(t = 0) {
|
|
854
1114
|
if (this._isRunning)
|
|
855
1115
|
throw new m("The game loop has already been started.");
|
|
856
|
-
this._startTime = performance.now() -
|
|
1116
|
+
this._startTime = performance.now() - t, this._start(), this._isRunning = !0;
|
|
857
1117
|
}
|
|
858
1118
|
stop() {
|
|
859
1119
|
if (!this._isRunning)
|
|
860
1120
|
throw new m("The game loop hadn't yet started.");
|
|
861
1121
|
if (!this._handle)
|
|
862
|
-
throw new
|
|
1122
|
+
throw new k();
|
|
863
1123
|
this._stop(), this._handle = void 0, this._isRunning = !1;
|
|
864
1124
|
}
|
|
865
1125
|
}
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
1126
|
+
var ve;
|
|
1127
|
+
ve = Symbol.toStringTag;
|
|
1128
|
+
class rt {
|
|
1129
|
+
constructor(t = !0) {
|
|
1130
|
+
a(this, "_preferPersistence");
|
|
1131
|
+
a(this, "_volatile");
|
|
1132
|
+
a(this, "_persistent");
|
|
1133
|
+
a(this, ve, "JSONStorage");
|
|
1134
|
+
if (this._preferPersistence = t, !Oe)
|
|
1135
|
+
throw new Ve(
|
|
873
1136
|
"The `JSONStorage` class can only be instantiated within a browser environment."
|
|
874
1137
|
);
|
|
875
1138
|
this._volatile = window.sessionStorage, this._persistent = window.localStorage;
|
|
876
1139
|
}
|
|
877
|
-
_get(
|
|
878
|
-
const
|
|
879
|
-
if (
|
|
1140
|
+
_get(t, e, n) {
|
|
1141
|
+
const s = t.getItem(e);
|
|
1142
|
+
if (s)
|
|
880
1143
|
try {
|
|
881
|
-
return JSON.parse(
|
|
1144
|
+
return JSON.parse(s);
|
|
882
1145
|
} catch {
|
|
883
1146
|
console.warn(
|
|
884
|
-
`The "${
|
|
885
|
-
),
|
|
1147
|
+
`The "${s}" value for "${e}" property cannot be parsed. Clearing the storage...`
|
|
1148
|
+
), t.removeItem(e);
|
|
886
1149
|
}
|
|
887
1150
|
return n;
|
|
888
1151
|
}
|
|
889
|
-
_set(
|
|
890
|
-
const
|
|
891
|
-
|
|
1152
|
+
_set(t, e, n) {
|
|
1153
|
+
const s = JSON.stringify(n);
|
|
1154
|
+
s ? t.setItem(e, s) : t.removeItem(e);
|
|
892
1155
|
}
|
|
893
|
-
get(
|
|
894
|
-
const
|
|
895
|
-
return this._get(
|
|
1156
|
+
get(t, e, n = this._preferPersistence) {
|
|
1157
|
+
const s = n ? this._persistent : this._volatile;
|
|
1158
|
+
return this._get(s, t, e);
|
|
896
1159
|
}
|
|
897
|
-
recall(
|
|
898
|
-
return this._get(this._volatile,
|
|
1160
|
+
recall(t, e) {
|
|
1161
|
+
return this._get(this._volatile, t, e);
|
|
899
1162
|
}
|
|
900
|
-
retrieve(
|
|
901
|
-
return this.recall(
|
|
1163
|
+
retrieve(t, e) {
|
|
1164
|
+
return this.recall(t) ?? this.read(t, e);
|
|
902
1165
|
}
|
|
903
|
-
read(
|
|
904
|
-
return this._get(this._persistent,
|
|
1166
|
+
read(t, e) {
|
|
1167
|
+
return this._get(this._persistent, t, e);
|
|
905
1168
|
}
|
|
906
1169
|
/**
|
|
907
1170
|
* Checks whether the property with the specified name exists in the corresponding storage.
|
|
@@ -911,8 +1174,8 @@ class Z {
|
|
|
911
1174
|
*
|
|
912
1175
|
* @returns `true` if the property exists, `false` otherwise.
|
|
913
1176
|
*/
|
|
914
|
-
has(
|
|
915
|
-
return (
|
|
1177
|
+
has(t, e) {
|
|
1178
|
+
return (e ? this._persistent : this._volatile).getItem(t) !== null;
|
|
916
1179
|
}
|
|
917
1180
|
/**
|
|
918
1181
|
* Checks whether the property with the specified name exists in the volatile `sessionStorage`.
|
|
@@ -921,8 +1184,8 @@ class Z {
|
|
|
921
1184
|
*
|
|
922
1185
|
* @returns `true` if the property exists, `false` otherwise.
|
|
923
1186
|
*/
|
|
924
|
-
knows(
|
|
925
|
-
return this._volatile.getItem(
|
|
1187
|
+
knows(t) {
|
|
1188
|
+
return this._volatile.getItem(t) !== null;
|
|
926
1189
|
}
|
|
927
1190
|
/**
|
|
928
1191
|
* Checks whether the property with the specified name exists looking first in the
|
|
@@ -932,8 +1195,8 @@ class Z {
|
|
|
932
1195
|
*
|
|
933
1196
|
* @returns `true` if the property exists, `false` otherwise.
|
|
934
1197
|
*/
|
|
935
|
-
find(
|
|
936
|
-
return this.knows(
|
|
1198
|
+
find(t) {
|
|
1199
|
+
return this.knows(t) ?? this.exists(t);
|
|
937
1200
|
}
|
|
938
1201
|
/**
|
|
939
1202
|
* Checks whether the property with the specified name exists in the persistent `localStorage`.
|
|
@@ -942,8 +1205,8 @@ class Z {
|
|
|
942
1205
|
*
|
|
943
1206
|
* @returns `true` if the property exists, `false` otherwise.
|
|
944
1207
|
*/
|
|
945
|
-
exists(
|
|
946
|
-
return this._persistent.getItem(
|
|
1208
|
+
exists(t) {
|
|
1209
|
+
return this._persistent.getItem(t) !== null;
|
|
947
1210
|
}
|
|
948
1211
|
/**
|
|
949
1212
|
* Sets the value with the specified name in the corresponding storage.
|
|
@@ -953,9 +1216,9 @@ class Z {
|
|
|
953
1216
|
* @param newValue The new value to set.
|
|
954
1217
|
* @param persistent Whether to use the persistent `localStorage` or the volatile `sessionStorage`.
|
|
955
1218
|
*/
|
|
956
|
-
set(
|
|
957
|
-
const
|
|
958
|
-
this._set(
|
|
1219
|
+
set(t, e, n = this._preferPersistence) {
|
|
1220
|
+
const s = n ? this._persistent : this._volatile;
|
|
1221
|
+
this._set(s, t, e);
|
|
959
1222
|
}
|
|
960
1223
|
/**
|
|
961
1224
|
* Sets the value with the specified name in the volatile `sessionStorage`.
|
|
@@ -964,8 +1227,8 @@ class Z {
|
|
|
964
1227
|
* @param propertyName The name of the property to set.
|
|
965
1228
|
* @param newValue The new value to set.
|
|
966
1229
|
*/
|
|
967
|
-
remember(
|
|
968
|
-
this._set(this._volatile,
|
|
1230
|
+
remember(t, e) {
|
|
1231
|
+
this._set(this._volatile, t, e);
|
|
969
1232
|
}
|
|
970
1233
|
/**
|
|
971
1234
|
* Sets the value with the specified name in the persistent `localStorage`.
|
|
@@ -974,48 +1237,51 @@ class Z {
|
|
|
974
1237
|
* @param propertyName The name of the property to set.
|
|
975
1238
|
* @param newValue The new value to set.
|
|
976
1239
|
*/
|
|
977
|
-
write(
|
|
978
|
-
this._set(this._persistent,
|
|
1240
|
+
write(t, e) {
|
|
1241
|
+
this._set(this._persistent, t, e);
|
|
979
1242
|
}
|
|
980
1243
|
/**
|
|
981
1244
|
* Removes the value with the specified name from the volatile `sessionStorage`.
|
|
982
1245
|
*
|
|
983
1246
|
* @param propertyName The name of the property to remove.
|
|
984
1247
|
*/
|
|
985
|
-
forget(
|
|
986
|
-
this._volatile.removeItem(
|
|
1248
|
+
forget(t) {
|
|
1249
|
+
this._volatile.removeItem(t);
|
|
987
1250
|
}
|
|
988
1251
|
/**
|
|
989
1252
|
* Removes the value with the specified name from the persistent `localStorage`.
|
|
990
1253
|
*
|
|
991
1254
|
* @param propertyName The name of the property to remove.
|
|
992
1255
|
*/
|
|
993
|
-
erase(
|
|
994
|
-
this._persistent.removeItem(
|
|
1256
|
+
erase(t) {
|
|
1257
|
+
this._persistent.removeItem(t);
|
|
995
1258
|
}
|
|
996
1259
|
/**
|
|
997
1260
|
* Removes the value with the specified name from all the storages.
|
|
998
1261
|
*
|
|
999
1262
|
* @param propertyName The name of the property to remove.
|
|
1000
1263
|
*/
|
|
1001
|
-
clear(
|
|
1002
|
-
this._volatile.removeItem(
|
|
1003
|
-
}
|
|
1004
|
-
get [Symbol.toStringTag]() {
|
|
1005
|
-
return "JSONStorage";
|
|
1264
|
+
clear(t) {
|
|
1265
|
+
this._volatile.removeItem(t), this._persistent.removeItem(t);
|
|
1006
1266
|
}
|
|
1007
1267
|
}
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1268
|
+
var ke;
|
|
1269
|
+
ke = Symbol.toStringTag;
|
|
1270
|
+
const R = class R {
|
|
1271
|
+
constructor(t) {
|
|
1272
|
+
a(this, "_isPending");
|
|
1273
|
+
a(this, "_isFulfilled");
|
|
1274
|
+
a(this, "_isRejected");
|
|
1275
|
+
a(this, "_promise");
|
|
1276
|
+
a(this, ke, "SmartPromise");
|
|
1014
1277
|
this._isPending = !0, this._isFulfilled = !1, this._isRejected = !1;
|
|
1015
|
-
const
|
|
1016
|
-
throw this._isPending = !1, this._isRejected = !0,
|
|
1278
|
+
const e = (s) => (this._isPending = !1, this._isFulfilled = !0, s), n = (s) => {
|
|
1279
|
+
throw this._isPending = !1, this._isRejected = !0, s;
|
|
1017
1280
|
};
|
|
1018
|
-
this._promise = new Promise(
|
|
1281
|
+
this._promise = new Promise(t).then(e, n);
|
|
1282
|
+
}
|
|
1283
|
+
static FromPromise(t) {
|
|
1284
|
+
return new R((e, n) => t.then(e, n));
|
|
1019
1285
|
}
|
|
1020
1286
|
get isPending() {
|
|
1021
1287
|
return this._isPending;
|
|
@@ -1026,28 +1292,28 @@ class F {
|
|
|
1026
1292
|
get isRejected() {
|
|
1027
1293
|
return this._isRejected;
|
|
1028
1294
|
}
|
|
1029
|
-
then(
|
|
1030
|
-
return this._promise.then(
|
|
1295
|
+
then(t, e) {
|
|
1296
|
+
return this._promise.then(t, e);
|
|
1031
1297
|
}
|
|
1032
|
-
catch(
|
|
1033
|
-
return this._promise.catch(
|
|
1298
|
+
catch(t) {
|
|
1299
|
+
return this._promise.catch(t);
|
|
1034
1300
|
}
|
|
1035
|
-
finally(
|
|
1036
|
-
return this._promise.finally(
|
|
1301
|
+
finally(t) {
|
|
1302
|
+
return this._promise.finally(t);
|
|
1037
1303
|
}
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
r = o, i = c;
|
|
1304
|
+
};
|
|
1305
|
+
let T = R;
|
|
1306
|
+
var Se, Te;
|
|
1307
|
+
class Ke extends (Te = T, Se = Symbol.toStringTag, Te) {
|
|
1308
|
+
constructor(e, n) {
|
|
1309
|
+
let s, r;
|
|
1310
|
+
super((o, l) => {
|
|
1311
|
+
s = o, r = l;
|
|
1047
1312
|
});
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
this
|
|
1313
|
+
a(this, "_resolve");
|
|
1314
|
+
a(this, "_reject");
|
|
1315
|
+
a(this, Se, "DeferredPromise");
|
|
1316
|
+
this._promise.then(e, n), this._resolve = s, this._reject = r;
|
|
1051
1317
|
}
|
|
1052
1318
|
get resolve() {
|
|
1053
1319
|
return this._resolve;
|
|
@@ -1055,86 +1321,293 @@ class O extends F {
|
|
|
1055
1321
|
get reject() {
|
|
1056
1322
|
return this._reject;
|
|
1057
1323
|
}
|
|
1058
|
-
watch(
|
|
1059
|
-
return
|
|
1060
|
-
}
|
|
1061
|
-
get [Symbol.toStringTag]() {
|
|
1062
|
-
return "DeferredPromise";
|
|
1324
|
+
watch(e) {
|
|
1325
|
+
return e.then(this.resolve, this.reject), this;
|
|
1063
1326
|
}
|
|
1064
1327
|
}
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1328
|
+
function it(i) {
|
|
1329
|
+
return new Promise((t) => setTimeout(t, i));
|
|
1330
|
+
}
|
|
1331
|
+
function ot() {
|
|
1332
|
+
return new Promise((i) => requestAnimationFrame(() => i()));
|
|
1333
|
+
}
|
|
1334
|
+
function v() {
|
|
1335
|
+
return new Promise((i) => setTimeout(i));
|
|
1336
|
+
}
|
|
1337
|
+
var Ee;
|
|
1338
|
+
Ee = Symbol.toStringTag;
|
|
1339
|
+
const P = class P {
|
|
1340
|
+
constructor(t, e) {
|
|
1341
|
+
a(this, "_startTime");
|
|
1342
|
+
a(this, "_estimatedTime");
|
|
1343
|
+
a(this, "_endTime");
|
|
1344
|
+
a(this, "_currentStep");
|
|
1345
|
+
a(this, "_percentage");
|
|
1346
|
+
a(this, "_isRunning");
|
|
1347
|
+
a(this, "_hasCompleted");
|
|
1348
|
+
a(this, "_hasFailed");
|
|
1349
|
+
a(this, "_promise");
|
|
1350
|
+
a(this, "_publisher");
|
|
1351
|
+
a(this, Ee, "LongRunningTask");
|
|
1352
|
+
this._startTime = 0, this._estimatedTime = 0, this._currentStep = 0, this._percentage = 0, this._isRunning = !0, this._hasCompleted = !1, this._hasFailed = !1;
|
|
1353
|
+
const n = (o) => (this._estimatedTime = 0, this._endTime = Date.now(), this._percentage = 100, this._isRunning = !1, this._hasCompleted = !0, o), s = (o) => {
|
|
1354
|
+
throw this._endTime = Date.now(), this._isRunning = !1, this._hasFailed = !0, o;
|
|
1355
|
+
};
|
|
1356
|
+
let r;
|
|
1357
|
+
if (e = { ...P._DefaultOptions, ...e }, e.trackProgress) {
|
|
1358
|
+
let o;
|
|
1359
|
+
this._publisher = new M(), e.totalSteps ? e.stepIncrement ? o = (l) => {
|
|
1360
|
+
l ? this._currentStep += l : this._currentStep += e.stepIncrement, this._percentage = this._currentStep / e.totalSteps * 100;
|
|
1361
|
+
const u = Date.now() - this._startTime, h = e.totalSteps - this._currentStep;
|
|
1362
|
+
this._estimatedTime = u / this._currentStep * h;
|
|
1363
|
+
} : o = (l) => {
|
|
1364
|
+
if (l) {
|
|
1365
|
+
this._currentStep += l, this._percentage = this._currentStep / e.totalSteps * 100;
|
|
1366
|
+
const u = Date.now() - this._startTime, h = e.totalSteps - this._currentStep;
|
|
1367
|
+
this._estimatedTime = u / this._currentStep * h;
|
|
1368
|
+
}
|
|
1369
|
+
} : e.stepIncrement ? o = (l) => {
|
|
1370
|
+
l ? this._currentStep += l : this._currentStep += e.stepIncrement;
|
|
1371
|
+
} : o = (l) => {
|
|
1372
|
+
l && (this._currentStep += l);
|
|
1373
|
+
}, e.ignoreErrors ? r = async (l) => {
|
|
1374
|
+
const u = t();
|
|
1375
|
+
for (this._startTime = Date.now(); ; ) {
|
|
1376
|
+
try {
|
|
1377
|
+
const { done: h, value: _ } = await u.next();
|
|
1378
|
+
if (h)
|
|
1379
|
+
return l(_);
|
|
1380
|
+
o(_);
|
|
1381
|
+
} catch (h) {
|
|
1382
|
+
console.error(h);
|
|
1383
|
+
}
|
|
1384
|
+
this._publisher.publish("progress"), await v();
|
|
1385
|
+
}
|
|
1386
|
+
} : r = async (l, u) => {
|
|
1387
|
+
try {
|
|
1388
|
+
const h = t();
|
|
1389
|
+
for (this._startTime = Date.now(); ; ) {
|
|
1390
|
+
const { done: _, value: I } = await h.next();
|
|
1391
|
+
if (_)
|
|
1392
|
+
return l(I);
|
|
1393
|
+
o(I), this._publisher.publish("progress"), await v();
|
|
1394
|
+
}
|
|
1395
|
+
} catch (h) {
|
|
1396
|
+
u(h);
|
|
1397
|
+
}
|
|
1398
|
+
};
|
|
1399
|
+
} else e.ignoreErrors ? r = async (o) => {
|
|
1400
|
+
const l = t();
|
|
1401
|
+
for (this._startTime = Date.now(); ; ) {
|
|
1402
|
+
try {
|
|
1403
|
+
const { done: u, value: h } = await l.next();
|
|
1404
|
+
if (u)
|
|
1405
|
+
return o(h);
|
|
1406
|
+
} catch (u) {
|
|
1407
|
+
console.error(u);
|
|
1408
|
+
}
|
|
1409
|
+
await v();
|
|
1410
|
+
}
|
|
1411
|
+
} : r = async (o, l) => {
|
|
1412
|
+
try {
|
|
1413
|
+
const u = t();
|
|
1414
|
+
for (this._startTime = Date.now(); ; ) {
|
|
1415
|
+
const { done: h, value: _ } = await u.next();
|
|
1416
|
+
if (h)
|
|
1417
|
+
return o(_);
|
|
1418
|
+
await v();
|
|
1419
|
+
}
|
|
1420
|
+
} catch (u) {
|
|
1421
|
+
l(u);
|
|
1422
|
+
}
|
|
1423
|
+
};
|
|
1424
|
+
this._promise = new Promise(r).then(n, s);
|
|
1425
|
+
}
|
|
1426
|
+
static get _DefaultOptions() {
|
|
1427
|
+
return {
|
|
1428
|
+
ignoreErrors: !1,
|
|
1429
|
+
stepIncrement: 1,
|
|
1430
|
+
totalSteps: null,
|
|
1431
|
+
trackProgress: !1
|
|
1432
|
+
};
|
|
1433
|
+
}
|
|
1434
|
+
get startTime() {
|
|
1435
|
+
return this._startTime;
|
|
1436
|
+
}
|
|
1437
|
+
get elapsedTime() {
|
|
1438
|
+
return this._isRunning ? Date.now() - this._startTime : this._endTime - this._startTime;
|
|
1075
1439
|
}
|
|
1076
|
-
get
|
|
1077
|
-
return
|
|
1440
|
+
get estimatedTime() {
|
|
1441
|
+
return this._estimatedTime;
|
|
1078
1442
|
}
|
|
1079
|
-
|
|
1080
|
-
|
|
1443
|
+
get endTime() {
|
|
1444
|
+
if (this._isRunning)
|
|
1445
|
+
throw new m("The task is still running and has no end time yet.");
|
|
1446
|
+
return this._endTime;
|
|
1447
|
+
}
|
|
1448
|
+
get currentStep() {
|
|
1449
|
+
return this._currentStep;
|
|
1450
|
+
}
|
|
1451
|
+
get percentage() {
|
|
1452
|
+
return this._percentage;
|
|
1453
|
+
}
|
|
1454
|
+
get isRunning() {
|
|
1455
|
+
return this._isRunning;
|
|
1456
|
+
}
|
|
1457
|
+
get hasCompleted() {
|
|
1458
|
+
return this._hasCompleted;
|
|
1459
|
+
}
|
|
1460
|
+
get hasFailed() {
|
|
1461
|
+
return this._hasFailed;
|
|
1462
|
+
}
|
|
1463
|
+
then(t, e) {
|
|
1464
|
+
return this._promise.then(t, e);
|
|
1465
|
+
}
|
|
1466
|
+
catch(t) {
|
|
1467
|
+
return this._promise.catch(t);
|
|
1468
|
+
}
|
|
1469
|
+
finally(t) {
|
|
1470
|
+
return this._promise.finally(t);
|
|
1471
|
+
}
|
|
1472
|
+
onProgress(t) {
|
|
1473
|
+
if (!this._publisher)
|
|
1474
|
+
throw new m(
|
|
1475
|
+
"You cannot subscribe to progress events without enabling progress tracking. Did you forget to set the `trackProgress` option to `true` when creating the task?"
|
|
1476
|
+
);
|
|
1477
|
+
return this._publisher.subscribe("progress", t);
|
|
1478
|
+
}
|
|
1479
|
+
};
|
|
1480
|
+
let C = P;
|
|
1481
|
+
var Me;
|
|
1482
|
+
Me = Symbol.toStringTag;
|
|
1483
|
+
class at {
|
|
1081
1484
|
constructor() {
|
|
1082
|
-
|
|
1083
|
-
this
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1485
|
+
a(this, "_onFulfilled");
|
|
1486
|
+
a(this, Me, "Thenable");
|
|
1487
|
+
this._onFulfilled = (t) => t;
|
|
1488
|
+
}
|
|
1489
|
+
_resolve(t) {
|
|
1490
|
+
return this._onFulfilled(t);
|
|
1491
|
+
}
|
|
1492
|
+
then(t, e) {
|
|
1493
|
+
if (e) {
|
|
1494
|
+
const n = this._onFulfilled;
|
|
1495
|
+
this._onFulfilled = (s) => {
|
|
1496
|
+
try {
|
|
1497
|
+
return s = n(s), t(s);
|
|
1498
|
+
} catch (r) {
|
|
1499
|
+
return e(r);
|
|
1500
|
+
}
|
|
1501
|
+
};
|
|
1502
|
+
} else if (t) {
|
|
1503
|
+
const n = this._onFulfilled;
|
|
1504
|
+
this._onFulfilled = (s) => (s = n(s), t(s));
|
|
1505
|
+
}
|
|
1506
|
+
return this;
|
|
1092
1507
|
}
|
|
1093
|
-
|
|
1094
|
-
|
|
1508
|
+
catch(t) {
|
|
1509
|
+
if (t) {
|
|
1510
|
+
const e = this._onFulfilled;
|
|
1511
|
+
this._onFulfilled = (n) => {
|
|
1512
|
+
try {
|
|
1513
|
+
return e(n);
|
|
1514
|
+
} catch (s) {
|
|
1515
|
+
return t(s);
|
|
1516
|
+
}
|
|
1517
|
+
};
|
|
1518
|
+
}
|
|
1519
|
+
return this;
|
|
1520
|
+
}
|
|
1521
|
+
finally(t) {
|
|
1522
|
+
if (t) {
|
|
1523
|
+
const e = this._onFulfilled;
|
|
1524
|
+
this._onFulfilled = (n) => {
|
|
1525
|
+
try {
|
|
1526
|
+
return e(n);
|
|
1527
|
+
} finally {
|
|
1528
|
+
t();
|
|
1529
|
+
}
|
|
1530
|
+
};
|
|
1531
|
+
}
|
|
1532
|
+
return this;
|
|
1095
1533
|
}
|
|
1096
|
-
|
|
1097
|
-
|
|
1534
|
+
}
|
|
1535
|
+
var Fe, Re;
|
|
1536
|
+
class lt extends (Re = T, Fe = Symbol.toStringTag, Re) {
|
|
1537
|
+
constructor(e, n) {
|
|
1538
|
+
super((s, r) => {
|
|
1539
|
+
const o = (_) => {
|
|
1540
|
+
clearTimeout(h), s(_);
|
|
1541
|
+
}, l = (_) => {
|
|
1542
|
+
clearTimeout(h), r(_);
|
|
1543
|
+
}, h = setTimeout(() => l(new We("The operation has timed out.")), n);
|
|
1544
|
+
e(o, l);
|
|
1545
|
+
});
|
|
1546
|
+
a(this, Fe, "TimedPromise");
|
|
1098
1547
|
}
|
|
1099
1548
|
}
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1549
|
+
var F = /* @__PURE__ */ ((i) => (i[i.Millisecond = 1] = "Millisecond", i[i.Second = 1e3] = "Second", i[i.Minute = 6e4] = "Minute", i[i.Hour = 36e5] = "Hour", i[i.Day = 864e5] = "Day", i[i.Week = 6048e5] = "Week", i[i.Month = 2592e6] = "Month", i[i.Year = 31536e6] = "Year", i))(F || {});
|
|
1550
|
+
function ut(i, t, e = 864e5) {
|
|
1551
|
+
return i = new Date(i), t = new Date(t), Math.floor((t.getTime() - i.getTime()) / e);
|
|
1552
|
+
}
|
|
1553
|
+
function ct(i, t, e = 864e5) {
|
|
1554
|
+
return i = new Date(i), t = new Date(t), new c(function* () {
|
|
1555
|
+
const n = t.getTime();
|
|
1556
|
+
let s = i.getTime();
|
|
1557
|
+
for (; s < n; )
|
|
1558
|
+
yield new Date(s), s += e;
|
|
1559
|
+
});
|
|
1560
|
+
}
|
|
1561
|
+
function ht(i, t = 864e5) {
|
|
1562
|
+
return i = new Date(i), new Date(Math.floor(i.getTime() / t) * t);
|
|
1563
|
+
}
|
|
1564
|
+
var Pe, De;
|
|
1565
|
+
class ft extends (De = qe, Pe = Symbol.toStringTag, De) {
|
|
1566
|
+
constructor(e = F.Second) {
|
|
1567
|
+
super((n) => this._publisher.publish("tick", n), e);
|
|
1568
|
+
a(this, "_publisher");
|
|
1569
|
+
a(this, Pe, "Clock");
|
|
1570
|
+
this._publisher = new M();
|
|
1105
1571
|
}
|
|
1106
|
-
start(
|
|
1572
|
+
start(e = 0) {
|
|
1107
1573
|
if (this._isRunning)
|
|
1108
1574
|
throw new m("The clock has already been started.");
|
|
1109
|
-
super.start(
|
|
1575
|
+
super.start(e), this._publisher.publish("start");
|
|
1110
1576
|
}
|
|
1111
1577
|
stop() {
|
|
1112
1578
|
if (!this._isRunning)
|
|
1113
1579
|
throw new m("The clock hadn't yet started.");
|
|
1114
|
-
super.stop();
|
|
1580
|
+
super.stop(), this._publisher.publish("stop");
|
|
1581
|
+
}
|
|
1582
|
+
onStart(e) {
|
|
1583
|
+
return this._publisher.subscribe("start", e);
|
|
1115
1584
|
}
|
|
1116
|
-
|
|
1585
|
+
onStop(e) {
|
|
1586
|
+
return this._publisher.subscribe("stop", e);
|
|
1587
|
+
}
|
|
1588
|
+
onTick(e, n = 0) {
|
|
1117
1589
|
if (n < 0)
|
|
1118
|
-
throw new
|
|
1590
|
+
throw new $e("The tick step must be a non-negative number.");
|
|
1119
1591
|
if (n === 0)
|
|
1120
|
-
return this._publisher.subscribe(
|
|
1121
|
-
let
|
|
1122
|
-
return this._publisher.subscribe((
|
|
1123
|
-
|
|
1592
|
+
return this._publisher.subscribe("tick", e);
|
|
1593
|
+
let s = 0;
|
|
1594
|
+
return this._publisher.subscribe("tick", (r) => {
|
|
1595
|
+
r - s < n || (e(r), s = r);
|
|
1124
1596
|
});
|
|
1125
1597
|
}
|
|
1126
1598
|
}
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
const
|
|
1132
|
-
this._publisher.publish(
|
|
1599
|
+
var Ie, Ce;
|
|
1600
|
+
class dt extends (Ce = qe, Ie = Symbol.toStringTag, Ce) {
|
|
1601
|
+
constructor(e, n = F.Second) {
|
|
1602
|
+
super(() => {
|
|
1603
|
+
const r = this.remainingTime;
|
|
1604
|
+
this._publisher.publish("tick", r), r <= 0 && (this._deferrerStop(), this._publisher.publish("expire"));
|
|
1133
1605
|
}, n);
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
this
|
|
1606
|
+
a(this, "_deferrer");
|
|
1607
|
+
a(this, "_publisher");
|
|
1608
|
+
a(this, "_duration");
|
|
1609
|
+
a(this, Ie, "Countdown");
|
|
1610
|
+
this._publisher = new M(), this._duration = e;
|
|
1138
1611
|
}
|
|
1139
1612
|
get duration() {
|
|
1140
1613
|
return this._duration;
|
|
@@ -1142,212 +1615,224 @@ class te extends R {
|
|
|
1142
1615
|
get remainingTime() {
|
|
1143
1616
|
return this._duration - this.elapsedTime;
|
|
1144
1617
|
}
|
|
1145
|
-
|
|
1618
|
+
_deferrerStop(e) {
|
|
1619
|
+
if (!this._isRunning)
|
|
1620
|
+
throw new m("The countdown hadn't yet started.");
|
|
1621
|
+
if (!this._deferrer)
|
|
1622
|
+
throw new k();
|
|
1623
|
+
super.stop(), e !== void 0 ? this._deferrer.reject(e) : this._deferrer.resolve(), this._deferrer = void 0;
|
|
1624
|
+
}
|
|
1625
|
+
start(e = this.duration) {
|
|
1146
1626
|
if (this._isRunning)
|
|
1147
1627
|
throw new m("The countdown has already been started.");
|
|
1148
1628
|
if (this._deferrer)
|
|
1149
|
-
throw new
|
|
1150
|
-
return this._deferrer = new
|
|
1629
|
+
throw new k();
|
|
1630
|
+
return this._deferrer = new Ke(), super.start(this.duration - e), this._publisher.publish("start"), this._deferrer;
|
|
1151
1631
|
}
|
|
1152
|
-
stop(
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
super.stop(), t !== void 0 ? this._deferrer.reject(t) : this._deferrer.resolve(), this._deferrer = void 0;
|
|
1632
|
+
stop(e) {
|
|
1633
|
+
this._deferrerStop(e), this._publisher.publish("stop", e);
|
|
1634
|
+
}
|
|
1635
|
+
onExpire(e) {
|
|
1636
|
+
return this._publisher.subscribe("expire", e);
|
|
1158
1637
|
}
|
|
1159
|
-
|
|
1638
|
+
onStart(e) {
|
|
1639
|
+
return this._publisher.subscribe("start", e);
|
|
1640
|
+
}
|
|
1641
|
+
onStop(e) {
|
|
1642
|
+
return this._publisher.subscribe("stop", e);
|
|
1643
|
+
}
|
|
1644
|
+
onTick(e, n = 0) {
|
|
1160
1645
|
if (n < 0)
|
|
1161
|
-
throw new
|
|
1646
|
+
throw new $e("The tick step must be a non-negative number.");
|
|
1162
1647
|
if (n === 0)
|
|
1163
|
-
return this._publisher.subscribe(
|
|
1164
|
-
let
|
|
1165
|
-
return this._publisher.subscribe((
|
|
1166
|
-
|
|
1648
|
+
return this._publisher.subscribe("tick", e);
|
|
1649
|
+
let s = 0;
|
|
1650
|
+
return this._publisher.subscribe("tick", (r) => {
|
|
1651
|
+
s - r < n || (e(r), s = r);
|
|
1167
1652
|
});
|
|
1168
1653
|
}
|
|
1169
1654
|
}
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1655
|
+
var je;
|
|
1656
|
+
je = Symbol.toStringTag;
|
|
1657
|
+
const D = class D {
|
|
1658
|
+
constructor() {
|
|
1659
|
+
a(this, je, "Random");
|
|
1173
1660
|
}
|
|
1174
|
-
static
|
|
1175
|
-
return Math.
|
|
1661
|
+
static Boolean(t = 0.5) {
|
|
1662
|
+
return Math.random() < t;
|
|
1176
1663
|
}
|
|
1177
|
-
static
|
|
1178
|
-
return
|
|
1664
|
+
static Integer(t, e) {
|
|
1665
|
+
return Math.floor(e === void 0 ? Math.random() * t : Math.random() * (e - t) + t);
|
|
1179
1666
|
}
|
|
1180
|
-
static
|
|
1181
|
-
|
|
1182
|
-
throw new f("You must provide at least one element.");
|
|
1183
|
-
return this.Integer(e.length);
|
|
1667
|
+
static Decimal(t, e) {
|
|
1668
|
+
return t === void 0 ? Math.random() : e === void 0 ? Math.random() * t : Math.random() * (e - t) + t;
|
|
1184
1669
|
}
|
|
1185
|
-
static
|
|
1186
|
-
|
|
1670
|
+
static Index(t) {
|
|
1671
|
+
if (t.length === 0)
|
|
1672
|
+
throw new p("You must provide at least one element.");
|
|
1673
|
+
return this.Integer(t.length);
|
|
1187
1674
|
}
|
|
1188
|
-
|
|
1189
|
-
|
|
1675
|
+
static Choice(t) {
|
|
1676
|
+
return t[D.Index(t)];
|
|
1190
1677
|
}
|
|
1191
|
-
}
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
}
|
|
1198
|
-
function se(s, e = "text/javascript") {
|
|
1199
|
-
return new Promise((t, n) => {
|
|
1200
|
-
const r = document.createElement("script");
|
|
1201
|
-
r.async = !0, r.defer = !0, r.src = s, r.type = e, r.onload = () => t(), r.onerror = () => n(), document.body.appendChild(r);
|
|
1678
|
+
};
|
|
1679
|
+
let j = D;
|
|
1680
|
+
function mt(i, t = "text/javascript") {
|
|
1681
|
+
return new Promise((e, n) => {
|
|
1682
|
+
const s = document.createElement("script");
|
|
1683
|
+
s.async = !0, s.defer = !0, s.src = i, s.type = t, s.onload = () => e(), s.onerror = () => n(), document.body.appendChild(s);
|
|
1202
1684
|
});
|
|
1203
1685
|
}
|
|
1204
|
-
function
|
|
1205
|
-
return new
|
|
1206
|
-
for (const
|
|
1207
|
-
for (const
|
|
1208
|
-
yield
|
|
1686
|
+
function _t(...i) {
|
|
1687
|
+
return new c(function* () {
|
|
1688
|
+
for (const t of i)
|
|
1689
|
+
for (const e of t)
|
|
1690
|
+
yield e;
|
|
1209
1691
|
});
|
|
1210
1692
|
}
|
|
1211
|
-
function
|
|
1212
|
-
if (Array.isArray(
|
|
1213
|
-
return
|
|
1214
|
-
let
|
|
1215
|
-
for (const
|
|
1216
|
-
|
|
1217
|
-
return
|
|
1693
|
+
function wt(i) {
|
|
1694
|
+
if (Array.isArray(i))
|
|
1695
|
+
return i.length;
|
|
1696
|
+
let t = 0;
|
|
1697
|
+
for (const e of i)
|
|
1698
|
+
t += 1;
|
|
1699
|
+
return t;
|
|
1218
1700
|
}
|
|
1219
|
-
function
|
|
1220
|
-
return new
|
|
1221
|
-
let
|
|
1222
|
-
for (const
|
|
1223
|
-
yield [
|
|
1701
|
+
function pt(i) {
|
|
1702
|
+
return new c(function* () {
|
|
1703
|
+
let t = 0;
|
|
1704
|
+
for (const e of i)
|
|
1705
|
+
yield [t, e], t += 1;
|
|
1224
1706
|
});
|
|
1225
1707
|
}
|
|
1226
|
-
function
|
|
1227
|
-
return new
|
|
1228
|
-
|
|
1229
|
-
for (let n =
|
|
1708
|
+
function yt(i, t, e = 1) {
|
|
1709
|
+
return new c(function* () {
|
|
1710
|
+
t === void 0 && (t = i, i = 0), i > t && (e = e ?? -1);
|
|
1711
|
+
for (let n = i; n < t; n += e)
|
|
1230
1712
|
yield n;
|
|
1231
1713
|
});
|
|
1232
1714
|
}
|
|
1233
|
-
function
|
|
1234
|
-
const
|
|
1235
|
-
for (let
|
|
1236
|
-
const n = Math.floor(Math.random() * (
|
|
1237
|
-
[e
|
|
1715
|
+
function gt(i) {
|
|
1716
|
+
const t = Array.from(i);
|
|
1717
|
+
for (let e = t.length - 1; e > 0; e -= 1) {
|
|
1718
|
+
const n = Math.floor(Math.random() * (e + 1));
|
|
1719
|
+
[t[e], t[n]] = [t[n], t[e]];
|
|
1238
1720
|
}
|
|
1239
|
-
return
|
|
1721
|
+
return t;
|
|
1240
1722
|
}
|
|
1241
|
-
function
|
|
1242
|
-
return new
|
|
1243
|
-
const
|
|
1244
|
-
for (const
|
|
1245
|
-
|
|
1723
|
+
function bt(i) {
|
|
1724
|
+
return new c(function* () {
|
|
1725
|
+
const t = /* @__PURE__ */ new Set();
|
|
1726
|
+
for (const e of i)
|
|
1727
|
+
t.has(e) || (t.add(e), yield e);
|
|
1246
1728
|
});
|
|
1247
1729
|
}
|
|
1248
|
-
function
|
|
1249
|
-
return new
|
|
1250
|
-
const
|
|
1730
|
+
function Le(i, t) {
|
|
1731
|
+
return new c(function* () {
|
|
1732
|
+
const e = i[Symbol.iterator](), n = t[Symbol.iterator]();
|
|
1251
1733
|
for (; ; ) {
|
|
1252
|
-
const
|
|
1253
|
-
if (
|
|
1734
|
+
const s = e.next(), r = n.next();
|
|
1735
|
+
if (s.done || r.done)
|
|
1254
1736
|
break;
|
|
1255
|
-
yield [
|
|
1737
|
+
yield [s.value, r.value];
|
|
1256
1738
|
}
|
|
1257
1739
|
});
|
|
1258
1740
|
}
|
|
1259
|
-
function
|
|
1260
|
-
if (
|
|
1261
|
-
let
|
|
1262
|
-
for (const
|
|
1263
|
-
|
|
1741
|
+
function xt(i, t) {
|
|
1742
|
+
if (t === void 0) {
|
|
1743
|
+
let r = 0, o = 0;
|
|
1744
|
+
for (const l of i)
|
|
1745
|
+
r += l, o += 1;
|
|
1264
1746
|
if (o === 0)
|
|
1265
|
-
throw new
|
|
1266
|
-
return
|
|
1747
|
+
throw new p("You must provide at least one value.");
|
|
1748
|
+
return r / o;
|
|
1267
1749
|
}
|
|
1268
|
-
let
|
|
1269
|
-
for (const [
|
|
1750
|
+
let e = 0, n = 0, s = 0;
|
|
1751
|
+
for (const [r, o] of Le(i, t)) {
|
|
1270
1752
|
if (o <= 0)
|
|
1271
|
-
throw new
|
|
1272
|
-
|
|
1753
|
+
throw new p(`The weight for the value #${s} must be greater than zero.`);
|
|
1754
|
+
e += r * o, n += o, s += 1;
|
|
1273
1755
|
}
|
|
1274
|
-
if (
|
|
1275
|
-
throw new
|
|
1756
|
+
if (s === 0)
|
|
1757
|
+
throw new p("You must provide at least one value and weight.");
|
|
1276
1758
|
if (n > 0)
|
|
1277
|
-
throw new
|
|
1278
|
-
return
|
|
1759
|
+
throw new p("The sum of weights must be greater than zero.");
|
|
1760
|
+
return e / n;
|
|
1279
1761
|
}
|
|
1280
|
-
function
|
|
1281
|
-
let
|
|
1282
|
-
for (let
|
|
1283
|
-
const n =
|
|
1284
|
-
|
|
1762
|
+
function vt(i) {
|
|
1763
|
+
let t = 0;
|
|
1764
|
+
for (let e = 0; e < i.length; e += 1) {
|
|
1765
|
+
const n = i.charCodeAt(e);
|
|
1766
|
+
t = (t << 5) - t + n, t |= 0;
|
|
1285
1767
|
}
|
|
1286
|
-
return
|
|
1768
|
+
return t;
|
|
1287
1769
|
}
|
|
1288
|
-
function
|
|
1289
|
-
let
|
|
1290
|
-
for (const
|
|
1291
|
-
|
|
1292
|
-
return
|
|
1770
|
+
function kt(i) {
|
|
1771
|
+
let t = 0;
|
|
1772
|
+
for (const e of i)
|
|
1773
|
+
t += e;
|
|
1774
|
+
return t;
|
|
1293
1775
|
}
|
|
1294
|
-
function
|
|
1295
|
-
return `${
|
|
1776
|
+
function St(i) {
|
|
1777
|
+
return `${i.charAt(0).toUpperCase()}${i.slice(1)}`;
|
|
1296
1778
|
}
|
|
1297
|
-
const
|
|
1779
|
+
const Tt = "2.0.0-rc.10";
|
|
1298
1780
|
export {
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1781
|
+
E as AggregatedAsyncIterator,
|
|
1782
|
+
S as AggregatedIterator,
|
|
1783
|
+
Ge as CallableObject,
|
|
1784
|
+
ft as Clock,
|
|
1785
|
+
dt as Countdown,
|
|
1786
|
+
Ke as DeferredPromise,
|
|
1787
|
+
f as Exception,
|
|
1788
|
+
k as FatalErrorException,
|
|
1789
|
+
Ae as FileException,
|
|
1790
|
+
Ze as FileExistsException,
|
|
1791
|
+
Ue as FileNotFoundException,
|
|
1792
|
+
qe as GameLoop,
|
|
1793
|
+
rt as JSONStorage,
|
|
1794
|
+
x as KeyException,
|
|
1795
|
+
C as LongRunningTask,
|
|
1796
|
+
et as NetworkException,
|
|
1797
|
+
ze as NotImplementedException,
|
|
1798
|
+
tt as PermissionException,
|
|
1799
|
+
M as Publisher,
|
|
1800
|
+
j as Random,
|
|
1801
|
+
$e as RangeException,
|
|
1802
|
+
d as ReducedIterator,
|
|
1803
|
+
Je as ReferenceException,
|
|
1322
1804
|
m as RuntimeException,
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
|
|
1350
|
-
|
|
1351
|
-
|
|
1805
|
+
w as SmartAsyncIterator,
|
|
1806
|
+
c as SmartIterator,
|
|
1807
|
+
T as SmartPromise,
|
|
1808
|
+
st as SwitchableCallback,
|
|
1809
|
+
at as Thenable,
|
|
1810
|
+
F as TimeUnit,
|
|
1811
|
+
lt as TimedPromise,
|
|
1812
|
+
We as TimeoutException,
|
|
1813
|
+
nt as TypeException,
|
|
1814
|
+
Tt as VERSION,
|
|
1815
|
+
p as ValueException,
|
|
1816
|
+
xt as average,
|
|
1817
|
+
St as capitalize,
|
|
1818
|
+
_t as chain,
|
|
1819
|
+
wt as count,
|
|
1820
|
+
ut as dateDifference,
|
|
1821
|
+
ct as dateRange,
|
|
1822
|
+
ht as dateRound,
|
|
1823
|
+
it as delay,
|
|
1824
|
+
pt as enumerate,
|
|
1825
|
+
vt as hash,
|
|
1826
|
+
Oe as isBrowser,
|
|
1827
|
+
Qe as isNode,
|
|
1828
|
+
Xe as isWebWorker,
|
|
1829
|
+
mt as loadScript,
|
|
1830
|
+
ot as nextAnimationFrame,
|
|
1831
|
+
yt as range,
|
|
1832
|
+
gt as shuffle,
|
|
1833
|
+
kt as sum,
|
|
1834
|
+
bt as unique,
|
|
1835
|
+
v as yieldToEventLoop,
|
|
1836
|
+
Le as zip
|
|
1352
1837
|
};
|
|
1353
1838
|
//# sourceMappingURL=core.js.map
|