typeson-registry 13.0.1 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +6 -8
  2. package/dist/index.d.ts +4 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +65 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +2 -2
  7. package/dist/index.min.js.map +1 -1
  8. package/dist/index.umd.cjs +220 -124
  9. package/dist/index.umd.cjs.map +1 -1
  10. package/dist/index.umd.min.cjs +2 -2
  11. package/dist/index.umd.min.cjs.map +1 -1
  12. package/dist/polyfills/createObjectURL.d.ts.map +1 -1
  13. package/dist/presets/builtin.umd.cjs +1 -1
  14. package/dist/presets/builtin.umd.cjs.map +1 -1
  15. package/dist/presets/postmessage.umd.cjs +1 -1
  16. package/dist/presets/postmessage.umd.cjs.map +1 -1
  17. package/dist/presets/socketio.umd.cjs +1 -1
  18. package/dist/presets/socketio.umd.cjs.map +1 -1
  19. package/dist/presets/structured-cloning-throwing.umd.cjs +1 -1
  20. package/dist/presets/structured-cloning-throwing.umd.cjs.map +1 -1
  21. package/dist/presets/structured-cloning.d.ts.map +1 -1
  22. package/dist/presets/structured-cloning.umd.cjs +1 -1
  23. package/dist/presets/structured-cloning.umd.cjs.map +1 -1
  24. package/dist/presets/undef.umd.cjs +1 -1
  25. package/dist/presets/undef.umd.cjs.map +1 -1
  26. package/dist/presets/universal.umd.cjs +1 -1
  27. package/dist/presets/universal.umd.cjs.map +1 -1
  28. package/dist/types/arraybuffer.umd.cjs +1 -1
  29. package/dist/types/arraybuffer.umd.cjs.map +1 -1
  30. package/dist/types/audiodata.d.ts +6 -0
  31. package/dist/types/audiodata.d.ts.map +1 -0
  32. package/dist/types/audiodata.umd.cjs +2 -0
  33. package/dist/types/audiodata.umd.cjs.map +1 -0
  34. package/dist/types/bigint-object.umd.cjs +1 -1
  35. package/dist/types/bigint-object.umd.cjs.map +1 -1
  36. package/dist/types/blob.umd.cjs +1 -1
  37. package/dist/types/blob.umd.cjs.map +1 -1
  38. package/dist/types/cryptokey.umd.cjs +1 -1
  39. package/dist/types/cryptokey.umd.cjs.map +1 -1
  40. package/dist/types/dataview.umd.cjs +1 -1
  41. package/dist/types/dataview.umd.cjs.map +1 -1
  42. package/dist/types/date.umd.cjs +1 -1
  43. package/dist/types/date.umd.cjs.map +1 -1
  44. package/dist/types/domexception.umd.cjs +1 -1
  45. package/dist/types/domexception.umd.cjs.map +1 -1
  46. package/dist/types/dommatrix.umd.cjs +1 -1
  47. package/dist/types/dommatrix.umd.cjs.map +1 -1
  48. package/dist/types/dompoint.umd.cjs +1 -1
  49. package/dist/types/dompoint.umd.cjs.map +1 -1
  50. package/dist/types/domquad.umd.cjs +1 -1
  51. package/dist/types/domquad.umd.cjs.map +1 -1
  52. package/dist/types/domrect.umd.cjs +1 -1
  53. package/dist/types/domrect.umd.cjs.map +1 -1
  54. package/dist/types/error.umd.cjs +1 -1
  55. package/dist/types/error.umd.cjs.map +1 -1
  56. package/dist/types/errors.umd.cjs +1 -1
  57. package/dist/types/errors.umd.cjs.map +1 -1
  58. package/dist/types/file.umd.cjs +1 -1
  59. package/dist/types/file.umd.cjs.map +1 -1
  60. package/dist/types/filelist.umd.cjs +1 -1
  61. package/dist/types/filelist.umd.cjs.map +1 -1
  62. package/dist/types/imagebitmap.umd.cjs +1 -1
  63. package/dist/types/imagebitmap.umd.cjs.map +1 -1
  64. package/dist/types/imagedata.umd.cjs +1 -1
  65. package/dist/types/imagedata.umd.cjs.map +1 -1
  66. package/dist/types/intl-types.umd.cjs +1 -1
  67. package/dist/types/intl-types.umd.cjs.map +1 -1
  68. package/dist/types/map.umd.cjs +1 -1
  69. package/dist/types/map.umd.cjs.map +1 -1
  70. package/dist/types/nonbuiltin-ignore.umd.cjs +1 -1
  71. package/dist/types/nonbuiltin-ignore.umd.cjs.map +1 -1
  72. package/dist/types/primitive-objects.umd.cjs +1 -1
  73. package/dist/types/primitive-objects.umd.cjs.map +1 -1
  74. package/dist/types/promise.umd.cjs +1 -1
  75. package/dist/types/promise.umd.cjs.map +1 -1
  76. package/dist/types/regexp.umd.cjs +1 -1
  77. package/dist/types/regexp.umd.cjs.map +1 -1
  78. package/dist/types/set.umd.cjs +1 -1
  79. package/dist/types/set.umd.cjs.map +1 -1
  80. package/dist/types/typed-arrays-socketio.umd.cjs +1 -1
  81. package/dist/types/typed-arrays-socketio.umd.cjs.map +1 -1
  82. package/dist/types/typed-arrays.umd.cjs +1 -1
  83. package/dist/types/typed-arrays.umd.cjs.map +1 -1
  84. package/dist/types/undef.umd.cjs +1 -1
  85. package/dist/types/undef.umd.cjs.map +1 -1
  86. package/dist/types/user-object.umd.cjs +1 -1
  87. package/dist/types/user-object.umd.cjs.map +1 -1
  88. package/package.json +11 -12
  89. package/polyfills/createObjectURL.cjs +3231 -0
  90. package/polyfills/createObjectURL.cjs.map +1 -0
  91. package/polyfills/createObjectURL.js +4 -4
  92. package/polyfills/createObjectURL.umd.cjs +0 -4
  93. package/polyfills/createObjectURL.umd.cjs.map +0 -1
