kn-es-features 1.0.2 → 1.0.4

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.
@@ -1,8 +1,8 @@
1
1
  function _arrayLikeToArray(a, t) {
2
2
  (t == null || t > a.length) && (t = a.length);
3
- for (var e = 0, o = Array(t); e < t; e++)
4
- o[e] = a[e];
5
- return o;
3
+ for (var e = 0, i = Array(t); e < t; e++)
4
+ i[e] = a[e];
5
+ return i;
6
6
  }
7
7
  function _arrayWithHoles(a) {
8
8
  if (Array.isArray(a))
@@ -22,24 +22,24 @@ function _assertThisInitialized(a) {
22
22
  throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
23
23
  return a;
24
24
  }
25
- function asyncGeneratorStep(a, t, e, o, n, r, s) {
25
+ function asyncGeneratorStep(a, t, e, i, n, r, s) {
26
26
  try {
27
- var u = a[r](s), i = u.value;
27
+ var u = a[r](s), o = u.value;
28
28
  } catch (c) {
29
29
  return void e(c);
30
30
  }
31
- u.done ? t(i) : Promise.resolve(i).then(o, n);
31
+ u.done ? t(o) : Promise.resolve(o).then(i, n);
32
32
  }
33
33
  function _asyncToGenerator(a) {
34
34
  return function() {
35
35
  var t = this, e = arguments;
36
- return new Promise(function(o, n) {
36
+ return new Promise(function(i, n) {
37
37
  var r = a.apply(t, e);
38
- function s(i) {
39
- asyncGeneratorStep(r, o, n, s, u, "next", i);
38
+ function s(o) {
39
+ asyncGeneratorStep(r, i, n, s, u, "next", o);
40
40
  }
41
- function u(i) {
42
- asyncGeneratorStep(r, o, n, s, u, "throw", i);
41
+ function u(o) {
42
+ asyncGeneratorStep(r, i, n, s, u, "throw", o);
43
43
  }
44
44
  s(void 0);
45
45
  });
@@ -76,15 +76,15 @@ function _classPrivateMethodInitSpec(a, t) {
76
76
  function _construct(a, t, e) {
77
77
  if (_isNativeReflectConstruct())
78
78
  return Reflect.construct.apply(null, arguments);
79
- var o = [null];
80
- o.push.apply(o, t);
81
- var n = new (a.bind.apply(a, o))();
79
+ var i = [null];
80
+ i.push.apply(i, t);
81
+ var n = new (a.bind.apply(a, i))();
82
82
  return e && _setPrototypeOf(n, e.prototype), n;
83
83
  }
84
84
  function _defineProperties(a, t) {
85
85
  for (var e = 0; e < t.length; e++) {
86
- var o = t[e];
87
- o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(a, _toPropertyKey(o.key), o);
86
+ var i = t[e];
87
+ i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(a, _toPropertyKey(i.key), i);
88
88
  }
89
89
  }
90
90
  function _createClass(a, t, e) {
@@ -97,20 +97,20 @@ function _createForOfIteratorHelper(a, t) {
97
97
  if (!e) {
98
98
  if (Array.isArray(a) || (e = _unsupportedIterableToArray(a)) || t && a && typeof a.length == "number") {
99
99
  e && (a = e);
100
- var o = 0, n = function() {
100
+ var i = 0, n = function() {
101
101
  };
102
102
  return {
103
103
  s: n,
104
104
  n: function() {
105
- return o >= a.length ? {
105
+ return i >= a.length ? {
106
106
  done: !0
107
107
  } : {
108
108
  done: !1,
109
- value: a[o++]
109
+ value: a[i++]
110
110
  };
111
111
  },
112
- e: function(i) {
113
- throw i;
112
+ e: function(o) {
113
+ throw o;
114
114
  },
115
115
  f: n
116
116
  };
@@ -124,11 +124,11 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
124
124
  e = e.call(a);
125
125
  },
126
126
  n: function() {
127
- var i = e.next();
128
- return s = i.done, i;
127
+ var o = e.next();
128
+ return s = o.done, o;
129
129
  },
130
- e: function(i) {
131
- u = !0, r = i;
130
+ e: function(o) {
131
+ u = !0, r = o;
132
132
  },
133
133
  f: function() {
134
134
  try {
@@ -150,9 +150,9 @@ function _defineProperty(a, t, e) {
150
150
  }
151
151
  function _get() {
152
152
  return _get = typeof Reflect < "u" && Reflect.get ? Reflect.get.bind() : function(a, t, e) {
153
- var o = _superPropBase(a, t);
154
- if (o) {
155
- var n = Object.getOwnPropertyDescriptor(o, t);
153
+ var i = _superPropBase(a, t);
154
+ if (i) {
155
+ var n = Object.getOwnPropertyDescriptor(i, t);
156
156
  return n.get ? n.get.call(arguments.length < 3 ? a : e) : n.value;
157
157
  }
158
158
  }, _get.apply(null, arguments);
@@ -199,20 +199,20 @@ function _iterableToArray(a) {
199
199
  function _iterableToArrayLimit(a, t) {
200
200
  var e = a == null ? null : typeof Symbol < "u" && a[Symbol.iterator] || a["@@iterator"];
201
201
  if (e != null) {
202
- var o, n, r, s, u = [], i = !0, c = !1;
202
+ var i, n, r, s, u = [], o = !0, c = !1;
203
203
  try {
204
204
  if (r = (e = e.call(a)).next, t === 0) {
205
205
  if (Object(e) !== e)
206
206
  return;
207
- i = !1;
207
+ o = !1;
208
208
  } else
209
- for (; !(i = (o = r.call(e)).done) && (u.push(o.value), u.length !== t); i = !0)
209
+ for (; !(o = (i = r.call(e)).done) && (u.push(i.value), u.length !== t); o = !0)
210
210
  ;
211
211
  } catch (f) {
212
212
  c = !0, n = f;
213
213
  } finally {
214
214
  try {
215
- if (!i && e.return != null && (s = e.return(), Object(s) !== s))
215
+ if (!o && e.return != null && (s = e.return(), Object(s) !== s))
216
216
  return;
217
217
  } finally {
218
218
  if (c)
@@ -233,20 +233,20 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
233
233
  function ownKeys(a, t) {
234
234
  var e = Object.keys(a);
235
235
  if (Object.getOwnPropertySymbols) {
236
- var o = Object.getOwnPropertySymbols(a);
237
- t && (o = o.filter(function(n) {
236
+ var i = Object.getOwnPropertySymbols(a);
237
+ t && (i = i.filter(function(n) {
238
238
  return Object.getOwnPropertyDescriptor(a, n).enumerable;
239
- })), e.push.apply(e, o);
239
+ })), e.push.apply(e, i);
240
240
  }
241
241
  return e;
242
242
  }
243
243
  function _objectSpread2(a) {
244
244
  for (var t = 1; t < arguments.length; t++) {
245
245
  var e = arguments[t] != null ? arguments[t] : {};
246
- t % 2 ? ownKeys(Object(e), !0).forEach(function(o) {
247
- _defineProperty(a, o, e[o]);
248
- }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(e)) : ownKeys(Object(e)).forEach(function(o) {
249
- Object.defineProperty(a, o, Object.getOwnPropertyDescriptor(e, o));
246
+ t % 2 ? ownKeys(Object(e), !0).forEach(function(i) {
247
+ _defineProperty(a, i, e[i]);
248
+ }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(a, Object.getOwnPropertyDescriptors(e)) : ownKeys(Object(e)).forEach(function(i) {
249
+ Object.defineProperty(a, i, Object.getOwnPropertyDescriptor(e, i));
250
250
  });
251
251
  }
252
252
  return a;
@@ -260,10 +260,10 @@ function _possibleConstructorReturn(a, t) {
260
260
  }
261
261
  function _regenerator() {
262
262
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
263
- var a, t, e = typeof Symbol == "function" ? Symbol : {}, o = e.iterator || "@@iterator", n = e.toStringTag || "@@toStringTag";
264
- function r(h, p, S, M) {
265
- var F = p && p.prototype instanceof u ? p : u, k = Object.create(F.prototype);
266
- return _regeneratorDefine(k, "_invoke", function(j, N, T) {
263
+ var a, t, e = typeof Symbol == "function" ? Symbol : {}, i = e.iterator || "@@iterator", n = e.toStringTag || "@@toStringTag";
264
+ function r(y, p, S, M) {
265
+ var j = p && p.prototype instanceof u ? p : u, k = Object.create(j.prototype);
266
+ return _regeneratorDefine(k, "_invoke", function(F, N, T) {
267
267
  var b, d, m, P = 0, I = T || [], A = !1, _ = {
268
268
  p: 0,
269
269
  n: 0,
@@ -299,7 +299,7 @@ function _regenerator() {
299
299
  } else
300
300
  d === 1 && (t = b.return) && t.call(b), d < 2 && (m = TypeError("The iterator does not provide a '" + w + "' method"), d = 1);
301
301
  b = a;
302
- } else if ((t = (A = _.n < 0) ? m : j.call(N, _)) !== s)
302
+ } else if ((t = (A = _.n < 0) ? m : F.call(N, _)) !== s)
303
303
  break;
304
304
  } catch (g) {
305
305
  b = a, d = 1, m = g;
@@ -312,57 +312,57 @@ function _regenerator() {
312
312
  done: A
313
313
  };
314
314
  };
315
- }(h, S, M), !0), k;
315
+ }(y, S, M), !0), k;
316
316
  }
317
317
  var s = {};
318
318
  function u() {
319
319
  }
320
- function i() {
320
+ function o() {
321
321
  }
322
322
  function c() {
323
323
  }
324
324
  t = Object.getPrototypeOf;
325
- var f = [][o] ? t(t([][o]())) : (_regeneratorDefine(t = {}, o, function() {
325
+ var f = [][i] ? t(t([][i]())) : (_regeneratorDefine(t = {}, i, function() {
326
326
  return this;
327
327
  }), t), l = c.prototype = u.prototype = Object.create(f);
328
- function y(h) {
329
- return Object.setPrototypeOf ? Object.setPrototypeOf(h, c) : (h.__proto__ = c, _regeneratorDefine(h, n, "GeneratorFunction")), h.prototype = Object.create(l), h;
328
+ function h(y) {
329
+ return Object.setPrototypeOf ? Object.setPrototypeOf(y, c) : (y.__proto__ = c, _regeneratorDefine(y, n, "GeneratorFunction")), y.prototype = Object.create(l), y;
330
330
  }
331
- return i.prototype = c, _regeneratorDefine(l, "constructor", c), _regeneratorDefine(c, "constructor", i), i.displayName = "GeneratorFunction", _regeneratorDefine(c, n, "GeneratorFunction"), _regeneratorDefine(l), _regeneratorDefine(l, n, "Generator"), _regeneratorDefine(l, o, function() {
331
+ return o.prototype = c, _regeneratorDefine(l, "constructor", c), _regeneratorDefine(c, "constructor", o), o.displayName = "GeneratorFunction", _regeneratorDefine(c, n, "GeneratorFunction"), _regeneratorDefine(l), _regeneratorDefine(l, n, "Generator"), _regeneratorDefine(l, i, function() {
332
332
  return this;
333
333
  }), _regeneratorDefine(l, "toString", function() {
334
334
  return "[object Generator]";
335
335
  }), (_regenerator = function() {
336
336
  return {
337
337
  w: r,
338
- m: y
338
+ m: h
339
339
  };
340
340
  })();
341
341
  }
342
- function _regeneratorDefine(a, t, e, o) {
342
+ function _regeneratorDefine(a, t, e, i) {
343
343
  var n = Object.defineProperty;
344
344
  try {
345
345
  n({}, "", {});
346
346
  } catch {
347
347
  n = 0;
348
348
  }
349
- _regeneratorDefine = function(r, s, u, i) {
349
+ _regeneratorDefine = function(r, s, u, o) {
350
350
  function c(f, l) {
351
- _regeneratorDefine(r, f, function(y) {
352
- return this._invoke(f, l, y);
351
+ _regeneratorDefine(r, f, function(h) {
352
+ return this._invoke(f, l, h);
353
353
  });
354
354
  }
355
355
  s ? n ? n(r, s, {
356
356
  value: u,
357
- enumerable: !i,
358
- configurable: !i,
359
- writable: !i
357
+ enumerable: !o,
358
+ configurable: !o,
359
+ writable: !o
360
360
  }) : r[s] = u : (c("next", 0), c("throw", 1), c("return", 2));
361
- }, _regeneratorDefine(a, t, e, o);
361
+ }, _regeneratorDefine(a, t, e, i);
362
362
  }
363
363
  function _setPrototypeOf(a, t) {
364
- return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, o) {
365
- return e.__proto__ = o, e;
364
+ return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(e, i) {
365
+ return e.__proto__ = i, e;
366
366
  }, _setPrototypeOf(a, t);
367
367
  }
368
368
  function _slicedToArray(a, t) {
@@ -373,9 +373,9 @@ function _superPropBase(a, t) {
373
373
  ;
374
374
  return a;
375
375
  }
376
- function _superPropGet(a, t, e, o) {
377
- var n = _get(_getPrototypeOf(1 & o ? a.prototype : a), t, e);
378
- return 2 & o && typeof n == "function" ? function(r) {
376
+ function _superPropGet(a, t, e, i) {
377
+ var n = _get(_getPrototypeOf(1 & i ? a.prototype : a), t, e);
378
+ return 2 & i && typeof n == "function" ? function(r) {
379
379
  return n.apply(e, r);
380
380
  } : n;
381
381
  }
@@ -387,9 +387,9 @@ function _toPrimitive(a, t) {
387
387
  return a;
388
388
  var e = a[Symbol.toPrimitive];
389
389
  if (e !== void 0) {
390
- var o = e.call(a, t || "default");
391
- if (typeof o != "object")
392
- return o;
390
+ var i = e.call(a, t || "default");
391
+ if (typeof i != "object")
392
+ return i;
393
393
  throw new TypeError("@@toPrimitive must return a primitive value.");
394
394
  }
395
395
  return (t === "string" ? String : Number)(a);
@@ -414,6 +414,71 @@ function _unsupportedIterableToArray(a, t) {
414
414
  return e === "Object" && a.constructor && (e = a.constructor.name), e === "Map" || e === "Set" ? Array.from(a) : e === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e) ? _arrayLikeToArray(a, t) : void 0;
415
415
  }
416
416
  }
417
+ function _usingCtx() {
418
+ var a = typeof SuppressedError == "function" ? SuppressedError : function(n, r) {
419
+ var s = Error();
420
+ return s.name = "SuppressedError", s.error = n, s.suppressed = r, s;
421
+ }, t = {}, e = [];
422
+ function i(n, r) {
423
+ if (r != null) {
424
+ if (Object(r) !== r)
425
+ throw new TypeError("using declarations can only be used with objects, functions, null, or undefined.");
426
+ if (n)
427
+ var s = r[Symbol.asyncDispose || Symbol.for("Symbol.asyncDispose")];
428
+ if (s === void 0 && (s = r[Symbol.dispose || Symbol.for("Symbol.dispose")], n))
429
+ var u = s;
430
+ if (typeof s != "function")
431
+ throw new TypeError("Object is not disposable.");
432
+ u && (s = function() {
433
+ try {
434
+ u.call(r);
435
+ } catch (o) {
436
+ return Promise.reject(o);
437
+ }
438
+ }), e.push({
439
+ v: r,
440
+ d: s,
441
+ a: n
442
+ });
443
+ } else
444
+ n && e.push({
445
+ d: r,
446
+ a: n
447
+ });
448
+ return r;
449
+ }
450
+ return {
451
+ e: t,
452
+ u: i.bind(null, !1),
453
+ a: i.bind(null, !0),
454
+ d: function() {
455
+ var n, r = this.e, s = 0;
456
+ function u() {
457
+ for (; n = e.pop(); )
458
+ try {
459
+ if (!n.a && s === 1)
460
+ return s = 0, e.push(n), Promise.resolve().then(u);
461
+ if (n.d) {
462
+ var c = n.d.call(n.v);
463
+ if (n.a)
464
+ return s |= 2, Promise.resolve(c).then(u, o);
465
+ } else
466
+ s |= 1;
467
+ } catch (f) {
468
+ return o(f);
469
+ }
470
+ if (s === 1)
471
+ return r !== t ? Promise.reject(r) : Promise.resolve();
472
+ if (r !== t)
473
+ throw r;
474
+ }
475
+ function o(c) {
476
+ return r = r !== t ? new a(c, r) : c, u();
477
+ }
478
+ return u();
479
+ }
480
+ };
481
+ }
417
482
  function _wrapNativeSuper(a) {
418
483
  var t = typeof Map == "function" ? /* @__PURE__ */ new Map() : void 0;
419
484
  return _wrapNativeSuper = function(e) {
@@ -424,19 +489,19 @@ function _wrapNativeSuper(a) {
424
489
  if (t !== void 0) {
425
490
  if (t.has(e))
426
491
  return t.get(e);
427
- t.set(e, o);
492
+ t.set(e, i);
428
493
  }
429
- function o() {
494
+ function i() {
430
495
  return _construct(e, arguments, _getPrototypeOf(this).constructor);
431
496
  }
432
- return o.prototype = Object.create(e.prototype, {
497
+ return i.prototype = Object.create(e.prototype, {
433
498
  constructor: {
434
- value: o,
499
+ value: i,
435
500
  enumerable: !1,
436
501
  writable: !0,
437
502
  configurable: !0
438
503
  }
439
- }), _setPrototypeOf(o, e);
504
+ }), _setPrototypeOf(i, e);
440
505
  }, _wrapNativeSuper(a);
441
506
  }
442
507
  function _wrapRegExp() {
@@ -448,16 +513,16 @@ function _wrapRegExp() {
448
513
  var u = RegExp(n, r);
449
514
  return t.set(u, s || t.get(n)), _setPrototypeOf(u, e.prototype);
450
515
  }
451
- function o(n, r) {
516
+ function i(n, r) {
452
517
  var s = t.get(r);
453
- return Object.keys(s).reduce(function(u, i) {
454
- var c = s[i];
518
+ return Object.keys(s).reduce(function(u, o) {
519
+ var c = s[o];
455
520
  if (typeof c == "number")
456
- u[i] = n[c];
521
+ u[o] = n[c];
457
522
  else {
458
523
  for (var f = 0; n[c[f]] === void 0 && f + 1 < c.length; )
459
524
  f++;
460
- u[i] = n[c[f]];
525
+ u[o] = n[c[f]];
461
526
  }
462
527
  return u;
463
528
  }, /* @__PURE__ */ Object.create(null));
@@ -465,17 +530,17 @@ function _wrapRegExp() {
465
530
  return _inherits(e, RegExp), e.prototype.exec = function(n) {
466
531
  var r = a.exec.call(this, n);
467
532
  if (r) {
468
- r.groups = o(r, this);
533
+ r.groups = i(r, this);
469
534
  var s = r.indices;
470
- s && (s.groups = o(s, this));
535
+ s && (s.groups = i(s, this));
471
536
  }
472
537
  return r;
473
538
  }, e.prototype[Symbol.replace] = function(n, r) {
474
539
  if (typeof r == "string") {
475
540
  var s = t.get(this);
476
- return a[Symbol.replace].call(this, n, r.replace(/\$<([^>]+)(>|$)/g, function(i, c, f) {
541
+ return a[Symbol.replace].call(this, n, r.replace(/\$<([^>]+)(>|$)/g, function(o, c, f) {
477
542
  if (f === "")
478
- return i;
543
+ return o;
479
544
  var l = s[c];
480
545
  return Array.isArray(l) ? "$" + l.join("$") : typeof l == "number" ? "$" + l : "";
481
546
  }));
@@ -483,8 +548,8 @@ function _wrapRegExp() {
483
548
  if (typeof r == "function") {
484
549
  var u = this;
485
550
  return a[Symbol.replace].call(this, n, function() {
486
- var i = arguments;
487
- return typeof i[i.length - 1] != "object" && (i = [].slice.call(i)).push(o(i, u)), r.apply(this, i);
551
+ var o = arguments;
552
+ return typeof o[o.length - 1] != "object" && (o = [].slice.call(o)).push(i(o, u)), r.apply(this, o);
488
553
  });
489
554
  }
490
555
  return a[Symbol.replace].call(this, n, r);
@@ -502,12 +567,12 @@ function createSuite(a) {
502
567
  case: r,
503
568
  status: "pass"
504
569
  });
505
- }).catch(function(i) {
570
+ }).catch(function(o) {
506
571
  t.push({
507
572
  suite: a,
508
573
  case: r,
509
574
  status: "fail",
510
- error: i.message
575
+ error: o.message
511
576
  });
512
577
  });
513
578
  t.push({
@@ -515,16 +580,16 @@ function createSuite(a) {
515
580
  case: r,
516
581
  status: "pass"
517
582
  });
518
- } catch (i) {
583
+ } catch (o) {
519
584
  t.push({
520
585
  suite: a,
521
586
  case: r,
522
587
  status: "fail",
523
- error: i.message
588
+ error: o.message
524
589
  });
525
590
  }
526
591
  }
527
- function o(r, s) {
592
+ function i(r, s) {
528
593
  if (!r)
529
594
  throw new Error(s || "断言失败");
530
595
  }
@@ -533,19 +598,19 @@ function createSuite(a) {
533
598
  }
534
599
  return {
535
600
  test: e,
536
- assert: o,
601
+ assert: i,
537
602
  getResults: n
538
603
  };
539
604
  }
540
605
  function printResults(a) {
541
606
  var t = 0, e = 0;
542
- a.forEach(function(o) {
543
- o.status === "pass" ? (t++, console.log(" ✓ [".concat(o.suite, "] ").concat(o.case))) : (e++, console.error(" ✗ [".concat(o.suite, "] ").concat(o.case, " — ").concat(o.error)));
607
+ a.forEach(function(i) {
608
+ i.status === "pass" ? (t++, console.log(" ✓ [".concat(i.suite, "] ").concat(i.case))) : (e++, console.error(" ✗ [".concat(i.suite, "] ").concat(i.case, " — ").concat(i.error)));
544
609
  }), console.log(`
545
610
  共 `.concat(a.length, " 项,通过 ").concat(t, ",失败 ").concat(e));
546
611
  }
547
612
  function testLetConst() {
548
- var a = createSuite("let & const"), t = a.test, e = a.assert, o = a.getResults;
613
+ var a = createSuite("let & const"), t = a.test, e = a.assert, i = a.getResults;
549
614
  return t("let 块级作用域", function() {
550
615
  for (var n = [], r = 0; r < 3; r++)
551
616
  n.push(r);
@@ -553,36 +618,36 @@ function testLetConst() {
553
618
  }), t("const 声明常量", function() {
554
619
  var n = 3.14159;
555
620
  e(n === 3.14159, "const 值应保持不变");
556
- }), o();
621
+ }), i();
557
622
  }
558
623
  function testArrowFunctions() {
559
- var a = createSuite("箭头函数"), t = a.test, e = a.assert, o = a.getResults;
624
+ var a = createSuite("箭头函数"), t = a.test, e = a.assert, i = a.getResults;
560
625
  return t("基本语法", function() {
561
626
  var n = function(s, u) {
562
627
  return s + u;
563
628
  };
564
629
  e(n(2, 3) === 5, "箭头函数返回值应为 5");
565
- }), o();
630
+ }), i();
566
631
  }
567
632
  function testTemplateLiterals() {
568
- var a = createSuite("模板字符串"), t = a.test, e = a.assert, o = a.getResults;
633
+ var a = createSuite("模板字符串"), t = a.test, e = a.assert, i = a.getResults;
569
634
  return t("基本插值", function() {
570
635
  var n = "ES2015", r = "Hello, ".concat(n, "!");
571
636
  e(r === "Hello, ES2015!", "模板字符串插值应正确");
572
- }), o();
637
+ }), i();
573
638
  }
574
639
  function testDestructuring() {
575
- var a = createSuite("解构赋值"), t = a.test, e = a.assert, o = a.getResults;
640
+ var a = createSuite("解构赋值"), t = a.test, e = a.assert, i = a.getResults;
576
641
  return t("数组解构 - 基本", function() {
577
642
  var n = 3;
578
643
  e(n === 3, "数组解构基本用法");
579
644
  }), t("数组解构 - 跳过元素", function() {
580
645
  var n = [1, 2, 3, 4], r = n[3];
581
646
  e(r === 4, "数组解构可跳过元素");
582
- }), o();
647
+ }), i();
583
648
  }
584
649
  function testDefaultRestSpread() {
585
- var a = createSuite("默认参数/Rest/Spread"), t = a.test, e = a.assert, o = a.getResults;
650
+ var a = createSuite("默认参数/Rest/Spread"), t = a.test, e = a.assert, i = a.getResults;
586
651
  return t("spread 对象覆盖属性", function() {
587
652
  var n = {
588
653
  a: 1,
@@ -591,10 +656,10 @@ function testDefaultRestSpread() {
591
656
  b: 99
592
657
  });
593
658
  e(r.b === 99, "spread 后面属性覆盖前面");
594
- }), o();
659
+ }), i();
595
660
  }
596
661
  function testClasses() {
597
- var a = createSuite("类(Class)"), t = a.test, e = a.assert, o = a.getResults;
662
+ var a = createSuite("类(Class)"), t = a.test, e = a.assert, i = a.getResults;
598
663
  return t("基本类定义", function() {
599
664
  var n = /* @__PURE__ */ function() {
600
665
  function s(u) {
@@ -610,8 +675,8 @@ function testClasses() {
610
675
  e(r.name === "Cat", "构造函数应正确赋值"), e(r.speak() === "Cat makes a sound.", "实例方法应正常工作");
611
676
  }), t("类继承", function() {
612
677
  var n = /* @__PURE__ */ function() {
613
- function u(i) {
614
- _classCallCheck(this, u), this.name = i;
678
+ function u(o) {
679
+ _classCallCheck(this, u), this.name = o;
615
680
  }
616
681
  return _createClass(u, [{
617
682
  key: "speak",
@@ -620,10 +685,10 @@ function testClasses() {
620
685
  }
621
686
  }]);
622
687
  }(), r = /* @__PURE__ */ function(u) {
623
- function i() {
624
- return _classCallCheck(this, i), _callSuper(this, i, arguments);
688
+ function o() {
689
+ return _classCallCheck(this, o), _callSuper(this, o, arguments);
625
690
  }
626
- return _inherits(i, u), _createClass(i, [{
691
+ return _inherits(o, u), _createClass(o, [{
627
692
  key: "speak",
628
693
  value: function() {
629
694
  return "".concat(this.name, ": Woof!");
@@ -648,11 +713,11 @@ function testClasses() {
648
713
  }
649
714
  }]);
650
715
  }(), r = /* @__PURE__ */ function(u) {
651
- function i(c) {
716
+ function o(c) {
652
717
  var f;
653
- return _classCallCheck(this, i), f = _callSuper(this, i), f.r = c, f;
718
+ return _classCallCheck(this, o), f = _callSuper(this, o), f.r = c, f;
654
719
  }
655
- return _inherits(i, u), _createClass(i, [{
720
+ return _inherits(o, u), _createClass(o, [{
656
721
  key: "area",
657
722
  value: function() {
658
723
  return Math.PI * this.r * this.r;
@@ -660,7 +725,7 @@ function testClasses() {
660
725
  }, {
661
726
  key: "describe",
662
727
  value: function() {
663
- return _superPropGet(i, "describe", this, 3)([]) + " (圆形)";
728
+ return _superPropGet(o, "describe", this, 3)([]) + " (圆形)";
664
729
  }
665
730
  }]);
666
731
  }(n), s = new r(1);
@@ -672,8 +737,8 @@ function testClasses() {
672
737
  }
673
738
  return _createClass(r, null, [{
674
739
  key: "add",
675
- value: function(u, i) {
676
- return u + i;
740
+ value: function(u, o) {
741
+ return u + o;
677
742
  }
678
743
  }]);
679
744
  }();
@@ -688,8 +753,8 @@ function testClasses() {
688
753
  get: function() {
689
754
  return this._celsius * 9 / 5 + 32;
690
755
  },
691
- set: function(i) {
692
- this._celsius = (i - 32) * 5 / 9;
756
+ set: function(o) {
757
+ this._celsius = (o - 32) * 5 / 9;
693
758
  }
694
759
  }]);
695
760
  }(), r = new n(0);
@@ -715,8 +780,8 @@ function testClasses() {
715
780
  s.increment(), s.increment(), e(s.value === 2, "私有字段应正确工作"), e(!("count" in s), "私有字段不可从外部访问");
716
781
  }), t("类表达式", function() {
717
782
  var n = /* @__PURE__ */ function() {
718
- function s(u, i) {
719
- _classCallCheck(this, s), this.w = u, this.h = i;
783
+ function s(u, o) {
784
+ _classCallCheck(this, s), this.w = u, this.h = o;
720
785
  }
721
786
  return _createClass(s, [{
722
787
  key: "area",
@@ -732,29 +797,29 @@ function testClasses() {
732
797
  } catch {
733
798
  e(!0, "类不提升,使用前必须先声明");
734
799
  }
735
- }), o();
800
+ }), i();
736
801
  }
737
802
  function testPromises() {
738
803
  return _testPromises.apply(this, arguments);
739
804
  }
740
805
  function _testPromises() {
741
806
  return _testPromises = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function a() {
742
- var t, e, o, n, r;
807
+ var t, e, i, n, r;
743
808
  return _regenerator().w(function(s) {
744
809
  for (; ; )
745
810
  switch (s.n) {
746
811
  case 0:
747
- return t = createSuite("Promise"), e = t.test, o = t.assert, n = t.getResults, r = [], r.push(e("基本 Promise resolve", function() {
812
+ return t = createSuite("Promise"), e = t.test, i = t.assert, n = t.getResults, r = [], r.push(e("基本 Promise resolve", function() {
748
813
  return new Promise(function(u) {
749
814
  return u(42);
750
815
  }).then(function(u) {
751
- return o(u === 42, "resolve 值应为 42");
816
+ return i(u === 42, "resolve 值应为 42");
752
817
  });
753
818
  })), r.push(e("基本 Promise reject", function() {
754
- return new Promise(function(u, i) {
755
- return i(new Error("失败"));
819
+ return new Promise(function(u, o) {
820
+ return o(new Error("失败"));
756
821
  }).catch(function(u) {
757
- return o(u.message === "失败", "reject 应携带错误信息");
822
+ return i(u.message === "失败", "reject 应携带错误信息");
758
823
  });
759
824
  })), r.push(e("Promise 链式调用", function() {
760
825
  return Promise.resolve(1).then(function(u) {
@@ -762,41 +827,41 @@ function _testPromises() {
762
827
  }).then(function(u) {
763
828
  return u * 3;
764
829
  }).then(function(u) {
765
- return o(u === 6, "链式调用结果应为 6");
830
+ return i(u === 6, "链式调用结果应为 6");
766
831
  });
767
832
  })), r.push(e("Promise.all - 全部成功", function() {
768
833
  return Promise.all([Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)]).then(function(u) {
769
- return o(u.join(",") === "1,2,3", "Promise.all 应返回所有结果");
834
+ return i(u.join(",") === "1,2,3", "Promise.all 应返回所有结果");
770
835
  });
771
836
  })), r.push(e("Promise.all - 一个失败则全部失败", function() {
772
837
  return Promise.all([Promise.resolve(1), Promise.reject(new Error("error")), Promise.resolve(3)]).catch(function(u) {
773
- return o(u.message === "error", "Promise.all 中有失败应 reject");
838
+ return i(u.message === "error", "Promise.all 中有失败应 reject");
774
839
  });
775
840
  })), r.push(e("Promise.race - 返回最快的结果", function() {
776
841
  var u = new Promise(function(c) {
777
842
  return setTimeout(function() {
778
843
  return c("slow");
779
844
  }, 100);
780
- }), i = Promise.resolve("fast");
781
- return Promise.race([u, i]).then(function(c) {
782
- return o(c === "fast", "Promise.race 应返回最快完成的");
845
+ }), o = Promise.resolve("fast");
846
+ return Promise.race([u, o]).then(function(c) {
847
+ return i(c === "fast", "Promise.race 应返回最快完成的");
783
848
  });
784
849
  })), r.push(e("Promise.allSettled - 全部结果", function() {
785
850
  return Promise.allSettled([Promise.resolve(1), Promise.reject("err")]).then(function(u) {
786
- o(u[0].status === "fulfilled", "allSettled fulfilled"), o(u[1].status === "rejected", "allSettled rejected");
851
+ i(u[0].status === "fulfilled", "allSettled fulfilled"), i(u[1].status === "rejected", "allSettled rejected");
787
852
  });
788
853
  })), r.push(e("Promise.any - 返回第一个成功", function() {
789
854
  return Promise.any([Promise.reject("e1"), Promise.resolve("ok"), Promise.resolve("ok2")]).then(function(u) {
790
- return o(u === "ok", "Promise.any 应返回第一个成功的值");
855
+ return i(u === "ok", "Promise.any 应返回第一个成功的值");
791
856
  });
792
857
  })), r.push(e("async/await 基本用法", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
793
- var i, c, f;
858
+ var o, c, f;
794
859
  return _regenerator().w(function(l) {
795
860
  for (; ; )
796
861
  switch (l.n) {
797
862
  case 0:
798
863
  return c = function() {
799
- return c = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function h() {
864
+ return c = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function y() {
800
865
  var p;
801
866
  return _regenerator().w(function(S) {
802
867
  for (; ; )
@@ -806,25 +871,25 @@ function _testPromises() {
806
871
  case 1:
807
872
  return p = S.v, S.a(2, p);
808
873
  }
809
- }, h);
874
+ }, y);
810
875
  })), c.apply(this, arguments);
811
- }, i = function() {
876
+ }, o = function() {
812
877
  return c.apply(this, arguments);
813
- }, l.n = 1, i();
878
+ }, l.n = 1, o();
814
879
  case 1:
815
- f = l.v, o(f === "data", "async/await 应正确获取异步结果");
880
+ f = l.v, i(f === "data", "async/await 应正确获取异步结果");
816
881
  case 2:
817
882
  return l.a(2);
818
883
  }
819
884
  }, u);
820
885
  })))), r.push(e("async/await 错误处理", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
821
- var i, c, f;
886
+ var o, c, f;
822
887
  return _regenerator().w(function(l) {
823
888
  for (; ; )
824
889
  switch (l.p = l.n) {
825
890
  case 0:
826
891
  return c = function() {
827
- return c = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function h() {
892
+ return c = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function y() {
828
893
  return _regenerator().w(function(p) {
829
894
  for (; ; )
830
895
  switch (p.n) {
@@ -833,16 +898,16 @@ function _testPromises() {
833
898
  case 1:
834
899
  return p.a(2);
835
900
  }
836
- }, h);
901
+ }, y);
837
902
  })), c.apply(this, arguments);
838
- }, i = function() {
903
+ }, o = function() {
839
904
  return c.apply(this, arguments);
840
- }, l.p = 1, l.n = 2, i();
905
+ }, l.p = 1, l.n = 2, o();
841
906
  case 2:
842
- o(!1, "应抛出错误"), l.n = 4;
907
+ i(!1, "应抛出错误"), l.n = 4;
843
908
  break;
844
909
  case 3:
845
- l.p = 3, f = l.v, o(f.message === "async error", "async/await 错误处理");
910
+ l.p = 3, f = l.v, i(f.message === "async error", "async/await 错误处理");
846
911
  case 4:
847
912
  return l.a(2);
848
913
  }
@@ -855,14 +920,14 @@ function _testPromises() {
855
920
  })), _testPromises.apply(this, arguments);
856
921
  }
857
922
  function testSymbols() {
858
- var a = createSuite("Symbol"), t = a.test, e = a.assert, o = a.getResults;
923
+ var a = createSuite("Symbol"), t = a.test, e = a.assert, i = a.getResults;
859
924
  return t("Symbol 唯一性", function() {
860
925
  var n = Symbol("desc"), r = Symbol("desc");
861
926
  e(n !== r, "相同描述的 Symbol 不相等");
862
- }), o();
927
+ }), i();
863
928
  }
864
929
  function testIteratorsGenerators() {
865
- var a = createSuite("迭代器与生成器"), t = a.test, e = a.assert, o = a.getResults;
930
+ var a = createSuite("迭代器与生成器"), t = a.test, e = a.assert, i = a.getResults;
866
931
  return t("自定义迭代器", function() {
867
932
  function n(s) {
868
933
  var u = 0;
@@ -886,21 +951,21 @@ function testIteratorsGenerators() {
886
951
  n.push(u);
887
952
  }
888
953
  e(n.join(",") === "10,20,30", "for...of 迭代数组");
889
- }), o();
954
+ }), i();
890
955
  }
891
956
  function testMapSet() {
892
- var a = createSuite("Map & Set"), t = a.test, e = a.assert, o = a.getResults;
957
+ var a = createSuite("Map & Set"), t = a.test, e = a.assert, i = a.getResults;
893
958
  return t("Map 基本操作", function() {
894
959
  var n = /* @__PURE__ */ new Map();
895
960
  n.set("a", 1), n.set("b", 2), e(n.get("a") === 1, "Map.get 应返回正确值"), e(n.has("b") === !0, "Map.has 应返回 true"), e(n.size === 2, "Map.size 应为 2"), n.delete("a"), e(n.size === 1, "删除后 size 应为 1");
896
- }), o();
961
+ }), i();
897
962
  }
898
963
  function testProxyReflect() {
899
- var a = createSuite("Proxy & Reflect"), t = a.test, e = a.assert, o = a.getResults;
964
+ var a = createSuite("Proxy & Reflect"), t = a.test, e = a.assert, i = a.getResults;
900
965
  return t("Proxy get 拦截", function() {
901
966
  var n = {
902
- get: function(u, i) {
903
- return i in u ? u[i] : '属性 "'.concat(i, '" 不存在');
967
+ get: function(u, o) {
968
+ return o in u ? u[o] : '属性 "'.concat(o, '" 不存在');
904
969
  }
905
970
  }, r = new Proxy({
906
971
  name: "Alice"
@@ -908,10 +973,10 @@ function testProxyReflect() {
908
973
  e(r.name === "Alice", "Proxy get 已有属性"), e(r.age === '属性 "age" 不存在', "Proxy get 不存在属性");
909
974
  }), t("Proxy set 拦截与验证", function() {
910
975
  var n = {
911
- set: function(u, i, c) {
976
+ set: function(u, o, c) {
912
977
  if (typeof c != "number")
913
978
  throw new TypeError("只允许数字");
914
- return u[i] = c, !0;
979
+ return u[o] = c, !0;
915
980
  }
916
981
  }, r = new Proxy({}, n);
917
982
  r.score = 90, e(r.score === 90, "Proxy set 数字");
@@ -920,10 +985,10 @@ function testProxyReflect() {
920
985
  } catch (s) {
921
986
  e(s instanceof TypeError, "Proxy set 类型校验");
922
987
  }
923
- }), o();
988
+ }), i();
924
989
  }
925
990
  function testEnhancedObjects() {
926
- var a = createSuite("增强对象字面量"), t = a.test, e = a.assert, o = a.getResults;
991
+ var a = createSuite("增强对象字面量"), t = a.test, e = a.assert, i = a.getResults;
927
992
  return t("属性简写", function() {
928
993
  var n = "Alice", r = 25, s = {
929
994
  name: n,
@@ -937,10 +1002,10 @@ function testEnhancedObjects() {
937
1002
  }
938
1003
  };
939
1004
  e(n.greet("Bob") === "Hello, Bob!", "方法简写");
940
- }), o();
1005
+ }), i();
941
1006
  }
942
1007
  function testNewMethods() {
943
- var a = createSuite("新增内置方法"), t = a.test, e = a.assert, o = a.getResults;
1008
+ var a = createSuite("新增内置方法"), t = a.test, e = a.assert, i = a.getResults;
944
1009
  return t("Array.from 类数组转换", function() {
945
1010
  var n = Array.from("hello");
946
1011
  e(n.join(",") === "h,e,l,l,o", "Array.from 字符串");
@@ -998,14 +1063,14 @@ function testNewMethods() {
998
1063
  e(Math.trunc(3.9) === 3, "Math.trunc 正数"), e(Math.trunc(-3.9) === -3, "Math.trunc 负数");
999
1064
  }), t("Math.cbrt / Math.hypot / Math.log2 / Math.log10", function() {
1000
1065
  e(Math.cbrt(27) === 3, "Math.cbrt 立方根"), e(Math.hypot(3, 4) === 5, "Math.hypot 斜边"), e(Math.log2(8) === 3, "Math.log2"), e(Math.log10(1e3) === 3, "Math.log10");
1001
- }), o();
1066
+ }), i();
1002
1067
  }
1003
1068
  const _13NewMethods = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1004
1069
  __proto__: null,
1005
1070
  testNewMethods
1006
1071
  }, Symbol.toStringTag, { value: "Module" }));
1007
1072
  function testModules() {
1008
- var a = createSuite("模块(Modules)"), t = a.test, e = a.assert, o = a.getResults;
1073
+ var a = createSuite("模块(Modules)"), t = a.test, e = a.assert, i = a.getResults;
1009
1074
  return t("命名导出与导入(本工程已在使用)", function() {
1010
1075
  e(typeof testModules == "function", "命名导出的函数可正常被导入调用");
1011
1076
  }), t("模块作用域独立", function() {
@@ -1028,10 +1093,10 @@ function testModules() {
1028
1093
  }, n);
1029
1094
  }))), t("export default 默认导出", function() {
1030
1095
  e(!0, '默认导出通过 import x from "..." 引入,本工程采用命名导出模式');
1031
- }), o();
1096
+ }), i();
1032
1097
  }
1033
1098
  function testBinaryOctalUnicode() {
1034
- var a = createSuite("进制字面量与Unicode"), t = a.test, e = a.assert, o = a.getResults;
1099
+ var a = createSuite("进制字面量与Unicode"), t = a.test, e = a.assert, i = a.getResults;
1035
1100
  return t("二进制字面量 0b", function() {
1036
1101
  var n = 10;
1037
1102
  e(n === 10, "0b1010 应等于十进制 10"), e(!0, "0b11111111 应等于 255");
@@ -1057,10 +1122,10 @@ function testBinaryOctalUnicode() {
1057
1122
  }), t("for...of 正确迭代 Unicode 字符", function() {
1058
1123
  var n = "😀A", r = _toConsumableArray(n);
1059
1124
  e(r.length === 2, "for...of 正确按码点迭代");
1060
- }), o();
1125
+ }), i();
1061
1126
  }
1062
1127
  function testForOf() {
1063
- var a = createSuite("for...of 与迭代协议"), t = a.test, e = a.assert, o = a.getResults;
1128
+ var a = createSuite("for...of 与迭代协议"), t = a.test, e = a.assert, i = a.getResults;
1064
1129
  return t("for...of 迭代数组", function() {
1065
1130
  for (var n = [], r = 0, s = [1, 2, 3]; r < s.length; r++) {
1066
1131
  var u = s[r];
@@ -1074,8 +1139,8 @@ function testForOf() {
1074
1139
  var u = s.value;
1075
1140
  n.push(u);
1076
1141
  }
1077
- } catch (i) {
1078
- r.e(i);
1142
+ } catch (o) {
1143
+ r.e(o);
1079
1144
  } finally {
1080
1145
  r.f();
1081
1146
  }
@@ -1087,8 +1152,8 @@ function testForOf() {
1087
1152
  var u = s.value;
1088
1153
  n.push(u);
1089
1154
  }
1090
- } catch (i) {
1091
- r.e(i);
1155
+ } catch (o) {
1156
+ r.e(o);
1092
1157
  } finally {
1093
1158
  r.f();
1094
1159
  }
@@ -1097,8 +1162,8 @@ function testForOf() {
1097
1162
  var n = [], r = _createForOfIteratorHelper(/* @__PURE__ */ new Map([["a", 1], ["b", 2]])), s;
1098
1163
  try {
1099
1164
  for (r.s(); !(s = r.n()).done; ) {
1100
- var u = _slicedToArray(s.value, 2), i = u[0], c = u[1];
1101
- n.push("".concat(i, "=").concat(c));
1165
+ var u = _slicedToArray(s.value, 2), o = u[0], c = u[1];
1166
+ n.push("".concat(o, "=").concat(c));
1102
1167
  }
1103
1168
  } catch (f) {
1104
1169
  r.e(f);
@@ -1111,8 +1176,8 @@ function testForOf() {
1111
1176
  var r = [], s = _createForOfIteratorHelper(arguments), u;
1112
1177
  try {
1113
1178
  for (s.s(); !(u = s.n()).done; ) {
1114
- var i = u.value;
1115
- r.push(i);
1179
+ var o = u.value;
1180
+ r.push(o);
1116
1181
  }
1117
1182
  } catch (c) {
1118
1183
  s.e(c);
@@ -1122,20 +1187,20 @@ function testForOf() {
1122
1187
  return r;
1123
1188
  }
1124
1189
  e(n(1, 2, 3).join(",") === "1,2,3", "for...of 迭代 arguments");
1125
- }), o();
1190
+ }), i();
1126
1191
  }
1127
1192
  function testMapGetOrInsert() {
1128
- var a = createSuite("map getOrInsert"), t = a.test, e = a.assert, o = a.getResults;
1193
+ var a = createSuite("map getOrInsert"), t = a.test, e = a.assert, i = a.getResults;
1129
1194
  return t("getOrInsert - key 已存在返回原值", function() {
1130
1195
  var n = /* @__PURE__ */ new Map([["bar", "foo"]]), r = n.getOrInsert("bar", "default");
1131
1196
  e(r === "foo", "key 已存在应返回原值 foo");
1132
- }), o();
1197
+ }), i();
1133
1198
  }
1134
1199
  function testClassFields() {
1135
1200
  var _createSuite = createSuite("Class Fields (ES2022)"), test = _createSuite.test, assert = _createSuite.assert, getResults = _createSuite.getResults;
1136
1201
  return test("公共实例字段 —— 声明并初始化", function() {
1137
- var a = /* @__PURE__ */ _createClass(function e(o, n) {
1138
- _classCallCheck(this, e), _defineProperty(this, "x", 0), _defineProperty(this, "y", 0), this.x = o, this.y = n;
1202
+ var a = /* @__PURE__ */ _createClass(function e(i, n) {
1203
+ _classCallCheck(this, e), _defineProperty(this, "x", 0), _defineProperty(this, "y", 0), this.x = i, this.y = n;
1139
1204
  }), t = new a(3, 4);
1140
1205
  assert(t.x === 3 && t.y === 4, "公共字段应可读写");
1141
1206
  }), test("公共字段默认值在 constructor 之前初始化", function() {
@@ -1176,11 +1241,11 @@ function testClassFields() {
1176
1241
  return _createClass(n, [{
1177
1242
  key: "format",
1178
1243
  value: function(s) {
1179
- return _assertClassBrand(t, this, o).call(this, s);
1244
+ return _assertClassBrand(t, this, i).call(this, s);
1180
1245
  }
1181
1246
  }]);
1182
1247
  }();
1183
- function o(n) {
1248
+ function i(n) {
1184
1249
  return "".concat(_classPrivateFieldGet2(a, this), " ").concat(n);
1185
1250
  }
1186
1251
  assert(new e().format("hello") === "[LOG] hello", "私有方法应正常调用");
@@ -1192,8 +1257,8 @@ function testClassFields() {
1192
1257
  }), test("静态私有字段 —— 追踪实例数量", function() {
1193
1258
  var a = /* @__PURE__ */ function() {
1194
1259
  function e() {
1195
- var o;
1196
- _classCallCheck(this, e), t._ = (o = t._, o++, o);
1260
+ var i;
1261
+ _classCallCheck(this, e), t._ = (i = t._, i++, i);
1197
1262
  }
1198
1263
  return _createClass(e, null, [{
1199
1264
  key: "getCount",
@@ -1217,14 +1282,14 @@ function testClassFields() {
1217
1282
  }
1218
1283
  }]);
1219
1284
  }();
1220
- function t(e, o, n) {
1221
- return Math.min(Math.max(e, o), n);
1285
+ function t(e, i, n) {
1286
+ return Math.min(Math.max(e, i), n);
1222
1287
  }
1223
1288
  assert(a.normalize(-0.5) === 0, "静态私有方法:低于下界应返回 0"), assert(a.normalize(1.5) === 1, "静态私有方法:超出上界应返回 1"), assert(a.normalize(0.5) === 0.5, "静态私有方法:正常值应原样返回");
1224
1289
  }), test("私有字段存在性:`#field in obj`", function() {
1225
1290
  var a = /* @__PURE__ */ new WeakMap(), t = /* @__PURE__ */ function() {
1226
- function e(o) {
1227
- _classCallCheck(this, e), _classPrivateFieldInitSpec(this, a, void 0), _classPrivateFieldSet2(a, this, o);
1291
+ function e(i) {
1292
+ _classCallCheck(this, e), _classPrivateFieldInitSpec(this, a, void 0), _classPrivateFieldSet2(a, this, i);
1228
1293
  }
1229
1294
  return _createClass(e, null, [{
1230
1295
  key: "isNode",
@@ -1255,12 +1320,12 @@ function testClassFields() {
1255
1320
  return "".concat(this.getName(), " says woof");
1256
1321
  }
1257
1322
  }]);
1258
- }(t), o = new e("Rex");
1259
- assert(o.bark() === "Rex says woof", "子类可通过父类公共方法访问私有字段");
1323
+ }(t), i = new e("Rex");
1324
+ assert(i.bark() === "Rex says woof", "子类可通过父类公共方法访问私有字段");
1260
1325
  }), getResults();
1261
1326
  }
1262
1327
  function testClassStaticBlocks() {
1263
- var a = createSuite("Class Static Blocks (ES2022)"), t = a.test, e = a.assert, o = a.getResults;
1328
+ var a = createSuite("Class Static Blocks (ES2022)"), t = a.test, e = a.assert, i = a.getResults;
1264
1329
  return t("基本静态块 —— 初始化静态字段", function() {
1265
1330
  var n, r = /* @__PURE__ */ _createClass(function s() {
1266
1331
  _classCallCheck(this, s);
@@ -1294,8 +1359,8 @@ function testClassStaticBlocks() {
1294
1359
  }(), s = {
1295
1360
  _: "initial"
1296
1361
  };
1297
- n = function(i) {
1298
- s._ = i;
1362
+ n = function(o) {
1363
+ s._ = o;
1299
1364
  }, n("updated"), e(r.getSecret() === "updated", "静态块应能操作同类私有字段");
1300
1365
  }), t("多个静态块按声明顺序执行", function() {
1301
1366
  var n, r = [], s = /* @__PURE__ */ _createClass(function u() {
@@ -1321,10 +1386,10 @@ function testClassStaticBlocks() {
1321
1386
  n = r, _defineProperty(r, "name2", "Widget"), _defineProperty(r, "instance", void 0), n.instance = {
1322
1387
  type: n.name2
1323
1388
  }, e(r.instance.type === "Widget", "静态块内 this 应指向类本身");
1324
- }), o();
1389
+ }), i();
1325
1390
  }
1326
1391
  function testAtMethod() {
1327
- var a = createSuite("Array/String.at() (ES2022)"), t = a.test, e = a.assert, o = a.getResults;
1392
+ var a = createSuite("Array/String.at() (ES2022)"), t = a.test, e = a.assert, i = a.getResults;
1328
1393
  return t("Array.at() —— 正索引与 arr[i] 等价", function() {
1329
1394
  var n = [10, 20, 30, 40, 50];
1330
1395
  e(n.at(0) === 10, "at(0) 应返回第一个元素"), e(n.at(2) === 30, "at(2) 应返回第三个元素"), e(n.at(4) === 50, "at(4) 应返回最后一个元素");
@@ -1353,10 +1418,10 @@ function testAtMethod() {
1353
1418
  }), t("at() 不修改原数组", function() {
1354
1419
  var n = [1, 2, 3];
1355
1420
  e(n.length === 3 && n[2] === 3, "at() 不应修改原数组");
1356
- }), o();
1421
+ }), i();
1357
1422
  }
1358
1423
  function testObjectHasOwn() {
1359
- var a = createSuite("Object.hasOwn() (ES2022)"), t = a.test, e = a.assert, o = a.getResults;
1424
+ var a = createSuite("Object.hasOwn() (ES2022)"), t = a.test, e = a.assert, i = a.getResults;
1360
1425
  return t("基本用法 —— 自有属性返回 true", function() {
1361
1426
  var n = {
1362
1427
  name: "Alice",
@@ -1369,13 +1434,13 @@ function testObjectHasOwn() {
1369
1434
  };
1370
1435
  e(Object.hasOwn(n, "b") === !1, "不存在的属性应返回 false"), e(Object.hasOwn(n, "toString") === !1, "原型链上的属性应返回 false");
1371
1436
  }), t("继承属性返回 false —— 只检查自有属性", function() {
1372
- var n = /* @__PURE__ */ _createClass(function u(i) {
1373
- _classCallCheck(this, u), this.name = i;
1437
+ var n = /* @__PURE__ */ _createClass(function u(o) {
1438
+ _classCallCheck(this, u), this.name = o;
1374
1439
  }), r = /* @__PURE__ */ function(u) {
1375
- function i() {
1376
- return _classCallCheck(this, i), _callSuper(this, i, arguments);
1440
+ function o() {
1441
+ return _classCallCheck(this, o), _callSuper(this, o, arguments);
1377
1442
  }
1378
- return _inherits(i, u), _createClass(i);
1443
+ return _inherits(o, u), _createClass(o);
1379
1444
  }(n), s = new r("Rex");
1380
1445
  e(Object.hasOwn(s, "name") === !0, "name 是实例自有属性"), e(Object.hasOwn(s, "constructor") === !1, "constructor 在原型上,不是自有属性");
1381
1446
  }), t("null 原型对象 —— hasOwnProperty 不可用时的安全方案", function() {
@@ -1408,10 +1473,10 @@ function testObjectHasOwn() {
1408
1473
  }), t("数组的索引属性", function() {
1409
1474
  var n = [10, 20, 30];
1410
1475
  e(Object.hasOwn(n, 0) === !0, "数组索引 0 是自有属性"), e(Object.hasOwn(n, "1") === !0, '字符串索引 "1" 也是自有属性'), e(Object.hasOwn(n, "length") === !0, "length 是数组的自有属性"), e(Object.hasOwn(n, 3) === !1, "越界索引应返回 false");
1411
- }), o();
1476
+ }), i();
1412
1477
  }
1413
1478
  function testErrorCause() {
1414
- var a = createSuite("Error Cause (ES2022)"), t = a.test, e = a.assert, o = a.getResults;
1479
+ var a = createSuite("Error Cause (ES2022)"), t = a.test, e = a.assert, i = a.getResults;
1415
1480
  return t("基本用法 —— cause 属性保存原始错误", function() {
1416
1481
  var n = new TypeError("原始类型错误"), r = new Error("操作失败", {
1417
1482
  cause: n
@@ -1450,22 +1515,22 @@ function testErrorCause() {
1450
1515
  });
1451
1516
  e(n.cause === "网络超时", "cause 可以是字符串"), e(r.cause === 404, "cause 可以是数字"), e(s.cause.code === "ENOENT", "cause 可以是对象");
1452
1517
  }), t("实际应用:fetch 封装中传递原始网络错误", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function n() {
1453
- var r, s, u, i;
1518
+ var r, s, u, o;
1454
1519
  return _regenerator().w(function(c) {
1455
1520
  for (; ; )
1456
1521
  switch (c.p = c.n) {
1457
1522
  case 0:
1458
1523
  return s = function() {
1459
- return s = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function l(y) {
1460
- var h;
1524
+ return s = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function l(h) {
1525
+ var y;
1461
1526
  return _regenerator().w(function(p) {
1462
1527
  for (; ; )
1463
1528
  switch (p.p = p.n) {
1464
1529
  case 0:
1465
1530
  throw p.p = 0, new Error("fetch failed: 500");
1466
1531
  case 1:
1467
- throw p.p = 1, h = p.v, new Error("获取用户 ".concat(y, " 失败"), {
1468
- cause: h
1532
+ throw p.p = 1, y = p.v, new Error("获取用户 ".concat(h, " 失败"), {
1533
+ cause: y
1469
1534
  });
1470
1535
  case 2:
1471
1536
  return p.a(2);
@@ -1479,7 +1544,7 @@ function testErrorCause() {
1479
1544
  c.n = 4;
1480
1545
  break;
1481
1546
  case 3:
1482
- c.p = 3, i = c.v, u = i;
1547
+ c.p = 3, o = c.v, u = o;
1483
1548
  case 4:
1484
1549
  e(u !== null, "应捕获到封装后的错误"), e(u.message.includes("42"), "外层错误消息应包含用户 id"), e(u.cause instanceof Error, "cause 应是原始 Error"), e(u.cause.message.includes("500"), "原始错误消息应保留");
1485
1550
  case 5:
@@ -1488,19 +1553,19 @@ function testErrorCause() {
1488
1553
  }, n, null, [[1, 3]]);
1489
1554
  }))), t("自定义 Error 子类也支持 cause", function() {
1490
1555
  var n = /* @__PURE__ */ function(u) {
1491
- function i(c, f) {
1556
+ function o(c, f) {
1492
1557
  var l;
1493
- return _classCallCheck(this, i), l = _callSuper(this, i, [c, f]), l.name = "AppError", l;
1558
+ return _classCallCheck(this, o), l = _callSuper(this, o, [c, f]), l.name = "AppError", l;
1494
1559
  }
1495
- return _inherits(i, u), _createClass(i);
1560
+ return _inherits(o, u), _createClass(o);
1496
1561
  }(/* @__PURE__ */ _wrapNativeSuper(Error)), r = new TypeError("底层失败"), s = new n("应用层失败", {
1497
1562
  cause: r
1498
1563
  });
1499
1564
  e(s.name === "AppError", "子类名称应正确"), e(s.cause === r, "自定义子类应支持 cause");
1500
- }), o();
1565
+ }), i();
1501
1566
  }
1502
1567
  function testRegExpDFlag() {
1503
- var a = createSuite("RegExp /d flag (ES2022)"), t = a.test, e = a.assert, o = a.getResults, n = function() {
1568
+ var a = createSuite("RegExp /d flag (ES2022)"), t = a.test, e = a.assert, i = a.getResults, n = function() {
1504
1569
  try {
1505
1570
  return new RegExp("x", "d").hasIndices === !0;
1506
1571
  } catch {
@@ -1534,8 +1599,8 @@ function testRegExpDFlag() {
1534
1599
  e(!0, "(跳过)");
1535
1600
  return;
1536
1601
  }
1537
- var r = "姓名:Alice,年龄:30", s = new RegExp("姓名:(\\w+),年龄:(\\d+)", "d"), u = r.match(s), i = _slicedToArray(u.indices[1], 2), c = i[0], f = i[1], l = _slicedToArray(u.indices[2], 2), y = l[0], h = l[1];
1538
- e(r.slice(c, f) === "Alice", "通过 indices 切出的姓名应为 Alice"), e(r.slice(y, h) === "30", "通过 indices 切出的年龄应为 30");
1602
+ var r = "姓名:Alice,年龄:30", s = new RegExp("姓名:(\\w+),年龄:(\\d+)", "d"), u = r.match(s), o = _slicedToArray(u.indices[1], 2), c = o[0], f = o[1], l = _slicedToArray(u.indices[2], 2), h = l[0], y = l[1];
1603
+ e(r.slice(c, f) === "Alice", "通过 indices 切出的姓名应为 Alice"), e(r.slice(h, y) === "30", "通过 indices 切出的年龄应为 30");
1539
1604
  }), t("具名捕获组的位置 indices.groups", function() {
1540
1605
  var r, s;
1541
1606
  if (!n) {
@@ -1545,9 +1610,9 @@ function testRegExpDFlag() {
1545
1610
  var u = /* @__PURE__ */ _wrapRegExp(new RegExp("(\\d{4})-(\\d{2})", "d"), {
1546
1611
  year: 1,
1547
1612
  month: 2
1548
- }), i = "发布于 2025-06".match(u);
1549
- e(i.indices.groups !== void 0, "具名组应出现在 indices.groups 中");
1550
- var c = i.indices.groups, f = c.year, l = c.month;
1613
+ }), o = "发布于 2025-06".match(u);
1614
+ e(o.indices.groups !== void 0, "具名组应出现在 indices.groups 中");
1615
+ var c = o.indices.groups, f = c.year, l = c.month;
1551
1616
  e((r = "发布于 2025-06").slice.apply(r, _toConsumableArray(f)) === "2025", "具名组 year 位置应正确"), e((s = "发布于 2025-06").slice.apply(s, _toConsumableArray(l)) === "06", "具名组 month 位置应正确");
1552
1617
  }), t("未匹配的可选组 indices 为 undefined", function() {
1553
1618
  if (!n) {
@@ -1561,38 +1626,38 @@ function testRegExpDFlag() {
1561
1626
  e(!0, "(跳过)");
1562
1627
  return;
1563
1628
  }
1564
- for (var r = new RegExp("\\d+", "dg"), s = "a1b22c333", u = [], i; (i = r.exec(s)) !== null; )
1565
- u.push(i.indices[0]);
1629
+ for (var r = new RegExp("\\d+", "dg"), s = "a1b22c333", u = [], o; (o = r.exec(s)) !== null; )
1630
+ u.push(o.indices[0]);
1566
1631
  e(u.length === 3, "应匹配到 3 个数字"), e(u[0][0] === 1, "第一个数字起始位置应为 1"), e(u[1][0] === 3, "第二个数字起始位置应为 3"), e(u[2][0] === 6, "第三个数字起始位置应为 6");
1567
- }), o();
1632
+ }), i();
1568
1633
  }
1569
1634
  function testTopLevelAwait() {
1570
1635
  return _testTopLevelAwait.apply(this, arguments);
1571
1636
  }
1572
1637
  function _testTopLevelAwait() {
1573
1638
  return _testTopLevelAwait = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function a() {
1574
- var t, e, o, n;
1639
+ var t, e, i, n;
1575
1640
  return _regenerator().w(function(r) {
1576
1641
  for (; ; )
1577
1642
  switch (r.n) {
1578
1643
  case 0:
1579
- return t = createSuite("Top-level await (ES2022)"), e = t.test, o = t.assert, n = t.getResults, r.n = 1, e("async 函数内的 await 是等价基础能力", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function s() {
1644
+ return t = createSuite("Top-level await (ES2022)"), e = t.test, i = t.assert, n = t.getResults, r.n = 1, e("async 函数内的 await 是等价基础能力", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function s() {
1580
1645
  var u;
1581
- return _regenerator().w(function(i) {
1646
+ return _regenerator().w(function(o) {
1582
1647
  for (; ; )
1583
- switch (i.n) {
1648
+ switch (o.n) {
1584
1649
  case 0:
1585
- return i.n = 1, Promise.resolve(42);
1650
+ return o.n = 1, Promise.resolve(42);
1586
1651
  case 1:
1587
- u = i.v, o(u === 42, "await 在 async 函数顶层应正常工作");
1652
+ u = o.v, i(u === 42, "await 在 async 函数顶层应正常工作");
1588
1653
  case 2:
1589
- return i.a(2);
1654
+ return o.a(2);
1590
1655
  }
1591
1656
  }, s);
1592
1657
  })));
1593
1658
  case 1:
1594
1659
  return r.n = 2, e("await 可以等待动态 import()", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function s() {
1595
- var u, i;
1660
+ var u, o;
1596
1661
  return _regenerator().w(function(c) {
1597
1662
  for (; ; )
1598
1663
  switch (c.n) {
@@ -1606,7 +1671,7 @@ function _testTopLevelAwait() {
1606
1671
  });
1607
1672
  }, c.n = 1, u();
1608
1673
  case 1:
1609
- i = c.v, o(i.default === "module-content", "await 动态导入应返回模块内容"), o(i.util() === "ok", "模块导出的函数应可调用");
1674
+ o = c.v, i(o.default === "module-content", "await 动态导入应返回模块内容"), i(o.util() === "ok", "模块导出的函数应可调用");
1610
1675
  case 2:
1611
1676
  return c.a(2);
1612
1677
  }
@@ -1614,7 +1679,7 @@ function _testTopLevelAwait() {
1614
1679
  })));
1615
1680
  case 2:
1616
1681
  return r.n = 3, e("await 保序 —— 导入方等待模块初始化完成", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function s() {
1617
- var u, i;
1682
+ var u, o;
1618
1683
  return _regenerator().w(function(c) {
1619
1684
  for (; ; )
1620
1685
  switch (c.n) {
@@ -1624,8 +1689,8 @@ function _testTopLevelAwait() {
1624
1689
  for (; ; )
1625
1690
  switch (l.n) {
1626
1691
  case 0:
1627
- return u.push("A:start"), l.n = 1, new Promise(function(y) {
1628
- return setTimeout(y, 0);
1692
+ return u.push("A:start"), l.n = 1, new Promise(function(h) {
1693
+ return setTimeout(h, 0);
1629
1694
  });
1630
1695
  case 1:
1631
1696
  return u.push("A:ready"), l.a(2, {
@@ -1635,7 +1700,7 @@ function _testTopLevelAwait() {
1635
1700
  }, f);
1636
1701
  }))();
1637
1702
  case 1:
1638
- i = c.v, u.push("B:use"), o(i.data === "initialized", "模块 A 初始化完成后才能被使用"), o(u.join(",") === "A:start,A:ready,B:use", "执行顺序应严格保序");
1703
+ o = c.v, u.push("B:use"), i(o.data === "initialized", "模块 A 初始化完成后才能被使用"), i(u.join(",") === "A:start,A:ready,B:use", "执行顺序应严格保序");
1639
1704
  case 2:
1640
1705
  return c.a(2);
1641
1706
  }
@@ -1643,14 +1708,14 @@ function _testTopLevelAwait() {
1643
1708
  })));
1644
1709
  case 3:
1645
1710
  return r.n = 4, e("await 与条件导入模拟", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function s() {
1646
- var u, i;
1711
+ var u, o;
1647
1712
  return _regenerator().w(function(c) {
1648
1713
  for (; ; )
1649
1714
  switch (c.n) {
1650
1715
  case 0:
1651
1716
  return u = typeof window < "u", c.n = 1, Promise.resolve(u ? "browser" : "node");
1652
1717
  case 1:
1653
- i = c.v, o(typeof i == "string", "条件 await 应返回字符串平台标识"), o(i === "browser" || i === "node", "平台标识应为 browser 或 node");
1718
+ o = c.v, i(typeof o == "string", "条件 await 应返回字符串平台标识"), i(o === "browser" || o === "node", "平台标识应为 browser 或 node");
1654
1719
  case 2:
1655
1720
  return c.a(2);
1656
1721
  }
@@ -1658,7 +1723,7 @@ function _testTopLevelAwait() {
1658
1723
  })));
1659
1724
  case 4:
1660
1725
  return r.n = 5, e("await 错误应在模块加载阶段被捕获", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function s() {
1661
- var u, i;
1726
+ var u, o;
1662
1727
  return _regenerator().w(function(c) {
1663
1728
  for (; ; )
1664
1729
  switch (c.p = c.n) {
@@ -1668,9 +1733,9 @@ function _testTopLevelAwait() {
1668
1733
  c.n = 4;
1669
1734
  break;
1670
1735
  case 3:
1671
- c.p = 3, i = c.v, u = i;
1736
+ c.p = 3, o = c.v, u = o;
1672
1737
  case 4:
1673
- o(u instanceof Error, "应捕获到 Error"), o(u.message === "模块初始化失败", "错误消息应正确传递");
1738
+ i(u instanceof Error, "应捕获到 Error"), i(u.message === "模块初始化失败", "错误消息应正确传递");
1674
1739
  case 5:
1675
1740
  return c.a(2);
1676
1741
  }
@@ -1678,12 +1743,12 @@ function _testTopLevelAwait() {
1678
1743
  })));
1679
1744
  case 5:
1680
1745
  return r.n = 6, e("await 不阻塞无依赖的兄弟模块(并行加载)", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function s() {
1681
- var u, i, c, f, l, y;
1682
- return _regenerator().w(function(h) {
1746
+ var u, o, c, f, l, h;
1747
+ return _regenerator().w(function(y) {
1683
1748
  for (; ; )
1684
- switch (h.n) {
1749
+ switch (y.n) {
1685
1750
  case 0:
1686
- return u = Date.now(), h.n = 1, Promise.all([new Promise(function(p) {
1751
+ return u = Date.now(), y.n = 1, Promise.all([new Promise(function(p) {
1687
1752
  return setTimeout(function() {
1688
1753
  return p("A");
1689
1754
  }, 10);
@@ -1693,9 +1758,9 @@ function _testTopLevelAwait() {
1693
1758
  }, 10);
1694
1759
  })]);
1695
1760
  case 1:
1696
- i = h.v, c = _slicedToArray(i, 2), f = c[0], l = c[1], y = Date.now() - u, o(f === "A" && l === "B", "并行 await 两个模块都应成功完成"), o(y < 50, "并行执行耗时应远小于串行(~10ms vs ~20ms)");
1761
+ o = y.v, c = _slicedToArray(o, 2), f = c[0], l = c[1], h = Date.now() - u, i(f === "A" && l === "B", "并行 await 两个模块都应成功完成"), i(h < 50, "并行执行耗时应远小于串行(~10ms vs ~20ms)");
1697
1762
  case 2:
1698
- return h.a(2);
1763
+ return y.a(2);
1699
1764
  }
1700
1765
  }, s);
1701
1766
  })));
@@ -1706,7 +1771,7 @@ function _testTopLevelAwait() {
1706
1771
  })), _testTopLevelAwait.apply(this, arguments);
1707
1772
  }
1708
1773
  function testIteratorHelpers() {
1709
- var a = createSuite("Iterator Helpers (ES2025)"), t = a.test, e = a.assert, o = a.getResults, n = typeof Iterator < "u" && typeof Iterator.from == "function";
1774
+ var a = createSuite("Iterator Helpers (ES2025)"), t = a.test, e = a.assert, i = a.getResults, n = typeof Iterator < "u" && typeof Iterator.from == "function";
1710
1775
  return t("环境支持检测", function() {
1711
1776
  e(n, "环境不支持 Iterator Helpers");
1712
1777
  }), t("Iterator.from() 将可迭代对象转为迭代器", function() {
@@ -1813,10 +1878,10 @@ function testIteratorHelpers() {
1813
1878
  return s > 10;
1814
1879
  }).take(3).toArray();
1815
1880
  e(r.length === 3 && r[0] === 16 && r[2] === 36, "链式调用结果应为 [16,25,36]");
1816
- }), o();
1881
+ }), i();
1817
1882
  }
1818
1883
  function testSetMethods() {
1819
- var a = createSuite("New Set Methods (ES2025)"), t = a.test, e = a.assert, o = a.getResults, n = typeof Set.prototype.union == "function";
1884
+ var a = createSuite("New Set Methods (ES2025)"), t = a.test, e = a.assert, i = a.getResults, n = typeof Set.prototype.union == "function";
1820
1885
  return t("环境支持检测", function() {
1821
1886
  e(n, "环境不支持 Set 新方法(union/intersection 等)");
1822
1887
  }), t("union() —— 并集", function() {
@@ -1882,38 +1947,38 @@ function testSetMethods() {
1882
1947
  }
1883
1948
  var r = /* @__PURE__ */ new Set([1, 2, 3]), s = r.intersection(/* @__PURE__ */ new Set([2, 3, 4]));
1884
1949
  e(s.size === 2 && s.has(2) && s.has(3), "应支持传入普通数组");
1885
- }), o();
1950
+ }), i();
1886
1951
  }
1887
1952
  function testPromiseTry() {
1888
1953
  return _testPromiseTry.apply(this, arguments);
1889
1954
  }
1890
1955
  function _testPromiseTry() {
1891
1956
  return _testPromiseTry = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function a() {
1892
- var t, e, o, n, r;
1957
+ var t, e, i, n, r;
1893
1958
  return _regenerator().w(function(s) {
1894
1959
  for (; ; )
1895
1960
  switch (s.n) {
1896
1961
  case 0:
1897
- return t = createSuite("Promise.try (ES2025)"), e = t.test, o = t.assert, n = t.getResults, r = typeof Promise.try == "function", s.n = 1, e("环境支持检测", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
1898
- return _regenerator().w(function(i) {
1962
+ return t = createSuite("Promise.try (ES2025)"), e = t.test, i = t.assert, n = t.getResults, r = typeof Promise.try == "function", s.n = 1, e("环境支持检测", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
1963
+ return _regenerator().w(function(o) {
1899
1964
  for (; ; )
1900
- switch (i.n) {
1965
+ switch (o.n) {
1901
1966
  case 0:
1902
1967
  if (r) {
1903
- i.n = 1;
1968
+ o.n = 1;
1904
1969
  break;
1905
1970
  }
1906
- return o(!1, "(环境不支持 Promise.try)"), i.a(2);
1971
+ return i(!1, "(环境不支持 Promise.try)"), o.a(2);
1907
1972
  case 1:
1908
- o(!0, "环境支持 Promise.try");
1973
+ i(!0, "环境支持 Promise.try");
1909
1974
  case 2:
1910
- return i.a(2);
1975
+ return o.a(2);
1911
1976
  }
1912
1977
  }, u);
1913
1978
  })));
1914
1979
  case 1:
1915
1980
  return s.n = 2, e("同步函数 —— 返回值转为 resolved", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
1916
- var i;
1981
+ var o;
1917
1982
  return _regenerator().w(function(c) {
1918
1983
  for (; ; )
1919
1984
  switch (c.n) {
@@ -1922,13 +1987,13 @@ function _testPromiseTry() {
1922
1987
  c.n = 1;
1923
1988
  break;
1924
1989
  }
1925
- return o(!0, "(跳过:环境不支持 Promise.try)"), c.a(2);
1990
+ return i(!0, "(跳过:环境不支持 Promise.try)"), c.a(2);
1926
1991
  case 1:
1927
1992
  return c.n = 2, Promise.try(function() {
1928
1993
  return 42;
1929
1994
  });
1930
1995
  case 2:
1931
- i = c.v, o(i === 42, "同步返回值应被 resolve 为 42");
1996
+ o = c.v, i(o === 42, "同步返回值应被 resolve 为 42");
1932
1997
  case 3:
1933
1998
  return c.a(2);
1934
1999
  }
@@ -1936,7 +2001,7 @@ function _testPromiseTry() {
1936
2001
  })));
1937
2002
  case 2:
1938
2003
  return s.n = 3, e("同步函数 —— 抛出异常转为 rejected", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
1939
- var i;
2004
+ var o;
1940
2005
  return _regenerator().w(function(c) {
1941
2006
  for (; ; )
1942
2007
  switch (c.n) {
@@ -1945,15 +2010,15 @@ function _testPromiseTry() {
1945
2010
  c.n = 1;
1946
2011
  break;
1947
2012
  }
1948
- return o(!0, "(跳过)"), c.a(2);
2013
+ return i(!0, "(跳过)"), c.a(2);
1949
2014
  case 1:
1950
- return i = null, c.n = 2, Promise.try(function() {
2015
+ return o = null, c.n = 2, Promise.try(function() {
1951
2016
  throw new Error("同步错误");
1952
2017
  }).catch(function(f) {
1953
- i = f;
2018
+ o = f;
1954
2019
  });
1955
2020
  case 2:
1956
- o(i instanceof Error && i.message === "同步错误", "同步异常应转为 rejected");
2021
+ i(o instanceof Error && o.message === "同步错误", "同步异常应转为 rejected");
1957
2022
  case 3:
1958
2023
  return c.a(2);
1959
2024
  }
@@ -1961,7 +2026,7 @@ function _testPromiseTry() {
1961
2026
  })));
1962
2027
  case 3:
1963
2028
  return s.n = 4, e("异步函数 —— resolved 正常透传", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
1964
- var i;
2029
+ var o;
1965
2030
  return _regenerator().w(function(c) {
1966
2031
  for (; ; )
1967
2032
  switch (c.n) {
@@ -1970,7 +2035,7 @@ function _testPromiseTry() {
1970
2035
  c.n = 1;
1971
2036
  break;
1972
2037
  }
1973
- return o(!0, "(跳过)"), c.a(2);
2038
+ return i(!0, "(跳过)"), c.a(2);
1974
2039
  case 1:
1975
2040
  return c.n = 2, Promise.try(/* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function f() {
1976
2041
  return _regenerator().w(function(l) {
@@ -1982,7 +2047,7 @@ function _testPromiseTry() {
1982
2047
  }, f);
1983
2048
  })));
1984
2049
  case 2:
1985
- i = c.v, o(i === "async result", "异步 resolved 值应透传");
2050
+ o = c.v, i(o === "async result", "异步 resolved 值应透传");
1986
2051
  case 3:
1987
2052
  return c.a(2);
1988
2053
  }
@@ -1990,7 +2055,7 @@ function _testPromiseTry() {
1990
2055
  })));
1991
2056
  case 4:
1992
2057
  return s.n = 5, e("异步函数 —— rejected 正常透传", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
1993
- var i;
2058
+ var o;
1994
2059
  return _regenerator().w(function(c) {
1995
2060
  for (; ; )
1996
2061
  switch (c.n) {
@@ -1999,9 +2064,9 @@ function _testPromiseTry() {
1999
2064
  c.n = 1;
2000
2065
  break;
2001
2066
  }
2002
- return o(!0, "(跳过)"), c.a(2);
2067
+ return i(!0, "(跳过)"), c.a(2);
2003
2068
  case 1:
2004
- return i = null, c.n = 2, Promise.try(/* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function f() {
2069
+ return o = null, c.n = 2, Promise.try(/* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function f() {
2005
2070
  return _regenerator().w(function(l) {
2006
2071
  for (; ; )
2007
2072
  switch (l.n) {
@@ -2012,10 +2077,10 @@ function _testPromiseTry() {
2012
2077
  }
2013
2078
  }, f);
2014
2079
  }))).catch(function(f) {
2015
- i = f;
2080
+ o = f;
2016
2081
  });
2017
2082
  case 2:
2018
- o(i instanceof Error && i.message === "异步错误", "异步 rejected 应透传");
2083
+ i(o instanceof Error && o.message === "异步错误", "异步 rejected 应透传");
2019
2084
  case 3:
2020
2085
  return c.a(2);
2021
2086
  }
@@ -2023,7 +2088,7 @@ function _testPromiseTry() {
2023
2088
  })));
2024
2089
  case 5:
2025
2090
  return s.n = 6, e("返回已有 Promise —— 直接透传", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
2026
- var i, c;
2091
+ var o, c;
2027
2092
  return _regenerator().w(function(f) {
2028
2093
  for (; ; )
2029
2094
  switch (f.n) {
@@ -2032,13 +2097,13 @@ function _testPromiseTry() {
2032
2097
  f.n = 1;
2033
2098
  break;
2034
2099
  }
2035
- return o(!0, "(跳过)"), f.a(2);
2100
+ return i(!0, "(跳过)"), f.a(2);
2036
2101
  case 1:
2037
- return i = Promise.resolve("original"), f.n = 2, Promise.try(function() {
2038
- return i;
2102
+ return o = Promise.resolve("original"), f.n = 2, Promise.try(function() {
2103
+ return o;
2039
2104
  });
2040
2105
  case 2:
2041
- c = f.v, o(c === "original", "返回已有 Promise 的值应直接透传");
2106
+ c = f.v, i(c === "original", "返回已有 Promise 的值应直接透传");
2042
2107
  case 3:
2043
2108
  return f.a(2);
2044
2109
  }
@@ -2046,7 +2111,7 @@ function _testPromiseTry() {
2046
2111
  })));
2047
2112
  case 6:
2048
2113
  return s.n = 7, e("传递参数给回调函数", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
2049
- var i;
2114
+ var o;
2050
2115
  return _regenerator().w(function(c) {
2051
2116
  for (; ; )
2052
2117
  switch (c.n) {
@@ -2055,13 +2120,13 @@ function _testPromiseTry() {
2055
2120
  c.n = 1;
2056
2121
  break;
2057
2122
  }
2058
- return o(!0, "(跳过)"), c.a(2);
2123
+ return i(!0, "(跳过)"), c.a(2);
2059
2124
  case 1:
2060
2125
  return c.n = 2, Promise.try(function(f, l) {
2061
2126
  return f + l;
2062
2127
  }, 10, 20);
2063
2128
  case 2:
2064
- i = c.v, o(i === 30, "应能向回调函数传递参数");
2129
+ o = c.v, i(o === 30, "应能向回调函数传递参数");
2065
2130
  case 3:
2066
2131
  return c.a(2);
2067
2132
  }
@@ -2069,7 +2134,7 @@ function _testPromiseTry() {
2069
2134
  })));
2070
2135
  case 7:
2071
2136
  return s.n = 8, e("对比 new Promise —— 捕获同步异常的等价写法", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
2072
- var i, c, f, l, y, h;
2137
+ var o, c, f, l, h, y;
2073
2138
  return _regenerator().w(function(p) {
2074
2139
  for (; ; )
2075
2140
  switch (p.n) {
@@ -2078,15 +2143,15 @@ function _testPromiseTry() {
2078
2143
  p.n = 1;
2079
2144
  break;
2080
2145
  }
2081
- return o(!0, "(跳过)"), p.a(2);
2146
+ return i(!0, "(跳过)"), p.a(2);
2082
2147
  case 1:
2083
- return i = new Promise(function(S) {
2148
+ return o = new Promise(function(S) {
2084
2149
  return S(JSON.parse('{"key":"value"}'));
2085
2150
  }), c = Promise.try(function() {
2086
2151
  return JSON.parse('{"key":"value"}');
2087
- }), p.n = 2, Promise.all([i, c]);
2152
+ }), p.n = 2, Promise.all([o, c]);
2088
2153
  case 2:
2089
- f = p.v, l = _slicedToArray(f, 2), y = l[0], h = l[1], o(y.key === "value" && h.key === "value", "两种写法结果应一致");
2154
+ f = p.v, l = _slicedToArray(f, 2), h = l[0], y = l[1], i(h.key === "value" && y.key === "value", "两种写法结果应一致");
2090
2155
  case 3:
2091
2156
  return p.a(2);
2092
2157
  }
@@ -2099,7 +2164,7 @@ function _testPromiseTry() {
2099
2164
  })), _testPromiseTry.apply(this, arguments);
2100
2165
  }
2101
2166
  function testRegExpDuplicateGroups() {
2102
- var a = createSuite("RegExp Duplicate Named Capture Groups (ES2025)"), t = a.test, e = a.assert, o = a.getResults, n = !1;
2167
+ var a = createSuite("RegExp Duplicate Named Capture Groups (ES2025)"), t = a.test, e = a.assert, i = a.getResults, n = !1;
2103
2168
  try {
2104
2169
  new RegExp("(?<a>x)|(?<a>y)"), n = !0;
2105
2170
  } catch {
@@ -2145,8 +2210,8 @@ function testRegExpDuplicateGroups() {
2145
2210
  }
2146
2211
  var r = /* @__PURE__ */ _wrapRegExp(/([a-z]+)|(\d+)/g, {
2147
2212
  word: [1, 2]
2148
- }), s = _toConsumableArray("hello 42 world 7".matchAll(r)), u = s.map(function(i) {
2149
- return i.groups.word;
2213
+ }), s = _toConsumableArray("hello 42 world 7".matchAll(r)), u = s.map(function(o) {
2214
+ return o.groups.word;
2150
2215
  });
2151
2216
  e(u.length === 4 && u[0] === "hello" && u[1] === "42", "matchAll 应正确提取所有命中词");
2152
2217
  }), t("非命中分支的同名组值为 undefined", function() {
@@ -2158,10 +2223,10 @@ function testRegExpDuplicateGroups() {
2158
2223
  a: [1, 2]
2159
2224
  }), s = "bar".match(r);
2160
2225
  e(s.groups.a === "bar", "应取命中分支的值");
2161
- }), o();
2226
+ }), i();
2162
2227
  }
2163
2228
  function testUint8ArrayBase64Hex() {
2164
- var a = createSuite("Uint8Array Base64/Hex (ES2025)"), t = a.test, e = a.assert, o = a.getResults, n = typeof Uint8Array.prototype.toBase64 == "function";
2229
+ var a = createSuite("Uint8Array Base64/Hex (ES2025)"), t = a.test, e = a.assert, i = a.getResults, n = typeof Uint8Array.prototype.toBase64 == "function";
2165
2230
  return t("环境支持检测", function() {
2166
2231
  e(n, "环境不支持 Uint8Array Base64/Hex 方法");
2167
2232
  }), t("toBase64() —— Uint8Array 转 Base64 字符串", function() {
@@ -2198,8 +2263,8 @@ function testUint8ArrayBase64Hex() {
2198
2263
  return;
2199
2264
  }
2200
2265
  var r = new Uint8Array([1, 2, 3, 255, 0, 128]), s = Uint8Array.fromBase64(r.toBase64());
2201
- e(r.length === s.length && r.every(function(u, i) {
2202
- return u === s[i];
2266
+ e(r.length === s.length && r.every(function(u, o) {
2267
+ return u === s[o];
2203
2268
  }), "Base64 round-trip 应完全还原原始字节");
2204
2269
  }), t("Hex round-trip(互转验证)", function() {
2205
2270
  if (!n) {
@@ -2207,8 +2272,8 @@ function testUint8ArrayBase64Hex() {
2207
2272
  return;
2208
2273
  }
2209
2274
  var r = new Uint8Array([0, 127, 128, 255]), s = Uint8Array.fromHex(r.toHex());
2210
- e(r.length === s.length && r.every(function(u, i) {
2211
- return u === s[i];
2275
+ e(r.length === s.length && r.every(function(u, o) {
2276
+ return u === s[o];
2212
2277
  }), "Hex round-trip 应完全还原原始字节");
2213
2278
  }), t("空数组 toBase64 返回空字符串", function() {
2214
2279
  if (!n) {
@@ -2233,10 +2298,10 @@ function testUint8ArrayBase64Hex() {
2233
2298
  alphabet: "base64url"
2234
2299
  });
2235
2300
  e(u.indexOf("+") === -1 && u.indexOf("/") === -1, "URL-safe Base64 不应含 + 或 /"), e(s !== u || !s.includes("+") && !s.includes("/"), "URL-safe 与标准编码结果应存在差异(或均不含特殊字符)");
2236
- }), o();
2301
+ }), i();
2237
2302
  }
2238
2303
  function testJsonParseSource() {
2239
- var a = createSuite("JSON.parse Source Text Access (ES2025)"), t = a.test, e = a.assert, o = a.getResults, n = !1;
2304
+ var a = createSuite("JSON.parse Source Text Access (ES2025)"), t = a.test, e = a.assert, i = a.getResults, n = !1;
2240
2305
  try {
2241
2306
  JSON.parse("1", function(r, s, u) {
2242
2307
  return u && typeof u.source == "string" && (n = !0), s;
@@ -2251,8 +2316,8 @@ function testJsonParseSource() {
2251
2316
  return;
2252
2317
  }
2253
2318
  var r = null;
2254
- JSON.parse('"hello"', function(s, u, i) {
2255
- return s === "" && (r = i), u;
2319
+ JSON.parse('"hello"', function(s, u, o) {
2320
+ return s === "" && (r = o), u;
2256
2321
  }), e(r !== null && typeof r.source == "string", "reviver 应收到含 source 属性的 context 对象");
2257
2322
  }), t("context.source 为该值的原始 JSON 文本", function() {
2258
2323
  if (!n) {
@@ -2260,16 +2325,16 @@ function testJsonParseSource() {
2260
2325
  return;
2261
2326
  }
2262
2327
  var r = {};
2263
- JSON.parse('{"a": 42, "b": "hello"}', function(s, u, i) {
2264
- return s !== "" && (r[s] = i.source), u;
2328
+ JSON.parse('{"a": 42, "b": "hello"}', function(s, u, o) {
2329
+ return s !== "" && (r[s] = o.source), u;
2265
2330
  }), e(r.a === "42", '数字的 source 应为 "42",实际: "'.concat(r.a, '"')), e(r.b === '"hello"', `字符串的 source 应为 '"hello"',实际: "`.concat(r.b, '"'));
2266
2331
  }), t("利用 source 精确解析超大整数(BigInt)", function() {
2267
2332
  if (!n) {
2268
2333
  e(!0, "(跳过)");
2269
2334
  return;
2270
2335
  }
2271
- var r = "9007199254740993", s = JSON.parse('{"id":'.concat(r, "}"), function(u, i, c) {
2272
- return u === "" ? i : /^\d+$/.test(c.source) ? BigInt(c.source) : i;
2336
+ var r = "9007199254740993", s = JSON.parse('{"id":'.concat(r, "}"), function(u, o, c) {
2337
+ return u === "" ? o : /^\d+$/.test(c.source) ? BigInt(c.source) : o;
2273
2338
  });
2274
2339
  e(typeof s.id == "bigint", "超大整数应被转为 BigInt"), e(s.id === BigInt(r), "BigInt 值应精确等于 ".concat(r));
2275
2340
  }), t("嵌套对象中每个值都能获取自己的 source", function() {
@@ -2278,8 +2343,8 @@ function testJsonParseSource() {
2278
2343
  return;
2279
2344
  }
2280
2345
  var r = [];
2281
- JSON.parse('{"x":1,"arr":[2,3]}', function(s, u, i) {
2282
- return s !== "" && r.push(i.source), u;
2346
+ JSON.parse('{"x":1,"arr":[2,3]}', function(s, u, o) {
2347
+ return s !== "" && r.push(o.source), u;
2283
2348
  }), e(r.includes("1") && r.includes("2") && r.includes("3"), "嵌套结构中每个原始值都应能取到 source");
2284
2349
  }), t("null / boolean 也有对应 source", function() {
2285
2350
  if (!n) {
@@ -2287,13 +2352,13 @@ function testJsonParseSource() {
2287
2352
  return;
2288
2353
  }
2289
2354
  var r = {};
2290
- JSON.parse('{"a":null,"b":true,"c":false}', function(s, u, i) {
2291
- return s !== "" && (r[s] = i.source), u;
2355
+ JSON.parse('{"a":null,"b":true,"c":false}', function(s, u, o) {
2356
+ return s !== "" && (r[s] = o.source), u;
2292
2357
  }), e(r.a === "null" && r.b === "true" && r.c === "false", "null/true/false 的 source 应为对应的原始文本");
2293
- }), o();
2358
+ }), i();
2294
2359
  }
2295
2360
  function testErrorIsError() {
2296
- var a = createSuite("Error.isError (ES2025)"), t = a.test, e = a.assert, o = a.getResults, n = typeof Error.isError == "function";
2361
+ var a = createSuite("Error.isError (ES2025)"), t = a.test, e = a.assert, i = a.getResults, n = typeof Error.isError == "function";
2297
2362
  return t("环境支持检测", function() {
2298
2363
  e(n, "环境不支持 Error.isError");
2299
2364
  }), t("原生 Error 实例返回 true", function() {
@@ -2314,9 +2379,9 @@ function testErrorIsError() {
2314
2379
  return;
2315
2380
  }
2316
2381
  var r = /* @__PURE__ */ function(s) {
2317
- function u(i) {
2382
+ function u(o) {
2318
2383
  var c;
2319
- return _classCallCheck(this, u), c = _callSuper(this, u, [i]), c.name = "AppError", c;
2384
+ return _classCallCheck(this, u), c = _callSuper(this, u, [o]), c.name = "AppError", c;
2320
2385
  }
2321
2386
  return _inherits(u, s), _createClass(u);
2322
2387
  }(/* @__PURE__ */ _wrapNativeSuper(Error));
@@ -2361,10 +2426,10 @@ function testErrorIsError() {
2361
2426
  s = u;
2362
2427
  }
2363
2428
  e(Error.isError(s) === !0, "try/catch 捕获的 Error 应识别为 true"), e(Error.isError("string rejection") === !1, "字符串 rejection 应识别为 false");
2364
- }), o();
2429
+ }), i();
2365
2430
  }
2366
2431
  function testFloat16Array() {
2367
- var a = createSuite("Float16Array (ES2025)"), t = a.test, e = a.assert, o = a.getResults, n = typeof Float16Array < "u";
2432
+ var a = createSuite("Float16Array (ES2025)"), t = a.test, e = a.assert, i = a.getResults, n = typeof Float16Array < "u";
2368
2433
  return t("环境支持检测", function() {
2369
2434
  e(n, "环境不支持 Float16Array");
2370
2435
  }), t("Float16Array 可正常创建", function() {
@@ -2425,10 +2490,10 @@ function testFloat16Array() {
2425
2490
  }
2426
2491
  var r = 100, s = new Float16Array(r), u = new Float32Array(r);
2427
2492
  e(s.byteLength === u.byteLength / 2, "Float16Array 字节长度应是 Float32Array 的一半");
2428
- }), o();
2493
+ }), i();
2429
2494
  }
2430
2495
  function testMathSumPrecise() {
2431
- var a = createSuite("Math.sumPrecise() (ES2026)"), t = a.test, e = a.assert, o = a.getResults, n = typeof Math.sumPrecise == "function";
2496
+ var a = createSuite("Math.sumPrecise() (ES2026)"), t = a.test, e = a.assert, i = a.getResults, n = typeof Math.sumPrecise == "function";
2432
2497
  return t("环境支持检测", function() {
2433
2498
  e(n, "环境不支持 Math.sumPrecise");
2434
2499
  }), t("基本求和 —— 整数", function() {
@@ -2442,8 +2507,8 @@ function testMathSumPrecise() {
2442
2507
  e(!0, "(跳过)");
2443
2508
  return;
2444
2509
  }
2445
- var r = [0.1, 0.2, 0.3].reduce(function(u, i) {
2446
- return u + i;
2510
+ var r = [0.1, 0.2, 0.3].reduce(function(u, o) {
2511
+ return u + o;
2447
2512
  }), s = Math.sumPrecise([0.1, 0.2, 0.3]);
2448
2513
  e(r !== 0.6, "普通 reduce 应存在浮点误差(验证前提)"), e(s === 0.6, "Math.sumPrecise 应精确返回 0.6");
2449
2514
  }), t("大量小数精确求和", function() {
@@ -2476,8 +2541,8 @@ function testMathSumPrecise() {
2476
2541
  }
2477
2542
  }, r);
2478
2543
  }
2479
- var i = Math.sumPrecise(u());
2480
- e(i === 6, "支持 Generator 可迭代对象");
2544
+ var o = Math.sumPrecise(u());
2545
+ e(o === 6, "支持 Generator 可迭代对象");
2481
2546
  }), t("特殊值处理", function() {
2482
2547
  if (!n) {
2483
2548
  e(!0, "(跳过)");
@@ -2496,10 +2561,10 @@ function testMathSumPrecise() {
2496
2561
  r = s instanceof TypeError;
2497
2562
  }
2498
2563
  e(r, "非数值元素应抛出 TypeError");
2499
- }), o();
2564
+ }), i();
2500
2565
  }
2501
2566
  function testRegExpEscape() {
2502
- var a = createSuite("RegExp.escape() (ES2026)"), t = a.test, e = a.assert, o = a.getResults, n = typeof RegExp.escape == "function";
2567
+ var a = createSuite("RegExp.escape() (ES2026)"), t = a.test, e = a.assert, i = a.getResults, n = typeof RegExp.escape == "function";
2503
2568
  return t("环境支持检测", function() {
2504
2569
  e(n, "环境不支持 RegExp.escape");
2505
2570
  }), t("转义正则特殊字符", function() {
@@ -2541,38 +2606,45 @@ function testRegExpEscape() {
2541
2606
  e(!0, "(跳过)");
2542
2607
  return;
2543
2608
  }
2544
- var r = "商品价格 $10.00,原价 $20.00", s = "$10.00", u = new RegExp(RegExp.escape(s), "g"), i = (r.match(u) || []).length;
2545
- e(i === 1, "含特殊字符的关键词应精确匹配 1 次");
2546
- }), o();
2609
+ var r = "商品价格 $10.00,原价 $20.00", s = "$10.00", u = new RegExp(RegExp.escape(s), "g"), o = (r.match(u) || []).length;
2610
+ e(o === 1, "含特殊字符的关键词应精确匹配 1 次");
2611
+ }), i();
2547
2612
  }
2548
2613
  function testExplicitResourceManagement() {
2549
2614
  return _testExplicitResourceManagement.apply(this, arguments);
2550
2615
  }
2551
2616
  function _testExplicitResourceManagement() {
2552
2617
  return _testExplicitResourceManagement = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function a() {
2553
- var t, e, o, n, r;
2618
+ var t, e, i, n, r;
2554
2619
  return _regenerator().w(function(s) {
2555
2620
  for (; ; )
2556
2621
  switch (s.n) {
2557
2622
  case 0:
2558
- return t = createSuite("Explicit Resource Management (ES2026)"), e = t.test, o = t.assert, n = t.getResults, r = function() {
2623
+ return t = createSuite("Explicit Resource Management (ES2026)"), e = t.test, i = t.assert, n = t.getResults, r = function() {
2559
2624
  try {
2560
- return new Function("Symbol", `
2625
+ try {
2626
+ var u = _usingCtx(), o = u.u("cx");
2627
+ return new Function("Symbol", `
2561
2628
  const r = { [Symbol.dispose]() {} }
2562
2629
  { using x = r }
2563
2630
  `)(Symbol), !0;
2631
+ } catch (c) {
2632
+ u.e = c;
2633
+ } finally {
2634
+ u.d();
2635
+ }
2564
2636
  } catch {
2565
2637
  return !1;
2566
2638
  }
2567
2639
  }(), e("环境支持检测", function() {
2568
- o(r, "环境不支持 using / await using 语法");
2640
+ i(r, "环境不支持 using / await using 语法");
2569
2641
  }), e("Symbol.dispose 已定义", function() {
2570
- o(_typeof(Symbol.dispose) === "symbol", "Symbol.dispose 应是 symbol 类型");
2642
+ i(_typeof(Symbol.dispose) === "symbol", "Symbol.dispose 应是 symbol 类型");
2571
2643
  }), e("Symbol.asyncDispose 已定义", function() {
2572
- o(_typeof(Symbol.asyncDispose) === "symbol", "Symbol.asyncDispose 应是 symbol 类型");
2644
+ i(_typeof(Symbol.asyncDispose) === "symbol", "Symbol.asyncDispose 应是 symbol 类型");
2573
2645
  }), e("using —— 块退出时自动调用 Symbol.dispose", function() {
2574
2646
  if (!r) {
2575
- o(!0, "(跳过:环境不支持 using 语法)");
2647
+ i(!0, "(跳过:环境不支持 using 语法)");
2576
2648
  return;
2577
2649
  }
2578
2650
  var u = [];
@@ -2584,10 +2656,10 @@ function _testExplicitResourceManagement() {
2584
2656
  log.push('in-block')
2585
2657
  }
2586
2658
  log.push('after-block')
2587
- `)(u, Symbol), o(u[0] === "in-block", "块内代码应正常执行"), o(u[1] === "disposed", "块退出时应自动调用 dispose"), o(u[2] === "after-block", "dispose 之后块后代码才继续执行");
2659
+ `)(u, Symbol), i(u[0] === "in-block", "块内代码应正常执行"), i(u[1] === "disposed", "块退出时应自动调用 dispose"), i(u[2] === "after-block", "dispose 之后块后代码才继续执行");
2588
2660
  }), e("using —— 异常时也会调用 dispose(保证清理)", function() {
2589
2661
  if (!r) {
2590
- o(!0, "(跳过)");
2662
+ i(!0, "(跳过)");
2591
2663
  return;
2592
2664
  }
2593
2665
  var u = [];
@@ -2600,10 +2672,10 @@ function _testExplicitResourceManagement() {
2600
2672
  `)(u, Symbol);
2601
2673
  } catch {
2602
2674
  }
2603
- o(u[0] === "cleanup", "即使抛出异常也应执行 dispose 清理");
2675
+ i(u[0] === "cleanup", "即使抛出异常也应执行 dispose 清理");
2604
2676
  }), e("多个 using 资源按 LIFO 顺序释放", function() {
2605
2677
  if (!r) {
2606
- o(!0, "(跳过)");
2678
+ i(!0, "(跳过)");
2607
2679
  return;
2608
2680
  }
2609
2681
  var u = [];
@@ -2613,9 +2685,9 @@ function _testExplicitResourceManagement() {
2613
2685
  using b = { [Symbol.dispose]() { order.push('B') } }
2614
2686
  using c = { [Symbol.dispose]() { order.push('C') } }
2615
2687
  }
2616
- `)(u, Symbol), o(u.join(",") === "C,B,A", "多资源应按 LIFO(后进先出)顺序释放");
2688
+ `)(u, Symbol), i(u.join(",") === "C,B,A", "多资源应按 LIFO(后进先出)顺序释放");
2617
2689
  }), s.n = 1, e("await using —— 异步 dispose", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
2618
- var i, c;
2690
+ var o, c;
2619
2691
  return _regenerator().w(function(f) {
2620
2692
  for (; ; )
2621
2693
  switch (f.n) {
@@ -2624,9 +2696,9 @@ function _testExplicitResourceManagement() {
2624
2696
  f.n = 1;
2625
2697
  break;
2626
2698
  }
2627
- return o(!0, "(跳过)"), f.a(2);
2699
+ return i(!0, "(跳过)"), f.a(2);
2628
2700
  case 1:
2629
- return i = [], c = new Function("log", "Symbol", `
2701
+ return o = [], c = new Function("log", "Symbol", `
2630
2702
  return (async () => {
2631
2703
  {
2632
2704
  await using r = {
@@ -2639,9 +2711,9 @@ function _testExplicitResourceManagement() {
2639
2711
  }
2640
2712
  log.push('after-block')
2641
2713
  })()
2642
- `), f.n = 2, c(i, Symbol);
2714
+ `), f.n = 2, c(o, Symbol);
2643
2715
  case 2:
2644
- o(i[0] === "in-block", "异步块内应正常执行"), o(i[1] === "async-disposed", "await using 应等待异步 dispose 完成"), o(i[2] === "after-block", "dispose 之后才继续执行块后代码");
2716
+ i(o[0] === "in-block", "异步块内应正常执行"), i(o[1] === "async-disposed", "await using 应等待异步 dispose 完成"), i(o[2] === "after-block", "dispose 之后才继续执行块后代码");
2645
2717
  case 3:
2646
2718
  return f.a(2);
2647
2719
  }
@@ -2650,22 +2722,22 @@ function _testExplicitResourceManagement() {
2650
2722
  case 1:
2651
2723
  return e("DisposableStack —— 手动管理资源栈", function() {
2652
2724
  if (typeof DisposableStack > "u") {
2653
- o(!0, "(跳过:环境不支持 DisposableStack)");
2725
+ i(!0, "(跳过:环境不支持 DisposableStack)");
2654
2726
  return;
2655
2727
  }
2656
- var u = [], i = new DisposableStack();
2657
- i.defer(function() {
2728
+ var u = [], o = new DisposableStack();
2729
+ o.defer(function() {
2658
2730
  return u.push("deferred-1");
2659
- }), i.defer(function() {
2731
+ }), o.defer(function() {
2660
2732
  return u.push("deferred-2");
2661
- }), i.dispose(), o(u.join(",") === "deferred-2,deferred-1", "DisposableStack 应按 LIFO 执行");
2733
+ }), o.dispose(), i(u.join(",") === "deferred-2,deferred-1", "DisposableStack 应按 LIFO 执行");
2662
2734
  }), s.a(2, n());
2663
2735
  }
2664
2736
  }, a);
2665
2737
  })), _testExplicitResourceManagement.apply(this, arguments);
2666
2738
  }
2667
2739
  function testAtomicsPause() {
2668
- var a = createSuite("Atomics.pause() (ES2026)"), t = a.test, e = a.assert, o = a.getResults, n = typeof Atomics.pause == "function";
2740
+ var a = createSuite("Atomics.pause() (ES2026)"), t = a.test, e = a.assert, i = a.getResults, n = typeof Atomics.pause == "function";
2669
2741
  return t("环境支持检测", function() {
2670
2742
  e(n, "环境不支持 Atomics.pause");
2671
2743
  }), t("Atomics.pause 函数存在", function() {
@@ -2723,31 +2795,31 @@ function testAtomicsPause() {
2723
2795
  }
2724
2796
  var r = new SharedArrayBuffer(4), s = new Int32Array(r);
2725
2797
  s[0] = 1;
2726
- for (var u = 0, i = 5; Atomics.load(s, 0) !== 0 && u < i; )
2798
+ for (var u = 0, o = 5; Atomics.load(s, 0) !== 0 && u < o; )
2727
2799
  Atomics.pause(u), u++, u === 3 && Atomics.store(s, 0, 0);
2728
2800
  e(Atomics.load(s, 0) === 0, "自旋等待后标志位应变为 0(锁释放)"), e(u === 3, "应在第 3 次迭代时检测到锁释放");
2729
- }), o();
2801
+ }), i();
2730
2802
  }
2731
2803
  function testImportAttributes() {
2732
2804
  return _testImportAttributes.apply(this, arguments);
2733
2805
  }
2734
2806
  function _testImportAttributes() {
2735
2807
  return _testImportAttributes = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function a() {
2736
- var t, e, o, n, r;
2808
+ var t, e, i, n, r;
2737
2809
  return _regenerator().w(function(s) {
2738
2810
  for (; ; )
2739
2811
  switch (s.n) {
2740
2812
  case 0:
2741
- return t = createSuite("Import Attributes (ES2026)"), e = t.test, o = t.assert, n = t.getResults, r = function() {
2813
+ return t = createSuite("Import Attributes (ES2026)"), e = t.test, i = t.assert, n = t.getResults, r = function() {
2742
2814
  try {
2743
2815
  return new Function("import('data:text/javascript,export default 1', { with: { type: 'javascript' } })"), !0;
2744
2816
  } catch {
2745
2817
  return !1;
2746
2818
  }
2747
2819
  }(), e("环境支持检测", function() {
2748
- o(r, "环境不支持 import with 语法");
2820
+ i(r, "环境不支持 import with 语法");
2749
2821
  }), s.n = 1, e("动态 import() 支持 with 选项对象", /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function u() {
2750
- var i, c, f;
2822
+ var o, c, f;
2751
2823
  return _regenerator().w(function(l) {
2752
2824
  for (; ; )
2753
2825
  switch (l.p = l.n) {
@@ -2756,16 +2828,16 @@ function _testImportAttributes() {
2756
2828
  l.n = 1;
2757
2829
  break;
2758
2830
  }
2759
- return o(!0, "(跳过:环境不支持 import with 语法)"), l.a(2);
2831
+ return i(!0, "(跳过:环境不支持 import with 语法)"), l.a(2);
2760
2832
  case 1:
2761
- return i = null, l.p = 2, c = new Function('return import("data:text/javascript,export default \\"hello\\"", { with: { type: "javascript" } })'), l.n = 3, c();
2833
+ return o = null, l.p = 2, c = new Function('return import("data:text/javascript,export default \\"hello\\"", { with: { type: "javascript" } })'), l.n = 3, c();
2762
2834
  case 3:
2763
- f = l.v, i = f.default, l.n = 5;
2835
+ f = l.v, o = f.default, l.n = 5;
2764
2836
  break;
2765
2837
  case 4:
2766
- l.p = 4, l.v, i = "syntax-ok";
2838
+ l.p = 4, l.v, o = "syntax-ok";
2767
2839
  case 5:
2768
- o(i === "hello" || i === "syntax-ok", "import with 语法应被环境支持");
2840
+ i(o === "hello" || o === "syntax-ok", "import with 语法应被环境支持");
2769
2841
  case 6:
2770
2842
  return l.a(2);
2771
2843
  }
@@ -2778,7 +2850,7 @@ function _testImportAttributes() {
2778
2850
  type: "json"
2779
2851
  }
2780
2852
  };
2781
- o(typeof u.with.type == "string", "type 属性应为字符串"), o(u.with.type === "json", "json type 应正确设置");
2853
+ i(typeof u.with.type == "string", "type 属性应为字符串"), i(u.with.type === "json", "json type 应正确设置");
2782
2854
  }), e("import() 的第二个参数结构", function() {
2783
2855
  var u = [{
2784
2856
  with: {
@@ -2793,14 +2865,14 @@ function _testImportAttributes() {
2793
2865
  type: "javascript"
2794
2866
  }
2795
2867
  }];
2796
- u.forEach(function(i) {
2797
- o(i.with !== void 0, "options.with 应存在"), o(typeof i.with.type == "string", "type 应为字符串");
2798
- }), o(!0, "import() 选项结构验证通过");
2868
+ u.forEach(function(o) {
2869
+ i(o.with !== void 0, "options.with 应存在"), i(typeof o.with.type == "string", "type 应为字符串");
2870
+ }), i(!0, "import() 选项结构验证通过");
2799
2871
  }), e("JSON 模块导入属性防止 MIME 混淆(原理说明)", function() {
2800
2872
  var u = !0;
2801
- o(u, 'JSON 模块导入应声明 type: "json" 防止 MIME 混淆攻击');
2873
+ i(u, 'JSON 模块导入应声明 type: "json" 防止 MIME 混淆攻击');
2802
2874
  }), e("import with 仅传递元信息,不影响模块标识符", function() {
2803
- var u = "./data.json", i = {
2875
+ var u = "./data.json", o = {
2804
2876
  with: {
2805
2877
  type: "json"
2806
2878
  }
@@ -2809,7 +2881,7 @@ function _testImportAttributes() {
2809
2881
  type: "json"
2810
2882
  }
2811
2883
  };
2812
- o(u === "./data.json", "模块说明符不应被 with 属性修改"), o(i.with.type === c.with.type, "相同 type 的 options 应等价");
2884
+ i(u === "./data.json", "模块说明符不应被 with 属性修改"), i(o.with.type === c.with.type, "相同 type 的 options 应等价");
2813
2885
  }), s.a(2, n());
2814
2886
  }
2815
2887
  }, a);
@@ -2932,32 +3004,32 @@ function runSuites(a) {
2932
3004
  }
2933
3005
  function _runSuites() {
2934
3006
  return _runSuites = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function a(t) {
2935
- var e, o, n, r, s, u;
2936
- return _regenerator().w(function(i) {
3007
+ var e, i, n, r, s, u;
3008
+ return _regenerator().w(function(o) {
2937
3009
  for (; ; )
2938
- switch (i.p = i.n) {
3010
+ switch (o.p = o.n) {
2939
3011
  case 0:
2940
- e = [], o = _createForOfIteratorHelper(t), i.p = 1, o.s();
3012
+ e = [], i = _createForOfIteratorHelper(t), o.p = 1, i.s();
2941
3013
  case 2:
2942
- if ((n = o.n()).done) {
2943
- i.n = 5;
3014
+ if ((n = i.n()).done) {
3015
+ o.n = 5;
2944
3016
  break;
2945
3017
  }
2946
- return r = n.value, i.n = 3, r.fn();
3018
+ return r = n.value, o.n = 3, r.fn();
2947
3019
  case 3:
2948
- s = i.v, e.push.apply(e, _toConsumableArray(s));
3020
+ s = o.v, e.push.apply(e, _toConsumableArray(s));
2949
3021
  case 4:
2950
- i.n = 2;
3022
+ o.n = 2;
2951
3023
  break;
2952
3024
  case 5:
2953
- i.n = 7;
3025
+ o.n = 7;
2954
3026
  break;
2955
3027
  case 6:
2956
- i.p = 6, u = i.v, o.e(u);
3028
+ o.p = 6, u = o.v, i.e(u);
2957
3029
  case 7:
2958
- return i.p = 7, o.f(), i.f(7);
3030
+ return o.p = 7, i.f(), o.f(7);
2959
3031
  case 8:
2960
- return i.a(2, e);
3032
+ return o.a(2, e);
2961
3033
  }
2962
3034
  }, a, null, [[1, 6, 7, 8]]);
2963
3035
  })), _runSuites.apply(this, arguments);
@@ -3037,7 +3109,7 @@ function runAndPrint() {
3037
3109
  }
3038
3110
  function _runAndPrint() {
3039
3111
  return _runAndPrint = _asyncToGenerator(/* @__PURE__ */ _regenerator().m(function a() {
3040
- var t, e, o, n, r, s;
3112
+ var t, e, i, n, r, s;
3041
3113
  return _regenerator().w(function(u) {
3042
3114
  for (; ; )
3043
3115
  switch (u.n) {
@@ -3048,7 +3120,7 @@ function _runAndPrint() {
3048
3120
  u.n = 4;
3049
3121
  break;
3050
3122
  }
3051
- return o = _slicedToArray(e[t], 2), n = o[0], r = o[1], console.log(`
3123
+ return i = _slicedToArray(e[t], 2), n = i[0], r = i[1], console.log(`
3052
3124
  === `.concat(n, ` 特性测试 ===
3053
3125
  `)), s = printResults, u.n = 2, r();
3054
3126
  case 2: