typeson-registry 7.2.1 → 9.0.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 (189) hide show
  1. package/README.md +7 -2
  2. package/dist/index.d.ts +4 -1
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +102 -37
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +1 -1
  7. package/dist/index.min.js.map +1 -1
  8. package/dist/{index.umd.js → index.umd.cjs} +443 -356
  9. package/dist/index.umd.cjs.map +1 -0
  10. package/dist/index.umd.min.cjs +2 -0
  11. package/dist/index.umd.min.cjs.map +1 -0
  12. package/dist/presets/{array-nonindex-keys.umd.js → array-nonindex-keys.umd.cjs} +2 -2
  13. package/dist/presets/array-nonindex-keys.umd.cjs.map +1 -0
  14. package/dist/presets/builtin.umd.cjs +2 -0
  15. package/dist/presets/builtin.umd.cjs.map +1 -0
  16. package/dist/presets/postmessage.umd.cjs +2 -0
  17. package/dist/presets/postmessage.umd.cjs.map +1 -0
  18. package/dist/presets/socketio.umd.cjs +2 -0
  19. package/dist/presets/socketio.umd.cjs.map +1 -0
  20. package/dist/presets/{sparse-undefined.umd.js → sparse-undefined.umd.cjs} +2 -2
  21. package/dist/presets/sparse-undefined.umd.cjs.map +1 -0
  22. package/dist/presets/special-numbers.umd.cjs +2 -0
  23. package/dist/presets/special-numbers.umd.cjs.map +1 -0
  24. package/dist/presets/structured-cloning-throwing.d.ts.map +1 -1
  25. package/dist/presets/structured-cloning-throwing.umd.cjs +2 -0
  26. package/dist/presets/structured-cloning-throwing.umd.cjs.map +1 -0
  27. package/dist/presets/structured-cloning.d.ts.map +1 -1
  28. package/dist/presets/structured-cloning.umd.cjs +2 -0
  29. package/dist/presets/structured-cloning.umd.cjs.map +1 -0
  30. package/dist/presets/undef.umd.cjs +2 -0
  31. package/dist/presets/undef.umd.cjs.map +1 -0
  32. package/dist/presets/universal.umd.cjs +2 -0
  33. package/dist/presets/universal.umd.cjs.map +1 -0
  34. package/dist/types/arraybuffer.umd.cjs +2 -0
  35. package/dist/types/arraybuffer.umd.cjs.map +1 -0
  36. package/dist/types/bigint-object.d.ts.map +1 -1
  37. package/dist/types/bigint-object.umd.cjs +2 -0
  38. package/dist/types/bigint-object.umd.cjs.map +1 -0
  39. package/dist/types/bigint.d.ts.map +1 -1
  40. package/dist/types/{bigint.umd.js → bigint.umd.cjs} +1 -1
  41. package/dist/types/bigint.umd.cjs.map +1 -0
  42. package/dist/types/blob.umd.cjs +2 -0
  43. package/dist/types/blob.umd.cjs.map +1 -0
  44. package/dist/types/{cloneable.umd.js → cloneable.umd.cjs} +2 -2
  45. package/dist/types/cloneable.umd.cjs.map +1 -0
  46. package/dist/types/cryptokey.umd.cjs +2 -0
  47. package/dist/types/cryptokey.umd.cjs.map +1 -0
  48. package/dist/types/dataview.umd.cjs +2 -0
  49. package/dist/types/dataview.umd.cjs.map +1 -0
  50. package/dist/types/date.umd.cjs +2 -0
  51. package/dist/types/date.umd.cjs.map +1 -0
  52. package/dist/types/domexception.d.ts +6 -0
  53. package/dist/types/domexception.d.ts.map +1 -0
  54. package/dist/types/domexception.umd.cjs +2 -0
  55. package/dist/types/domexception.umd.cjs.map +1 -0
  56. package/dist/types/dompoint.d.ts +6 -0
  57. package/dist/types/dompoint.d.ts.map +1 -0
  58. package/dist/types/dompoint.umd.cjs +2 -0
  59. package/dist/types/dompoint.umd.cjs.map +1 -0
  60. package/dist/types/domrect.d.ts +6 -0
  61. package/dist/types/domrect.d.ts.map +1 -0
  62. package/dist/types/domrect.umd.cjs +2 -0
  63. package/dist/types/domrect.umd.cjs.map +1 -0
  64. package/dist/types/{nonbuiltin-ignore.umd.js → error.umd.cjs} +2 -2
  65. package/dist/types/error.umd.cjs.map +1 -0
  66. package/dist/types/errors.d.ts.map +1 -1
  67. package/dist/types/errors.umd.cjs +2 -0
  68. package/dist/types/errors.umd.cjs.map +1 -0
  69. package/dist/types/file.umd.cjs +2 -0
  70. package/dist/types/file.umd.cjs.map +1 -0
  71. package/dist/types/filelist.umd.cjs +2 -0
  72. package/dist/types/filelist.umd.cjs.map +1 -0
  73. package/dist/types/imagebitmap.umd.cjs +2 -0
  74. package/dist/types/imagebitmap.umd.cjs.map +1 -0
  75. package/dist/types/imagedata.umd.cjs +2 -0
  76. package/dist/types/imagedata.umd.cjs.map +1 -0
  77. package/dist/types/{infinity.umd.js → infinity.umd.cjs} +2 -2
  78. package/dist/types/infinity.umd.cjs.map +1 -0
  79. package/dist/types/intl-types.umd.cjs +2 -0
  80. package/dist/types/intl-types.umd.cjs.map +1 -0
  81. package/dist/types/map.umd.cjs +2 -0
  82. package/dist/types/map.umd.cjs.map +1 -0
  83. package/dist/types/{nan.umd.js → nan.umd.cjs} +2 -2
  84. package/dist/types/nan.umd.cjs.map +1 -0
  85. package/dist/types/{negative-infinity.umd.js → negative-infinity.umd.cjs} +2 -2
  86. package/dist/types/negative-infinity.umd.cjs.map +1 -0
  87. package/dist/types/{negative-zero.umd.js → negative-zero.umd.cjs} +2 -2
  88. package/dist/types/negative-zero.umd.cjs.map +1 -0
  89. package/dist/types/nonbuiltin-ignore.umd.cjs +2 -0
  90. package/dist/types/nonbuiltin-ignore.umd.cjs.map +1 -0
  91. package/dist/types/primitive-objects.umd.cjs +2 -0
  92. package/dist/types/primitive-objects.umd.cjs.map +1 -0
  93. package/dist/types/regexp.umd.cjs +2 -0
  94. package/dist/types/regexp.umd.cjs.map +1 -0
  95. package/dist/types/{resurrectable.umd.js → resurrectable.umd.cjs} +2 -2
  96. package/dist/types/resurrectable.umd.cjs.map +1 -0
  97. package/dist/types/set.umd.cjs +2 -0
  98. package/dist/types/set.umd.cjs.map +1 -0
  99. package/dist/types/typed-arrays-socketio.umd.cjs +2 -0
  100. package/dist/types/typed-arrays-socketio.umd.cjs.map +1 -0
  101. package/dist/types/typed-arrays.umd.cjs +2 -0
  102. package/dist/types/typed-arrays.umd.cjs.map +1 -0
  103. package/dist/types/{error.umd.js → undef.umd.cjs} +2 -2
  104. package/dist/types/undef.umd.cjs.map +1 -0
  105. package/dist/types/user-object.umd.cjs +2 -0
  106. package/dist/types/user-object.umd.cjs.map +1 -0
  107. package/dist/utils/generateUUID.d.ts.map +1 -1
  108. package/package.json +56 -54
  109. package/polyfills/createObjectURL.js +2 -2
  110. package/polyfills/createObjectURL.umd.cjs +2 -0
  111. package/polyfills/createObjectURL.umd.cjs.map +1 -0
  112. package/utils/generateUUID.js +5 -5
  113. package/utils/stringArrayBuffer.js +1 -1
  114. package/dist/index.umd.js.map +0 -1
  115. package/dist/index.umd.min.js +0 -2
  116. package/dist/index.umd.min.js.map +0 -1
  117. package/dist/polyfills/createObjectURL.umd.d.ts +0 -84
  118. package/dist/polyfills/createObjectURL.umd.d.ts.map +0 -1
  119. package/dist/presets/array-nonindex-keys.umd.js.map +0 -1
  120. package/dist/presets/builtin.umd.js +0 -2
  121. package/dist/presets/builtin.umd.js.map +0 -1
  122. package/dist/presets/postmessage.umd.js +0 -2
  123. package/dist/presets/postmessage.umd.js.map +0 -1
  124. package/dist/presets/socketio.umd.js +0 -2
  125. package/dist/presets/socketio.umd.js.map +0 -1
  126. package/dist/presets/sparse-undefined.umd.js.map +0 -1
  127. package/dist/presets/special-numbers.umd.js +0 -2
  128. package/dist/presets/special-numbers.umd.js.map +0 -1
  129. package/dist/presets/structured-cloning-throwing.umd.js +0 -2
  130. package/dist/presets/structured-cloning-throwing.umd.js.map +0 -1
  131. package/dist/presets/structured-cloning.umd.js +0 -2
  132. package/dist/presets/structured-cloning.umd.js.map +0 -1
  133. package/dist/presets/undef.umd.js +0 -2
  134. package/dist/presets/undef.umd.js.map +0 -1
  135. package/dist/presets/universal.umd.js +0 -2
  136. package/dist/presets/universal.umd.js.map +0 -1
  137. package/dist/types/arraybuffer.umd.js +0 -2
  138. package/dist/types/arraybuffer.umd.js.map +0 -1
  139. package/dist/types/bigint-object.umd.js +0 -2
  140. package/dist/types/bigint-object.umd.js.map +0 -1
  141. package/dist/types/bigint.umd.js.map +0 -1
  142. package/dist/types/blob.umd.js +0 -2
  143. package/dist/types/blob.umd.js.map +0 -1
  144. package/dist/types/cloneable.umd.js.map +0 -1
  145. package/dist/types/cryptokey.umd.js +0 -2
  146. package/dist/types/cryptokey.umd.js.map +0 -1
  147. package/dist/types/dataview.umd.js +0 -2
  148. package/dist/types/dataview.umd.js.map +0 -1
  149. package/dist/types/date.umd.js +0 -2
  150. package/dist/types/date.umd.js.map +0 -1
  151. package/dist/types/error.umd.js.map +0 -1
  152. package/dist/types/errors.umd.js +0 -2
  153. package/dist/types/errors.umd.js.map +0 -1
  154. package/dist/types/file.umd.js +0 -2
  155. package/dist/types/file.umd.js.map +0 -1
  156. package/dist/types/filelist.umd.js +0 -2
  157. package/dist/types/filelist.umd.js.map +0 -1
  158. package/dist/types/imagebitmap.umd.js +0 -2
  159. package/dist/types/imagebitmap.umd.js.map +0 -1
  160. package/dist/types/imagedata.umd.js +0 -2
  161. package/dist/types/imagedata.umd.js.map +0 -1
  162. package/dist/types/infinity.umd.js.map +0 -1
  163. package/dist/types/intl-types.umd.js +0 -2
  164. package/dist/types/intl-types.umd.js.map +0 -1
  165. package/dist/types/map.umd.js +0 -2
  166. package/dist/types/map.umd.js.map +0 -1
  167. package/dist/types/nan.umd.js.map +0 -1
  168. package/dist/types/negative-infinity.umd.js.map +0 -1
  169. package/dist/types/negative-zero.umd.js.map +0 -1
  170. package/dist/types/nonbuiltin-ignore.umd.js.map +0 -1
  171. package/dist/types/primitive-objects.umd.js +0 -2
  172. package/dist/types/primitive-objects.umd.js.map +0 -1
  173. package/dist/types/regexp.umd.js +0 -2
  174. package/dist/types/regexp.umd.js.map +0 -1
  175. package/dist/types/resurrectable.umd.js.map +0 -1
  176. package/dist/types/set.umd.js +0 -2
  177. package/dist/types/set.umd.js.map +0 -1
  178. package/dist/types/typed-arrays-socketio.umd.js +0 -2
  179. package/dist/types/typed-arrays-socketio.umd.js.map +0 -1
  180. package/dist/types/typed-arrays.umd.js +0 -2
  181. package/dist/types/typed-arrays.umd.js.map +0 -1
  182. package/dist/types/undef.umd.js +0 -2
  183. package/dist/types/undef.umd.js.map +0 -1
  184. package/dist/types/user-object.umd.js +0 -2
  185. package/dist/types/user-object.umd.js.map +0 -1
  186. package/dist/types/zero.umd.js +0 -2
  187. package/dist/types/zero.umd.js.map +0 -1
  188. package/polyfills/createObjectURL.umd.js +0 -2
  189. package/polyfills/createObjectURL.umd.js.map +0 -1