@@ -282,7 +282,7 @@
282
282
  }).then(n, r);
283
283
  });
284
284
  }, TypesonPromise.prototype["catch"] = function (e) {
285
- return this.then(function () {}, e);
285
+ return this.then(void 0, e);
286
286
  }, TypesonPromise.resolve = function (e) {
287
287
  return new TypesonPromise(function (t) {
288
288
  t(e);
@@ -343,26 +343,31 @@
343
343
  function unescapeKeyPathComponent(e) {
344
344
  return e.replaceAll("~1", ".").replaceAll("~0", "~").replace(/^''$/, "").replaceAll("''''", "''");
345
345
  }
346
- function getByKeyPath(e, t) {
347
- if ("" === t) return e;
348
- if (null === e || "object" != _typeof(e)) throw new TypeError("Unexpected non-object type");
349
- var n = t.indexOf(".");
350
- if (-1 !== n) {
351
- var _r = e[unescapeKeyPathComponent(t.slice(0, n))];
352
- return void 0 === _r ? void 0 : getByKeyPath(_r, t.slice(n + 1));
346
+ function getByKeyPath(t, n, r) {
347
+ if ("" === n) return t;
348
+ if (null === t || "object" != _typeof(t)) throw new TypeError("Unexpected non-object type");
349
+ var s = n.indexOf("."),
350
+ o = unescapeKeyPathComponent(-1 === s ? n : n.slice(0, s));
351
+ if (!r || e(t, o)) {
352
+ if (-1 !== s) {
353
+ var _e = t[o];
354
+ return void 0 === _e ? void 0 : getByKeyPath(_e, n.slice(s + 1), r);
355
+ }
356
+ return t[o];
353
357
  }
354
- return e[unescapeKeyPathComponent(t)];
355
358
  }
356
- function setAtKeyPath(e, t, n) {
357
- if ("" === t) return n;
358
- var r = e,
359
- s = t;
359
+ function setAtKeyPath(t, n, r, s) {
360
+ if ("" === n) return r;
361
+ var o = t,
362
+ i = n;
360
363
  for (;;) {
361
- if (!r || "object" != _typeof(r)) throw new TypeError("Unexpected non-object type");
362
- if ("__proto__" === s) throw new TypeError("Invalid property");
363
- var _t = s.indexOf(".");
364
- if (-1 === _t) return r[unescapeKeyPathComponent(s)] = n, e;
365
- r = r[unescapeKeyPathComponent(s.slice(0, _t))], s = s.slice(_t + 1);
364
+ if (!o || "object" != _typeof(o)) throw new TypeError("Unexpected non-object type");
365
+ var _n = i.indexOf("."),
366
+ c = unescapeKeyPathComponent(-1 === _n ? i : i.slice(0, _n));
367
+ if ("__proto__" === c) throw new TypeError("Invalid property");
368
+ if (-1 === _n) return o[c] = r, t;
369
+ if (s && !e(o, c)) throw new TypeError("Invalid property");
370
+ o = o[c], i = i.slice(_n + 1);
366
371
  }
367
372
  }
368
373
  function getJSONType(e) {
@@ -372,11 +377,19 @@
372
377
  * @file Typeson - JSON with types.
373
378
  * @license The MIT License (MIT)
374
379
  * @copyright (c) 2016-2018 David Fahlander, Brett Zamir
375
- */
380
+ */
376
381
  var n = Object.keys,
377
382
  r = Object.hasOwn,
378
383
  s = Array.isArray,
379
384
  o = ["type", "replaced", "iterateIn", "iterateUnsetNumeric", "addLength"];
385
+ function setOwnEnumerable(e, t, n) {
386
+ Object.defineProperty(e, t, {
387
+ configurable: true,
388
+ enumerable: true,
389
+ value: n,
390
+ writable: true
391
+ });
392
+ }
380
393
  function nestedPathsFirst(e, t) {
381
394
  var _e$keypath$match, _t$keypath$match;
382
395
  if ("" === e.keypath) return -1;
@@ -447,13 +460,17 @@
447
460
  key: "specialTypeNames",
448
461
  value: function specialTypeNames(e, t) {
449
462
  var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
450
- return n.returnTypeNames = true, this.encapsulate(e, t, n);
463
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({}, n), {}, {
464
+ returnTypeNames: true
465
+ }));
451
466
  }
452
467
  }, {
453
468
  key: "rootTypeName",
454
469
  value: function rootTypeName(e, t) {
455
470
  var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
456
- return n.iterateNone = true, this.encapsulate(e, t, n);
471
+ return this.encapsulate(e, t, _objectSpread2(_objectSpread2({}, n), {}, {
472
+ iterateNone: true
473
+ }));
457
474
  }
458
475
  }, {
459
476
  key: "encapsulate",
@@ -502,7 +519,7 @@
502
519
  _context2.n = 2;
503
520
  return Promise.all(n.map(/*#__PURE__*/function () {
504
521
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(n) {
505
- var r, _t$splice, _t$splice2, s, _s, o, i, c, a, p, y, u, l, _t2;
522
+ var r, _t$splice, _t$splice2, s, _s, o, i, c, a, p, y, u, l, _t, _t2, _t3;
506
523
  return _regenerator().w(function (_context) {
507
524
  while (1) switch (_context.n) {
508
525
  case 0:
@@ -511,13 +528,16 @@
511
528
  _context.n = 2;
512
529
  break;
513
530
  }
531
+ _t = setOwnEnumerable;
532
+ _t2 = a;
533
+ _t3 = p;
514
534
  _context.n = 1;
515
535
  return u.p;
516
536
  case 1:
517
- _t2 = _context.v;
518
- return _context.a(2, (a[p] = _t2, _checkPromises(e, r)));
537
+ _t(_t2, _t3, _context.v);
538
+ return _context.a(2, _checkPromises(e, r));
519
539
  case 2:
520
- return _context.a(2, (o ? a[p] = u : e = l ? u.p : u, _checkPromises(e, r)));
540
+ return _context.a(2, (o ? setOwnEnumerable(a, p, u) : e = l ? u.p : u, _checkPromises(e, r)));
521
541
  }
522
542
  }, _callee);
523
543
  }));
@@ -546,9 +566,9 @@
546
566
  });
547
567
  },
548
568
  _encapsulate2 = function _encapsulate(e, t, o, i, a, l, h) {
549
- var v,
569
+ var b,
550
570
  O = {};
551
- var b = f ? function (n) {
571
+ var v = f ? function (n) {
552
572
  var _ref2;
553
573
  var r = (_ref2 = h !== null && h !== void 0 ? h : i.type) !== null && _ref2 !== void 0 ? _ref2 : getJSONType(t);
554
574
  f(Object.assign(n !== null && n !== void 0 ? n : O, {
@@ -571,14 +591,14 @@
571
591
  } catch (r) {
572
592
  var _ref3;
573
593
  if (!d) throw r;
574
- var s = (_ref3 = h !== null && h !== void 0 ? h : i.type) !== null && _ref3 !== void 0 ? _ref3 : getJSONType(t),
594
+ var _s2 = (_ref3 = h !== null && h !== void 0 ? h : i.type) !== null && _ref3 !== void 0 ? _ref3 : getJSONType(t),
575
595
  _o = d({
576
596
  keypath: e,
577
597
  error: r,
578
598
  parent: t,
579
599
  key: n,
580
600
  stateObj: i,
581
- type: s
601
+ type: _s2
582
602
  });
583
603
  if (!_o) throw r;
584
604
  if ("substitute" in _o) return {
@@ -589,45 +609,45 @@
589
609
  throw r;
590
610
  }
591
611
  };
592
- if (["string", "boolean", "number", "undefined"].includes(_typeof(t))) return void 0 === t || t === 1 / 0 || 0 === t || t === -1 / 0 || Number.isNaN(t) ? (v = i.replaced ? t : replace(e, t, i, a, false, l, b), v !== t && (O = {
593
- replaced: v
594
- })) : v = t, b && b(), v;
595
- if (null === t) return b && b(), t;
612
+ if (["string", "boolean", "number", "undefined"].includes(_typeof(t))) return void 0 === t || t === 1 / 0 || 0 === t || t === -1 / 0 || Number.isNaN(t) ? (b = i.replaced ? t : replace(e, t, i, a, false, l, v), b !== t && (O = {
613
+ replaced: b
614
+ })) : b = t, v && v(), b;
615
+ if (null === t) return v && v(), t;
596
616
  if (o && t && "object" == _typeof(t) && !i.iterateIn && !i.iterateUnsetNumeric) {
597
- var _n = y.indexOf(t);
598
- if (-1 !== _n) return p[e] = "#", b && b({
599
- cyclicKeypath: u[_n]
600
- }), "#" + u[_n];
617
+ var _n2 = y.indexOf(t);
618
+ if (-1 !== _n2) return p[e] = "#", v && v({
619
+ cyclicKeypath: u[_n2]
620
+ }), "#" + u[_n2];
601
621
  true === o && (y.push(t), u.push(e));
602
622
  }
603
623
  var m = isPlainObject(t),
604
- P = s(t),
605
- T = (m || P) && (!_this2.plainObjectReplacers.length || i.replaced) || i.iterateIn ? t : replace(e, t, i, a, m || P, null, b);
606
- var g;
607
- if (T !== t ? (v = T, O = {
608
- replaced: T
609
- }) : "" === e && hasConstructorOf(t, TypesonPromise) ? (a.push([e, t, o, i, void 0, void 0, i.type]), v = t) : P && "object" !== i.iterateIn || "array" === i.iterateIn ? (g = new Array(t.length), O = {
610
- clone: g
611
- }) : !m && ("object" != _typeof(t) || "toJSON" in t || hasConstructorOf(t, TypesonPromise) || hasConstructorOf(t, Promise) || hasConstructorOf(t, ArrayBuffer)) && "object" !== i.iterateIn ? v = t : (g = {}, i.addLength && (g.length = t.length), O = {
612
- clone: g
613
- }), b && b(), c.iterateNone) return g !== null && g !== void 0 ? g : v;
614
- if (!g) return v;
624
+ T = s(t),
625
+ P = (m || T) && (!_this2.plainObjectReplacers.length || i.replaced) || i.iterateIn ? t : replace(e, t, i, a, m || T, null, v);
626
+ var w;
627
+ if (P !== t ? (b = P, O = {
628
+ replaced: P
629
+ }) : "" === e && hasConstructorOf(t, TypesonPromise) ? (a.push([e, t, o, i, void 0, void 0, i.type]), b = t) : T && "object" !== i.iterateIn || "array" === i.iterateIn ? (w = new Array(t.length), O = {
630
+ clone: w
631
+ }) : !m && ("object" != _typeof(t) || "toJSON" in t || hasConstructorOf(t, TypesonPromise) || hasConstructorOf(t, Promise) || hasConstructorOf(t, ArrayBuffer)) && "object" !== i.iterateIn ? b = t : (w = {}, i.addLength && (w.length = t.length), O = {
632
+ clone: w
633
+ }), v && v(), c.iterateNone) return w !== null && w !== void 0 ? w : b;
634
+ if (!w) return b;
615
635
  if (i.iterateIn) {
616
- var _loop = function _loop(_n2) {
636
+ var _loop = function _loop(_n3) {
617
637
  var s = {
618
- ownKeys: r(t, _n2)
638
+ ownKeys: r(t, _n3)
619
639
  };
620
640
  _adaptBuiltinStateObjectProperties(i, s, function () {
621
- var r = e + (e ? "." : "") + escapeKeyPathComponent(_n2),
622
- s = getEncapsulatedValue(r, t, _n2),
641
+ var r = e + (e ? "." : "") + escapeKeyPathComponent(_n3),
642
+ s = getEncapsulatedValue(r, t, _n3),
623
643
  c = s && s.value;
624
- hasConstructorOf(c, TypesonPromise) ? a.push([r, c, Boolean(o), i, g, _n2, i.type]) : s && (void 0 !== c || "substitute" in s) && (g[_n2] = c);
644
+ hasConstructorOf(c, TypesonPromise) ? a.push([r, c, Boolean(o), i, w, _n3, i.type]) : s && (void 0 !== c || "substitute" in s) && setOwnEnumerable(w, _n3, c);
625
645
  });
626
646
  };
627
- for (var _n2 in t) {
628
- _loop(_n2);
647
+ for (var _n3 in t) {
648
+ _loop(_n3);
629
649
  }
630
- b && b({
650
+ v && v({
631
651
  endIterateIn: true,
632
652
  end: true
633
653
  });
@@ -638,69 +658,69 @@
638
658
  }, function () {
639
659
  var e = getEncapsulatedValue(r, t, n),
640
660
  s = e && e.value;
641
- hasConstructorOf(s, TypesonPromise) ? a.push([r, s, Boolean(o), i, g, n, i.type]) : e && (void 0 !== s || "substitute" in e) && (g[n] = s);
661
+ hasConstructorOf(s, TypesonPromise) ? a.push([r, s, Boolean(o), i, w, n, i.type]) : e && (void 0 !== s || "substitute" in e) && setOwnEnumerable(w, n, s);
642
662
  });
643
- }), b && b({
663
+ }), v && v({
644
664
  endIterateOwn: true,
645
665
  end: true
646
666
  });
647
667
  if (i.iterateUnsetNumeric) {
648
- var _n3 = t.length;
649
- var _loop2 = function _loop2(_r2) {
650
- if (_r2 in t) return 1; // continue
651
- var n = "".concat(e).concat(e ? "." : "").concat(String(_r2));
668
+ var _n4 = t.length;
669
+ var _loop2 = function _loop2(_r) {
670
+ if (_r in t) return 1; // continue
671
+ var n = "".concat(e).concat(e ? "." : "").concat(String(_r));
652
672
  _adaptBuiltinStateObjectProperties(i, {
653
673
  ownKeys: false
654
674
  }, function () {
655
675
  var e = _encapsulate2(n, void 0, Boolean(o), i, a, l);
656
- hasConstructorOf(e, TypesonPromise) ? a.push([n, e, Boolean(o), i, g, _r2, i.type]) : void 0 !== e && (g[_r2] = e);
676
+ hasConstructorOf(e, TypesonPromise) ? a.push([n, e, Boolean(o), i, w, _r, i.type]) : void 0 !== e && setOwnEnumerable(w, _r, e);
657
677
  });
658
678
  };
659
- for (var _r2 = 0; _r2 < _n3; _r2++) {
660
- if (_loop2(_r2)) continue;
679
+ for (var _r = 0; _r < _n4; _r++) {
680
+ if (_loop2(_r)) continue;
661
681
  }
662
- b && b({
682
+ v && v({
663
683
  endIterateUnsetNumeric: true,
664
684
  end: true
665
685
  });
666
686
  }
667
- return g;
687
+ return w;
668
688
  },
669
689
  replace = function replace(e, t, n, r, s, o, i) {
670
690
  var c = s ? _this2.plainObjectReplacers : _this2.nonplainObjectReplacers;
671
691
  var y = c.length;
672
692
  for (; y--;) {
673
- var _s2 = c[y];
674
- if (_s2.test(t, n)) {
675
- var _c = _s2.type;
693
+ var _s3 = c[y];
694
+ if (_s3.test(t, n)) {
695
+ var _c = _s3.type;
676
696
  if (Object.hasOwn(_this2.revivers, _c)) {
677
- var _t3 = p[e];
678
- p[e] = _t3 ? [_c].concat(_t3) : _c;
697
+ var _t4 = p[e];
698
+ p[e] = _t4 ? [_c].concat(_t4) : _c;
679
699
  }
680
700
  if (Object.assign(n, {
681
701
  type: _c,
682
702
  replaced: true
683
- }), (a || !_s2.replaceAsync) && !_s2.replace) return i && i({
703
+ }), (a || !_s3.replaceAsync) && !_s3.replace) return i && i({
684
704
  typeDetected: true
685
705
  }), _encapsulate2(e, t, h && "readonly", n, r, o, _c);
686
706
  var _y = void 0;
687
707
  if (i && i({
688
708
  replacing: true
689
- }), a || !_s2.replaceAsync) {
690
- if (void 0 === _s2.replace) throw new TypeError("Missing replacer");
691
- _y = _s2.replace(t, n);
692
- } else _y = _s2.replaceAsync(t, n);
709
+ }), a || !_s3.replaceAsync) {
710
+ if (void 0 === _s3.replace) throw new TypeError("Missing replacer");
711
+ _y = _s3.replace(t, n);
712
+ } else _y = _s3.replaceAsync(t, n);
693
713
  return _encapsulate2(e, _y, h && "readonly", n, r, o, _c);
694
714
  }
695
715
  }
696
716
  return t;
697
717
  },
698
- v = _encapsulate2("", e, h, t !== null && t !== void 0 ? t : {}, l);
718
+ b = _encapsulate2("", e, h, t !== null && t !== void 0 ? t : {}, l);
699
719
  if (l.length) return a && c.throwOnBadSyncType ? function () {
700
720
  throw new TypeError("Sync method requested but async result obtained");
701
- }() : Promise.resolve(_checkPromises(v, l)).then(finish);
721
+ }() : Promise.resolve(_checkPromises(b, l)).then(finish);
702
722
  if (!a && c.throwOnBadSyncType) throw new TypeError("Async method requested but sync result obtained");
703
- return a && c.stringification ? [finish(v)] : a ? finish(v) : Promise.resolve(finish(v));
723
+ return a && c.stringification ? [finish(b)] : a ? finish(b) : Promise.resolve(finish(b));
704
724
  }
705
725
  }, {
706
726
  key: "encapsulateSync",
@@ -783,12 +803,12 @@
783
803
  type: r
784
804
  });
785
805
  });
786
- var s = getByKeyPath(e, n);
806
+ var s = getByKeyPath(e, n, true);
787
807
  if (s = executeReviver(r, s), hasConstructorOf(s, TypesonPromise)) return s.then(function (t) {
788
- var r = setAtKeyPath(e, n, t);
808
+ var r = setAtKeyPath(e, n, t, true);
789
809
  r === t && (e = r);
790
810
  });
791
- var o = setAtKeyPath(e, n, s);
811
+ var o = setAtKeyPath(e, n, s, true);
792
812
  o === s && (e = o);
793
813
  }, void 0);
794
814
  }();
