@layerzerolabs/typescript-utils 1.2.29 → 1.2.31

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.
@@ -0,0 +1,565 @@
1
+ import { init_esm_shims, __name } from './5RVE4P63.js';
2
+
3
+ // ../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.js
4
+ init_esm_shims();
5
+ var $ = Object.defineProperty;
6
+ var C = /* @__PURE__ */ __name((s) => {
7
+ throw TypeError(s);
8
+ }, "C");
9
+ var D = /* @__PURE__ */ __name((s, n, t) => n in s ? $(s, n, {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: t
14
+ }) : s[n] = t, "D");
15
+ var O = /* @__PURE__ */ __name((s, n, t) => D(s, typeof n != "symbol" ? n + "" : n, t), "O");
16
+ var q = /* @__PURE__ */ __name((s, n, t) => n.has(s) || C("Cannot " + t), "q");
17
+ var d = /* @__PURE__ */ __name((s, n, t) => (q(s, n, "read from private field"), t ? t.call(s) : n.get(s)), "d");
18
+ var k = /* @__PURE__ */ __name((s, n, t) => n.has(s) ? C("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(s) : n.set(s, t), "k");
19
+ var f = /* @__PURE__ */ __name((s, n, t, e) => (q(s, n, "write to private field"), e ? e.call(s, t) : n.set(s, t), t), "f");
20
+ var F = /* @__PURE__ */ __name((s, n, t, e) => ({
21
+ set _(r) {
22
+ f(s, n, r, t);
23
+ },
24
+ get _() {
25
+ return d(s, n, e);
26
+ }
27
+ }), "F");
28
+ var M = class {
29
+ static {
30
+ __name(this, "M");
31
+ }
32
+ constructor(n) {
33
+ O(this, "value");
34
+ O(this, "next");
35
+ this.value = n;
36
+ }
37
+ };
38
+ var m;
39
+ var w;
40
+ var E;
41
+ var g = class {
42
+ static {
43
+ __name(this, "g");
44
+ }
45
+ constructor() {
46
+ k(this, m);
47
+ k(this, w);
48
+ k(this, E);
49
+ this.clear();
50
+ }
51
+ enqueue(n) {
52
+ let t = new M(n);
53
+ d(this, m) ? (d(this, w).next = t, f(this, w, t)) : (f(this, m, t), f(this, w, t)), F(this, E)._++;
54
+ }
55
+ dequeue() {
56
+ let n = d(this, m);
57
+ if (n) return f(this, m, d(this, m).next), F(this, E)._--, n.value;
58
+ }
59
+ clear() {
60
+ f(this, m, void 0), f(this, w, void 0), f(this, E, 0);
61
+ }
62
+ get size() {
63
+ return d(this, E);
64
+ }
65
+ *[Symbol.iterator]() {
66
+ let n = d(this, m);
67
+ for (; n; ) yield n.value, n = n.next;
68
+ }
69
+ };
70
+ m = /* @__PURE__ */ new WeakMap(), w = /* @__PURE__ */ new WeakMap(), E = /* @__PURE__ */ new WeakMap();
71
+ function y(s) {
72
+ if (!((Number.isInteger(s) || s === Number.POSITIVE_INFINITY) && s > 0)) throw new TypeError("Expected `concurrency` to be a number from 1 and up");
73
+ let n = new g(), t = 0, e = /* @__PURE__ */ __name(() => {
74
+ t--, n.size > 0 && n.dequeue()();
75
+ }, "e"), r1 = /* @__PURE__ */ __name(async (h, p, a) => {
76
+ t++;
77
+ let l = (async () => h(...a))();
78
+ p(l);
79
+ try {
80
+ await l;
81
+ } catch (T) {
82
+ }
83
+ e();
84
+ }, "r1"), i = /* @__PURE__ */ __name((h, p, a) => {
85
+ n.enqueue(r1.bind(void 0, h, p, a)), (async () => (await Promise.resolve(), t < s && n.size > 0 && n.dequeue()()))();
86
+ }, "i"), c = /* @__PURE__ */ __name((h, ...p) => new Promise((a) => {
87
+ i(h, a, p);
88
+ }), "c");
89
+ return Object.defineProperties(c, {
90
+ activeCount: {
91
+ get: /* @__PURE__ */ __name(() => t, "get")
92
+ },
93
+ pendingCount: {
94
+ get: /* @__PURE__ */ __name(() => n.size, "get")
95
+ },
96
+ clearQueue: {
97
+ value: /* @__PURE__ */ __name(() => {
98
+ n.clear();
99
+ }, "value")
100
+ }
101
+ }), c;
102
+ }
103
+ __name(y, "y");
104
+ function o(s, n = null) {
105
+ let t = new Event(s);
106
+ return n && Object.defineProperty(t, "task", {
107
+ value: n,
108
+ enumerable: true,
109
+ writable: false,
110
+ configurable: false
111
+ }), t;
112
+ }
113
+ __name(o, "o");
114
+ var G = {
115
+ 1: 12.71,
116
+ 2: 4.303,
117
+ 3: 3.182,
118
+ 4: 2.776,
119
+ 5: 2.571,
120
+ 6: 2.447,
121
+ 7: 2.365,
122
+ 8: 2.306,
123
+ 9: 2.262,
124
+ 10: 2.228,
125
+ 11: 2.201,
126
+ 12: 2.179,
127
+ 13: 2.16,
128
+ 14: 2.145,
129
+ 15: 2.131,
130
+ 16: 2.12,
131
+ 17: 2.11,
132
+ 18: 2.101,
133
+ 19: 2.093,
134
+ 20: 2.086,
135
+ 21: 2.08,
136
+ 22: 2.074,
137
+ 23: 2.069,
138
+ 24: 2.064,
139
+ 25: 2.06,
140
+ 26: 2.056,
141
+ 27: 2.052,
142
+ 28: 2.048,
143
+ 29: 2.045,
144
+ 30: 2.042,
145
+ 31: 2.0399,
146
+ 32: 2.0378,
147
+ 33: 2.0357,
148
+ 34: 2.0336,
149
+ 35: 2.0315,
150
+ 36: 2.0294,
151
+ 37: 2.0273,
152
+ 38: 2.0252,
153
+ 39: 2.0231,
154
+ 40: 2.021,
155
+ 41: 2.0198,
156
+ 42: 2.0186,
157
+ 43: 2.0174,
158
+ 44: 2.0162,
159
+ 45: 2.015,
160
+ 46: 2.0138,
161
+ 47: 2.0126,
162
+ 48: 2.0114,
163
+ 49: 2.0102,
164
+ 50: 2.009,
165
+ 51: 2.0081,
166
+ 52: 2.0072,
167
+ 53: 2.0063,
168
+ 54: 2.0054,
169
+ 55: 2.0045,
170
+ 56: 2.0036,
171
+ 57: 2.0027,
172
+ 58: 2.0018,
173
+ 59: 2.0009,
174
+ 60: 2,
175
+ 61: 1.9995,
176
+ 62: 1.999,
177
+ 63: 1.9985,
178
+ 64: 1.998,
179
+ 65: 1.9975,
180
+ 66: 1.997,
181
+ 67: 1.9965,
182
+ 68: 1.996,
183
+ 69: 1.9955,
184
+ 70: 1.995,
185
+ 71: 1.9945,
186
+ 72: 1.994,
187
+ 73: 1.9935,
188
+ 74: 1.993,
189
+ 75: 1.9925,
190
+ 76: 1.992,
191
+ 77: 1.9915,
192
+ 78: 1.991,
193
+ 79: 1.9905,
194
+ 80: 1.99,
195
+ 81: 1.9897,
196
+ 82: 1.9894,
197
+ 83: 1.9891,
198
+ 84: 1.9888,
199
+ 85: 1.9885,
200
+ 86: 1.9882,
201
+ 87: 1.9879,
202
+ 88: 1.9876,
203
+ 89: 1.9873,
204
+ 90: 1.987,
205
+ 91: 1.9867,
206
+ 92: 1.9864,
207
+ 93: 1.9861,
208
+ 94: 1.9858,
209
+ 95: 1.9855,
210
+ 96: 1.9852,
211
+ 97: 1.9849,
212
+ 98: 1.9846,
213
+ 99: 1.9843,
214
+ 100: 1.984,
215
+ 101: 1.9838,
216
+ 102: 1.9836,
217
+ 103: 1.9834,
218
+ 104: 1.9832,
219
+ 105: 1.983,
220
+ 106: 1.9828,
221
+ 107: 1.9826,
222
+ 108: 1.9824,
223
+ 109: 1.9822,
224
+ 110: 1.982,
225
+ 111: 1.9818,
226
+ 112: 1.9816,
227
+ 113: 1.9814,
228
+ 114: 1.9812,
229
+ 115: 1.9819,
230
+ 116: 1.9808,
231
+ 117: 1.9806,
232
+ 118: 1.9804,
233
+ 119: 1.9802,
234
+ 120: 1.98,
235
+ infinity: 1.96
236
+ };
237
+ var N = G;
238
+ var J = /* @__PURE__ */ __name((s) => s / 1e6, "J");
239
+ var U = /* @__PURE__ */ __name(() => J(Number(process.hrtime.bigint())), "U");
240
+ var B = /* @__PURE__ */ __name(() => performance.now(), "B");
241
+ function W(s) {
242
+ return s !== null && typeof s == "object" && typeof s.then == "function";
243
+ }
244
+ __name(W, "W");
245
+ var S = /* @__PURE__ */ __name((s, n) => s.reduce((e, r1) => e + (r1 - n) ** 2, 0) / (s.length - 1) || 0, "S");
246
+ var X = (async () => {
247
+ }).constructor;
248
+ var Z = /* @__PURE__ */ __name((s) => s.constructor === X, "Z");
249
+ var z = /* @__PURE__ */ __name(async (s) => {
250
+ if (Z(s.fn)) return true;
251
+ try {
252
+ if (s.opts.beforeEach != null) try {
253
+ await s.opts.beforeEach.call(s);
254
+ } catch (e) {
255
+ }
256
+ let n = s.fn(), t = W(n);
257
+ if (t) try {
258
+ await n;
259
+ } catch (e) {
260
+ }
261
+ if (s.opts.afterEach != null) try {
262
+ await s.opts.afterEach.call(s);
263
+ } catch (e) {
264
+ }
265
+ return t;
266
+ } catch (n) {
267
+ return false;
268
+ }
269
+ }, "z");
270
+ var b = class extends EventTarget {
271
+ static {
272
+ __name(this, "b");
273
+ }
274
+ constructor(t, e, r1, i = {}) {
275
+ super();
276
+ this.runs = 0;
277
+ this.bench = t, this.name = e, this.fn = r1, this.opts = i;
278
+ }
279
+ async loop(t, e) {
280
+ var T;
281
+ let r1 = this.bench.concurrency === "task", { threshold: i } = this.bench, c = 0, h = [];
282
+ if (this.opts.beforeAll != null) try {
283
+ await this.opts.beforeAll.call(this);
284
+ } catch (u) {
285
+ return {
286
+ error: u
287
+ };
288
+ }
289
+ let p = await z(this), a = /* @__PURE__ */ __name(async () => {
290
+ this.opts.beforeEach != null && await this.opts.beforeEach.call(this);
291
+ let u = 0;
292
+ if (p) {
293
+ let v = this.bench.now();
294
+ await this.fn.call(this), u = this.bench.now() - v;
295
+ } else {
296
+ let v = this.bench.now();
297
+ this.fn.call(this), u = this.bench.now() - v;
298
+ }
299
+ h.push(u), c += u, this.opts.afterEach != null && await this.opts.afterEach.call(this);
300
+ }, "a"), l = y(i);
301
+ try {
302
+ let u = [];
303
+ for (; (c < t || h.length + l.activeCount + l.pendingCount < e) && !((T = this.bench.signal) != null && T.aborted); ) r1 ? u.push(l(a)) : await a();
304
+ u.length && await Promise.all(u);
305
+ } catch (u) {
306
+ return {
307
+ error: u
308
+ };
309
+ }
310
+ if (this.opts.afterAll != null) try {
311
+ await this.opts.afterAll.call(this);
312
+ } catch (u) {
313
+ return {
314
+ error: u
315
+ };
316
+ }
317
+ return {
318
+ samples: h
319
+ };
320
+ }
321
+ /**
322
+ * run the current task and write the results in `Task.result` object
323
+ */
324
+ async run() {
325
+ var r1, i;
326
+ if ((r1 = this.result) != null && r1.error) return this;
327
+ this.dispatchEvent(o("start", this)), await this.bench.setup(this, "run");
328
+ let { samples: t, error: e } = await this.loop(this.bench.time, this.bench.iterations);
329
+ if (this.bench.teardown(this, "run"), t) {
330
+ let c = t.reduce((L, A) => L + A, 0);
331
+ this.runs = t.length, t.sort((L, A) => L - A);
332
+ let h = c / this.runs, p = 1e3 / h, a = t.length, l = a - 1, T = t[0], u = t[l], v = c / t.length || 0, P = S(t, v), R = Math.sqrt(P), I = R / Math.sqrt(a), _ = N[String(Math.round(l) || 1)] || N.infinity, K = I * _, j = K / v * 100, H = t[Math.ceil(a * 0.75) - 1], V = t[Math.ceil(a * 0.99) - 1], Q = t[Math.ceil(a * 0.995) - 1], Y = t[Math.ceil(a * 0.999) - 1];
333
+ if ((i = this.bench.signal) != null && i.aborted) return this;
334
+ this.setResult({
335
+ totalTime: c,
336
+ min: T,
337
+ max: u,
338
+ hz: p,
339
+ period: h,
340
+ samples: t,
341
+ mean: v,
342
+ variance: P,
343
+ sd: R,
344
+ sem: I,
345
+ df: l,
346
+ critical: _,
347
+ moe: K,
348
+ rme: j,
349
+ p75: H,
350
+ p99: V,
351
+ p995: Q,
352
+ p999: Y
353
+ });
354
+ }
355
+ if (e) {
356
+ if (this.setResult({
357
+ error: e
358
+ }), this.bench.throws) throw e;
359
+ this.dispatchEvent(o("error", this)), this.bench.dispatchEvent(o("error", this));
360
+ }
361
+ return this.dispatchEvent(o("cycle", this)), this.bench.dispatchEvent(o("cycle", this)), this.dispatchEvent(o("complete", this)), this;
362
+ }
363
+ /**
364
+ * warmup the current task
365
+ */
366
+ async warmup() {
367
+ var e;
368
+ if ((e = this.result) != null && e.error) return;
369
+ this.dispatchEvent(o("warmup", this)), await this.bench.setup(this, "warmup");
370
+ let { error: t } = await this.loop(this.bench.warmupTime, this.bench.warmupIterations);
371
+ if (this.bench.teardown(this, "warmup"), t && (this.setResult({
372
+ error: t
373
+ }), this.bench.throws)) throw t;
374
+ }
375
+ addEventListener(t, e, r1) {
376
+ super.addEventListener(t, e, r1);
377
+ }
378
+ removeEventListener(t, e, r1) {
379
+ super.removeEventListener(t, e, r1);
380
+ }
381
+ /**
382
+ * change the result object values
383
+ */
384
+ setResult(t) {
385
+ this.result = {
386
+ ...this.result,
387
+ ...t
388
+ }, Object.freeze(this.result);
389
+ }
390
+ /**
391
+ * reset the task to make the `Task.runs` a zero-value and remove the `Task.result`
392
+ * object
393
+ */
394
+ reset() {
395
+ this.dispatchEvent(o("reset", this)), this.runs = 0, this.result = void 0;
396
+ }
397
+ };
398
+ var x = class extends EventTarget {
399
+ static {
400
+ __name(this, "x");
401
+ }
402
+ constructor(t = {}) {
403
+ var e, r1, i, c, h, p, a, l;
404
+ super();
405
+ this._tasks = /* @__PURE__ */ new Map();
406
+ this._todos = /* @__PURE__ */ new Map();
407
+ this.concurrency = null;
408
+ this.threshold = 1 / 0;
409
+ this.warmupTime = 100;
410
+ this.warmupIterations = 5;
411
+ this.time = 500;
412
+ this.iterations = 10;
413
+ this.now = B;
414
+ this.now = (e = t.now) != null ? e : this.now, this.warmupTime = (r1 = t.warmupTime) != null ? r1 : this.warmupTime, this.warmupIterations = (i = t.warmupIterations) != null ? i : this.warmupIterations, this.time = (c = t.time) != null ? c : this.time, this.iterations = (h = t.iterations) != null ? h : this.iterations, this.signal = t.signal, this.throws = (p = t.throws) != null ? p : false, this.setup = (a = t.setup) != null ? a : () => {
415
+ }, this.teardown = (l = t.teardown) != null ? l : () => {
416
+ }, this.signal && this.signal.addEventListener("abort", () => {
417
+ this.dispatchEvent(o("abort"));
418
+ }, {
419
+ once: true
420
+ });
421
+ }
422
+ runTask(t) {
423
+ var e;
424
+ return (e = this.signal) != null && e.aborted ? t : t.run();
425
+ }
426
+ /**
427
+ * run the added tasks that were registered using the
428
+ * {@link add} method.
429
+ * Note: This method does not do any warmup. Call {@link warmup} for that.
430
+ */
431
+ async run() {
432
+ if (this.concurrency === "bench") return this.runConcurrently(this.threshold, this.concurrency);
433
+ this.dispatchEvent(o("start"));
434
+ let t = [];
435
+ for (let e of [
436
+ ...this._tasks.values()
437
+ ]) t.push(await this.runTask(e));
438
+ return this.dispatchEvent(o("complete")), t;
439
+ }
440
+ /**
441
+ * See Bench.{@link concurrency}
442
+ */
443
+ async runConcurrently(t = 1 / 0, e = "bench") {
444
+ if (this.threshold = t, this.concurrency = e, e === "task") return this.run();
445
+ this.dispatchEvent(o("start"));
446
+ let r1 = y(t), i = [];
447
+ for (let h of [
448
+ ...this._tasks.values()
449
+ ]) i.push(r1(() => this.runTask(h)));
450
+ let c = await Promise.all(i);
451
+ return this.dispatchEvent(o("complete")), c;
452
+ }
453
+ /**
454
+ * warmup the benchmark tasks.
455
+ * This is not run by default by the {@link run} method.
456
+ */
457
+ async warmup() {
458
+ if (this.concurrency === "bench") {
459
+ await this.warmupConcurrently(this.threshold, this.concurrency);
460
+ return;
461
+ }
462
+ this.dispatchEvent(o("warmup"));
463
+ for (let [, t] of this._tasks) await t.warmup();
464
+ }
465
+ /**
466
+ * warmup the benchmark tasks concurrently.
467
+ * This is not run by default by the {@link runConcurrently} method.
468
+ */
469
+ async warmupConcurrently(t = 1 / 0, e = "bench") {
470
+ if (this.threshold = t, this.concurrency = e, e === "task") {
471
+ await this.warmup();
472
+ return;
473
+ }
474
+ this.dispatchEvent(o("warmup"));
475
+ let r1 = y(t), i = [];
476
+ for (let [, c] of this._tasks) i.push(r1(() => c.warmup()));
477
+ await Promise.all(i);
478
+ }
479
+ /**
480
+ * reset each task and remove its result
481
+ */
482
+ reset() {
483
+ this.dispatchEvent(o("reset")), this._tasks.forEach((t) => {
484
+ t.reset();
485
+ });
486
+ }
487
+ /**
488
+ * add a benchmark task to the task map
489
+ */
490
+ add(t, e, r1 = {}) {
491
+ let i = new b(this, t, e, r1);
492
+ return this._tasks.set(t, i), this.dispatchEvent(o("add", i)), this;
493
+ }
494
+ /**
495
+ * add a benchmark todo to the todo map
496
+ */
497
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
498
+ todo(t, e = () => {
499
+ }, r1 = {}) {
500
+ let i = new b(this, t, e, r1);
501
+ return this._todos.set(t, i), this.dispatchEvent(o("todo", i)), this;
502
+ }
503
+ /**
504
+ * remove a benchmark task from the task map
505
+ */
506
+ remove(t) {
507
+ let e = this.getTask(t);
508
+ return e && (this.dispatchEvent(o("remove", e)), this._tasks.delete(t)), this;
509
+ }
510
+ addEventListener(t, e, r1) {
511
+ super.addEventListener(t, e, r1);
512
+ }
513
+ removeEventListener(t, e, r1) {
514
+ super.removeEventListener(t, e, r1);
515
+ }
516
+ /**
517
+ * table of the tasks results
518
+ */
519
+ table(t) {
520
+ return this.tasks.map((e) => {
521
+ if (e.result) {
522
+ if (e.result.error) throw e.result.error;
523
+ return (t == null ? void 0 : t(e)) || {
524
+ "Task Name": e.name,
525
+ "ops/sec": e.result.error ? "NaN" : parseInt(e.result.hz.toString(), 10).toLocaleString(),
526
+ "Average Time (ns)": e.result.error ? "NaN" : e.result.mean * 1e3 * 1e3,
527
+ Margin: e.result.error ? "NaN" : `\xB1${e.result.rme.toFixed(2)}%`,
528
+ Samples: e.result.error ? "NaN" : e.result.samples.length
529
+ };
530
+ }
531
+ return null;
532
+ });
533
+ }
534
+ /**
535
+ * (getter) tasks results as an array
536
+ */
537
+ get results() {
538
+ return [
539
+ ...this._tasks.values()
540
+ ].map((t) => t.result);
541
+ }
542
+ /**
543
+ * (getter) tasks as an array
544
+ */
545
+ get tasks() {
546
+ return [
547
+ ...this._tasks.values()
548
+ ];
549
+ }
550
+ get todos() {
551
+ return [
552
+ ...this._todos.values()
553
+ ];
554
+ }
555
+ /**
556
+ * get a task based on the task name
557
+ */
558
+ getTask(t) {
559
+ return this._tasks.get(t);
560
+ }
561
+ };
562
+
563
+ export { x as Bench, b as Task, U as hrtimeNow, B as now };
564
+ //# sourceMappingURL=J6DSMCWW.js.map
565
+ //# sourceMappingURL=J6DSMCWW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../node_modules/.pnpm/tinybench@2.9.0/node_modules/tinybench/dist/index.js"],"names":["$","Object","defineProperty","C","s","TypeError","D","n","t","enumerable","configurable","writable","value","O","q","has","d","call","get","k","WeakSet","add","set","f","e","F","_","r","M","m","w","E","g","clear","enqueue","next","dequeue","size","Symbol","iterator","WeakMap","y","Number","isInteger","POSITIVE_INFINITY","h","p","a","l","T","i","bind","Promise","resolve","c","defineProperties","activeCount","pendingCount","clearQueue","o","Event","G","infinity","N","J","U","process","hrtime","bigint","B","performance","now","W","then","S","reduce","length","X","Z","z","fn","opts","beforeEach","afterEach","b","EventTarget","runs","bench","name","loop","concurrency","threshold","beforeAll","u","error","v","push","signal","aborted","all","afterAll","samples","run","result","dispatchEvent","setup","time","iterations","teardown","L","A","sort","P","R","Math","sqrt","I","String","round","K","j","H","ceil","V","Q","Y","setResult","totalTime","min","max","hz","period","mean","variance","sd","sem","df","critical","moe","rme","p75","p99","p995","p999","throws","warmup","warmupTime","warmupIterations","addEventListener","removeEventListener","freeze","reset","x","_tasks","Map","_todos","once","runTask","runConcurrently","values","warmupConcurrently","forEach","todo","remove","getTask","delete","table","tasks","map","parseInt","toString","toLocaleString","Margin","toFixed","Samples","results","todos"],"mappings":";;;AAAA,cAAA,EAAA;AAAA,IAAIA,IAAIC,MAAAA,CAAOC,cAAAA;AACf,IAAIC,CAAAA,2BAAKC,CAAAA,KAAAA;AACP,EAAA,MAAMC,UAAUD,CAAAA,CAAAA;AAClB,CAAA,EAFQ,GAAA,CAAA;AAGR,IAAIE,CAAAA,2BAAKF,CAAAA,EAAGG,CAAAA,EAAGC,MAAMD,CAAAA,IAAKH,CAAAA,GAAIJ,CAAAA,CAAEI,CAAAA,EAAGG,CAAAA,EAAG;EAAEE,UAAAA,EAAY,IAAA;EAAIC,YAAAA,EAAc,IAAA;EAAIC,QAAAA,EAAU,IAAA;EAAIC,KAAAA,EAAOJ;AAAE,CAAA,CAAA,GAAKJ,CAAAA,CAAEG,CAAAA,CAAAA,GAAKC,CAAAA,EAArG,GAAA,CAAA;AACR,IAAIK,CAAAA,mBAAI,MAAA,CAAA,CAACT,CAAAA,EAAGG,CAAAA,EAAGC,MAAMF,CAAAA,CAAEF,CAAAA,EAAG,OAAOG,CAAAA,IAAK,QAAA,GAAWA,CAAAA,GAAI,EAAA,GAAKA,CAAAA,EAAGC,CAAAA,CAAAA,EAArD,GAAA,CAAA;AAAR,IAAiEM,CAAAA,mBAAI,MAAA,CAAA,CAACV,CAAAA,EAAGG,CAAAA,EAAGC,CAAAA,KAAMD,CAAAA,CAAEQ,GAAAA,CAAIX,CAAAA,CAAAA,IAAMD,CAAAA,CAAE,SAAA,GAAYK,CAAAA,CAAAA,EAAvC,GAAA,CAAA;AACrE,IAAIQ,oBAAI,MAAA,CAAA,CAACZ,CAAAA,EAAGG,GAAGC,CAAAA,MAAOM,CAAAA,CAAEV,GAAGG,CAAAA,EAAG,yBAAA,CAAA,EAA4BC,CAAAA,GAAIA,EAAES,IAAAA,CAAKb,CAAAA,IAAKG,CAAAA,CAAEW,GAAAA,CAAId,CAAAA,CAAAA,CAAAA,EAAxE,GAAA,CAAA;AAAR,IAAqFe,CAAAA,2BAAKf,CAAAA,EAAGG,CAAAA,EAAGC,MAAMD,CAAAA,CAAEQ,GAAAA,CAAIX,CAAAA,CAAAA,GAAKD,CAAAA,CAAE,mDAAA,IAAuDI,CAAAA,YAAaa,OAAAA,GAAUb,EAAEc,GAAAA,CAAIjB,CAAAA,IAAKG,CAAAA,CAAEe,GAAAA,CAAIlB,CAAAA,EAAGI,CAAAA,CAAAA,EAA5H,GAAA,CAAA;AAAzF,IAAyNe,CAAAA,2BAAKnB,CAAAA,EAAGG,CAAAA,EAAGC,GAAGgB,CAAAA,MAAOV,CAAAA,CAAEV,CAAAA,EAAGG,CAAAA,EAAG,wBAAA,CAAA,EAA2BiB,IAAIA,CAAAA,CAAEP,IAAAA,CAAKb,GAAGI,CAAAA,CAAAA,GAAKD,EAAEe,GAAAA,CAAIlB,CAAAA,EAAGI,CAAAA,CAAAA,EAAIA,CAAAA,CAAAA,EAApF,GAAA,CAAA;AAC7N,IAAIiB,CAAAA,mBAAI,MAAA,CAAA,CAACrB,CAAAA,EAAGG,CAAAA,EAAGC,GAAGgB,CAAAA,MAAO;AACvB,EAAA,IAAIE,EAAEC,CAAAA,EAAG;AACPJ,IAAAA,CAAAA,CAAEnB,CAAAA,EAAGG,CAAAA,EAAGoB,CAAAA,EAAGnB,CAAAA,CAAAA;AACb,EAAA,CAAA;AACA,EAAA,IAAIkB,CAAAA,GAAI;AACN,IAAA,OAAOV,CAAAA,CAAEZ,CAAAA,EAAGG,CAAAA,EAAGiB,CAAAA,CAAAA;AACjB,EAAA;AACF,CAAA,CAAA,EAPQ,GAAA,CAAA;AAUR,IAAII,IAAI,MAAA;EAjBR;;;AAkBE,EAAA,WAAA,CAAYrB,CAAAA,EAAG;AACbM,IAAAA,CAAAA,CAAE,MAAM,OAAA,CAAA;AACRA,IAAAA,CAAAA,CAAE,MAAM,MAAA,CAAA;AACR,IAAA,IAAA,CAAKD,KAAAA,GAAQL,CAAAA;AACf,EAAA;AACF,CAAA;AANA,IAMGsB,CAAAA;AANH,IAMMC,CAAAA;AANN,IAMSC,CAAAA;AANT,IAMYC,IAAI,MAAA;EAvBhB;;;EAwBE,WAAA,GAAc;AACZb,IAAAA,CAAAA,CAAE,MAAMU,CAAAA,CAAAA;AACRV,IAAAA,CAAAA,CAAE,MAAMW,CAAAA,CAAAA;AACRX,IAAAA,CAAAA,CAAE,MAAMY,CAAAA,CAAAA;AACR,IAAA,IAAA,CAAKE,KAAAA,EAAK;AACZ,EAAA;AACAC,EAAAA,OAAAA,CAAQ3B,CAAAA,EAAG;AACT,IAAA,IAAIC,CAAAA,GAAI,IAAIoB,CAAAA,CAAErB,CAAAA,CAAAA;AACdS,IAAAA,CAAAA,CAAE,IAAA,EAAMa,CAAAA,CAAAA,IAAMb,CAAAA,CAAE,IAAA,EAAMc,CAAAA,CAAAA,CAAGK,IAAAA,GAAO3B,CAAAA,EAAGe,CAAAA,CAAE,IAAA,EAAMO,CAAAA,EAAGtB,CAAAA,CAAAA,KAAOe,CAAAA,CAAE,IAAA,EAAMM,CAAAA,EAAGrB,CAAAA,CAAAA,EAAIe,CAAAA,CAAE,IAAA,EAAMO,CAAAA,EAAGtB,CAAAA,CAAAA,CAAAA,EAAKiB,CAAAA,CAAE,IAAA,EAAMM,CAAAA,CAAAA,CAAGL,CAAAA,EAAAA;AACjG,EAAA;EACAU,OAAAA,GAAU;AACR,IAAA,IAAI7B,CAAAA,GAAIS,CAAAA,CAAE,IAAA,EAAMa,CAAAA,CAAAA;AAChB,IAAA,IAAItB,GACF,OAAOgB,CAAAA,CAAE,IAAA,EAAMM,CAAAA,EAAGb,EAAE,IAAA,EAAMa,CAAAA,CAAAA,CAAGM,IAAI,GAAGV,CAAAA,CAAE,IAAA,EAAMM,CAAAA,CAAAA,CAAGL,KAAKnB,CAAAA,CAAEK,KAAAA;AAC1D,EAAA;EACAqB,KAAAA,GAAQ;AACNV,IAAAA,CAAAA,CAAE,IAAA,EAAMM,CAAAA,EAAG,MAAK,CAAA,EAAIN,CAAAA,CAAE,IAAA,EAAMO,CAAAA,EAAG,MAAK,CAAA,EAAIP,CAAAA,CAAE,IAAA,EAAMQ,CAAAA,EAAG,CAAA,CAAA;AACrD,EAAA;AACA,EAAA,IAAIM,IAAAA,GAAO;AACT,IAAA,OAAOrB,CAAAA,CAAE,MAAMe,CAAAA,CAAAA;AACjB,EAAA;EACA,EAAEO,MAAAA,CAAOC,QAAQ,CAAA,GAAI;AACnB,IAAA,IAAIhC,CAAAA,GAAIS,CAAAA,CAAE,IAAA,EAAMa,CAAAA,CAAAA;AAChB,IAAA,OAAOtB,CAAAA,IACL,MAAMA,CAAAA,CAAEK,KAAAA,EAAOL,IAAIA,CAAAA,CAAE4B,IAAAA;AACzB,EAAA;AACF,CAAA;AACAN,CAAAA,mBAAI,IAAIW,SAAAA,EAAWV,CAAAA,uBAAQU,OAAAA,EAAAA,EAAWT,CAAAA,mBAAI,IAAIS,OAAAA,EAAAA;AAG9C,SAASC,EAAErC,CAAAA,EAAC;AACV,EAAA,IAAI,EAAA,CAAGsC,MAAAA,CAAOC,SAAAA,CAAUvC,CAAAA,CAAAA,IAAMA,CAAAA,KAAMsC,MAAAA,CAAOE,iBAAAA,KAAsBxC,CAAAA,GAAI,CAAA,CAAA,EACnE,MAAM,IAAIC,UAAU,qDAAA,CAAA;AACtB,EAAA,IAAIE,IAAI,IAAIyB,CAAAA,IAAKxB,CAAAA,GAAI,CAAA,EAAGgB,oBAAI,MAAA,CAAA,MAAA;AAC1BhB,IAAAA,CAAAA,EAAAA,EAAKD,CAAAA,CAAE8B,IAAAA,GAAO,CAAA,IAAK9B,CAAAA,CAAE6B,SAAO,EAAA;AAC9B,EAAA,CAAA,EAF4B,GAAA,CAAA,EAEzBT,EAAAA,mBAAI,MAAA,CAAA,OAAOkB,CAAAA,EAAGC,GAAGC,CAAAA,KAAAA;AAClBvC,IAAAA,CAAAA,EAAAA;AACA,IAAA,IAAIwC,CAAAA,GAAAA,CAAK,YAAYH,CAAAA,CAAAA,GAAKE,CAAAA,CAAAA,GAAC;AAC3BD,IAAAA,CAAAA,CAAEE,CAAAA,CAAAA;AACF,IAAA,IAAI;AACF,MAAA,MAAMA,CAAAA;AACR,IAAA,CAAA,CAAA,OAASC,CAAAA,EAAG;AACZ,IAAA;AACAzB,IAAAA,CAAAA,EAAAA;AACF,EAAA,CAAA,EATO,IAAA,CAAA,EASJ0B,CAAAA,mBAAI,MAAA,CAAA,CAACL,CAAAA,EAAGC,GAAGC,CAAAA,KAAAA;AACZxC,IAAAA,CAAAA,CAAE2B,OAAAA,CAAQP,GAAEwB,IAAAA,CAAK,MAAA,EAAQN,GAAGC,CAAAA,EAAGC,CAAAA,CAAAA,CAAAA,EAAAA,CAAM,aAAa,MAAMK,QAAQC,OAAAA,EAAO,EAAI7C,IAAIJ,CAAAA,IAAKG,CAAAA,CAAE8B,OAAO,CAAA,IAAK9B,CAAAA,CAAE6B,OAAAA,EAAO,EAAA,CAAA,GAAI;EACjH,CAAA,EAFO,GAAA,CAAA,EAEJkB,oBAAI,MAAA,CAAA,CAACT,CAAAA,EAAAA,GAAMC,MAAM,IAAIM,OAAAA,CAAQ,CAACL,CAAAA,KAAAA;AAC/BG,IAAAA,CAAAA,CAAEL,CAAAA,EAAGE,GAAGD,CAAAA,CAAAA;AACV,EAAA,CAAA,CAAA,EAFO,GAAA,CAAA;AAGP,EAAA,OAAO7C,MAAAA,CAAOsD,iBAAiBD,CAAAA,EAAG;IAChCE,WAAAA,EAAa;AACXtC,MAAAA,GAAAA,+BAAWV,CAAAA,EAAN,KAAA;AACP,KAAA;IACAiD,YAAAA,EAAc;MACZvC,GAAAA,kBAAK,MAAA,CAAA,MAAMX,EAAE8B,IAAAA,EAAR,KAAA;AACP,KAAA;IACAqB,UAAAA,EAAY;AACV9C,MAAAA,KAAAA,kBAAO,MAAA,CAAA,MAAA;AACLL,QAAAA,CAAAA,CAAE0B,KAAAA,EAAK;MACT,CAAA,EAFO,OAAA;AAGT;AACF,GAAA,CAAA,EAAIqB,CAAAA;AACN;AAhCSb,MAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA;AAmCT,SAASkB,CAAAA,CAAEvD,CAAAA,EAAGG,CAAAA,GAAI,IAAA,EAAI;AACpB,EAAA,IAAIC,CAAAA,GAAI,IAAIoD,KAAAA,CAAMxD,CAAAA,CAAAA;AAClB,EAAA,OAAOG,CAAAA,IAAKN,MAAAA,CAAOC,cAAAA,CAAeM,CAAAA,EAAG,MAAA,EAAQ;IAC3CI,KAAAA,EAAOL,CAAAA;IACPE,UAAAA,EAAY,IAAA;IACZE,QAAAA,EAAU,KAAA;IACVD,YAAAA,EAAc;AAChB,GAAA,CAAA,EAAIF,CAAAA;AACN;AARSmD,MAAAA,CAAAA,CAAAA,EAAAA,GAAAA,CAAAA;AAWT,IAAIE,CAAAA,GAAI;EACN,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,CAAA,EAAG,KAAA;EACH,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,IAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,IAAA;EACJ,EAAA,EAAI,IAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,IAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,IAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,CAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,KAAA;EACJ,EAAA,EAAI,MAAA;EACJ,EAAA,EAAI,IAAA;EACJ,EAAA,EAAI,MAA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","file":"J6DSMCWW.js","sourcesContent":["var $ = Object.defineProperty;\nvar C = (s) => {\n throw TypeError(s);\n};\nvar D = (s, n, t) => n in s ? $(s, n, { enumerable: !0, configurable: !0, writable: !0, value: t }) : s[n] = t;\nvar O = (s, n, t) => D(s, typeof n != \"symbol\" ? n + \"\" : n, t), q = (s, n, t) => n.has(s) || C(\"Cannot \" + t);\nvar d = (s, n, t) => (q(s, n, \"read from private field\"), t ? t.call(s) : n.get(s)), k = (s, n, t) => n.has(s) ? C(\"Cannot add the same private member more than once\") : n instanceof WeakSet ? n.add(s) : n.set(s, t), f = (s, n, t, e) => (q(s, n, \"write to private field\"), e ? e.call(s, t) : n.set(s, t), t);\nvar F = (s, n, t, e) => ({\n set _(r) {\n f(s, n, r, t);\n },\n get _() {\n return d(s, n, e);\n }\n});\n\n// node_modules/.pnpm/yocto-queue@1.0.0/node_modules/yocto-queue/index.js\nvar M = class {\n constructor(n) {\n O(this, \"value\");\n O(this, \"next\");\n this.value = n;\n }\n}, m, w, E, g = class {\n constructor() {\n k(this, m);\n k(this, w);\n k(this, E);\n this.clear();\n }\n enqueue(n) {\n let t = new M(n);\n d(this, m) ? (d(this, w).next = t, f(this, w, t)) : (f(this, m, t), f(this, w, t)), F(this, E)._++;\n }\n dequeue() {\n let n = d(this, m);\n if (n)\n return f(this, m, d(this, m).next), F(this, E)._--, n.value;\n }\n clear() {\n f(this, m, void 0), f(this, w, void 0), f(this, E, 0);\n }\n get size() {\n return d(this, E);\n }\n *[Symbol.iterator]() {\n let n = d(this, m);\n for (; n; )\n yield n.value, n = n.next;\n }\n};\nm = new WeakMap(), w = new WeakMap(), E = new WeakMap();\n\n// node_modules/.pnpm/p-limit@4.0.0/node_modules/p-limit/index.js\nfunction y(s) {\n if (!((Number.isInteger(s) || s === Number.POSITIVE_INFINITY) && s > 0))\n throw new TypeError(\"Expected `concurrency` to be a number from 1 and up\");\n let n = new g(), t = 0, e = () => {\n t--, n.size > 0 && n.dequeue()();\n }, r = async (h, p, a) => {\n t++;\n let l = (async () => h(...a))();\n p(l);\n try {\n await l;\n } catch (T) {\n }\n e();\n }, i = (h, p, a) => {\n n.enqueue(r.bind(void 0, h, p, a)), (async () => (await Promise.resolve(), t < s && n.size > 0 && n.dequeue()()))();\n }, c = (h, ...p) => new Promise((a) => {\n i(h, a, p);\n });\n return Object.defineProperties(c, {\n activeCount: {\n get: () => t\n },\n pendingCount: {\n get: () => n.size\n },\n clearQueue: {\n value: () => {\n n.clear();\n }\n }\n }), c;\n}\n\n// src/event.ts\nfunction o(s, n = null) {\n let t = new Event(s);\n return n && Object.defineProperty(t, \"task\", {\n value: n,\n enumerable: !0,\n writable: !1,\n configurable: !1\n }), t;\n}\n\n// src/constants.ts\nvar G = {\n 1: 12.71,\n 2: 4.303,\n 3: 3.182,\n 4: 2.776,\n 5: 2.571,\n 6: 2.447,\n 7: 2.365,\n 8: 2.306,\n 9: 2.262,\n 10: 2.228,\n 11: 2.201,\n 12: 2.179,\n 13: 2.16,\n 14: 2.145,\n 15: 2.131,\n 16: 2.12,\n 17: 2.11,\n 18: 2.101,\n 19: 2.093,\n 20: 2.086,\n 21: 2.08,\n 22: 2.074,\n 23: 2.069,\n 24: 2.064,\n 25: 2.06,\n 26: 2.056,\n 27: 2.052,\n 28: 2.048,\n 29: 2.045,\n 30: 2.042,\n 31: 2.0399,\n 32: 2.0378,\n 33: 2.0357,\n 34: 2.0336,\n 35: 2.0315,\n 36: 2.0294,\n 37: 2.0273,\n 38: 2.0252,\n 39: 2.0231,\n 40: 2.021,\n 41: 2.0198,\n 42: 2.0186,\n 43: 2.0174,\n 44: 2.0162,\n 45: 2.015,\n 46: 2.0138,\n 47: 2.0126,\n 48: 2.0114,\n 49: 2.0102,\n 50: 2.009,\n 51: 2.0081,\n 52: 2.0072,\n 53: 2.0063,\n 54: 2.0054,\n 55: 2.0045,\n 56: 2.0036,\n 57: 2.0027,\n 58: 2.0018,\n 59: 2.0009,\n 60: 2,\n 61: 1.9995,\n 62: 1.999,\n 63: 1.9985,\n 64: 1.998,\n 65: 1.9975,\n 66: 1.997,\n 67: 1.9965,\n 68: 1.996,\n 69: 1.9955,\n 70: 1.995,\n 71: 1.9945,\n 72: 1.994,\n 73: 1.9935,\n 74: 1.993,\n 75: 1.9925,\n 76: 1.992,\n 77: 1.9915,\n 78: 1.991,\n 79: 1.9905,\n 80: 1.99,\n 81: 1.9897,\n 82: 1.9894,\n 83: 1.9891,\n 84: 1.9888,\n 85: 1.9885,\n 86: 1.9882,\n 87: 1.9879,\n 88: 1.9876,\n 89: 1.9873,\n 90: 1.987,\n 91: 1.9867,\n 92: 1.9864,\n 93: 1.9861,\n 94: 1.9858,\n 95: 1.9855,\n 96: 1.9852,\n 97: 1.9849,\n 98: 1.9846,\n 99: 1.9843,\n 100: 1.984,\n 101: 1.9838,\n 102: 1.9836,\n 103: 1.9834,\n 104: 1.9832,\n 105: 1.983,\n 106: 1.9828,\n 107: 1.9826,\n 108: 1.9824,\n 109: 1.9822,\n 110: 1.982,\n 111: 1.9818,\n 112: 1.9816,\n 113: 1.9814,\n 114: 1.9812,\n 115: 1.9819,\n 116: 1.9808,\n 117: 1.9806,\n 118: 1.9804,\n 119: 1.9802,\n 120: 1.98,\n infinity: 1.96\n}, N = G;\n\n// src/utils.ts\nvar J = (s) => s / 1e6, U = () => J(Number(process.hrtime.bigint())), B = () => performance.now();\nfunction W(s) {\n return s !== null && typeof s == \"object\" && typeof s.then == \"function\";\n}\nvar S = (s, n) => s.reduce((e, r) => e + (r - n) ** 2, 0) / (s.length - 1) || 0, X = (async () => {\n}).constructor, Z = (s) => s.constructor === X, z = async (s) => {\n if (Z(s.fn))\n return !0;\n try {\n if (s.opts.beforeEach != null)\n try {\n await s.opts.beforeEach.call(s);\n } catch (e) {\n }\n let n = s.fn(), t = W(n);\n if (t)\n try {\n await n;\n } catch (e) {\n }\n if (s.opts.afterEach != null)\n try {\n await s.opts.afterEach.call(s);\n } catch (e) {\n }\n return t;\n } catch (n) {\n return !1;\n }\n};\n\n// src/task.ts\nvar b = class extends EventTarget {\n constructor(t, e, r, i = {}) {\n super();\n /*\n * the number of times the task\n * function has been executed\n */\n this.runs = 0;\n this.bench = t, this.name = e, this.fn = r, this.opts = i;\n }\n async loop(t, e) {\n var T;\n let r = this.bench.concurrency === \"task\", { threshold: i } = this.bench, c = 0, h = [];\n if (this.opts.beforeAll != null)\n try {\n await this.opts.beforeAll.call(this);\n } catch (u) {\n return { error: u };\n }\n let p = await z(this), a = async () => {\n this.opts.beforeEach != null && await this.opts.beforeEach.call(this);\n let u = 0;\n if (p) {\n let v = this.bench.now();\n await this.fn.call(this), u = this.bench.now() - v;\n } else {\n let v = this.bench.now();\n this.fn.call(this), u = this.bench.now() - v;\n }\n h.push(u), c += u, this.opts.afterEach != null && await this.opts.afterEach.call(this);\n }, l = y(i);\n try {\n let u = [];\n for (; (c < t || h.length + l.activeCount + l.pendingCount < e) && !((T = this.bench.signal) != null && T.aborted); )\n r ? u.push(l(a)) : await a();\n u.length && await Promise.all(u);\n } catch (u) {\n return { error: u };\n }\n if (this.opts.afterAll != null)\n try {\n await this.opts.afterAll.call(this);\n } catch (u) {\n return { error: u };\n }\n return { samples: h };\n }\n /**\n * run the current task and write the results in `Task.result` object\n */\n async run() {\n var r, i;\n if ((r = this.result) != null && r.error)\n return this;\n this.dispatchEvent(o(\"start\", this)), await this.bench.setup(this, \"run\");\n let { samples: t, error: e } = await this.loop(this.bench.time, this.bench.iterations);\n if (this.bench.teardown(this, \"run\"), t) {\n let c = t.reduce((L, A) => L + A, 0);\n this.runs = t.length, t.sort((L, A) => L - A);\n let h = c / this.runs, p = 1e3 / h, a = t.length, l = a - 1, T = t[0], u = t[l], v = c / t.length || 0, P = S(t, v), R = Math.sqrt(P), I = R / Math.sqrt(a), _ = N[String(Math.round(l) || 1)] || N.infinity, K = I * _, j = K / v * 100, H = t[Math.ceil(a * 0.75) - 1], V = t[Math.ceil(a * 0.99) - 1], Q = t[Math.ceil(a * 0.995) - 1], Y = t[Math.ceil(a * 0.999) - 1];\n if ((i = this.bench.signal) != null && i.aborted)\n return this;\n this.setResult({\n totalTime: c,\n min: T,\n max: u,\n hz: p,\n period: h,\n samples: t,\n mean: v,\n variance: P,\n sd: R,\n sem: I,\n df: l,\n critical: _,\n moe: K,\n rme: j,\n p75: H,\n p99: V,\n p995: Q,\n p999: Y\n });\n }\n if (e) {\n if (this.setResult({ error: e }), this.bench.throws)\n throw e;\n this.dispatchEvent(o(\"error\", this)), this.bench.dispatchEvent(o(\"error\", this));\n }\n return this.dispatchEvent(o(\"cycle\", this)), this.bench.dispatchEvent(o(\"cycle\", this)), this.dispatchEvent(o(\"complete\", this)), this;\n }\n /**\n * warmup the current task\n */\n async warmup() {\n var e;\n if ((e = this.result) != null && e.error)\n return;\n this.dispatchEvent(o(\"warmup\", this)), await this.bench.setup(this, \"warmup\");\n let { error: t } = await this.loop(this.bench.warmupTime, this.bench.warmupIterations);\n if (this.bench.teardown(this, \"warmup\"), t && (this.setResult({ error: t }), this.bench.throws))\n throw t;\n }\n addEventListener(t, e, r) {\n super.addEventListener(t, e, r);\n }\n removeEventListener(t, e, r) {\n super.removeEventListener(t, e, r);\n }\n /**\n * change the result object values\n */\n setResult(t) {\n this.result = { ...this.result, ...t }, Object.freeze(this.result);\n }\n /**\n * reset the task to make the `Task.runs` a zero-value and remove the `Task.result`\n * object\n */\n reset() {\n this.dispatchEvent(o(\"reset\", this)), this.runs = 0, this.result = void 0;\n }\n};\n\n// src/bench.ts\nvar x = class extends EventTarget {\n constructor(t = {}) {\n var e, r, i, c, h, p, a, l;\n super();\n /*\n * @private the task map\n */\n this._tasks = /* @__PURE__ */ new Map();\n this._todos = /* @__PURE__ */ new Map();\n /**\n * Executes tasks concurrently based on the specified concurrency mode.\n *\n * - When `mode` is set to `null` (default), concurrency is disabled.\n * - When `mode` is set to 'task', each task's iterations (calls of a task function) run concurrently.\n * - When `mode` is set to 'bench', different tasks within the bench run concurrently.\n */\n this.concurrency = null;\n /**\n * The maximum number of concurrent tasks to run. Defaults to Infinity.\n */\n this.threshold = 1 / 0;\n this.warmupTime = 100;\n this.warmupIterations = 5;\n this.time = 500;\n this.iterations = 10;\n this.now = B;\n this.now = (e = t.now) != null ? e : this.now, this.warmupTime = (r = t.warmupTime) != null ? r : this.warmupTime, this.warmupIterations = (i = t.warmupIterations) != null ? i : this.warmupIterations, this.time = (c = t.time) != null ? c : this.time, this.iterations = (h = t.iterations) != null ? h : this.iterations, this.signal = t.signal, this.throws = (p = t.throws) != null ? p : !1, this.setup = (a = t.setup) != null ? a : () => {\n }, this.teardown = (l = t.teardown) != null ? l : () => {\n }, this.signal && this.signal.addEventListener(\n \"abort\",\n () => {\n this.dispatchEvent(o(\"abort\"));\n },\n { once: !0 }\n );\n }\n runTask(t) {\n var e;\n return (e = this.signal) != null && e.aborted ? t : t.run();\n }\n /**\n * run the added tasks that were registered using the\n * {@link add} method.\n * Note: This method does not do any warmup. Call {@link warmup} for that.\n */\n async run() {\n if (this.concurrency === \"bench\")\n return this.runConcurrently(this.threshold, this.concurrency);\n this.dispatchEvent(o(\"start\"));\n let t = [];\n for (let e of [...this._tasks.values()])\n t.push(await this.runTask(e));\n return this.dispatchEvent(o(\"complete\")), t;\n }\n /**\n * See Bench.{@link concurrency}\n */\n async runConcurrently(t = 1 / 0, e = \"bench\") {\n if (this.threshold = t, this.concurrency = e, e === \"task\")\n return this.run();\n this.dispatchEvent(o(\"start\"));\n let r = y(t), i = [];\n for (let h of [...this._tasks.values()])\n i.push(r(() => this.runTask(h)));\n let c = await Promise.all(i);\n return this.dispatchEvent(o(\"complete\")), c;\n }\n /**\n * warmup the benchmark tasks.\n * This is not run by default by the {@link run} method.\n */\n async warmup() {\n if (this.concurrency === \"bench\") {\n await this.warmupConcurrently(this.threshold, this.concurrency);\n return;\n }\n this.dispatchEvent(o(\"warmup\"));\n for (let [, t] of this._tasks)\n await t.warmup();\n }\n /**\n * warmup the benchmark tasks concurrently.\n * This is not run by default by the {@link runConcurrently} method.\n */\n async warmupConcurrently(t = 1 / 0, e = \"bench\") {\n if (this.threshold = t, this.concurrency = e, e === \"task\") {\n await this.warmup();\n return;\n }\n this.dispatchEvent(o(\"warmup\"));\n let r = y(t), i = [];\n for (let [, c] of this._tasks)\n i.push(r(() => c.warmup()));\n await Promise.all(i);\n }\n /**\n * reset each task and remove its result\n */\n reset() {\n this.dispatchEvent(o(\"reset\")), this._tasks.forEach((t) => {\n t.reset();\n });\n }\n /**\n * add a benchmark task to the task map\n */\n add(t, e, r = {}) {\n let i = new b(this, t, e, r);\n return this._tasks.set(t, i), this.dispatchEvent(o(\"add\", i)), this;\n }\n /**\n * add a benchmark todo to the todo map\n */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n todo(t, e = () => {\n }, r = {}) {\n let i = new b(this, t, e, r);\n return this._todos.set(t, i), this.dispatchEvent(o(\"todo\", i)), this;\n }\n /**\n * remove a benchmark task from the task map\n */\n remove(t) {\n let e = this.getTask(t);\n return e && (this.dispatchEvent(o(\"remove\", e)), this._tasks.delete(t)), this;\n }\n addEventListener(t, e, r) {\n super.addEventListener(t, e, r);\n }\n removeEventListener(t, e, r) {\n super.removeEventListener(t, e, r);\n }\n /**\n * table of the tasks results\n */\n table(t) {\n return this.tasks.map((e) => {\n if (e.result) {\n if (e.result.error)\n throw e.result.error;\n return (t == null ? void 0 : t(e)) || {\n \"Task Name\": e.name,\n \"ops/sec\": e.result.error ? \"NaN\" : parseInt(e.result.hz.toString(), 10).toLocaleString(),\n \"Average Time (ns)\": e.result.error ? \"NaN\" : e.result.mean * 1e3 * 1e3,\n Margin: e.result.error ? \"NaN\" : `\\xB1${e.result.rme.toFixed(2)}%`,\n Samples: e.result.error ? \"NaN\" : e.result.samples.length\n };\n }\n return null;\n });\n }\n /**\n * (getter) tasks results as an array\n */\n get results() {\n return [...this._tasks.values()].map((t) => t.result);\n }\n /**\n * (getter) tasks as an array\n */\n get tasks() {\n return [...this._tasks.values()];\n }\n get todos() {\n return [...this._todos.values()];\n }\n /**\n * get a task based on the task name\n */\n getTask(t) {\n return this._tasks.get(t);\n }\n};\nexport {\n x as Bench,\n b as Task,\n U as hrtimeNow,\n B as now\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { test, import_expect_type } from './QGA2ROSC.js';
1
+ import { test, import_expect_type } from './7FMNVX5M.js';
2
2
  import { init_esm_shims } from './5RVE4P63.js';
3
3
 
4
4
  // src/deep.test-d.ts
@@ -1,4 +1,4 @@
1
- import { test, import_expect_type } from './QGA2ROSC.js';
1
+ import { test, import_expect_type } from './7FMNVX5M.js';
2
2
  import { init_esm_shims } from './5RVE4P63.js';
3
3
 
4
4
  // src/strings.test-d.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@layerzerolabs/typescript-utils",
3
- "version": "1.2.29",
3
+ "version": "1.2.31",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -17,9 +17,9 @@
17
17
  ],
18
18
  "devDependencies": {
19
19
  "tsup": "^8.4.0",
20
- "vitest": "^3.2.6",
21
- "@layerzerolabs/tsup-configuration": "1.2.29",
22
- "@layerzerolabs/typescript-configuration": "1.2.29"
20
+ "vitest": "^4.1.10",
21
+ "@layerzerolabs/tsup-configuration": "1.2.31",
22
+ "@layerzerolabs/typescript-configuration": "1.2.31"
23
23
  },
24
24
  "publishConfig": {
25
25
  "access": "public",