package/README.md CHANGED
@@ -26,7 +26,7 @@ which can handle `data:` URLs). For Node, you can add it like this:
26
26
 
27
27
  ```js
28
28
  const url = require('url'); // This line only needed to support Node < 10.0.0
29
- const {createObjectURL} = require('typeson-registry/polyfills/createObjectURL.umd.js');
29
+ const {createObjectURL} = require('typeson-registry/polyfills/createObjectURL.umd.cjs');
30
30
 
31
31
  const URL = url.Url; // This line only needed to support Node < 10.0.0
32
32
  URL.createObjectURL = createObjectURL;
@@ -150,7 +150,7 @@ require them as AMD modules with requirejs if you prefer.
150
150
  <html>
151
151
  <head>
152
152
  <script src="https://unpkg.com/typeson/dist/typeson.umd.min.js"></script>
153
- <script src="https://unpkg.com/typeson-registry/dist/presets/builtin.umd.js"></script>
153
+ <script src="https://unpkg.com/typeson-registry/dist/presets/builtin.umd.cjs"></script>
154
154
  <script>
155
155
 
156
156
  const TSON = new Typeson().register(builtin);
@@ -227,8 +227,12 @@ Note that the type name corresponds to the file name in the following manner:
227
227
  you are polyfilling a standard object, we welcome you to submit back as a
228
228
  PR!). The clones cannot be revived past the current window session,
229
229
  however.
230
+ - `cryptokey`
230
231
  - `dataview`
231
232
  - `date`
233
+ - `domexception`
234
+ - `dompoint`
235
+ - `domrect`
232
236
  - `error.js` (`Error`) and `errors.js` (`TypeError`, `RangeError`, `SyntaxError`, `ReferenceError`, `EvalError`, `URIError`, `InternalError`) - These
233
237
  provide a means of resurrecting error object across cloning boundaries
234
238
  (since they are not otherwise treated as cloneable by the Structured
@@ -247,6 +251,7 @@ Note that the type name corresponds to the file name in the following manner:
247
251
  - `map`
248
252
  - `nan` - Preserves `NaN` (not a number)
249
253
  - `NegativeInfinity` - Preserves negative infinity
254
+ - `negative-zero` - Preserves `-0` (produces + or - Infinity when used as divisor)
250
255
  - `nonBuiltInIgnore` - For roughly detecting non-builtin objects and to avoid
251
256
  adding them as properties
252
257
  - `primitive-objects.js` (`StringObject`, `BooleanObject`, `NumberObject`)
package/dist/index.d.ts CHANGED
@@ -7,6 +7,9 @@ import cloneable from './types/cloneable.js';
7
7
  import cryptokey from './types/cryptokey.js';
8
8
  import dataview from './types/dataview.js';
9
9
  import date from './types/date.js';
10
+ import domexception from './types/domexception.js';
11
+ import dompoint from './types/dompoint.js';
12
+ import domrect from './types/domrect.js';
10
13
  import error from './types/error.js';
11
14
  import errors from './types/errors.js';
12
15
  import file from './types/file.js';
@@ -38,5 +41,5 @@ import structuredCloningThrowing from './presets/structured-cloning-throwing.js'
38
41
  import structuredCloning from './presets/structured-cloning.js';
39
42
  import undefPreset from './presets/undef.js';
40
43
  import universal from './presets/universal.js';
41
- export { arraybuffer, bigintObject, bigint, blob, cloneable, cryptokey, dataview, date, error, errors, file, filelist, imagebitmap, imagedata, infinity, intlTypes, map, nan, negativeInfinity, negativeZero, nonbuiltinIgnore, primitiveObjects, regexp, resurrectable, set, typedArraysSocketio, typedArrays, undef, userObject, arrayNonindexKeys, builtin, postmessage, socketio, sparseUndefined, specialNumbers, structuredCloningThrowing, structuredCloning, undefPreset, universal };
44
+ export { arraybuffer, bigintObject, bigint, blob, cloneable, cryptokey, dataview, date, domexception, dompoint, domrect, error, errors, file, filelist, imagebitmap, imagedata, infinity, intlTypes, map, nan, negativeInfinity, negativeZero, nonbuiltinIgnore, primitiveObjects, regexp, resurrectable, set, typedArraysSocketio, typedArrays, undef, userObject, arrayNonindexKeys, builtin, postmessage, socketio, sparseUndefined, specialNumbers, structuredCloningThrowing, structuredCloning, undefPreset, universal };
42
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":";wBAGwB,wBAAwB;yBACvB,0BAA0B;mBAChC,mBAAmB;iBACrB,iBAAiB;sBACZ,sBAAsB;sBACtB,sBAAsB;qBACvB,qBAAqB;iBACzB,iBAAiB;kBAChB,kBAAkB;mBACjB,mBAAmB;iBACrB,iBAAiB;qBACb,qBAAqB;wBAClB,wBAAwB;sBAC1B,sBAAsB;qBACvB,qBAAqB;sBACpB,uBAAuB;gBAC7B,gBAAgB;gBAChB,gBAAgB;6BACH,8BAA8B;yBAClC,0BAA0B;6BACtB,8BAA8B;6BAC9B,8BAA8B;mBACxC,mBAAmB;0BACZ,0BAA0B;gBACpC,gBAAgB;gCACA,kCAAkC;wBAC1C,yBAAyB;kBAC/B,kBAAkB;uBACb,wBAAwB;8BAGjB,kCAAkC;oBAC5C,sBAAsB;wBAClB,0BAA0B;qBAC7B,uBAAuB;4BAChB,+BAA+B;2BAChC,8BAA8B;sCAErD,0CAA0C;8BAChB,iCAAiC;wBACvC,oBAAoB;sBACtB,wBAAwB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.js"],"names":[],"mappings":";wBAGwB,wBAAwB;yBACvB,0BAA0B;mBAChC,mBAAmB;iBACrB,iBAAiB;sBACZ,sBAAsB;sBACtB,sBAAsB;qBACvB,qBAAqB;iBACzB,iBAAiB;yBACT,yBAAyB;qBAC7B,qBAAqB;oBACtB,oBAAoB;kBACtB,kBAAkB;mBACjB,mBAAmB;iBACrB,iBAAiB;qBACb,qBAAqB;wBAClB,wBAAwB;sBAC1B,sBAAsB;qBACvB,qBAAqB;sBACpB,uBAAuB;gBAC7B,gBAAgB;gBAChB,gBAAgB;6BACH,8BAA8B;yBAClC,0BAA0B;6BACtB,8BAA8B;6BAC9B,8BAA8B;mBACxC,mBAAmB;0BACZ,0BAA0B;gBACpC,gBAAgB;gCACA,kCAAkC;wBAC1C,yBAAyB;kBAC/B,kBAAkB;uBACb,wBAAwB;8BAGjB,kCAAkC;oBAC5C,sBAAsB;wBAClB,0BAA0B;qBAC7B,uBAAuB;4BAChB,+BAA+B;2BAChC,8BAA8B;sCAErD,0CAA0C;8BAChB,iCAAiC;wBACvC,oBAAoB;sBACtB,wBAAwB"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n);}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t]);})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t));}));}return e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_toPropertyKey(n.key),n);}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return (t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _slicedToArray(e,t){return function _arrayWithHoles(e){if(Array.isArray(e))return e}(e)||function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,c=[],s=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1;}else for(;!(s=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);s=!0);}catch(e){u=!0,o=e;}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||_unsupportedIterableToArray(e,t)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _toConsumableArray(e){return function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}(e)||function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||_unsupportedIterableToArray(e)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return "Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _toPropertyKey(e){var t=function _toPrimitive(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===t?String:Number)(e)}(e,"string");return "symbol"==typeof t?t:String(t)}var e=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e);}));e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function get(){return "TypesonPromise"}}),e.prototype.then=function(t,r){var n=this;return new e((function(e,o){n.p.then((function(r){e(t?t(r):r);})).catch((function(e){return r?r(e):Promise.reject(e)})).then(e,o);}))},e.prototype.catch=function(e){return this.then((function(){}),e)},e.resolve=function(t){return new e((function(e){e(t);}))},e.reject=function(t){return new e((function(e,r){r(t);}))},e.all=function(t){return new e((function(e,r){Promise.all(t.map((function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,r);}))},e.race=function(t){return new e((function(e,r){Promise.race(t.map((function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,r);}))},e.allSettled=function(t){return new e((function(e,r){Promise.allSettled(t.map((function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,r);}))};var t=Object.hasOwn,r=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&"function"==typeof e.then&&(!t||"function"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(e,n){if(!e||"object"!==_typeof(e))return !1;var o=r(e);if(!o)return null===n;var i=t(o,"constructor")&&o.constructor;return "function"!=typeof i?null===n:n===i||(null!==n&&Function.prototype.toString.call(i)===Function.prototype.toString.call(n)||"function"==typeof n&&"string"==typeof i.__typeson__type__&&i.__typeson__type__===n.__typeson__type__)}function isPlainObject(e){return !(!e||"Object"!==toStringTag(e))&&(!r(e)||hasConstructorOf(e,Object))}function isUserObject(e){if(!e||"Object"!==toStringTag(e))return !1;var t=r(e);return !t||(hasConstructorOf(e,Object)||isUserObject(t))}function isObject(e){return null!==e&&"object"===_typeof(e)}function escapeKeyPathComponent(e){return e.replace(/''/g,"''''").replace(/^$/,"''").replace(/~/g,"~0").replace(/\./g,"~1")}function unescapeKeyPathComponent(e){return e.replace(/~1/g,".").replace(/~0/g,"~").replace(/^''$/,"").replace(/''''/g,"''")}function getByKeyPath(e,t){if(""===t)return e;if(null===e||"object"!==_typeof(e))throw new TypeError("Unexpected non-object type");var r=t.indexOf(".");if(r>-1){var n=e[unescapeKeyPathComponent(t.slice(0,r))];return void 0===n?void 0:getByKeyPath(n,t.slice(r+1))}return e[unescapeKeyPathComponent(t)]}function setAtKeyPath(e,t,r){if(""===t)return r;if(!e||"object"!==_typeof(e))throw new TypeError("Unexpected non-object type");var n=t.indexOf(".");return n>-1?setAtKeyPath(e[unescapeKeyPathComponent(t.slice(0,n))],t.slice(n+1),r):(e[unescapeKeyPathComponent(t)]=r,e)}function getJSONType(e){return null===e?"null":Array.isArray(e)?"array":_typeof(e)}function _await(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}var n=Object.keys,o=Object.hasOwn,i$1=Array.isArray,a=["type","replaced","iterateIn","iterateUnsetNumeric","addLength"];function _async(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}function nestedPathsFirst(e,t){var r,n;if(""===e.keypath)return -1;var o=null!==(r=e.keypath.match(/\./g))&&void 0!==r?r:0,i=null!==(n=t.keypath.match(/\./g))&&void 0!==n?n:0;return o&&(o=o.length),i&&(i=i.length),o>i?-1:o<i?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}var c=function(){function Typeson(e){_classCallCheck(this,Typeson),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={};}return _createClass(Typeson,[{key:"stringify",value:function stringify(e,t,r,n){n=_objectSpread2(_objectSpread2(_objectSpread2({},this.options),n),{},{stringification:!0});var o=this.encapsulate(e,null,n);return i$1(o)?JSON.stringify(o[0],t,r):o.then((function(e){return JSON.stringify(e,t,r)}))}},{key:"stringifySync",value:function stringifySync(e,t,r,n){return this.stringify(e,t,r,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},n),{},{sync:!0}))}},{key:"stringifyAsync",value:function stringifyAsync(e,t,r,n){return this.stringify(e,t,r,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},n),{},{sync:!1}))}},{key:"parse",value:function parse(e,t,r){return r=_objectSpread2(_objectSpread2(_objectSpread2({},this.options),r),{},{parse:!0}),this.revive(JSON.parse(e,t),r)}},{key:"parseSync",value:function parseSync(e,t,r){return this.parse(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!0}))}},{key:"parseAsync",value:function parseAsync(e,t,r){return this.parse(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!1}))}},{key:"specialTypeNames",value:function specialTypeNames(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.returnTypeNames=!0,this.encapsulate(e,t,r)}},{key:"rootTypeName",value:function rootTypeName(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.iterateNone=!0,this.encapsulate(e,t,r)}},{key:"encapsulate",value:function encapsulate(t,r,c){var s=this,u=_objectSpread2(_objectSpread2({sync:!0},this.options),c),y=u.sync,p={},l=[],f=[],v=[],h=!("cyclic"in u)||u.cyclic,d=u.encapsulateObserver,b=function finish(e){var t=Object.values(p);if(u.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(u.returnTypeNames)return _toConsumableArray(new Set(t));e&&isPlainObject(e)&&!o(e,"$types")?e.$types=p:e={$:e,$types:{$:p}};}else isObject(e)&&o(e,"$types")&&(e={$:e,$types:!0});return !u.returnTypeNames&&e},_=_async((function(t,r){return _await(Promise.all(r.map((function(e){return e[1].p}))),(function(n){return _await(Promise.all(n.map(_async((function(n){var o=!1,i=[],a=_slicedToArray(r.splice(0,1),1),c=_slicedToArray(a[0],7),s=c[0],u=c[2],y=c[3],p=c[4],l=c[5],f=c[6],v=m(s,n,u,y,i,!0,f),h=hasConstructorOf(v,e);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(s&&h)return _await(v.p,(function(e){p[l]=e;var r=_(t,i);return o=!0,r}))}),(function(e){return o?e:(s?p[l]=v:t=h?v.p:v,_(t,i))}))})))),(function(){return t}))}))})),O=function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=a.map((function(t){var r=e[t];return delete e[t],r}));r(),a.forEach((function(t,r){e[t]=n[r];}));},m=function _encapsulate(t,r,a,c,y,v,h){var b,_={},m=_typeof(r),g=d?function(n){var o,i=null!==(o=null!=h?h:c.type)&&void 0!==o?o:getJSONType(r);d(Object.assign(null!=n?n:_,{keypath:t,value:r,cyclic:a,stateObj:c,promisesData:y,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,e)},{type:i}));}:null;if(["string","boolean","number","undefined"].includes(m))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY||0===r?(b=c.replaced?r:j(t,r,c,y,!1,v,g))!==r&&(_={replaced:b}):b=r,g&&g(),b;if(null===r)return g&&g(),r;if(a&&!c.iterateIn&&!c.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var S=l.indexOf(r);if(!(S<0))return p[t]="#",g&&g({cyclicKeypath:f[S]}),"#"+f[S];!0===a&&(l.push(r),f.push(t));}var P,T,w=isPlainObject(r),A=i$1(r),C=(w||A)&&(!s.plainObjectReplacers.length||c.replaced)||c.iterateIn?r:j(t,r,c,y,w||A,null,g);if(C!==r?(b=C,_={replaced:C}):""===t&&hasConstructorOf(r,e)?(y.push([t,r,a,c,void 0,void 0,c.type]),b=r):A&&"object"!==c.iterateIn||"array"===c.iterateIn?(P=new Array(r.length),_={clone:P}):(["function","symbol"].includes(_typeof(r))||"toJSON"in r||hasConstructorOf(r,e)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!w&&"object"!==c.iterateIn?b=r:(P={},c.addLength&&(P.length=r.length),_={clone:P}),g&&g(),u.iterateNone)return null!==(T=P)&&void 0!==T?T:b;if(!P)return b;if(c.iterateIn){var k=function _loop(n){var i={ownKeys:o(r,n)};O(c,i,(function(){var o=t+(t?".":"")+escapeKeyPathComponent(n),i=_encapsulate(o,r[n],Boolean(a),c,y,v);hasConstructorOf(i,e)?y.push([o,i,Boolean(a),c,P,n,c.type]):void 0!==i&&(P[n]=i);}));};for(var N in r)k(N);g&&g({endIterateIn:!0,end:!0});}else n(r).forEach((function(n){var o=t+(t?".":"")+escapeKeyPathComponent(n);O(c,{ownKeys:!0},(function(){var t=_encapsulate(o,r[n],Boolean(a),c,y,v);hasConstructorOf(t,e)?y.push([o,t,Boolean(a),c,P,n,c.type]):void 0!==t&&(P[n]=t);}));})),g&&g({endIterateOwn:!0,end:!0});if(c.iterateUnsetNumeric){for(var I=r.length,E=function _loop2(n){if(!(n in r)){var o="".concat(t).concat(t?".":"").concat(n);O(c,{ownKeys:!1},(function(){var t=_encapsulate(o,void 0,Boolean(a),c,y,v);hasConstructorOf(t,e)?y.push([o,t,Boolean(a),c,P,n,c.type]):void 0!==t&&(P[n]=t);}));}},K=0;K<I;K++)E(K);g&&g({endIterateUnsetNumeric:!0,end:!0});}return P},j=function replace(e,t,r,n,o,i,a){for(var c=o?s.plainObjectReplacers:s.nonplainObjectReplacers,u=c.length;u--;){var l=c[u];if(l.test(t,r)){var f=l.type;if(s.revivers[f]){var v=p[e];p[e]=v?[f].concat(v):f;}if(Object.assign(r,{type:f,replaced:!0}),(y||!l.replaceAsync)&&!l.replace)return a&&a({typeDetected:!0}),m(e,t,h&&"readonly",r,n,i,f);a&&a({replacing:!0});var d=void 0;if(y||!l.replaceAsync){if(void 0===l.replace)throw new TypeError("Missing replacer");d=l.replace(t,r);}else d=l.replaceAsync(t,r);return m(e,d,h&&"readonly",r,n,i,f)}}return t},g=m("",t,h,null!=r?r:{},v);if(v.length)return y&&u.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(_(g,v)).then(b);if(!y&&u.throwOnBadSyncType)throw new TypeError("Async method requested but sync result obtained");return u.stringification&&y?[b(g)]:y?b(g):Promise.resolve(b(g))}},{key:"encapsulateSync",value:function encapsulateSync(e,t,r){return this.encapsulate(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!0}))}},{key:"encapsulateAsync",value:function encapsulateAsync(e,t,r){return this.encapsulate(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!1}))}},{key:"revive",value:function revive(t,r){var o=this,a=_objectSpread2(_objectSpread2({sync:!0},this.options),r),c=a.sync;function finishRevival(e){if(c)return e;if(a.throwOnBadSyncType)throw new TypeError("Async method requested but sync result obtained");return Promise.resolve(e)}if(!t||"object"!==_typeof(t)||Array.isArray(t))return finishRevival(t);var u=t.$types;if(!0===u)return finishRevival(t.$);if(!u||"object"!==_typeof(u)||Array.isArray(u))return finishRevival(t);var y=[],p={},l=!0;u.$&&isPlainObject(u.$)&&(t=t.$,u=u.$,l=!1);var f=function executeReviver(e,t){var r,n=_slicedToArray(null!==(r=o.revivers[e])&&void 0!==r?r:[],1)[0];if(!n)throw new Error("Unregistered type: "+e);if(c&&!("revive"in n))return t;if(!c&&n.reviveAsync)return n.reviveAsync(t,p);if(n.revive)return n.revive(t,p);throw new Error("Missing reviver")},v=[];function checkUndefined(e){return hasConstructorOf(e,s)?void 0:e}var h,d=function revivePlainObjects(){var r=[];if(!u)throw new Error("Found bad `types`");if(Object.entries(u).forEach((function(e){var t=_slicedToArray(e,2),n=t[0],i=t[1];"#"!==i&&[].concat(i).forEach((function(e){var t;_slicedToArray(null!==(t=o.revivers[e])&&void 0!==t?t:[null,{}],2)[1].plain&&(r.push({keypath:n,type:e}),delete u[n]);}));})),r.length)return r.sort(nestedPathsFirst).reduce((function reducer(r,n){var o=n.keypath,i=n.type;if(isThenable(r))return r.then((function(e){return reducer(e,{keypath:o,type:i})}));var a=getByKeyPath(t,o);if(hasConstructorOf(a=f(i,a),e))return a.then((function(e){var r=setAtKeyPath(t,o,e);r===e&&(t=r);}));var c=setAtKeyPath(t,o,a);c===a&&(t=c);}),void 0)}();return hasConstructorOf(d,e)?h=d.then((function(){return t})):(h=function _revive(t,r,o,a,c){if(!l||"$types"!==t){var p=u[t],h=i$1(r);if(h||isPlainObject(r)){var d=h?new Array(r.length):{};for(n(r).forEach((function(n){var i=_revive(t+(t?".":"")+escapeKeyPathComponent(n),r[n],null!=o?o:d,d,n),a=function set(e){return hasConstructorOf(e,s)?d[n]=void 0:void 0!==e&&(d[n]=e),e};hasConstructorOf(i,e)?v.push(i.then((function(e){return a(e)}))):a(i);})),r=d;y.length;){var b=_slicedToArray(y[0],4),_=b[0],O=b[1],m=b[2],j=b[3],g=getByKeyPath(_,O);if(void 0===g)break;m[j]=g,y.splice(0,1);}}if(!p)return r;if("#"===p){var S=getByKeyPath(o,r.slice(1));return void 0===S&&y.push([o,r.slice(1),a,c]),S}return [].concat(p).reduce((function reducer(t,r){if(hasConstructorOf(t,e))return t.then((function(e){return reducer(e,r)}));if("string"!=typeof r)throw new TypeError("Bad type JSON");return f(r,t)}),r)}}("",t,null),v.length&&(h=e.resolve(h).then((function(t){return e.all([t].concat(v))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(h)?c&&a.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():hasConstructorOf(h,e)?h.p.then(checkUndefined):h:!c&&a.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():c?checkUndefined(h):Promise.resolve(checkUndefined(h))}},{key:"reviveSync",value:function reviveSync(e,t){return this.revive(e,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},t),{},{sync:!0}))}},{key:"reviveAsync",value:function reviveAsync(e,t){return this.revive(e,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},t),{},{sync:!1}))}},{key:"register",value:function register(e,t){var r=this,o=null!=t?t:{},a=function R(e){i$1(e)?e.forEach((function(e){return R(e)})):n(e).forEach((function(t){var n;if("#"===t)throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(u.includes(t))throw new TypeError("Plain JSON object types are reserved as type names");var a=e[t],c=a&&"function"!=typeof a&&!Array.isArray(a)&&a.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,s=c.filter((function(e){return e.type===t}));if(s.length&&(c.splice(c.indexOf(s[0]),1),delete r.revivers[t],delete r.types[t]),"function"==typeof a){var y=a;a={test:function test(e){return e&&e.constructor===y},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(y.prototype),e)}};}else if(i$1(a)){var p=_slicedToArray(a,3);a={test:p[0],replace:p[1],revive:p[2]};}if(null!==(n=a)&&void 0!==n&&n.test){var l={type:t,test:a.test.bind(a)};a.replace&&(l.replace=a.replace.bind(a)),a.replaceAsync&&(l.replaceAsync=a.replaceAsync.bind(a));var f="number"==typeof o.fallback?o.fallback:o.fallback?0:Number.POSITIVE_INFINITY;if(a.testPlainObjects?r.plainObjectReplacers.splice(f,0,l):r.nonplainObjectReplacers.splice(f,0,l),a.revive||a.reviveAsync){var v={};a.revive&&(v.revive=a.revive.bind(a)),a.reviveAsync&&(v.reviveAsync=a.reviveAsync.bind(a)),r.revivers[t]=[v,{plain:a.testPlainObjects}];}r.types[t]=a;}}));};return [].concat(e).forEach((function(e){return a(e)})),this}}]),Typeson}(),s=_createClass((function Undefined(){_classCallCheck(this,Undefined);}));s.__typeson__type__="TypesonUndefined";var u=["null","boolean","number","string","array","object"];
1
+ function ownKeys(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n);}return r}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(r),!0).forEach((function(t){_defineProperty(e,t,r[t]);})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t));}));}return e}function _typeof(e){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(e)}function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,_toPropertyKey(n.key),n);}}function _createClass(e,t,r){return t&&_defineProperties(e.prototype,t),r&&_defineProperties(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function _defineProperty(e,t,r){return (t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _slicedToArray(e,t){return function _arrayWithHoles(e){if(Array.isArray(e))return e}(e)||function _iterableToArrayLimit(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,a,c=[],s=!0,u=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;s=!1;}else for(;!(s=(n=i.call(r)).done)&&(c.push(n.value),c.length!==t);s=!0);}catch(e){u=!0,o=e;}finally{try{if(!s&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(u)throw o}}return c}}(e,t)||_unsupportedIterableToArray(e,t)||function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _toConsumableArray(e){return function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}(e)||function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||_unsupportedIterableToArray(e)||function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function _unsupportedIterableToArray(e,t){if(e){if("string"==typeof e)return _arrayLikeToArray(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return "Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}function _toPropertyKey(e){var t=function _toPrimitive(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return ("string"===t?String:Number)(e)}(e,"string");return "symbol"==typeof t?t:String(t)}var e=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e);}));e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function get(){return "TypesonPromise"}}),e.prototype.then=function(t,r){var n=this;return new e((function(e,o){n.p.then((function(r){e(t?t(r):r);})).catch((function(e){return r?r(e):Promise.reject(e)})).then(e,o);}))},e.prototype.catch=function(e){return this.then((function(){}),e)},e.resolve=function(t){return new e((function(e){e(t);}))},e.reject=function(t){return new e((function(e,r){r(t);}))},e.all=function(t){return new e((function(e,r){Promise.all(t.map((function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,r);}))},e.race=function(t){return new e((function(e,r){Promise.race(t.map((function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,r);}))},e.allSettled=function(t){return new e((function(e,r){Promise.allSettled(t.map((function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,r);}))};var t=Object.hasOwn,r=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&"function"==typeof e.then&&(!t||"function"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(e,n){if(!e||"object"!==_typeof(e))return !1;var o=r(e);if(!o)return null===n;var i=t(o,"constructor")&&o.constructor;return "function"!=typeof i?null===n:n===i||(null!==n&&Function.prototype.toString.call(i)===Function.prototype.toString.call(n)||"function"==typeof n&&"string"==typeof i.__typeson__type__&&i.__typeson__type__===n.__typeson__type__)}function isPlainObject(e){return !(!e||"Object"!==toStringTag(e))&&(!r(e)||hasConstructorOf(e,Object))}function isUserObject(e){if(!e||"Object"!==toStringTag(e))return !1;var t=r(e);return !t||(hasConstructorOf(e,Object)||isUserObject(t))}function isObject(e){return null!==e&&"object"===_typeof(e)}function escapeKeyPathComponent(e){return e.replaceAll("''","''''").replace(/^$/,"''").replaceAll("~","~0").replaceAll(".","~1")}function unescapeKeyPathComponent(e){return e.replaceAll("~1",".").replaceAll("~0","~").replace(/^''$/,"").replaceAll("''''","''")}function getByKeyPath(e,t){if(""===t)return e;if(null===e||"object"!==_typeof(e))throw new TypeError("Unexpected non-object type");var r=t.indexOf(".");if(r>-1){var n=e[unescapeKeyPathComponent(t.slice(0,r))];return void 0===n?void 0:getByKeyPath(n,t.slice(r+1))}return e[unescapeKeyPathComponent(t)]}function setAtKeyPath(e,t,r){if(""===t)return r;if(!e||"object"!==_typeof(e))throw new TypeError("Unexpected non-object type");var n=t.indexOf(".");return n>-1?setAtKeyPath(e[unescapeKeyPathComponent(t.slice(0,n))],t.slice(n+1),r):(e[unescapeKeyPathComponent(t)]=r,e)}function getJSONType(e){return null===e?"null":Array.isArray(e)?"array":_typeof(e)}function _await(e,t,r){return r?t?t(e):e:(e&&e.then||(e=Promise.resolve(e)),t?e.then(t):e)}var n=Object.keys,o=Object.hasOwn,i$1=Array.isArray,a=["type","replaced","iterateIn","iterateUnsetNumeric","addLength"];function _async(e){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];try{return Promise.resolve(e.apply(this,t))}catch(e){return Promise.reject(e)}}}function nestedPathsFirst(e,t){var r,n;if(""===e.keypath)return -1;var o=null!==(r=e.keypath.match(/\./g))&&void 0!==r?r:0,i=null!==(n=t.keypath.match(/\./g))&&void 0!==n?n:0;return o&&(o=o.length),i&&(i=i.length),o>i?-1:o<i?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}var c=function(){function Typeson(e){_classCallCheck(this,Typeson),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={};}return _createClass(Typeson,[{key:"stringify",value:function stringify(e,t,r,n){n=_objectSpread2(_objectSpread2(_objectSpread2({},this.options),n),{},{stringification:!0});var o=this.encapsulate(e,null,n);return i$1(o)?JSON.stringify(o[0],t,r):o.then((function(e){return JSON.stringify(e,t,r)}))}},{key:"stringifySync",value:function stringifySync(e,t,r,n){return this.stringify(e,t,r,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},n),{},{sync:!0}))}},{key:"stringifyAsync",value:function stringifyAsync(e,t,r,n){return this.stringify(e,t,r,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},n),{},{sync:!1}))}},{key:"parse",value:function parse(e,t,r){return r=_objectSpread2(_objectSpread2(_objectSpread2({},this.options),r),{},{parse:!0}),this.revive(JSON.parse(e,t),r)}},{key:"parseSync",value:function parseSync(e,t,r){return this.parse(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!0}))}},{key:"parseAsync",value:function parseAsync(e,t,r){return this.parse(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!1}))}},{key:"specialTypeNames",value:function specialTypeNames(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.returnTypeNames=!0,this.encapsulate(e,t,r)}},{key:"rootTypeName",value:function rootTypeName(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return r.iterateNone=!0,this.encapsulate(e,t,r)}},{key:"encapsulate",value:function encapsulate(t,r,c){var s=this,u=_objectSpread2(_objectSpread2({sync:!0},this.options),c),l=u.sync,y={},p=[],f=[],v=[],h=!("cyclic"in u)||u.cyclic,d=u.encapsulateObserver,b=function finish(e){var t=Object.values(y);if(u.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(u.returnTypeNames)return _toConsumableArray(new Set(t));e&&isPlainObject(e)&&!o(e,"$types")?e.$types=y:e={$:e,$types:{$:y}};}else isObject(e)&&o(e,"$types")&&(e={$:e,$types:!0});return !u.returnTypeNames&&e},_=_async((function(t,r){return _await(Promise.all(r.map((function(e){return e[1].p}))),(function(n){return _await(Promise.all(n.map(_async((function(n){var o=!1,i=[],a=_slicedToArray(r.splice(0,1),1),c=_slicedToArray(a[0],7),s=c[0],u=c[2],l=c[3],y=c[4],p=c[5],f=c[6],v=m(s,n,u,l,i,!0,f),h=hasConstructorOf(v,e);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(s&&h)return _await(v.p,(function(e){y[p]=e;var r=_(t,i);return o=!0,r}))}),(function(e){return o?e:(s?y[p]=v:t=h?v.p:v,_(t,i))}))})))),(function(){return t}))}))})),O=function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=a.map((function(t){var r=e[t];return delete e[t],r}));r(),a.forEach((function(t,r){e[t]=n[r];}));},m=function _encapsulate(t,r,a,c,l,v,h){var b,_={},m=_typeof(r),g=d?function(n){var o,i=null!==(o=null!=h?h:c.type)&&void 0!==o?o:getJSONType(r);d(Object.assign(null!=n?n:_,{keypath:t,value:r,cyclic:a,stateObj:c,promisesData:l,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,e)},{type:i}));}:null;if(["string","boolean","number","undefined"].includes(m))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY||0===r?(b=c.replaced?r:j(t,r,c,l,!1,v,g))!==r&&(_={replaced:b}):b=r,g&&g(),b;if(null===r)return g&&g(),r;if(a&&!c.iterateIn&&!c.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var S=p.indexOf(r);if(!(S<0))return y[t]="#",g&&g({cyclicKeypath:f[S]}),"#"+f[S];!0===a&&(p.push(r),f.push(t));}var P,T,w=isPlainObject(r),A=i$1(r),C=(w||A)&&(!s.plainObjectReplacers.length||c.replaced)||c.iterateIn?r:j(t,r,c,l,w||A,null,g);if(C!==r?(b=C,_={replaced:C}):""===t&&hasConstructorOf(r,e)?(l.push([t,r,a,c,void 0,void 0,c.type]),b=r):A&&"object"!==c.iterateIn||"array"===c.iterateIn?(P=new Array(r.length),_={clone:P}):(["function","symbol"].includes(_typeof(r))||"toJSON"in r||hasConstructorOf(r,e)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!w&&"object"!==c.iterateIn?b=r:(P={},c.addLength&&(P.length=r.length),_={clone:P}),g&&g(),u.iterateNone)return null!==(T=P)&&void 0!==T?T:b;if(!P)return b;if(c.iterateIn){var k=function _loop(n){var i={ownKeys:o(r,n)};O(c,i,(function(){var o=t+(t?".":"")+escapeKeyPathComponent(n),i=_encapsulate(o,r[n],Boolean(a),c,l,v);hasConstructorOf(i,e)?l.push([o,i,Boolean(a),c,P,n,c.type]):void 0!==i&&(P[n]=i);}));};for(var N in r)k(N);g&&g({endIterateIn:!0,end:!0});}else n(r).forEach((function(n){var o=t+(t?".":"")+escapeKeyPathComponent(n);O(c,{ownKeys:!0},(function(){var t=_encapsulate(o,r[n],Boolean(a),c,l,v);hasConstructorOf(t,e)?l.push([o,t,Boolean(a),c,P,n,c.type]):void 0!==t&&(P[n]=t);}));})),g&&g({endIterateOwn:!0,end:!0});if(c.iterateUnsetNumeric){for(var I=r.length,E=function _loop2(n){if(!(n in r)){var o="".concat(t).concat(t?".":"").concat(n);O(c,{ownKeys:!1},(function(){var t=_encapsulate(o,void 0,Boolean(a),c,l,v);hasConstructorOf(t,e)?l.push([o,t,Boolean(a),c,P,n,c.type]):void 0!==t&&(P[n]=t);}));}},K=0;K<I;K++)E(K);g&&g({endIterateUnsetNumeric:!0,end:!0});}return P},j=function replace(e,t,r,n,o,i,a){for(var c=o?s.plainObjectReplacers:s.nonplainObjectReplacers,u=c.length;u--;){var p=c[u];if(p.test(t,r)){var f=p.type;if(s.revivers[f]){var v=y[e];y[e]=v?[f].concat(v):f;}if(Object.assign(r,{type:f,replaced:!0}),(l||!p.replaceAsync)&&!p.replace)return a&&a({typeDetected:!0}),m(e,t,h&&"readonly",r,n,i,f);a&&a({replacing:!0});var d=void 0;if(l||!p.replaceAsync){if(void 0===p.replace)throw new TypeError("Missing replacer");d=p.replace(t,r);}else d=p.replaceAsync(t,r);return m(e,d,h&&"readonly",r,n,i,f)}}return t},g=m("",t,h,null!=r?r:{},v);if(v.length)return l&&u.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(_(g,v)).then(b);if(!l&&u.throwOnBadSyncType)throw new TypeError("Async method requested but sync result obtained");return u.stringification&&l?[b(g)]:l?b(g):Promise.resolve(b(g))}},{key:"encapsulateSync",value:function encapsulateSync(e,t,r){return this.encapsulate(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!0}))}},{key:"encapsulateAsync",value:function encapsulateAsync(e,t,r){return this.encapsulate(e,t,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},r),{},{sync:!1}))}},{key:"revive",value:function revive(t,r){var o=this,a=_objectSpread2(_objectSpread2({sync:!0},this.options),r),c=a.sync;function finishRevival(e){if(c)return e;if(a.throwOnBadSyncType)throw new TypeError("Async method requested but sync result obtained");return Promise.resolve(e)}if(!t||"object"!==_typeof(t)||Array.isArray(t))return finishRevival(t);var u=t.$types;if(!0===u)return finishRevival(t.$);if(!u||"object"!==_typeof(u)||Array.isArray(u))return finishRevival(t);var l=[],y={},p=!0;u.$&&isPlainObject(u.$)&&(t=t.$,u=u.$,p=!1);var f=function executeReviver(e,t){var r,n=_slicedToArray(null!==(r=o.revivers[e])&&void 0!==r?r:[],1)[0];if(!n)throw new Error("Unregistered type: "+e);if(c&&!("revive"in n))return t;if(!c&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error("Missing reviver")},v=[];function checkUndefined(e){return hasConstructorOf(e,s)?void 0:e}var h,d=function revivePlainObjects(){var r=[];if(!u)throw new Error("Found bad `types`");if(Object.entries(u).forEach((function(e){var t=_slicedToArray(e,2),n=t[0],i=t[1];"#"!==i&&[].concat(i).forEach((function(e){var t;_slicedToArray(null!==(t=o.revivers[e])&&void 0!==t?t:[null,{}],2)[1].plain&&(r.push({keypath:n,type:e}),delete u[n]);}));})),r.length)return r.sort(nestedPathsFirst).reduce((function reducer(r,n){var o=n.keypath,i=n.type;if(isThenable(r))return r.then((function(e){return reducer(e,{keypath:o,type:i})}));var a=getByKeyPath(t,o);if(hasConstructorOf(a=f(i,a),e))return a.then((function(e){var r=setAtKeyPath(t,o,e);r===e&&(t=r);}));var c=setAtKeyPath(t,o,a);c===a&&(t=c);}),void 0)}();return hasConstructorOf(d,e)?h=d.then((function(){return t})):(h=function _revive(t,r,o,a,c){if(!p||"$types"!==t){var y=u[t],h=i$1(r);if(h||isPlainObject(r)){var d=h?new Array(r.length):{};for(n(r).forEach((function(n){var i=_revive(t+(t?".":"")+escapeKeyPathComponent(n),r[n],null!=o?o:d,d,n),a=function set(e){return hasConstructorOf(e,s)?d[n]=void 0:void 0!==e&&(d[n]=e),e};hasConstructorOf(i,e)?v.push(i.then((function(e){return a(e)}))):a(i);})),r=d;l.length;){var b=_slicedToArray(l[0],4),_=b[0],O=b[1],m=b[2],j=b[3],g=getByKeyPath(_,O);if(void 0===g)break;m[j]=g,l.splice(0,1);}}if(!y)return r;if("#"===y){var S=getByKeyPath(o,r.slice(1));return void 0===S&&l.push([o,r.slice(1),a,c]),S}return [].concat(y).reduce((function reducer(t,r){if(hasConstructorOf(t,e))return t.then((function(e){return reducer(e,r)}));if("string"!=typeof r)throw new TypeError("Bad type JSON");return f(r,t)}),r)}}("",t,null),v.length&&(h=e.resolve(h).then((function(t){return e.all([t].concat(v))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(h)?c&&a.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():hasConstructorOf(h,e)?h.p.then(checkUndefined):h:!c&&a.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():c?checkUndefined(h):Promise.resolve(checkUndefined(h))}},{key:"reviveSync",value:function reviveSync(e,t){return this.revive(e,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},t),{},{sync:!0}))}},{key:"reviveAsync",value:function reviveAsync(e,t){return this.revive(e,_objectSpread2(_objectSpread2({throwOnBadSyncType:!0},t),{},{sync:!1}))}},{key:"register",value:function register(e,t){var r=this,o=null!=t?t:{},a=function R(e){i$1(e)?e.forEach((function(e){return R(e)})):n(e).forEach((function(t){var n;if("#"===t)throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(u.includes(t))throw new TypeError("Plain JSON object types are reserved as type names");var a=e[t],c=a&&"function"!=typeof a&&!Array.isArray(a)&&a.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,s=c.filter((function(e){return e.type===t}));if(s.length&&(c.splice(c.indexOf(s[0]),1),delete r.revivers[t],delete r.types[t]),"function"==typeof a){var l=a;a={test:function test(e){return e&&e.constructor===l},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(l.prototype),e)}};}else if(i$1(a)){var y=_slicedToArray(a,3);a={test:y[0],replace:y[1],revive:y[2]};}if(null!==(n=a)&&void 0!==n&&n.test){var p={type:t,test:a.test.bind(a)};a.replace&&(p.replace=a.replace.bind(a)),a.replaceAsync&&(p.replaceAsync=a.replaceAsync.bind(a));var f="number"==typeof o.fallback?o.fallback:o.fallback?0:Number.POSITIVE_INFINITY;if(a.testPlainObjects?r.plainObjectReplacers.splice(f,0,p):r.nonplainObjectReplacers.splice(f,0,p),a.revive||a.reviveAsync){var v={};a.revive&&(v.revive=a.revive.bind(a)),a.reviveAsync&&(v.reviveAsync=a.reviveAsync.bind(a)),r.revivers[t]=[v,{plain:a.testPlainObjects}];}r.types[t]=a;}}));};return [].concat(e).forEach((function(e){return a(e)})),this}}]),Typeson}(),s=_createClass((function Undefined(){_classCallCheck(this,Undefined);}));s.__typeson__type__="TypesonUndefined";var u=["null","boolean","number","string","array","object"];
2
2
 
3
3
  /*
4
4
  * base64-arraybuffer
@@ -136,8 +136,6 @@ const arraybuffer = {
136
136
 
137
137
  // See also typed-arrays!
138
138
 
139
- /* globals BigInt */
140
-
141
139
  /**
142
140
  * @type {import('typeson').TypeSpecSet}
143
141
  */
@@ -155,8 +153,6 @@ const bigintObject = {
155
153
  }
156
154
  };
157
155
 
158
- /* globals BigInt */
159
-
160
156
  /**
161
157
  * @type {import('typeson').TypeSpecSet}
162
158
  */
@@ -233,7 +229,7 @@ function string2arraybuffer (str) {
233
229
 
234
230
  const array = new Uint8Array(str.length);
235
231
  for (let i = 0; i < str.length; i++) {
236
- // eslint-disable-next-line max-len -- Long
232
+ // eslint-disable-next-line @stylistic/max-len -- Long
237
233
  // eslint-disable-next-line unicorn/prefer-code-point -- Iterating char. codes
238
234
  array[i] = str.charCodeAt(i); // & 0xff;
239
235
  }
@@ -296,8 +292,6 @@ const blob = {
296
292
  }
297
293
  };
298
294
 
299
- /* globals performance */
300
-
301
295
  // The `performance` global is optional
302
296
 
303
297
  /**
@@ -317,11 +311,13 @@ function generateUUID () { // Adapted from original: public domain/MIT: http://
317
311
  ? performance.now()
318
312
  : 0);
319
313
 
320
- return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/gu, function (c) {
314
+ // eslint-disable-next-line @stylistic/max-len -- Long
315
+ // eslint-disable-next-line no-use-extend-native/no-use-extend-native -- Need to update plugin
316
+ return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replaceAll(/[xy]/gu, function (c) {
321
317
  /* eslint-disable no-bitwise */
322
- const r = Math.trunc((d + Math.random() * 16) % 16);
318
+ const r = Math.trunc((d + (Math.random() * 16)) % 16);
323
319
  d = Math.floor(d / 16);
324
- return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16);
320
+ return (c === 'x' ? r : ((r & 0x3) | 0x8)).toString(16);
325
321
  /* eslint-enable no-bitwise */
326
322
  });
327
323
  }
@@ -484,6 +480,70 @@ const date = {
484
480
  }
485
481
  };
486
482
 
483
+ /**
484
+ * @type {import('typeson').TypeSpecSet}
485
+ */
486
+ const domexception = {
487
+ domexception: {
488
+ test (x) { return toStringTag(x) === 'DOMException'; },
489
+ replace (de) {
490
+ // `code` is based on `name` and readonly, so no
491
+ // need to keep here
492
+ return {
493
+ name: de.name,
494
+ message: de.message
495
+ };
496
+ },
497
+ revive ({message, name}) {
498
+ return new DOMException(message, name);
499
+ }
500
+ }
501
+ };
502
+
503
+ /* globals DOMPoint */
504
+
505
+ /**
506
+ * @type {import('typeson').TypeSpecSet}
507
+ */
508
+ const dompoint = {
509
+ dompoint: {
510
+ test (x) { return toStringTag(x) === 'DOMPoint'; },
511
+ replace (dp) {
512
+ return {
513
+ x: dp.x,
514
+ y: dp.y,
515
+ z: dp.z,
516
+ w: dp.w
517
+ };
518
+ },
519
+ revive ({x, y, z, w}) {
520
+ return new DOMPoint(x, y, z, w);
521
+ }
522
+ }
523
+ };
524
+
525
+ /* globals DOMRect */
526
+
527
+ /**
528
+ * @type {import('typeson').TypeSpecSet}
529
+ */
530
+ const domrect = {
531
+ domrect: {
532
+ test (x) { return toStringTag(x) === 'DOMRect'; },
533
+ replace (dr) {
534
+ return {
535
+ x: dr.x,
536
+ y: dr.y,
537
+ width: dr.width,
538
+ height: dr.height
539
+ };
540
+ },
541
+ revive ({x, y, width, height}) {
542
+ return new DOMRect(x, y, width, height);
543
+ }
544
+ }
545
+ };
546
+
487
547
  /**
488
548
  * @type {import('typeson').TypeSpecSet}
489
549
  */
@@ -539,9 +599,12 @@ if (typeof AggregateError !== 'undefined') {
539
599
  create$2(AggregateError);
540
600
  }
541
601
 
542
- /* c8 ignore next 2 */
543
- // @ts-ignore Non-standard
544
- typeof InternalError === 'function' && create$2(InternalError);
602
+ /* c8 ignore next 5 */
603
+ // @ts-expect-error Non-standard
604
+ if (typeof InternalError === 'function') {
605
+ // @ts-expect-error Non-standard
606
+ create$2(InternalError);
607
+ }
545
608
 
546
609
  /* eslint-disable jsdoc/valid-types -- https://github.com/jsdoc-type-pratt-parser/jsdoc-type-pratt-parser/issues/131 */
547
610
  /**
@@ -723,7 +786,7 @@ const filelist = {
723
786
  }
724
787
  };
725
788
 
726
- /* globals createImageBitmap */
789
+ /* globals document, createImageBitmap */
727
790
  // `ImageBitmap` is browser / DOM specific. It also can only work
728
791
  // same-domain (or CORS)
729
792
 
@@ -835,8 +898,8 @@ const imagedata = {
835
898
  const infinity = {
836
899
  infinity: {
837
900
  test (x) { return x === Number.POSITIVE_INFINITY; },
838
- replace (n) { return 'Infinity'; },
839
- revive (s) { return Number.POSITIVE_INFINITY; }
901
+ replace (/* n */) { return 'Infinity'; },
902
+ revive (/* s */) { return Number.POSITIVE_INFINITY; }
840
903
  }
841
904
  };
842
905
 
@@ -892,8 +955,8 @@ const map = {
892
955
  const nan = {
893
956
  nan: {
894
957
  test (x) { return Number.isNaN(x); },
895
- replace (n) { return 'NaN'; },
896
- revive (s) { return Number.NaN; }
958
+ replace (/* n */) { return 'NaN'; },
959
+ revive (/* s */) { return Number.NaN; }
897
960
  }
898
961
  };
899
962
 
@@ -903,8 +966,8 @@ const nan = {
903
966
  const negativeInfinity = {
904
967
  negativeInfinity: {
905
968
  test (x) { return x === Number.NEGATIVE_INFINITY; },
906
- replace (n) { return '-Infinity'; },
907
- revive (s) { return Number.NEGATIVE_INFINITY; }
969
+ replace (/* n */) { return '-Infinity'; },
970
+ revive (/* s */) { return Number.NEGATIVE_INFINITY; }
908
971
  }
909
972
  };
910
973
 
@@ -916,11 +979,11 @@ const negativeZero = {
916
979
  test (x) {
917
980
  return Object.is(x, -0);
918
981
  },
919
- replace (n) {
982
+ replace (/* n */) {
920
983
  // Just adding 0 here for minimized space; will still revive as -0
921
984
  return 0;
922
985
  },
923
- revive (s) {
986
+ revive (/* s */) {
924
987
  return -0;
925
988
  }
926
989
  }
@@ -952,7 +1015,7 @@ const nonbuiltinIgnore = {
952
1015
  'Atomics', 'Module'
953
1016
  ].includes(toStringTag(x));
954
1017
  },
955
- replace (rexp) {
1018
+ replace (/* rexp */) {
956
1019
  // Not in use
957
1020
  }
958
1021
  }
@@ -1241,8 +1304,8 @@ const undef$1 = {
1241
1304
  return typeof x === 'undefined' &&
1242
1305
  (stateObj.ownKeys || !('ownKeys' in stateObj));
1243
1306
  },
1244
- replace (n) { return 0; },
1245
- revive (s$1) {
1307
+ replace (/* n */) { return 0; },
1308
+ revive (/* s */) {
1246
1309
  // Will add `undefined` (returning `undefined` would instead
1247
1310
  // avoid explicitly setting)
1248
1311
  return new s();
@@ -1255,7 +1318,7 @@ const undef$1 = {
1255
1318
  */
1256
1319
  const userObject = {
1257
1320
  userObject: {
1258
- test (x, stateObj) { return isUserObject(x); },
1321
+ test (x /* , stateObj */) { return isUserObject(x); },
1259
1322
  replace (n) { return {...n}; },
1260
1323
  revive (s) { return s; }
1261
1324
  }
@@ -1321,8 +1384,8 @@ const arrayNonindexKeys = [
1321
1384
  test (x, stateObj) {
1322
1385
  return typeof x === 'undefined' && stateObj.ownKeys === false;
1323
1386
  },
1324
- replace (n) { return 0; },
1325
- revive (s) { return undefined; } // Will avoid adding anything
1387
+ replace (/* n */) { return 0; },
1388
+ revive (/* s */) { return undefined; } // Will avoid adding anything
1326
1389
  }
1327
1390
  }
1328
1391
  ];
@@ -1436,8 +1499,8 @@ const sparseUndefined = [
1436
1499
  test (x, stateObj) {
1437
1500
  return typeof x === 'undefined' && stateObj.ownKeys === false;
1438
1501
  },
1439
- replace (n) { return 0; },
1440
- revive (s) { return undefined; } // Will avoid adding anything
1502
+ replace (/* n */) { return 0; },
1503
+ revive (/* s */) { return undefined; } // Will avoid adding anything
1441
1504
  }
1442
1505
  }
1443
1506
  ];
@@ -1479,15 +1542,17 @@ const expObj = [
1479
1542
  /* c8 ignore next */
1480
1543
  typeof DataView === 'function' ? dataview : [],
1481
1544
  /* c8 ignore next */
1482
- typeof Intl !== 'undefined' ? intlTypes : [],
1483
- /* c8 ignore next */
1484
1545
  typeof crypto !== 'undefined' ? cryptokey : [],
1485
1546
  /* c8 ignore next */
1486
- typeof BigInt !== 'undefined' ? [bigint, bigintObject] : []
1547
+ typeof BigInt !== 'undefined' ? [bigint, bigintObject] : [],
1548
+ /* c8 ignore next */
1549
+ typeof DOMException !== 'undefined' ? domexception : [],
1550
+ /* c8 ignore next */
1551
+ typeof DOMRect !== 'undefined' ? domrect : [],
1552
+ /* c8 ignore next */
1553
+ typeof DOMPoint !== 'undefined' ? dompoint : []
1487
1554
  );
1488
1555
 
1489
- /* globals DOMException */
1490
-
1491
1556
  /**
1492
1557
  * @type {import('typeson').Preset}
1493
1558
  */
@@ -1583,5 +1648,5 @@ const universal = [
1583
1648
  // built-in into ecmasript standard.
1584
1649
  ];
1585
1650
 
1586
- export { u as JSON_TYPES, c as Typeson, e as TypesonPromise, s as Undefined, arrayNonindexKeys, arraybuffer, bigint, bigintObject, blob, expObj$1 as builtin, cloneable, cryptokey, dataview, date, error, errors, escapeKeyPathComponent, file, filelist, getByKeyPath, getJSONType, hasConstructorOf, imagebitmap, imagedata, infinity, intlTypes, isObject, isPlainObject, isThenable, isUserObject, map, nan, negativeInfinity, negativeZero, nonbuiltinIgnore, postmessage, primitiveObjects, regexp, resurrectable, set, setAtKeyPath, socketio, sparseUndefined, specialNumbers, expObj as structuredCloning, structuredCloningThrowing, toStringTag, typedArrays, typedArraysSocketIO as typedArraysSocketio, undef$1 as undef, undef as undefPreset, unescapeKeyPathComponent, universal, userObject };
1651
+ export { u as JSON_TYPES, c as Typeson, e as TypesonPromise, s as Undefined, arrayNonindexKeys, arraybuffer, bigint, bigintObject, blob, expObj$1 as builtin, cloneable, cryptokey, dataview, date, domexception, dompoint, domrect, error, errors, escapeKeyPathComponent, file, filelist, getByKeyPath, getJSONType, hasConstructorOf, imagebitmap, imagedata, infinity, intlTypes, isObject, isPlainObject, isThenable, isUserObject, map, nan, negativeInfinity, negativeZero, nonbuiltinIgnore, postmessage, primitiveObjects, regexp, resurrectable, set, setAtKeyPath, socketio, sparseUndefined, specialNumbers, expObj as structuredCloning, structuredCloningThrowing, toStringTag, typedArrays, typedArraysSocketIO as typedArraysSocketio, undef$1 as undef, undef as undefPreset, unescapeKeyPathComponent, universal, userObject };
1587
1652
  //# sourceMappingURL=index.js.map