@@ -798,36 +818,36 @@
798
818
  }) : (f = function _revive(e, t, o, y, h) {
799
819
  if (u && "$types" === e) return;
800
820
  var f = l.length,
801
- d = c[e],
802
- v = s(t);
803
- if (v || isPlainObject(t)) {
804
- var _s3 = v ? new Array(t.length) : {};
821
+ d = r(c, e) ? c[e] : void 0,
822
+ b = s(t);
823
+ if (b || isPlainObject(t)) {
824
+ var _s4 = b ? new Array(t.length) : {};
805
825
  for (n(t).forEach(function (n) {
806
- var r = _revive(e + (e ? "." : "") + escapeKeyPathComponent(n), t[n], o !== null && o !== void 0 ? o : _s3, _s3, n),
826
+ var r = _revive(e + (e ? "." : "") + escapeKeyPathComponent(n), t[n], o !== null && o !== void 0 ? o : _s4, _s4, n),
807
827
  set = function set(e) {
808
- return hasConstructorOf(e, Undefined) ? _s3[n] = void 0 : void 0 !== e && (_s3[n] = e), e;
828
+ return hasConstructorOf(e, Undefined) ? setOwnEnumerable(_s4, n, void 0) : void 0 !== e && setOwnEnumerable(_s4, n, e), e;
809
829
  };
810
830
  hasConstructorOf(r, TypesonPromise) ? l.push(r.then(function (e) {
811
831
  return set(e);
812
832
  })) : set(r);
813
- }), t = _s3; a.length;) {
833
+ }), t = _s4; a.length;) {
814
834
  var _a$ = _slicedToArray(a[0], 4),
815
- _e = _a$[0],
816
- _t4 = _a$[1],
817
- _n4 = _a$[2],
818
- _s4 = _a$[3],
819
- _o2 = r(p, _t4),
820
- _i = _o2 ? p[_t4] : getByKeyPath(_e, _t4);
835
+ _e2 = _a$[0],
836
+ _t5 = _a$[1],
837
+ _n5 = _a$[2],
838
+ _s5 = _a$[3],
839
+ _o2 = r(p, _t5),
840
+ _i = _o2 ? p[_t5] : getByKeyPath(_e2, _t5, true);
821
841
  if (!_o2 && void 0 === _i) break;
822
- _n4[_s4] = _i, a.shift();
842
+ setOwnEnumerable(_n5, _s5, _i), a.shift();
823
843
  }
824
844
  }
825
845
  if (!d) return p[e] = t, t;
826
846
  if ("#" === d) {
827
- var _e2 = t.slice(1),
828
- _n5 = r(p, _e2),
829
- _s5 = _n5 ? p[_e2] : getByKeyPath(o, _e2);
830
- return _n5 || void 0 !== _s5 || a.push([o, _e2, y, h]), _s5;
847
+ var _e3 = t.slice(1),
848
+ _n6 = r(p, _e3),
849
+ _s6 = _n6 ? p[_e3] : getByKeyPath(o, _e3, true);
850
+ return _n6 || void 0 !== _s6 || a.push([o, _e3, y, h]), _s6;
831
851
  }
832
852
  var applyType = function applyType(t) {
833
853
  var n = [].concat(d).reduce(function reducer(e, t) {
@@ -883,49 +903,50 @@
883
903
  s(e) ? e.forEach(function (e) {
884
904
  _reg(e);
885
905
  }) : n(e).forEach(function (t) {
886
- var _n8;
906
+ var _n9;
887
907
  if ("#" === t) throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");
888
908
  if (i$1.includes(t)) throw new TypeError("Plain JSON object types are reserved as type names");
889
909
  var n = e[t];
890
- var o = n && "function" != typeof n && !Array.isArray(n) && n.testPlainObjects ? _this4.plainObjectReplacers : _this4.nonplainObjectReplacers,
891
- c = o.filter(function (e) {
910
+ if ([_this4.plainObjectReplacers, _this4.nonplainObjectReplacers].forEach(function (e) {
911
+ var n = e.findIndex(function (e) {
892
912
  return e.type === t;
893
913
  });
894
- if (c.length && (o.splice(o.indexOf(c[0]), 1), delete _this4.revivers[t], delete _this4.types[t]), "function" == typeof n) {
895
- var _e3 = n;
914
+ -1 !== n && e.splice(n, 1);
915
+ }), delete _this4.revivers[t], delete _this4.types[t], "function" == typeof n) {
916
+ var _e4 = n;
896
917
  n = {
897
918
  test: function test(t) {
898
- return t && t.constructor === _e3;
919
+ return t && t.constructor === _e4;
899
920
  },
900
921
  replace: function replace(e) {
901
922
  return _objectSpread2({}, e);
902
923
  },
903
924
  revive: function revive(t) {
904
- return Object.assign(Object.create(_e3.prototype), t);
925
+ return Object.assign(Object.create(_e4.prototype), t);
905
926
  }
906
927
  };
907
928
  } else if (s(n)) {
908
- var _n6 = n,
909
- _n7 = _slicedToArray(_n6, 3),
910
- _e4 = _n7[0],
911
- _t5 = _n7[1],
912
- _r3 = _n7[2];
929
+ var _n7 = n,
930
+ _n8 = _slicedToArray(_n7, 3),
931
+ _e5 = _n8[0],
932
+ _t6 = _n8[1],
933
+ _r2 = _n8[2];
913
934
  n = {
914
- test: _e4,
915
- replace: _t5,
916
- revive: _r3
935
+ test: _e5,
936
+ replace: _t6,
937
+ revive: _r2
917
938
  };
918
939
  }
919
- if (!((_n8 = n) !== null && _n8 !== void 0 && _n8.test)) return;
920
- var a = {
940
+ if (!((_n9 = n) !== null && _n9 !== void 0 && _n9.test)) return;
941
+ var o = {
921
942
  type: t,
922
943
  test: n.test.bind(n)
923
944
  };
924
- n.replace && (a.replace = n.replace.bind(n)), n.replaceAsync && (a.replaceAsync = n.replaceAsync.bind(n));
925
- var p = "number" == typeof r.fallback ? r.fallback : r.fallback ? 0 : 1 / 0;
926
- if (n.testPlainObjects ? _this4.plainObjectReplacers.splice(p, 0, a) : _this4.nonplainObjectReplacers.splice(p, 0, a), n.revive || n.reviveAsync) {
927
- var _e5 = {};
928
- n.revive && (_e5.revive = n.revive.bind(n)), n.reviveAsync && (_e5.reviveAsync = n.reviveAsync.bind(n)), _this4.revivers[t] = [_e5, {
945
+ n.replace && (o.replace = n.replace.bind(n)), n.replaceAsync && (o.replaceAsync = n.replaceAsync.bind(n));
946
+ var c = "number" == typeof r.fallback ? r.fallback : r.fallback ? 0 : 1 / 0;
947
+ if (n.testPlainObjects ? _this4.plainObjectReplacers.splice(c, 0, o) : _this4.nonplainObjectReplacers.splice(c, 0, o), n.revive || n.reviveAsync) {
948
+ var _e6 = {};
949
+ n.revive && (_e6.revive = n.revive.bind(n)), n.reviveAsync && (_e6.reviveAsync = n.reviveAsync.bind(n)), _this4.revivers[t] = [_e6, {
929
950
  plain: n.testPlainObjects
930
951
  }];
931
952
  }
@@ -1089,6 +1110,79 @@
1089
1110
 
1090
1111
  // See also typed-arrays!
1091
1112
 
1113
+ /* globals AudioData -- Polyfills */
1114
+
1115
+ /**
1116
+ * @type {import('typeson').TypeSpecSet}
1117
+ */
1118
+ var audiodata = {
1119
+ audiodata: {
1120
+ test: function test(x) {
1121
+ return toStringTag(x) === 'AudioData';
1122
+ },
1123
+ replace: function replace(audioData) {
1124
+ var format = audioData.format,
1125
+ sampleRate = audioData.sampleRate,
1126
+ numberOfFrames = audioData.numberOfFrames,
1127
+ numberOfChannels = audioData.numberOfChannels,
1128
+ timestamp = audioData.timestamp;
1129
+
1130
+ // 2. Determine plane layout based on audio format
1131
+ var isPlanar = format.endsWith('-planar');
1132
+ var numPlanes = isPlanar ? numberOfChannels : 1;
1133
+
1134
+ // 3. Per the AudioData API, planes are laid out back-to-back
1135
+ // within a single buffer, so compute their sizes up front
1136
+ var planeSizes = [];
1137
+ var totalSize = 0;
1138
+ for (var i = 0; i < numPlanes; i++) {
1139
+ var size = audioData.allocationSize({
1140
+ planeIndex: i
1141
+ });
1142
+ planeSizes.push(size);
1143
+ totalSize += size;
1144
+ }
1145
+
1146
+ // 4. Copy the raw binary data out of each plane into its slot
1147
+ var data = new ArrayBuffer(totalSize);
1148
+ var offset = 0;
1149
+ for (var _i = 0; _i < numPlanes; _i++) {
1150
+ var planeView = new Uint8Array(data, offset, planeSizes[_i]);
1151
+ audioData.copyTo(planeView, {
1152
+ planeIndex: _i
1153
+ });
1154
+ offset += planeSizes[_i];
1155
+ }
1156
+
1157
+ // 5. Return a clean, serializable manifest
1158
+ return {
1159
+ format: format,
1160
+ sampleRate: sampleRate,
1161
+ numberOfFrames: numberOfFrames,
1162
+ numberOfChannels: numberOfChannels,
1163
+ timestamp: timestamp,
1164
+ data: data
1165
+ };
1166
+ },
1167
+ revive: function revive(_ref) {
1168
+ var format = _ref.format,
1169
+ sampleRate = _ref.sampleRate,
1170
+ numberOfFrames = _ref.numberOfFrames,
1171
+ numberOfChannels = _ref.numberOfChannels,
1172
+ timestamp = _ref.timestamp,
1173
+ data = _ref.data;
1174
+ return new AudioData({
1175
+ format: format,
1176
+ sampleRate: sampleRate,
1177
+ numberOfFrames: numberOfFrames,
1178
+ numberOfChannels: numberOfChannels,
1179
+ timestamp: timestamp,
1180
+ data: new Uint8Array(data)
1181
+ });
1182
+ }
1183
+ }
1184
+ };
1185
+
1092
1186
  /**
1093
1187
  * @type {import('typeson').TypeSpecSet}
1094
1188
  */
@@ -2771,7 +2865,8 @@
2771
2865
  typeof DOMRect !== 'undefined' ? domrect : [], /* c8 ignore next */
2772
2866
  typeof DOMPoint !== 'undefined' ? dompoint : [], /* c8 ignore next */
2773
2867
  typeof DOMQuad !== 'undefined' ? domquad : [], /* c8 ignore next */
2774
- typeof DOMMatrix !== 'undefined' ? dommatrix : []);
2868
+ typeof DOMMatrix !== 'undefined' ? dommatrix : [], /* c8 ignore next */
2869
+ typeof AudioData !== 'undefined' ? audiodata : []);
2775
2870
 
2776
2871
  /**
2777
2872
  * @type {import('typeson').Preset}
@@ -2858,6 +2953,7 @@
2858
2953
  exports.Undefined = Undefined;
2859
2954
  exports.arrayNonindexKeys = arrayNonindexKeys;
2860
2955
  exports.arraybuffer = arraybuffer;
2956
+ exports.audiodata = audiodata;
2861
2957
  exports.bigint = bigint;
2862
2958
  exports.bigintObject = bigintObject;
2863
2959
  exports.blob = blob;