typeson-registry 2.0.0 → 3.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 (62) hide show
  1. package/dist/index.js +88 -72
  2. package/dist/index.js.map +1 -1
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.min.js.map +1 -1
  5. package/dist/index.umd.js +73 -68
  6. package/dist/index.umd.js.map +1 -1
  7. package/dist/index.umd.min.js +1 -1
  8. package/dist/index.umd.min.js.map +1 -1
  9. package/dist/presets/array-nonindex-keys.umd.js.map +1 -1
  10. package/dist/presets/builtin.umd.js +1 -1
  11. package/dist/presets/builtin.umd.js.map +1 -1
  12. package/dist/presets/postmessage.umd.js +1 -1
  13. package/dist/presets/postmessage.umd.js.map +1 -1
  14. package/dist/presets/socketio.umd.js +1 -1
  15. package/dist/presets/socketio.umd.js.map +1 -1
  16. package/dist/presets/sparse-undefined.umd.js.map +1 -1
  17. package/dist/presets/special-numbers.umd.js.map +1 -1
  18. package/dist/presets/structured-cloning-throwing.umd.js +1 -1
  19. package/dist/presets/structured-cloning-throwing.umd.js.map +1 -1
  20. package/dist/presets/structured-cloning.umd.js +1 -1
  21. package/dist/presets/structured-cloning.umd.js.map +1 -1
  22. package/dist/presets/undef.umd.js.map +1 -1
  23. package/dist/presets/universal.umd.js +1 -1
  24. package/dist/presets/universal.umd.js.map +1 -1
  25. package/dist/types/arraybuffer.umd.js.map +1 -1
  26. package/dist/types/bigint-object.umd.js +1 -1
  27. package/dist/types/bigint-object.umd.js.map +1 -1
  28. package/dist/types/bigint.umd.js +1 -1
  29. package/dist/types/bigint.umd.js.map +1 -1
  30. package/dist/types/blob.umd.js.map +1 -1
  31. package/dist/types/cloneable.umd.js.map +1 -1
  32. package/dist/types/cryptokey.umd.js.map +1 -1
  33. package/dist/types/dataview.umd.js.map +1 -1
  34. package/dist/types/date.umd.js.map +1 -1
  35. package/dist/types/error.umd.js.map +1 -1
  36. package/dist/types/errors.umd.js +1 -1
  37. package/dist/types/errors.umd.js.map +1 -1
  38. package/dist/types/file.umd.js.map +1 -1
  39. package/dist/types/filelist.umd.js.map +1 -1
  40. package/dist/types/imagebitmap.umd.js.map +1 -1
  41. package/dist/types/imagedata.umd.js.map +1 -1
  42. package/dist/types/infinity.umd.js.map +1 -1
  43. package/dist/types/intl-types.umd.js.map +1 -1
  44. package/dist/types/map.umd.js.map +1 -1
  45. package/dist/types/nan.umd.js.map +1 -1
  46. package/dist/types/negative-infinity.umd.js.map +1 -1
  47. package/dist/types/nonbuiltin-ignore.umd.js.map +1 -1
  48. package/dist/types/primitive-objects.umd.js +1 -1
  49. package/dist/types/primitive-objects.umd.js.map +1 -1
  50. package/dist/types/regexp.umd.js.map +1 -1
  51. package/dist/types/resurrectable.umd.js.map +1 -1
  52. package/dist/types/set.umd.js.map +1 -1
  53. package/dist/types/typed-arrays-socketio.umd.js +1 -1
  54. package/dist/types/typed-arrays-socketio.umd.js.map +1 -1
  55. package/dist/types/typed-arrays.umd.js +1 -1
  56. package/dist/types/typed-arrays.umd.js.map +1 -1
  57. package/dist/types/undef.umd.js.map +1 -1
  58. package/dist/types/user-object.umd.js.map +1 -1
  59. package/package.json +20 -20
  60. package/polyfills/createObjectURL.js +3 -3
  61. package/polyfills/createObjectURL.umd.js +1 -1
  62. package/polyfills/createObjectURL.umd.js.map +1 -1
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).builtin=t()}(this,(function(){"use strict";var e=[{arrayNonindexKeys:{testPlainObjects:!0,test:function test(e,t){return!!Array.isArray(e)&&(Object.keys(e).some((function(e){return String(Number.parseInt(e))!==e}))&&(t.iterateIn="object",t.addLength=!0),!0)},replace:function replace(e,t){return t.iterateUnsetNumeric=!0,e},revive:function revive(e){if(Array.isArray(e))return e;var t=[];return Object.keys(e).forEach((function(r){var n=e[r];t[r]=n})),t}}},{sparseUndefined:{test:function test(e,t){return void 0===e&&!1===t.ownKeys},replace:function replace(e){return 0},revive:function revive(e){}}}];function _typeof$1(e){return _typeof$1="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$1(e)}function _toConsumableArray$1(e){return function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray$1(e)}(e)||function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function _unsupportedIterableToArray$1(e,t){if(!e)return;if("string"==typeof e)return _arrayLikeToArray$1(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray$1(e,t)}(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 _arrayLikeToArray$1(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 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$1(Symbol.iterator)?function(e){return _typeof$1(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof$1(e)})(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,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 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=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}}(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 _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}var t=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)}));t.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&(t.prototype[Symbol.toStringTag]="TypesonPromise"),t.prototype.then=function(e,r){var n=this;return new t((function(t,o){n.p.then((function(r){t(e?e(r):r)})).catch((function(e){return r?r(e):Promise.reject(e)})).then(t,o)}))},t.prototype.catch=function(e){return this.then(null,e)},t.resolve=function(e){return new t((function(t){t(e)}))},t.reject=function(e){return new t((function(t,r){r(e)}))},["all","race","allSettled"].forEach((function(e){t[e]=function(r){return new t((function(t,n){Promise[e](r.map((function(e){return e&&e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(t,n)}))}}));var r={}.toString,n={}.hasOwnProperty,o=Object.getPrototypeOf,i=n.toString;function isThenable(e,t){return isObject(e)&&"function"==typeof e.then&&(!t||"function"==typeof e.catch)}function toStringTag(e){return r.call(e).slice(8,-1)}function hasConstructorOf(e,t){if(!e||"object"!==_typeof(e))return!1;var r=o(e);if(!r)return null===t;var a=n.call(r,"constructor")&&r.constructor;return"function"!=typeof a?null===t:t===a||null!==t&&i.call(a)===i.call(t)||"function"==typeof t&&"string"==typeof a.__typeson__type__&&a.__typeson__type__===t.__typeson__type__}function isPlainObject(e){return!(!e||"Object"!==toStringTag(e))&&(!o(e)||hasConstructorOf(e,Object))}function isObject(e){return e&&"object"===_typeof(e)}function escapeKeyPathComponent(e){return e.replace(/~/g,"~0").replace(/\./g,"~1")}function unescapeKeyPathComponent(e){return e.replace(/~1/g,".").replace(/~0/g,"~")}function getByKeyPath(e,t){if(""===t)return e;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;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 a=Object.keys,c=Array.isArray,u={}.hasOwnProperty,s=["type","replaced","iterateIn","iterateUnsetNumeric"];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){if(""===e.keypath)return-1;var r=e.keypath.match(/\./g)||0,n=t.keypath.match(/\./g)||0;return r&&(r=r.length),n&&(n=n.length),r>n?-1:r<n?1:e.keypath<t.keypath?-1:e.keypath>t.keypath}!function(){function Typeson(e){_classCallCheck(this,Typeson),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}_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 c(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(e,r,n){var o=_async((function(e,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 i=!1,a=[],c=_slicedToArray(r.splice(0,1),1),u=_slicedToArray(c[0],7),s=u[0],f=u[2],l=u[3],p=u[4],y=u[5],v=u[6],b=_encapsulate(s,n,f,l,a,!0,v),h=hasConstructorOf(b,t);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(s&&h)return _await(b.p,(function(t){p[y]=t;var r=o(e,a);return i=!0,r}))}),(function(t){return i?t:(s?p[y]=b:e=h?b.p:b,o(e,a))}))})))),(function(){return e}))}))})),i=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,f=this,l={},p=[],y=[],v=[],b=!("cyclic"in n)||n.cyclic,h=n.encapsulateObserver,d=_encapsulate("",e,b,r||{},v);function finish(e){var t=Object.values(l);if(n.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(n.returnTypeNames)return 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.")}()}(new Set(t));e&&isPlainObject(e)&&!u.call(e,"$types")?e.$types=l:e={$:e,$types:{$:l}}}else isObject(e)&&u.call(e,"$types")&&(e={$:e,$types:!0});return!n.returnTypeNames&&e}function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=s.map((function(t){var r=e[t];return delete e[t],r}));r(),s.forEach((function(t,r){e[t]=n[r]}))}function _encapsulate(e,r,o,i,s,v,b){var d,g={},_=_typeof(r),m=h?function(n){var a=b||i.type||getJSONType(r);h(Object.assign(n||g,{keypath:e,value:r,cyclic:o,stateObj:i,promisesData:s,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,t)},{type:a}))}:null;if(["string","boolean","number","undefined"].includes(_))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(d=i.replaced?r:replace(e,r,i,s,!1,v,m))!==r&&(g={replaced:d}):d=r,m&&m(),d;if(null===r)return m&&m(),r;if(o&&!i.iterateIn&&!i.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var O=p.indexOf(r);if(!(O<0))return l[e]="#",m&&m({cyclicKeypath:y[O]}),"#"+y[O];!0===o&&(p.push(r),y.push(e))}var S,j=isPlainObject(r),A=c(r),T=(j||A)&&(!f.plainObjectReplacers.length||i.replaced)||i.iterateIn?r:replace(e,r,i,s,j||A,null,m);if(T!==r?(d=T,g={replaced:T}):""===e&&hasConstructorOf(r,t)?(s.push([e,r,o,i,void 0,void 0,i.type]),d=r):A&&"object"!==i.iterateIn||"array"===i.iterateIn?(S=new Array(r.length),g={clone:S}):(["function","symbol"].includes(_typeof(r))||"toJSON"in r||hasConstructorOf(r,t)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!j&&"object"!==i.iterateIn?d=r:(S={},i.addLength&&(S.length=r.length),g={clone:S}),m&&m(),n.iterateNone)return S||d;if(!S)return d;if(i.iterateIn){var w=function _loop(n){var a={ownKeys:u.call(r,n)};_adaptBuiltinStateObjectProperties(i,a,(function(){var a=e+(e?".":"")+escapeKeyPathComponent(n),c=_encapsulate(a,r[n],Boolean(o),i,s,v);hasConstructorOf(c,t)?s.push([a,c,Boolean(o),i,S,n,i.type]):void 0!==c&&(S[n]=c)}))};for(var I in r)w(I);m&&m({endIterateIn:!0,end:!0})}else a(r).forEach((function(n){var a=e+(e?".":"")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},(function(){var e=_encapsulate(a,r[n],Boolean(o),i,s,v);hasConstructorOf(e,t)?s.push([a,e,Boolean(o),i,S,n,i.type]):void 0!==e&&(S[n]=e)}))})),m&&m({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){for(var P=r.length,N=function _loop2(n){if(!(n in r)){var a=e+(e?".":"")+n;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},(function(){var e=_encapsulate(a,void 0,Boolean(o),i,s,v);hasConstructorOf(e,t)?s.push([a,e,Boolean(o),i,S,n,i.type]):void 0!==e&&(S[n]=e)}))}},C=0;C<P;C++)N(C);m&&m({endIterateUnsetNumeric:!0,end:!0})}return S}function replace(e,t,r,n,o,a,c){for(var u=o?f.plainObjectReplacers:f.nonplainObjectReplacers,s=u.length;s--;){var p=u[s];if(p.test(t,r)){var y=p.type;if(f.revivers[y]){var v=l[e];l[e]=v?[y].concat(v):y}return Object.assign(r,{type:y,replaced:!0}),!i&&p.replaceAsync||p.replace?(c&&c({replacing:!0}),_encapsulate(e,p[i||!p.replaceAsync?"replace":"replaceAsync"](t,r),b&&"readonly",r,n,a,y)):(c&&c({typeDetected:!0}),_encapsulate(e,t,b&&"readonly",r,n,a,y))}}return t}return v.length?i&&n.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(o(d,v)).then(finish):!i&&n.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():n.stringification&&i?[finish(d)]:i?finish(d):Promise.resolve(finish(d))}},{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(e,r){var n=e&&e.$types;if(!n)return e;if(!0===n)return e.$;var o=(r=_objectSpread2(_objectSpread2({sync:!0},this.options),r)).sync,i=[],u={},s=!0;n.$&&isPlainObject(n.$)&&(e=e.$,n=n.$,s=!1);var l=this;function executeReviver(e,t){var r=_slicedToArray(l.revivers[e]||[],1)[0];if(!r)throw new Error("Unregistered type: "+e);return o&&!("revive"in r)?t:r[o&&r.revive?"revive":!o&&r.reviveAsync?"reviveAsync":"revive"](t,u)}var p=[];function checkUndefined(e){return hasConstructorOf(e,f)?void 0:e}var y,v=function revivePlainObjects(){var r=[];if(Object.entries(n).forEach((function(e){var t=_slicedToArray(e,2),o=t[0],i=t[1];"#"!==i&&[].concat(i).forEach((function(e){_slicedToArray(l.revivers[e]||[null,{}],2)[1].plain&&(r.push({keypath:o,type:e}),delete n[o])}))})),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(e,o);if(hasConstructorOf(a=executeReviver(i,a),t))return a.then((function(t){var r=setAtKeyPath(e,o,t);r===t&&(e=r)}));var c=setAtKeyPath(e,o,a);c===a&&(e=c)}),void 0)}();return hasConstructorOf(v,t)?y=v.then((function(){return e})):(y=function _revive(e,r,o,u,l){if(!s||"$types"!==e){var y=n[e],v=c(r);if(v||isPlainObject(r)){var b=v?new Array(r.length):{};for(a(r).forEach((function(n){var i=_revive(e+(e?".":"")+escapeKeyPathComponent(n),r[n],o||b,b,n),a=function set(e){return hasConstructorOf(e,f)?b[n]=void 0:void 0!==e&&(b[n]=e),e};hasConstructorOf(i,t)?p.push(i.then((function(e){return a(e)}))):a(i)})),r=b;i.length;){var h=_slicedToArray(i[0],4),d=h[0],g=h[1],_=h[2],m=h[3],O=getByKeyPath(d,g);if(void 0===O)break;_[m]=O,i.splice(0,1)}}if(!y)return r;if("#"===y){var S=getByKeyPath(o,r.slice(1));return void 0===S&&i.push([o,r.slice(1),u,l]),S}return[].concat(y).reduce((function reducer(e,r){return hasConstructorOf(e,t)?e.then((function(e){return reducer(e,r)})):executeReviver(r,e)}),r)}}("",e,null),p.length&&(y=t.resolve(y).then((function(e){return t.all([e].concat(p))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(y)?o&&r.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():hasConstructorOf(y,t)?y.p.then(checkUndefined):y:!o&&r.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():o?checkUndefined(y):Promise.resolve(checkUndefined(y))}},{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;t=t||{};var n=function R(e){c(e)?e.forEach((function(e){return R(e)})):e&&a(e).forEach((function(n){if("#"===n)throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(l.includes(n))throw new TypeError("Plain JSON object types are reserved as type names");var o=e[n],i=o&&o.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,a=i.filter((function(e){return e.type===n}));if(a.length&&(i.splice(i.indexOf(a[0]),1),delete r.revivers[n],delete r.types[n]),"function"==typeof o){var u=o;o={test:function test(e){return e&&e.constructor===u},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(u.prototype),e)}}}else if(c(o)){var s=_slicedToArray(o,3);o={test:s[0],replace:s[1],revive:s[2]}}if(o&&o.test){var f={type:n,test:o.test.bind(o)};o.replace&&(f.replace=o.replace.bind(o)),o.replaceAsync&&(f.replaceAsync=o.replaceAsync.bind(o));var p="number"==typeof t.fallback?t.fallback:t.fallback?0:Number.POSITIVE_INFINITY;if(o.testPlainObjects?r.plainObjectReplacers.splice(p,0,f):r.nonplainObjectReplacers.splice(p,0,f),o.revive||o.reviveAsync){var y={};o.revive&&(y.revive=o.revive.bind(o)),o.reviveAsync&&(y.reviveAsync=o.reviveAsync.bind(o)),r.revivers[n]=[y,{plain:o.testPlainObjects}]}r.types[n]=o}}))};return[].concat(e).forEach((function(e){return n(e)})),this}}])}();var f=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));f.__typeson__type__="TypesonUndefined";var l=["null","boolean","number","string","array","object"],p={undef:{test:function test(e,t){return void 0===e&&(t.ownKeys||!("ownKeys"in t))},replace:function replace(e){return 0},revive:function revive(e){return new f}}},y={StringObject:{test:function test(e){return"String"===toStringTag(e)&&"object"===_typeof$1(e)},replace:function replace(e){return String(e)},revive:function revive(e){return new String(e)}},BooleanObject:{test:function test(e){return"Boolean"===toStringTag(e)&&"object"===_typeof$1(e)},replace:function replace(e){return Boolean(e)},revive:function revive(e){return new Boolean(e)}},NumberObject:{test:function test(e){return"Number"===toStringTag(e)&&"object"===_typeof$1(e)},replace:function replace(e){return Number(e)},revive:function revive(e){return new Number(e)}}},v=[{nan:{test:function test(e){return Number.isNaN(e)},replace:function replace(e){return"NaN"},revive:function revive(e){return Number.NaN}}},{infinity:{test:function test(e){return e===Number.POSITIVE_INFINITY},replace:function replace(e){return"Infinity"},revive:function revive(e){return Number.POSITIVE_INFINITY}}},{negativeInfinity:{test:function test(e){return e===Number.NEGATIVE_INFINITY},replace:function replace(e){return"-Infinity"},revive:function revive(e){return Number.NEGATIVE_INFINITY}}}],b={date:{test:function test(e){return"Date"===toStringTag(e)},replace:function replace(e){var t=e.getTime();return Number.isNaN(t)?"NaN":t},revive:function revive(e){return"NaN"===e?new Date(Number.NaN):new Date(e)}}},h={error:{test:function test(e){return"Error"===toStringTag(e)},replace:function replace(e){return{name:e.name,message:e.message}},revive:function revive(e){var t=e.name,r=e.message,n=new Error(r);return n.name=t,n}}},d="undefined"==typeof self?global:self,g={};["TypeError","RangeError","SyntaxError","ReferenceError","EvalError","URIError","InternalError"].forEach((function(e){var t=d[e];t&&(g[e.toLowerCase()]={test:function test(e){return hasConstructorOf(e,t)},replace:function replace(e){return e.message},revive:function revive(e){return new t(e)}})}));for(var _={regexp:{test:function test(e){return"RegExp"===toStringTag(e)},replace:function replace(e){return{source:e.source,flags:(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.sticky?"y":"")+(e.unicode?"u":"")}},revive:function revive(e){var t=e.source,r=e.flags;return new RegExp(t,r)}}},m={map:{test:function test(e){return"Map"===toStringTag(e)},replace:function replace(e){return _toConsumableArray$1(e.entries())},revive:function revive(e){return new Map(e)}}},O={set:{test:function test(e){return"Set"===toStringTag(e)},replace:function replace(e){return _toConsumableArray$1(e.values())},revive:function revive(e){return new Set(e)}}},S="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",j=new Uint8Array(256),A=0;A<S.length;A++)j[S.codePointAt(A)]=A;var T=function encode(e,t,r){null==r&&(r=e.byteLength);for(var n=new Uint8Array(e,t||0,r),o=n.length,i="",a=0;a<o;a+=3)i+=S[n[a]>>2],i+=S[(3&n[a])<<4|n[a+1]>>4],i+=S[(15&n[a+1])<<2|n[a+2]>>6],i+=S[63&n[a+2]];return o%3==2?i=i.slice(0,-1)+"=":o%3==1&&(i=i.slice(0,-2)+"=="),i},w=function decode(e){var t,r,n,o,i=e.length,a=.75*e.length,c=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);for(var u=new ArrayBuffer(a),s=new Uint8Array(u),f=0;f<i;f+=4)t=j[e.codePointAt(f)],r=j[e.codePointAt(f+1)],n=j[e.codePointAt(f+2)],o=j[e.codePointAt(f+3)],s[c++]=t<<2|r>>4,s[c++]=(15&r)<<4|n>>2,s[c++]=(3&n)<<6|63&o;return u},I={arraybuffer:{test:function test(e){return"ArrayBuffer"===toStringTag(e)},replace:function replace(e,t){t.buffers||(t.buffers=[]);var r=t.buffers.indexOf(e);return r>-1?{index:r}:(t.buffers.push(e),T(e))},revive:function revive(e,t){if(t.buffers||(t.buffers=[]),"object"===_typeof$1(e))return t.buffers[e.index];var r=w(e);return t.buffers.push(r),r}}},P="undefined"==typeof self?global:self,N={};["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach((function(e){var t=e,r=P[t];r&&(N[e.toLowerCase()]={test:function test(e){return toStringTag(e)===t},replace:function replace(e,t){var r=e.buffer,n=e.byteOffset,o=e.length;t.buffers||(t.buffers=[]);var i=t.buffers.indexOf(r);return i>-1?{index:i,byteOffset:n,length:o}:(t.buffers.push(r),{encoded:T(r),byteOffset:n,length:o})},revive:function revive(e,t){t.buffers||(t.buffers=[]);var n,o=e.byteOffset,i=e.length,a=e.encoded,c=e.index;return"index"in e?n=t.buffers[c]:(n=w(a),t.buffers.push(n)),new r(n,o,i)}})}));var C={dataview:{test:function test(e){return"DataView"===toStringTag(e)},replace:function replace(e,t){var r=e.buffer,n=e.byteOffset,o=e.byteLength;t.buffers||(t.buffers=[]);var i=t.buffers.indexOf(r);return i>-1?{index:i,byteOffset:n,byteLength:o}:(t.buffers.push(r),{encoded:T(r),byteOffset:n,byteLength:o})},revive:function revive(e,t){t.buffers||(t.buffers=[]);var r,n=e.byteOffset,o=e.byteLength,i=e.encoded,a=e.index;return"index"in e?r=t.buffers[a]:(r=w(i),t.buffers.push(r)),new DataView(r,n,o)}}},k={test:function test(e){return hasConstructorOf(e,Intl.Collator)},replace:function replace(e){return e.resolvedOptions()},revive:function revive(e){return new Intl.Collator(e.locale,e)}},E={test:function test(e){return hasConstructorOf(e,Intl.DateTimeFormat)},replace:function replace(e){return e.resolvedOptions()},revive:function revive(e){return new Intl.DateTimeFormat(e.locale,e)}},B={test:function test(e){return hasConstructorOf(e,Intl.NumberFormat)},replace:function replace(e){return e.resolvedOptions()},revive:function revive(e){return new Intl.NumberFormat(e.locale,e)}},$={bigint:{test:function test(e){return"bigint"==typeof e},replace:function replace(e){return String(e)},revive:function revive(e){return BigInt(e)}}},K={bigintObject:{test:function test(e){return"object"===_typeof$1(e)&&hasConstructorOf(e,BigInt)},replace:function replace(e){return String(e)},revive:function revive(e){return new Object(BigInt(e))}}};return[p,e,y,v,b,h,g,_].concat("function"==typeof Map?m:[],"function"==typeof Set?O:[],"function"==typeof ArrayBuffer?I:[],"function"==typeof Uint8Array?N:[],"function"==typeof DataView?C:[],"undefined"!=typeof Intl?{IntlCollator:k,IntlDateTimeFormat:E,IntlNumberFormat:B}:[],"undefined"!=typeof BigInt?[$,K]:[])}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).builtin=t()}(this,(function(){"use strict";var e=[{arrayNonindexKeys:{testPlainObjects:!0,test:function test(e,t){return!!Array.isArray(e)&&(Object.keys(e).some((function(e){return String(Number.parseInt(e))!==e}))&&(t.iterateIn="object",t.addLength=!0),!0)},replace:function replace(e,t){return t.iterateUnsetNumeric=!0,e},revive:function revive(e){if(Array.isArray(e))return e;var t=[];return Object.keys(e).forEach((function(r){var n=e[r];t[r]=n})),t}}},{sparseUndefined:{test:function test(e,t){return void 0===e&&!1===t.ownKeys},replace:function replace(e){return 0},revive:function revive(e){}}}];function _typeof$1(e){return _typeof$1="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$1(e)}function _toConsumableArray$1(e){return function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray$1(e)}(e)||function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function _unsupportedIterableToArray$1(e,t){if(!e)return;if("string"==typeof e)return _arrayLikeToArray$1(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return _arrayLikeToArray$1(e,t)}(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 _arrayLikeToArray$1(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 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$1(Symbol.iterator)?function(e){return _typeof$1(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof$1(e)})(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,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 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=!0,c=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){c=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(c)throw o}}return i}}(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 _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}var t=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)}));t.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&(t.prototype[Symbol.toStringTag]="TypesonPromise"),t.prototype.then=function(e,r){var n=this;return new t((function(t,o){n.p.then((function(r){t(e?e(r):r)})).catch((function(e){return r?r(e):Promise.reject(e)})).then(t,o)}))},t.prototype.catch=function(e){return this.then(null,e)},t.resolve=function(e){return new t((function(t){t(e)}))},t.reject=function(e){return new t((function(t,r){r(e)}))},["all","race","allSettled"].forEach((function(e){t[e]=function(r){return new t((function(t,n){Promise[e](r.map((function(e){return e&&e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(t,n)}))}}));var r={}.toString,n={}.hasOwnProperty,o=Object.getPrototypeOf,i=n.toString;function isThenable(e,t){return isObject(e)&&"function"==typeof e.then&&(!t||"function"==typeof e.catch)}function toStringTag(e){return r.call(e).slice(8,-1)}function hasConstructorOf(e,t){if(!e||"object"!==_typeof(e))return!1;var r=o(e);if(!r)return null===t;var a=n.call(r,"constructor")&&r.constructor;return"function"!=typeof a?null===t:t===a||null!==t&&i.call(a)===i.call(t)||"function"==typeof t&&"string"==typeof a.__typeson__type__&&a.__typeson__type__===t.__typeson__type__}function isPlainObject(e){return!(!e||"Object"!==toStringTag(e))&&(!o(e)||hasConstructorOf(e,Object))}function isObject(e){return e&&"object"===_typeof(e)}function escapeKeyPathComponent(e){return e.replace(/~/g,"~0").replace(/\./g,"~1")}function unescapeKeyPathComponent(e){return e.replace(/~1/g,".").replace(/~0/g,"~")}function getByKeyPath(e,t){if(""===t)return e;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;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 a=Object.keys,c=Array.isArray,u={}.hasOwnProperty,s=["type","replaced","iterateIn","iterateUnsetNumeric"];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){if(""===e.keypath)return-1;var r=e.keypath.match(/\./g)||0,n=t.keypath.match(/\./g)||0;return r&&(r=r.length),n&&(n=n.length),r>n?-1:r<n?1:e.keypath<t.keypath?-1:e.keypath>t.keypath}!function(){function Typeson(e){_classCallCheck(this,Typeson),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}_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 c(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(e,r,n){var o=_async((function(e,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 i=!1,a=[],c=_slicedToArray(r.splice(0,1),1),u=_slicedToArray(c[0],7),s=u[0],f=u[2],l=u[3],y=u[4],p=u[5],v=u[6],b=_encapsulate(s,n,f,l,a,!0,v),h=hasConstructorOf(b,t);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(s&&h)return _await(b.p,(function(t){y[p]=t;var r=o(e,a);return i=!0,r}))}),(function(t){return i?t:(s?y[p]=b:e=h?b.p:b,o(e,a))}))})))),(function(){return e}))}))})),i=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,f=this,l={},y=[],p=[],v=[],b=!("cyclic"in n)||n.cyclic,h=n.encapsulateObserver,d=_encapsulate("",e,b,r||{},v);function finish(e){var t=Object.values(l);if(n.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(n.returnTypeNames)return 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.")}()}(new Set(t));e&&isPlainObject(e)&&!u.call(e,"$types")?e.$types=l:e={$:e,$types:{$:l}}}else isObject(e)&&u.call(e,"$types")&&(e={$:e,$types:!0});return!n.returnTypeNames&&e}function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=s.map((function(t){var r=e[t];return delete e[t],r}));r(),s.forEach((function(t,r){e[t]=n[r]}))}function _encapsulate(e,r,o,i,s,v,b){var d,m={},_=_typeof(r),g=h?function(n){var a=b||i.type||getJSONType(r);h(Object.assign(n||m,{keypath:e,value:r,cyclic:o,stateObj:i,promisesData:s,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,t)},{type:a}))}:null;if(["string","boolean","number","undefined"].includes(_))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(d=i.replaced?r:replace(e,r,i,s,!1,v,g))!==r&&(m={replaced:d}):d=r,g&&g(),d;if(null===r)return g&&g(),r;if(o&&!i.iterateIn&&!i.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var O=y.indexOf(r);if(!(O<0))return l[e]="#",g&&g({cyclicKeypath:p[O]}),"#"+p[O];!0===o&&(y.push(r),p.push(e))}var S,j=isPlainObject(r),A=c(r),T=(j||A)&&(!f.plainObjectReplacers.length||i.replaced)||i.iterateIn?r:replace(e,r,i,s,j||A,null,g);if(T!==r?(d=T,m={replaced:T}):""===e&&hasConstructorOf(r,t)?(s.push([e,r,o,i,void 0,void 0,i.type]),d=r):A&&"object"!==i.iterateIn||"array"===i.iterateIn?(S=new Array(r.length),m={clone:S}):(["function","symbol"].includes(_typeof(r))||"toJSON"in r||hasConstructorOf(r,t)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!j&&"object"!==i.iterateIn?d=r:(S={},i.addLength&&(S.length=r.length),m={clone:S}),g&&g(),n.iterateNone)return S||d;if(!S)return d;if(i.iterateIn){var w=function _loop(n){var a={ownKeys:u.call(r,n)};_adaptBuiltinStateObjectProperties(i,a,(function(){var a=e+(e?".":"")+escapeKeyPathComponent(n),c=_encapsulate(a,r[n],Boolean(o),i,s,v);hasConstructorOf(c,t)?s.push([a,c,Boolean(o),i,S,n,i.type]):void 0!==c&&(S[n]=c)}))};for(var I in r)w(I);g&&g({endIterateIn:!0,end:!0})}else a(r).forEach((function(n){var a=e+(e?".":"")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},(function(){var e=_encapsulate(a,r[n],Boolean(o),i,s,v);hasConstructorOf(e,t)?s.push([a,e,Boolean(o),i,S,n,i.type]):void 0!==e&&(S[n]=e)}))})),g&&g({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){for(var P=r.length,N=function _loop2(n){if(!(n in r)){var a=e+(e?".":"")+n;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},(function(){var e=_encapsulate(a,void 0,Boolean(o),i,s,v);hasConstructorOf(e,t)?s.push([a,e,Boolean(o),i,S,n,i.type]):void 0!==e&&(S[n]=e)}))}},C=0;C<P;C++)N(C);g&&g({endIterateUnsetNumeric:!0,end:!0})}return S}function replace(e,t,r,n,o,a,c){for(var u=o?f.plainObjectReplacers:f.nonplainObjectReplacers,s=u.length;s--;){var y=u[s];if(y.test(t,r)){var p=y.type;if(f.revivers[p]){var v=l[e];l[e]=v?[p].concat(v):p}return Object.assign(r,{type:p,replaced:!0}),!i&&y.replaceAsync||y.replace?(c&&c({replacing:!0}),_encapsulate(e,y[i||!y.replaceAsync?"replace":"replaceAsync"](t,r),b&&"readonly",r,n,a,p)):(c&&c({typeDetected:!0}),_encapsulate(e,t,b&&"readonly",r,n,a,p))}}return t}return v.length?i&&n.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(o(d,v)).then(finish):!i&&n.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():n.stringification&&i?[finish(d)]:i?finish(d):Promise.resolve(finish(d))}},{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(e,r){var n=e&&e.$types;if(!n)return e;if(!0===n)return e.$;var o=(r=_objectSpread2(_objectSpread2({sync:!0},this.options),r)).sync,i=[],u={},s=!0;n.$&&isPlainObject(n.$)&&(e=e.$,n=n.$,s=!1);var l=this;function executeReviver(e,t){var r=_slicedToArray(l.revivers[e]||[],1)[0];if(!r)throw new Error("Unregistered type: "+e);return o&&!("revive"in r)?t:r[o&&r.revive?"revive":!o&&r.reviveAsync?"reviveAsync":"revive"](t,u)}var y=[];function checkUndefined(e){return hasConstructorOf(e,f)?void 0:e}var p,v=function revivePlainObjects(){var r=[];if(Object.entries(n).forEach((function(e){var t=_slicedToArray(e,2),o=t[0],i=t[1];"#"!==i&&[].concat(i).forEach((function(e){_slicedToArray(l.revivers[e]||[null,{}],2)[1].plain&&(r.push({keypath:o,type:e}),delete n[o])}))})),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(e,o);if(hasConstructorOf(a=executeReviver(i,a),t))return a.then((function(t){var r=setAtKeyPath(e,o,t);r===t&&(e=r)}));var c=setAtKeyPath(e,o,a);c===a&&(e=c)}),void 0)}();return hasConstructorOf(v,t)?p=v.then((function(){return e})):(p=function _revive(e,r,o,u,l){if(!s||"$types"!==e){var p=n[e],v=c(r);if(v||isPlainObject(r)){var b=v?new Array(r.length):{};for(a(r).forEach((function(n){var i=_revive(e+(e?".":"")+escapeKeyPathComponent(n),r[n],o||b,b,n),a=function set(e){return hasConstructorOf(e,f)?b[n]=void 0:void 0!==e&&(b[n]=e),e};hasConstructorOf(i,t)?y.push(i.then((function(e){return a(e)}))):a(i)})),r=b;i.length;){var h=_slicedToArray(i[0],4),d=h[0],m=h[1],_=h[2],g=h[3],O=getByKeyPath(d,m);if(void 0===O)break;_[g]=O,i.splice(0,1)}}if(!p)return r;if("#"===p){var S=getByKeyPath(o,r.slice(1));return void 0===S&&i.push([o,r.slice(1),u,l]),S}return[].concat(p).reduce((function reducer(e,r){return hasConstructorOf(e,t)?e.then((function(e){return reducer(e,r)})):executeReviver(r,e)}),r)}}("",e,null),y.length&&(p=t.resolve(p).then((function(e){return t.all([e].concat(y))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(p)?o&&r.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():hasConstructorOf(p,t)?p.p.then(checkUndefined):p:!o&&r.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():o?checkUndefined(p):Promise.resolve(checkUndefined(p))}},{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;t=t||{};var n=function R(e){c(e)?e.forEach((function(e){return R(e)})):e&&a(e).forEach((function(n){if("#"===n)throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(l.includes(n))throw new TypeError("Plain JSON object types are reserved as type names");var o=e[n],i=o&&o.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,a=i.filter((function(e){return e.type===n}));if(a.length&&(i.splice(i.indexOf(a[0]),1),delete r.revivers[n],delete r.types[n]),"function"==typeof o){var u=o;o={test:function test(e){return e&&e.constructor===u},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(u.prototype),e)}}}else if(c(o)){var s=_slicedToArray(o,3);o={test:s[0],replace:s[1],revive:s[2]}}if(o&&o.test){var f={type:n,test:o.test.bind(o)};o.replace&&(f.replace=o.replace.bind(o)),o.replaceAsync&&(f.replaceAsync=o.replaceAsync.bind(o));var y="number"==typeof t.fallback?t.fallback:t.fallback?0:Number.POSITIVE_INFINITY;if(o.testPlainObjects?r.plainObjectReplacers.splice(y,0,f):r.nonplainObjectReplacers.splice(y,0,f),o.revive||o.reviveAsync){var p={};o.revive&&(p.revive=o.revive.bind(o)),o.reviveAsync&&(p.reviveAsync=o.reviveAsync.bind(o)),r.revivers[n]=[p,{plain:o.testPlainObjects}]}r.types[n]=o}}))};return[].concat(e).forEach((function(e){return n(e)})),this}}])}();var f=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));f.__typeson__type__="TypesonUndefined";var l=["null","boolean","number","string","array","object"],y={undef:{test:function test(e,t){return void 0===e&&(t.ownKeys||!("ownKeys"in t))},replace:function replace(e){return 0},revive:function revive(e){return new f}}},p={StringObject:{test:function test(e){return"String"===toStringTag(e)&&"object"===_typeof$1(e)},replace:String,revive:function revive(e){return new String(e)}},BooleanObject:{test:function test(e){return"Boolean"===toStringTag(e)&&"object"===_typeof$1(e)},replace:Boolean,revive:function revive(e){return new Boolean(e)}},NumberObject:{test:function test(e){return"Number"===toStringTag(e)&&"object"===_typeof$1(e)},replace:Number,revive:function revive(e){return new Number(e)}}},v=[{nan:{test:function test(e){return Number.isNaN(e)},replace:function replace(e){return"NaN"},revive:function revive(e){return Number.NaN}}},{infinity:{test:function test(e){return e===Number.POSITIVE_INFINITY},replace:function replace(e){return"Infinity"},revive:function revive(e){return Number.POSITIVE_INFINITY}}},{negativeInfinity:{test:function test(e){return e===Number.NEGATIVE_INFINITY},replace:function replace(e){return"-Infinity"},revive:function revive(e){return Number.NEGATIVE_INFINITY}}}],b={date:{test:function test(e){return"Date"===toStringTag(e)},replace:function replace(e){var t=e.getTime();return Number.isNaN(t)?"NaN":t},revive:function revive(e){return"NaN"===e?new Date(Number.NaN):new Date(e)}}},h={error:{test:function test(e){return"Error"===toStringTag(e)},replace:function replace(e){return{name:e.name,message:e.message}},revive:function revive(e){var t=e.name,r=e.message,n=new Error(r);return n.name=t,n}}},d={};function create$1(e){d[e.name.toLowerCase()]={test:function test(t){return hasConstructorOf(t,e)},replace:function replace(e){return e.message},revive:function revive(t){return new e(t)}}}[TypeError,RangeError,SyntaxError,ReferenceError,EvalError,URIError].forEach((function(e){return create$1(e)})),"function"==typeof InternalError&&create$1(InternalError);for(var m={regexp:{test:function test(e){return"RegExp"===toStringTag(e)},replace:function replace(e){return{source:e.source,flags:(e.global?"g":"")+(e.ignoreCase?"i":"")+(e.multiline?"m":"")+(e.sticky?"y":"")+(e.unicode?"u":"")}},revive:function revive(e){var t=e.source,r=e.flags;return new RegExp(t,r)}}},_={map:{test:function test(e){return"Map"===toStringTag(e)},replace:function replace(e){return _toConsumableArray$1(e.entries())},revive:function revive(e){return new Map(e)}}},g={set:{test:function test(e){return"Set"===toStringTag(e)},replace:function replace(e){return _toConsumableArray$1(e.values())},revive:function revive(e){return new Set(e)}}},O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",S=new Uint8Array(256),j=0;j<O.length;j++)S[O.codePointAt(j)]=j;var A=function encode(e,t,r){null==r&&(r=e.byteLength);for(var n=new Uint8Array(e,t||0,r),o=n.length,i="",a=0;a<o;a+=3)i+=O[n[a]>>2],i+=O[(3&n[a])<<4|n[a+1]>>4],i+=O[(15&n[a+1])<<2|n[a+2]>>6],i+=O[63&n[a+2]];return o%3==2?i=i.slice(0,-1)+"=":o%3==1&&(i=i.slice(0,-2)+"=="),i},T=function decode(e){var t,r,n,o,i=e.length,a=.75*e.length,c=0;"="===e[e.length-1]&&(a--,"="===e[e.length-2]&&a--);for(var u=new ArrayBuffer(a),s=new Uint8Array(u),f=0;f<i;f+=4)t=S[e.codePointAt(f)],r=S[e.codePointAt(f+1)],n=S[e.codePointAt(f+2)],o=S[e.codePointAt(f+3)],s[c++]=t<<2|r>>4,s[c++]=(15&r)<<4|n>>2,s[c++]=(3&n)<<6|63&o;return u},w={arraybuffer:{test:function test(e){return"ArrayBuffer"===toStringTag(e)},replace:function replace(e,t){t.buffers||(t.buffers=[]);var r=t.buffers.indexOf(e);return r>-1?{index:r}:(t.buffers.push(e),A(e))},revive:function revive(e,t){if(t.buffers||(t.buffers=[]),"object"===_typeof$1(e))return t.buffers[e.index];var r=T(e);return t.buffers.push(r),r}}},I={};"function"==typeof Int8Array&&[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array].forEach((function(e){return function create(e){var t=e.name;I[t.toLowerCase()]={test:function test(e){return toStringTag(e)===t},replace:function replace(e,t){var r=e.buffer,n=e.byteOffset,o=e.length;t.buffers||(t.buffers=[]);var i=t.buffers.indexOf(r);return i>-1?{index:i,byteOffset:n,length:o}:(t.buffers.push(r),{encoded:A(r),byteOffset:n,length:o})},revive:function revive(t,r){r.buffers||(r.buffers=[]);var n,o=t.byteOffset,i=t.length,a=t.encoded,c=t.index;return"index"in t?n=r.buffers[c]:(n=T(a),r.buffers.push(n)),new e(n,o,i)}}}(e)}));var P={dataview:{test:function test(e){return"DataView"===toStringTag(e)},replace:function replace(e,t){var r=e.buffer,n=e.byteOffset,o=e.byteLength;t.buffers||(t.buffers=[]);var i=t.buffers.indexOf(r);return i>-1?{index:i,byteOffset:n,byteLength:o}:(t.buffers.push(r),{encoded:A(r),byteOffset:n,byteLength:o})},revive:function revive(e,t){t.buffers||(t.buffers=[]);var r,n=e.byteOffset,o=e.byteLength,i=e.encoded,a=e.index;return"index"in e?r=t.buffers[a]:(r=T(i),t.buffers.push(r)),new DataView(r,n,o)}}},N={test:function test(e){return hasConstructorOf(e,Intl.Collator)},replace:function replace(e){return e.resolvedOptions()},revive:function revive(e){return new Intl.Collator(e.locale,e)}},C={test:function test(e){return hasConstructorOf(e,Intl.DateTimeFormat)},replace:function replace(e){return e.resolvedOptions()},revive:function revive(e){return new Intl.DateTimeFormat(e.locale,e)}},k={test:function test(e){return hasConstructorOf(e,Intl.NumberFormat)},replace:function replace(e){return e.resolvedOptions()},revive:function revive(e){return new Intl.NumberFormat(e.locale,e)}},E={bigint:{test:function test(e){return"bigint"==typeof e},replace:String,revive:BigInt}},B={bigintObject:{test:function test(e){return"object"===_typeof$1(e)&&hasConstructorOf(e,BigInt)},replace:String,revive:function revive(e){return new Object(BigInt(e))}}};return[y,e,p,v,b,h,d,m].concat("function"==typeof Map?_:[],"function"==typeof Set?g:[],"function"==typeof ArrayBuffer?w:[],"function"==typeof Uint8Array?I:[],"function"==typeof DataView?P:[],"undefined"!=typeof Intl?{IntlCollator:N,IntlDateTimeFormat:C,IntlNumberFormat:k}:[],"undefined"!=typeof BigInt?[E,B]:[])}));
2
2
  //# sourceMappingURL=builtin.umd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"builtin.umd.js","sources":["../../presets/array-nonindex-keys.js","../../node_modules/.pnpm/typeson@7.0.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/undef.js","../../types/primitive-objects.js","../../presets/special-numbers.js","../../types/nan.js","../../types/infinity.js","../../types/negative-infinity.js","../../types/date.js","../../types/error.js","../../types/errors.js","../../node_modules/.pnpm/base64-arraybuffer-es6@1.0.0/node_modules/base64-arraybuffer-es6/dist/base64-arraybuffer-es.js","../../types/regexp.js","../../types/map.js","../../types/set.js","../../types/arraybuffer.js","../../types/typed-arrays.js","../../types/dataview.js","../../types/intl-types.js","../../types/bigint.js","../../types/bigint-object.js","../../presets/builtin.js"],"sourcesContent":["const arrayNonindexKeys = [\n {\n arrayNonindexKeys: {\n testPlainObjects: true,\n test (x, stateObj) {\n if (Array.isArray(x)) {\n if (\n // By avoiding serializing arrays into objects which\n // have only positive-integer keys, we reduce\n // size and improve revival performance; arrays with\n // non-index keys will be larger however\n Object.keys(x).some((k) => {\n // No need to check for `isNaN` or\n // `isNaN(Number.parseInt())` as `NaN` will be\n // treated as a string.\n // No need to do check as\n // `Number.parseInt(Number())` since scientific\n // notation will be pre-resolved if a number\n // was given, and it will otherwise be a string\n return String(Number.parseInt(k)) !== k;\n })\n ) {\n stateObj.iterateIn = 'object';\n stateObj.addLength = true;\n }\n return true;\n }\n return false;\n },\n replace (a, stateObj) {\n // Catch sparse undefined\n stateObj.iterateUnsetNumeric = true;\n return a;\n },\n revive (o) {\n if (Array.isArray(o)) {\n return o;\n }\n const arr = [];\n // No map here as may be a sparse array (including\n // with `length` set)\n // Todo: Reenable when Node `engines` >= 7\n // Object.entries(o).forEach(([key, val]) => {\n Object.keys(o).forEach((key) => {\n const val = o[key];\n arr[key] = val;\n });\n return arr;\n }\n }\n },\n {\n sparseUndefined: {\n test (x, stateObj) {\n return typeof x === 'undefined' && stateObj.ownKeys === false;\n },\n replace (n) { return 0; },\n revive (s) { return undefined; } // Will avoid adding anything\n }\n }\n];\n\nexport default arrayNonindexKeys;\n","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})(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,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 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)return;var n,a,o=[],i=!0,c=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){c=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(c)throw a}}return o}(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}var e=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)}));e.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&(e.prototype[Symbol.toStringTag]=\"TypesonPromise\"),e.prototype.then=function(t,r){var n=this;return new e((function(e,a){n.p.then((function(r){e(t?t(r):r)})).catch((function(e){return r?r(e):Promise.reject(e)})).then(e,a)}))},e.prototype.catch=function(e){return this.then(null,e)},e.resolve=function(t){return new e((function(e){e(t)}))},e.reject=function(t){return new e((function(e,r){r(t)}))},[\"all\",\"race\",\"allSettled\"].forEach((function(t){e[t]=function(r){return new e((function(e,n){Promise[t](r.map((function(e){return e&&e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e}))).then(e,n)}))}}));var t={}.toString,r={}.hasOwnProperty,n=Object.getPrototypeOf,a=r.toString;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return t.call(e).slice(8,-1)}function hasConstructorOf(e,t){if(!e||\"object\"!==_typeof(e))return!1;var o=n(e);if(!o)return null===t;var i=r.call(o,\"constructor\")&&o.constructor;return\"function\"!=typeof i?null===t:t===i||(null!==t&&a.call(i)===a.call(t)||\"function\"==typeof t&&\"string\"==typeof i.__typeson__type__&&i.__typeson__type__===t.__typeson__type__)}function isPlainObject(e){return!(!e||\"Object\"!==toStringTag(e))&&(!n(e)||hasConstructorOf(e,Object))}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;var t=n(e);return!t||(hasConstructorOf(e,Object)||isUserObject(t))}function isObject(e){return e&&\"object\"===_typeof(e)}function escapeKeyPathComponent(e){return e.replace(/~/g,\"~0\").replace(/\\./g,\"~1\")}function unescapeKeyPathComponent(e){return e.replace(/~1/g,\".\").replace(/~0/g,\"~\")}function getByKeyPath(e,t){if(\"\"===t)return e;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;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 o=Object.keys,i=Array.isArray,c={}.hasOwnProperty,s=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\"];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){if(\"\"===e.keypath)return-1;var r=e.keypath.match(/\\./g)||0,n=t.keypath.match(/\\./g)||0;return r&&(r=r.length),n&&(n=n.length),r>n?-1:r<n?1:e.keypath<t.keypath?-1:e.keypath>t.keypath}var u=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 a=this.encapsulate(e,null,n);return i(a)?JSON.stringify(a[0],t,r):a.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,n){var a=_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=[],c=_slicedToArray(r.splice(0,1),1),s=_slicedToArray(c[0],7),u=s[0],p=s[2],y=s[3],l=s[4],f=s[5],h=s[6],v=_encapsulate(u,n,p,y,i,!0,h),d=hasConstructorOf(v,e);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(u&&d)return _await(v.p,(function(e){l[f]=e;var r=a(t,i);return o=!0,r}))}),(function(e){return o?e:(u?l[f]=v:t=d?v.p:v,a(t,i))}))})))),(function(){return t}))}))})),u=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,p=this,y={},l=[],f=[],h=[],v=!(\"cyclic\"in n)||n.cyclic,d=n.encapsulateObserver,b=_encapsulate(\"\",t,v,r||{},h);function finish(e){var t=Object.values(y);if(n.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(n.returnTypeNames)return _toConsumableArray(new Set(t));e&&isPlainObject(e)&&!c.call(e,\"$types\")?e.$types=y:e={$:e,$types:{$:y}}}else isObject(e)&&c.call(e,\"$types\")&&(e={$:e,$types:!0});return!n.returnTypeNames&&e}function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=s.map((function(t){var r=e[t];return delete e[t],r}));r(),s.forEach((function(t,r){e[t]=n[r]}))}function _encapsulate(t,r,a,s,u,h,v){var b,_={},O=_typeof(r),j=d?function(n){var o=v||s.type||getJSONType(r);d(Object.assign(n||_,{keypath:t,value:r,cyclic:a,stateObj:s,promisesData:u,resolvingTypesonPromise:h,awaitingTypesonPromise:hasConstructorOf(r,e)},{type:o}))}:null;if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(O))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(b=s.replaced?r:replace(t,r,s,u,!1,h,j))!==r&&(_={replaced:b}):b=r,j&&j(),b;if(null===r)return j&&j(),r;if(a&&!s.iterateIn&&!s.iterateUnsetNumeric&&r&&\"object\"===_typeof(r)){var m=l.indexOf(r);if(!(m<0))return y[t]=\"#\",j&&j({cyclicKeypath:f[m]}),\"#\"+f[m];!0===a&&(l.push(r),f.push(t))}var S,g=isPlainObject(r),P=i(r),T=(g||P)&&(!p.plainObjectReplacers.length||s.replaced)||s.iterateIn?r:replace(t,r,s,u,g||P,null,j);if(T!==r?(b=T,_={replaced:T}):\"\"===t&&hasConstructorOf(r,e)?(u.push([t,r,a,s,void 0,void 0,s.type]),b=r):P&&\"object\"!==s.iterateIn||\"array\"===s.iterateIn?(S=new Array(r.length),_={clone:S}):([\"function\",\"symbol\"].includes(_typeof(r))||\"toJSON\"in r||hasConstructorOf(r,e)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!g&&\"object\"!==s.iterateIn?b=r:(S={},s.addLength&&(S.length=r.length),_={clone:S}),j&&j(),n.iterateNone)return S||b;if(!S)return b;if(s.iterateIn){var w=function _loop(n){var o={ownKeys:c.call(r,n)};_adaptBuiltinStateObjectProperties(s,o,(function(){var o=t+(t?\".\":\"\")+escapeKeyPathComponent(n),i=_encapsulate(o,r[n],Boolean(a),s,u,h);hasConstructorOf(i,e)?u.push([o,i,Boolean(a),s,S,n,s.type]):void 0!==i&&(S[n]=i)}))};for(var A in r)w(A);j&&j({endIterateIn:!0,end:!0})}else o(r).forEach((function(n){var o=t+(t?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(s,{ownKeys:!0},(function(){var t=_encapsulate(o,r[n],Boolean(a),s,u,h);hasConstructorOf(t,e)?u.push([o,t,Boolean(a),s,S,n,s.type]):void 0!==t&&(S[n]=t)}))})),j&&j({endIterateOwn:!0,end:!0});if(s.iterateUnsetNumeric){for(var C=r.length,k=function _loop2(n){if(!(n in r)){var o=t+(t?\".\":\"\")+n;_adaptBuiltinStateObjectProperties(s,{ownKeys:!1},(function(){var t=_encapsulate(o,void 0,Boolean(a),s,u,h);hasConstructorOf(t,e)?u.push([o,t,Boolean(a),s,S,n,s.type]):void 0!==t&&(S[n]=t)}))}},N=0;N<C;N++)k(N);j&&j({endIterateUnsetNumeric:!0,end:!0})}return S}function replace(e,t,r,n,a,o,i){for(var c=a?p.plainObjectReplacers:p.nonplainObjectReplacers,s=c.length;s--;){var l=c[s];if(l.test(t,r)){var f=l.type;if(p.revivers[f]){var h=y[e];y[e]=h?[f].concat(h):f}return Object.assign(r,{type:f,replaced:!0}),!u&&l.replaceAsync||l.replace?(i&&i({replacing:!0}),_encapsulate(e,l[u||!l.replaceAsync?\"replace\":\"replaceAsync\"](t,r),v&&\"readonly\",r,n,o,f)):(i&&i({typeDetected:!0}),_encapsulate(e,t,v&&\"readonly\",r,n,o,f))}}return t}return h.length?u&&n.throwOnBadSyncType?function(){throw new TypeError(\"Sync method requested but async result obtained\")}():Promise.resolve(a(b,h)).then(finish):!u&&n.throwOnBadSyncType?function(){throw new TypeError(\"Async method requested but sync result obtained\")}():n.stringification&&u?[finish(b)]:u?finish(b):Promise.resolve(finish(b))}},{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 n=t&&t.$types;if(!n)return t;if(!0===n)return t.$;var a=(r=_objectSpread2(_objectSpread2({sync:!0},this.options),r)).sync,c=[],s={},u=!0;n.$&&isPlainObject(n.$)&&(t=t.$,n=n.$,u=!1);var y=this;function executeReviver(e,t){var r=_slicedToArray(y.revivers[e]||[],1)[0];if(!r)throw new Error(\"Unregistered type: \"+e);return a&&!(\"revive\"in r)?t:r[a&&r.revive?\"revive\":!a&&r.reviveAsync?\"reviveAsync\":\"revive\"](t,s)}var l=[];function checkUndefined(e){return hasConstructorOf(e,p)?void 0:e}var f,h=function revivePlainObjects(){var r=[];if(Object.entries(n).forEach((function(e){var t=_slicedToArray(e,2),a=t[0],o=t[1];\"#\"!==o&&[].concat(o).forEach((function(e){_slicedToArray(y.revivers[e]||[null,{}],2)[1].plain&&(r.push({keypath:a,type:e}),delete n[a])}))})),r.length)return r.sort(nestedPathsFirst).reduce((function reducer(r,n){var a=n.keypath,o=n.type;if(isThenable(r))return r.then((function(e){return reducer(e,{keypath:a,type:o})}));var i=getByKeyPath(t,a);if(hasConstructorOf(i=executeReviver(o,i),e))return i.then((function(e){var r=setAtKeyPath(t,a,e);r===e&&(t=r)}));var c=setAtKeyPath(t,a,i);c===i&&(t=c)}),void 0)}();return hasConstructorOf(h,e)?f=h.then((function(){return t})):(f=function _revive(t,r,a,s,y){if(!u||\"$types\"!==t){var f=n[t],h=i(r);if(h||isPlainObject(r)){var v=h?new Array(r.length):{};for(o(r).forEach((function(n){var o=_revive(t+(t?\".\":\"\")+escapeKeyPathComponent(n),r[n],a||v,v,n),i=function set(e){return hasConstructorOf(e,p)?v[n]=void 0:void 0!==e&&(v[n]=e),e};hasConstructorOf(o,e)?l.push(o.then((function(e){return i(e)}))):i(o)})),r=v;c.length;){var d=_slicedToArray(c[0],4),b=d[0],_=d[1],O=d[2],j=d[3],m=getByKeyPath(b,_);if(void 0===m)break;O[j]=m,c.splice(0,1)}}if(!f)return r;if(\"#\"===f){var S=getByKeyPath(a,r.slice(1));return void 0===S&&c.push([a,r.slice(1),s,y]),S}return[].concat(f).reduce((function reducer(t,r){return hasConstructorOf(t,e)?t.then((function(e){return reducer(e,r)})):executeReviver(r,t)}),r)}}(\"\",t,null),l.length&&(f=e.resolve(f).then((function(t){return e.all([t].concat(l))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(f)?a&&r.throwOnBadSyncType?function(){throw new TypeError(\"Sync method requested but async result obtained\")}():hasConstructorOf(f,e)?f.p.then(checkUndefined):f:!a&&r.throwOnBadSyncType?function(){throw new TypeError(\"Async method requested but sync result obtained\")}():a?checkUndefined(f):Promise.resolve(checkUndefined(f))}},{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;t=t||{};var n=function R(e){i(e)?e.forEach((function(e){return R(e)})):e&&o(e).forEach((function(n){if(\"#\"===n)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(y.includes(n))throw new TypeError(\"Plain JSON object types are reserved as type names\");var a=e[n],o=a&&a.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,c=o.filter((function(e){return e.type===n}));if(c.length&&(o.splice(o.indexOf(c[0]),1),delete r.revivers[n],delete r.types[n]),\"function\"==typeof a){var s=a;a={test:function test(e){return e&&e.constructor===s},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(s.prototype),e)}}}else if(i(a)){var u=_slicedToArray(a,3);a={test:u[0],replace:u[1],revive:u[2]}}if(a&&a.test){var p={type:n,test:a.test.bind(a)};a.replace&&(p.replace=a.replace.bind(a)),a.replaceAsync&&(p.replaceAsync=a.replaceAsync.bind(a));var l=\"number\"==typeof t.fallback?t.fallback:t.fallback?0:Number.POSITIVE_INFINITY;if(a.testPlainObjects?r.plainObjectReplacers.splice(l,0,p):r.nonplainObjectReplacers.splice(l,0,p),a.revive||a.reviveAsync){var f={};a.revive&&(f.revive=a.revive.bind(a)),a.reviveAsync&&(f.reviveAsync=a.reviveAsync.bind(a)),r.revivers[n]=[f,{plain:a.testPlainObjects}]}r.types[n]=a}}))};return[].concat(e).forEach((function(e){return n(e)})),this}}]),Typeson}(),p=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));p.__typeson__type__=\"TypesonUndefined\";var y=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{y as JSON_TYPES,u as Typeson,e as TypesonPromise,p as Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","// This does not preserve `undefined` in sparse arrays; see the `undef`\n// or `sparse-undefined` preset\nimport {Undefined} from 'typeson';\n\nconst undef = {\n undef: {\n test (x, stateObj) {\n return typeof x === 'undefined' &&\n (stateObj.ownKeys || !('ownKeys' in stateObj));\n },\n replace (n) { return 0; },\n revive (s) {\n // Will add `undefined` (returning `undefined` would instead\n // avoid explicitly setting)\n return new Undefined();\n }\n }\n};\n\nexport default undef;\n","// This module is for objectified primitives (such as `new Number(3)` or\n// `new String(\"foo\")`)\n/* eslint-disable no-new-wrappers, unicorn/new-for-builtins */\nimport {toStringTag} from 'typeson';\n\nconst primitiveObjects = {\n // String Object (not primitive string which need no type spec)\n StringObject: {\n test (x) {\n return toStringTag(x) === 'String' && typeof x === 'object';\n },\n replace (s) { return String(s); }, // convert to primitive string\n revive (s) { return new String(s); } // Revive to an objectified string\n },\n // Boolean Object (not primitive boolean which need no type spec)\n BooleanObject: {\n test (x) {\n return toStringTag(x) === 'Boolean' &&\n typeof x === 'object';\n },\n replace (b) { return Boolean(b); }, // convert to primitive boolean\n revive (b) {\n // Revive to an objectified Boolean\n return new Boolean(b);\n }\n },\n // Number Object (not primitive number which need no type spec)\n NumberObject: {\n test (x) {\n return toStringTag(x) === 'Number' && typeof x === 'object';\n },\n replace (n) { return Number(n); }, // convert to primitive number\n revive (n) { return new Number(n); } // Revive to an objectified number\n }\n};\n/* eslint-enable no-new-wrappers, unicorn/new-for-builtins */\n\nexport default primitiveObjects;\n","import nan from '../types/nan.js';\nimport infinity from '../types/infinity.js';\nimport NegativeInfinity from '../types/negative-infinity.js';\n\nconst specialNumbers = [\n nan,\n infinity,\n NegativeInfinity\n];\n\nexport default specialNumbers;\n","const nan = {\n nan: {\n test (x) { return Number.isNaN(x); },\n replace (n) { return 'NaN'; },\n revive (s) { return Number.NaN; }\n }\n};\n\nexport default nan;\n","const infinity = {\n infinity: {\n test (x) { return x === Number.POSITIVE_INFINITY; },\n replace (n) { return 'Infinity'; },\n revive (s) { return Number.POSITIVE_INFINITY; }\n }\n};\n\nexport default infinity;\n","const negativeInfinity = {\n negativeInfinity: {\n test (x) { return x === Number.NEGATIVE_INFINITY; },\n replace (n) { return '-Infinity'; },\n revive (s) { return Number.NEGATIVE_INFINITY; }\n }\n};\n\nexport default negativeInfinity;\n","import {toStringTag} from 'typeson';\n\nconst date = {\n date: {\n test (x) { return toStringTag(x) === 'Date'; },\n replace (dt) {\n const time = dt.getTime();\n if (Number.isNaN(time)) {\n return 'NaN';\n }\n return time;\n },\n revive (time) {\n if (time === 'NaN') {\n return new Date(Number.NaN);\n }\n return new Date(time);\n }\n }\n};\n\nexport default date;\n","import {toStringTag} from 'typeson';\n\nconst error = {\n error: {\n test (x) { return toStringTag(x) === 'Error'; },\n replace ({name, message}) {\n return {name, message};\n },\n revive ({name, message}) {\n const e = new Error(message);\n e.name = name;\n return e;\n }\n }\n};\n// See also errors.js that may be registered after having registered this type.\n\nexport default error;\n","/* eslint-env browser, node */\nimport {hasConstructorOf} from 'typeson';\n\n/* c8 ignore next */\nconst _global = typeof self === 'undefined' ? global : self;\n\nconst errors = {};\n// Comprises all built-in errors.\n[\n 'TypeError',\n 'RangeError',\n 'SyntaxError',\n 'ReferenceError',\n 'EvalError',\n 'URIError',\n 'InternalError' // non-standard\n].forEach((errName) => {\n const Cnstrctr = _global[errName];\n if (Cnstrctr) {\n errors[errName.toLowerCase()] = {\n test (x) { return hasConstructorOf(x, Cnstrctr); },\n replace (e) { return e.message; },\n revive (message) { return new Cnstrctr(message); }\n };\n }\n});\n\nexport default errors;\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2017 Brett Zamir, 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; // Use a lookup table to find the index.\n\nvar lookup = new Uint8Array(256);\n\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.codePointAt(i)] = i;\n}\n/**\n * @param {ArrayBuffer} arraybuffer\n * @param {Integer} byteOffset\n * @param {Integer} lngth\n * @returns {string}\n */\n\n\nvar encode = function encode(arraybuffer, byteOffset, lngth) {\n if (lngth === null || lngth === undefined) {\n lngth = arraybuffer.byteLength; // Needed for Safari\n }\n\n var bytes = new Uint8Array(arraybuffer, byteOffset || 0, // Default needed for Safari\n lngth);\n var len = bytes.length;\n var base64 = '';\n\n for (var _i = 0; _i < len; _i += 3) {\n base64 += chars[bytes[_i] >> 2];\n base64 += chars[(bytes[_i] & 3) << 4 | bytes[_i + 1] >> 4];\n base64 += chars[(bytes[_i + 1] & 15) << 2 | bytes[_i + 2] >> 6];\n base64 += chars[bytes[_i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.slice(0, -1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.slice(0, -2) + '==';\n }\n\n return base64;\n};\n/**\n * @param {string} base64\n * @returns {ArrayBuffer}\n */\n\nvar decode = function decode(base64) {\n var len = base64.length;\n var bufferLength = base64.length * 0.75;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (var _i2 = 0; _i2 < len; _i2 += 4) {\n encoded1 = lookup[base64.codePointAt(_i2)];\n encoded2 = lookup[base64.codePointAt(_i2 + 1)];\n encoded3 = lookup[base64.codePointAt(_i2 + 2)];\n encoded4 = lookup[base64.codePointAt(_i2 + 3)];\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n\n return arraybuffer;\n};\n\nexport { decode, encode };\n","import {toStringTag} from 'typeson';\n\nconst regexp = {\n regexp: {\n test (x) { return toStringTag(x) === 'RegExp'; },\n replace (rexp) {\n return {\n source: rexp.source,\n flags: (rexp.global ? 'g' : '') +\n (rexp.ignoreCase ? 'i' : '') +\n (rexp.multiline ? 'm' : '') +\n (rexp.sticky ? 'y' : '') +\n (rexp.unicode ? 'u' : '')\n };\n },\n revive ({source, flags}) { return new RegExp(source, flags); }\n }\n};\n\nexport default regexp;\n","import {toStringTag} from 'typeson';\n\nconst map = {\n map: {\n test (x) { return toStringTag(x) === 'Map'; },\n replace (mp) { return [...mp.entries()]; },\n revive (entries) { return new Map(entries); }\n }\n};\n\nexport default map;\n","import {toStringTag} from 'typeson';\n\nconst set = {\n set: {\n test (x) { return toStringTag(x) === 'Set'; },\n replace (st) {\n return [...st.values()];\n },\n revive (values) { return new Set(values); }\n }\n};\n\nexport default set;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\nconst arraybuffer = {\n arraybuffer: {\n test (x) { return toStringTag(x) === 'ArrayBuffer'; },\n replace (b, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(b);\n if (index > -1) {\n return {index};\n }\n stateObj.buffers.push(b);\n return encode(b);\n },\n revive (b64, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n if (typeof b64 === 'object') {\n return stateObj.buffers[b64.index];\n }\n const buffer = decode(b64);\n stateObj.buffers.push(buffer);\n return buffer;\n }\n }\n};\n\nexport default arraybuffer;\n\n// See also typed-arrays!\n","/* eslint-env browser, node */\nimport {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/* c8 ignore next */\nconst _global = typeof self === 'undefined' ? global : self;\n\nconst typedArrays = {};\n[\n 'Int8Array',\n 'Uint8Array',\n 'Uint8ClampedArray',\n 'Int16Array',\n 'Uint16Array',\n 'Int32Array',\n 'Uint32Array',\n 'Float32Array',\n 'Float64Array'\n].forEach(function (typeName) {\n const arrType = typeName;\n const TypedArray = _global[arrType];\n /* c8 ignore next 3 */\n if (!TypedArray) {\n return;\n }\n typedArrays[typeName.toLowerCase()] = {\n test (x) { return toStringTag(x) === arrType; },\n replace ({buffer, byteOffset, length: l}, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index > -1) {\n return {index, byteOffset, length: l};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n byteOffset,\n length: l\n };\n },\n revive (b64Obj, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {byteOffset, length: len, encoded, index} = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(encoded);\n stateObj.buffers.push(buffer);\n }\n return new TypedArray(buffer, byteOffset, len);\n }\n };\n});\n\nexport default typedArrays;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\nconst dataview = {\n dataview: {\n test (x) { return toStringTag(x) === 'DataView'; },\n replace ({buffer, byteOffset, byteLength}, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index > -1) {\n return {index, byteOffset, byteLength};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n byteOffset,\n byteLength\n };\n },\n revive (b64Obj, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {byteOffset, byteLength, encoded, index} = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(encoded);\n stateObj.buffers.push(buffer);\n }\n return new DataView(buffer, byteOffset, byteLength);\n }\n }\n};\n\nexport default dataview;\n","import {hasConstructorOf} from 'typeson';\n\nconst IntlCollator = {\n test (x) { return hasConstructorOf(x, Intl.Collator); },\n replace (c) { return c.resolvedOptions(); },\n revive (options) { return new Intl.Collator(options.locale, options); }\n};\n\nconst IntlDateTimeFormat = {\n test (x) { return hasConstructorOf(x, Intl.DateTimeFormat); },\n replace (dtf) { return dtf.resolvedOptions(); },\n revive (options) {\n return new Intl.DateTimeFormat(options.locale, options);\n }\n};\n\nconst IntlNumberFormat = {\n test (x) { return hasConstructorOf(x, Intl.NumberFormat); },\n replace (nf) { return nf.resolvedOptions(); },\n revive (options) { return new Intl.NumberFormat(options.locale, options); }\n};\n\nconst intlTypes = {\n IntlCollator,\n IntlDateTimeFormat,\n IntlNumberFormat\n};\n\nexport default intlTypes;\n","/* globals BigInt */\n\nconst bigint = {\n bigint: {\n test (x) {\n return typeof x === 'bigint';\n },\n replace (n) { return String(n); },\n revive (s) { return BigInt(s); }\n }\n};\n\nexport default bigint;\n","/* globals BigInt */\nimport {hasConstructorOf} from 'typeson';\n\nconst bigintObject = {\n bigintObject: {\n test (x) {\n return typeof x === 'object' && hasConstructorOf(x, BigInt);\n },\n replace (n) { return String(n); },\n revive (s) {\n // Filed this to avoid error: https://github.com/eslint/eslint/issues/11810\n // eslint-disable-next-line no-new-object\n return new Object(BigInt(s));\n }\n }\n};\n\nexport default bigintObject;\n","/* This preset includes types that are built-in into the JavaScript\n language itself, this should work universally.\n\n Types that were added in ES6 or beyond will be checked before inclusion\n so that this module can be consumed by both ES5 and ES6 environments.\n\n Some types cannot be encapsulated because their inner state is private:\n `WeakMap`, `WeakSet`.\n\n The Function type is not included because their closures would not be\n serialized, so a revived Function that uses closures would not behave\n as expected.\n\n Symbols are similarly not included.\n*/\n\nimport arrayNonindexKeys from './array-nonindex-keys.js';\nimport undef from '../types/undef.js';\nimport primitiveObjects from '../types/primitive-objects.js';\nimport specialNumbers from './special-numbers.js';\nimport date from '../types/date.js';\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\nimport regexp from '../types/regexp.js';\nimport map from '../types/map.js';\nimport set from '../types/set.js';\nimport arraybuffer from '../types/arraybuffer.js';\nimport typedArrays from '../types/typed-arrays.js';\nimport dataview from '../types/dataview.js';\nimport intlTypes from '../types/intl-types.js';\nimport bigint from '../types/bigint.js';\nimport bigintObject from '../types/bigint-object.js';\n\nconst expObj = [\n undef,\n // ES5\n arrayNonindexKeys, primitiveObjects, specialNumbers,\n date, error, errors, regexp\n].concat(\n // ES2015 (ES6)\n /* c8 ignore next */\n typeof Map === 'function' ? map : [],\n /* c8 ignore next */\n typeof Set === 'function' ? set : [],\n /* c8 ignore next */\n typeof ArrayBuffer === 'function' ? arraybuffer : [],\n /* c8 ignore next */\n typeof Uint8Array === 'function' ? typedArrays : [],\n /* c8 ignore next */\n typeof DataView === 'function' ? dataview : [],\n /* c8 ignore next */\n typeof Intl !== 'undefined' ? intlTypes : [],\n\n /* c8 ignore next */\n typeof BigInt !== 'undefined' ? [bigint, bigintObject] : []\n);\nexport default expObj;\n"],"names":["arrayNonindexKeys","testPlainObjects","test","x","stateObj","Array","isArray","Object","keys","some","k","String","Number","parseInt","iterateIn","addLength","replace","a","iterateUnsetNumeric","revive","o","arr","forEach","key","val","sparseUndefined","ownKeys","n","s","e","t","r","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","arguments","length","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","Symbol","iterator","constructor","prototype","_classCallCheck","TypeError","_defineProperties","configurable","writable","_createClass","value","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","i","c","call","next","done","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","name","from","TypesonPromise","this","p","Promise","__typeson__type__","toStringTag","then","reject","resolve","map","hasOwnProperty","getPrototypeOf","isThenable","isObject","hasConstructorOf","isPlainObject","escapeKeyPathComponent","unescapeKeyPathComponent","getByKeyPath","indexOf","setAtKeyPath","getJSONType","_await","_async","nestedPathsFirst","keypath","match","Typeson","options","plainObjectReplacers","nonplainObjectReplacers","revivers","types","stringify","stringification","encapsulate","JSON","stringifySync","throwOnBadSyncType","sync","stringifyAsync","parse","parseSync","parseAsync","specialTypeNames","returnTypeNames","rootTypeName","iterateNone","all","splice","u","y","l","f","h","v","_encapsulate","d","_invoke","cyclic","encapsulateObserver","b","finish","values","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Set","$types","$","_adaptBuiltinStateObjectProperties","assign","_","O","j","type","promisesData","resolvingTypesonPromise","awaitingTypesonPromise","includes","isNaN","NEGATIVE_INFINITY","POSITIVE_INFINITY","replaced","m","cyclicKeypath","S","g","P","T","clone","ArrayBuffer","w","_loop","Boolean","A","endIterateIn","end","endIterateOwn","C","_loop2","N","endIterateUnsetNumeric","concat","replaceAsync","replacing","typeDetected","encapsulateSync","encapsulateAsync","executeReviver","Error","reviveAsync","checkUndefined","revivePlainObjects","entries","plain","sort","reduce","reducer","_revive","set","reviveSync","register","R","create","bind","fallback","Undefined","undef","primitiveObjects","StringObject","BooleanObject","NumberObject","specialNumbers","nan","NaN","infinity","negativeInfinity","date","dt","time","getTime","Date","error","message","_global","self","global","errors","errName","Cnstrctr","toLowerCase","regexp","rexp","source","flags","ignoreCase","multiline","sticky","unicode","RegExp","mp","Map","st","chars","lookup","Uint8Array","codePointAt","encode","arraybuffer","byteOffset","lngth","byteLength","bytes","len","base64","_i","decode","encoded1","encoded2","encoded3","encoded4","bufferLength","_i2","buffers","index","b64","buffer","typedArrays","typeName","arrType","TypedArray","encoded","b64Obj","dataview","DataView","IntlCollator","Intl","Collator","resolvedOptions","locale","IntlDateTimeFormat","DateTimeFormat","dtf","IntlNumberFormat","NumberFormat","nf","bigint","BigInt","bigintObject"],"mappings":"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"}
1
+ {"version":3,"file":"builtin.umd.js","sources":["../../presets/array-nonindex-keys.js","../../node_modules/.pnpm/typeson@7.0.1/node_modules/typeson/dist/typeson.esm.min.js","../../types/undef.js","../../types/primitive-objects.js","../../presets/special-numbers.js","../../types/nan.js","../../types/infinity.js","../../types/negative-infinity.js","../../types/date.js","../../types/error.js","../../types/errors.js","../../node_modules/.pnpm/base64-arraybuffer-es6@1.0.0/node_modules/base64-arraybuffer-es6/dist/base64-arraybuffer-es.js","../../types/regexp.js","../../types/map.js","../../types/set.js","../../types/arraybuffer.js","../../types/typed-arrays.js","../../types/dataview.js","../../types/intl-types.js","../../types/bigint.js","../../types/bigint-object.js","../../presets/builtin.js"],"sourcesContent":["const arrayNonindexKeys = [\n {\n arrayNonindexKeys: {\n testPlainObjects: true,\n test (x, stateObj) {\n if (Array.isArray(x)) {\n if (\n // By avoiding serializing arrays into objects which\n // have only positive-integer keys, we reduce\n // size and improve revival performance; arrays with\n // non-index keys will be larger however\n Object.keys(x).some((k) => {\n // No need to check for `isNaN` or\n // `isNaN(Number.parseInt())` as `NaN` will be\n // treated as a string.\n // No need to do check as\n // `Number.parseInt(Number())` since scientific\n // notation will be pre-resolved if a number\n // was given, and it will otherwise be a string\n return String(Number.parseInt(k)) !== k;\n })\n ) {\n stateObj.iterateIn = 'object';\n stateObj.addLength = true;\n }\n return true;\n }\n return false;\n },\n replace (a, stateObj) {\n // Catch sparse undefined\n stateObj.iterateUnsetNumeric = true;\n return a;\n },\n revive (o) {\n if (Array.isArray(o)) {\n return o;\n }\n const arr = [];\n // No map here as may be a sparse array (including\n // with `length` set)\n // Todo: Reenable when Node `engines` >= 7\n // Object.entries(o).forEach(([key, val]) => {\n Object.keys(o).forEach((key) => {\n const val = o[key];\n arr[key] = val;\n });\n return arr;\n }\n }\n },\n {\n sparseUndefined: {\n test (x, stateObj) {\n return typeof x === 'undefined' && stateObj.ownKeys === false;\n },\n replace (n) { return 0; },\n revive (s) { return undefined; } // Will avoid adding anything\n }\n }\n];\n\nexport default arrayNonindexKeys;\n","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})(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,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 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)return;var n,a,o=[],i=!0,c=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(o.push(n.value),!t||o.length!==t);i=!0);}catch(e){c=!0,a=e}finally{try{i||null==r.return||r.return()}finally{if(c)throw a}}return o}(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}var e=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)}));e.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&(e.prototype[Symbol.toStringTag]=\"TypesonPromise\"),e.prototype.then=function(t,r){var n=this;return new e((function(e,a){n.p.then((function(r){e(t?t(r):r)})).catch((function(e){return r?r(e):Promise.reject(e)})).then(e,a)}))},e.prototype.catch=function(e){return this.then(null,e)},e.resolve=function(t){return new e((function(e){e(t)}))},e.reject=function(t){return new e((function(e,r){r(t)}))},[\"all\",\"race\",\"allSettled\"].forEach((function(t){e[t]=function(r){return new e((function(e,n){Promise[t](r.map((function(e){return e&&e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e}))).then(e,n)}))}}));var t={}.toString,r={}.hasOwnProperty,n=Object.getPrototypeOf,a=r.toString;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return t.call(e).slice(8,-1)}function hasConstructorOf(e,t){if(!e||\"object\"!==_typeof(e))return!1;var o=n(e);if(!o)return null===t;var i=r.call(o,\"constructor\")&&o.constructor;return\"function\"!=typeof i?null===t:t===i||(null!==t&&a.call(i)===a.call(t)||\"function\"==typeof t&&\"string\"==typeof i.__typeson__type__&&i.__typeson__type__===t.__typeson__type__)}function isPlainObject(e){return!(!e||\"Object\"!==toStringTag(e))&&(!n(e)||hasConstructorOf(e,Object))}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;var t=n(e);return!t||(hasConstructorOf(e,Object)||isUserObject(t))}function isObject(e){return e&&\"object\"===_typeof(e)}function escapeKeyPathComponent(e){return e.replace(/~/g,\"~0\").replace(/\\./g,\"~1\")}function unescapeKeyPathComponent(e){return e.replace(/~1/g,\".\").replace(/~0/g,\"~\")}function getByKeyPath(e,t){if(\"\"===t)return e;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;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 o=Object.keys,i=Array.isArray,c={}.hasOwnProperty,s=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\"];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){if(\"\"===e.keypath)return-1;var r=e.keypath.match(/\\./g)||0,n=t.keypath.match(/\\./g)||0;return r&&(r=r.length),n&&(n=n.length),r>n?-1:r<n?1:e.keypath<t.keypath?-1:e.keypath>t.keypath}var u=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 a=this.encapsulate(e,null,n);return i(a)?JSON.stringify(a[0],t,r):a.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,n){var a=_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=[],c=_slicedToArray(r.splice(0,1),1),s=_slicedToArray(c[0],7),u=s[0],p=s[2],y=s[3],l=s[4],f=s[5],h=s[6],v=_encapsulate(u,n,p,y,i,!0,h),d=hasConstructorOf(v,e);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(u&&d)return _await(v.p,(function(e){l[f]=e;var r=a(t,i);return o=!0,r}))}),(function(e){return o?e:(u?l[f]=v:t=d?v.p:v,a(t,i))}))})))),(function(){return t}))}))})),u=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,p=this,y={},l=[],f=[],h=[],v=!(\"cyclic\"in n)||n.cyclic,d=n.encapsulateObserver,b=_encapsulate(\"\",t,v,r||{},h);function finish(e){var t=Object.values(y);if(n.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(n.returnTypeNames)return _toConsumableArray(new Set(t));e&&isPlainObject(e)&&!c.call(e,\"$types\")?e.$types=y:e={$:e,$types:{$:y}}}else isObject(e)&&c.call(e,\"$types\")&&(e={$:e,$types:!0});return!n.returnTypeNames&&e}function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=s.map((function(t){var r=e[t];return delete e[t],r}));r(),s.forEach((function(t,r){e[t]=n[r]}))}function _encapsulate(t,r,a,s,u,h,v){var b,_={},O=_typeof(r),j=d?function(n){var o=v||s.type||getJSONType(r);d(Object.assign(n||_,{keypath:t,value:r,cyclic:a,stateObj:s,promisesData:u,resolvingTypesonPromise:h,awaitingTypesonPromise:hasConstructorOf(r,e)},{type:o}))}:null;if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(O))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(b=s.replaced?r:replace(t,r,s,u,!1,h,j))!==r&&(_={replaced:b}):b=r,j&&j(),b;if(null===r)return j&&j(),r;if(a&&!s.iterateIn&&!s.iterateUnsetNumeric&&r&&\"object\"===_typeof(r)){var m=l.indexOf(r);if(!(m<0))return y[t]=\"#\",j&&j({cyclicKeypath:f[m]}),\"#\"+f[m];!0===a&&(l.push(r),f.push(t))}var S,g=isPlainObject(r),P=i(r),T=(g||P)&&(!p.plainObjectReplacers.length||s.replaced)||s.iterateIn?r:replace(t,r,s,u,g||P,null,j);if(T!==r?(b=T,_={replaced:T}):\"\"===t&&hasConstructorOf(r,e)?(u.push([t,r,a,s,void 0,void 0,s.type]),b=r):P&&\"object\"!==s.iterateIn||\"array\"===s.iterateIn?(S=new Array(r.length),_={clone:S}):([\"function\",\"symbol\"].includes(_typeof(r))||\"toJSON\"in r||hasConstructorOf(r,e)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!g&&\"object\"!==s.iterateIn?b=r:(S={},s.addLength&&(S.length=r.length),_={clone:S}),j&&j(),n.iterateNone)return S||b;if(!S)return b;if(s.iterateIn){var w=function _loop(n){var o={ownKeys:c.call(r,n)};_adaptBuiltinStateObjectProperties(s,o,(function(){var o=t+(t?\".\":\"\")+escapeKeyPathComponent(n),i=_encapsulate(o,r[n],Boolean(a),s,u,h);hasConstructorOf(i,e)?u.push([o,i,Boolean(a),s,S,n,s.type]):void 0!==i&&(S[n]=i)}))};for(var A in r)w(A);j&&j({endIterateIn:!0,end:!0})}else o(r).forEach((function(n){var o=t+(t?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(s,{ownKeys:!0},(function(){var t=_encapsulate(o,r[n],Boolean(a),s,u,h);hasConstructorOf(t,e)?u.push([o,t,Boolean(a),s,S,n,s.type]):void 0!==t&&(S[n]=t)}))})),j&&j({endIterateOwn:!0,end:!0});if(s.iterateUnsetNumeric){for(var C=r.length,k=function _loop2(n){if(!(n in r)){var o=t+(t?\".\":\"\")+n;_adaptBuiltinStateObjectProperties(s,{ownKeys:!1},(function(){var t=_encapsulate(o,void 0,Boolean(a),s,u,h);hasConstructorOf(t,e)?u.push([o,t,Boolean(a),s,S,n,s.type]):void 0!==t&&(S[n]=t)}))}},N=0;N<C;N++)k(N);j&&j({endIterateUnsetNumeric:!0,end:!0})}return S}function replace(e,t,r,n,a,o,i){for(var c=a?p.plainObjectReplacers:p.nonplainObjectReplacers,s=c.length;s--;){var l=c[s];if(l.test(t,r)){var f=l.type;if(p.revivers[f]){var h=y[e];y[e]=h?[f].concat(h):f}return Object.assign(r,{type:f,replaced:!0}),!u&&l.replaceAsync||l.replace?(i&&i({replacing:!0}),_encapsulate(e,l[u||!l.replaceAsync?\"replace\":\"replaceAsync\"](t,r),v&&\"readonly\",r,n,o,f)):(i&&i({typeDetected:!0}),_encapsulate(e,t,v&&\"readonly\",r,n,o,f))}}return t}return h.length?u&&n.throwOnBadSyncType?function(){throw new TypeError(\"Sync method requested but async result obtained\")}():Promise.resolve(a(b,h)).then(finish):!u&&n.throwOnBadSyncType?function(){throw new TypeError(\"Async method requested but sync result obtained\")}():n.stringification&&u?[finish(b)]:u?finish(b):Promise.resolve(finish(b))}},{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 n=t&&t.$types;if(!n)return t;if(!0===n)return t.$;var a=(r=_objectSpread2(_objectSpread2({sync:!0},this.options),r)).sync,c=[],s={},u=!0;n.$&&isPlainObject(n.$)&&(t=t.$,n=n.$,u=!1);var y=this;function executeReviver(e,t){var r=_slicedToArray(y.revivers[e]||[],1)[0];if(!r)throw new Error(\"Unregistered type: \"+e);return a&&!(\"revive\"in r)?t:r[a&&r.revive?\"revive\":!a&&r.reviveAsync?\"reviveAsync\":\"revive\"](t,s)}var l=[];function checkUndefined(e){return hasConstructorOf(e,p)?void 0:e}var f,h=function revivePlainObjects(){var r=[];if(Object.entries(n).forEach((function(e){var t=_slicedToArray(e,2),a=t[0],o=t[1];\"#\"!==o&&[].concat(o).forEach((function(e){_slicedToArray(y.revivers[e]||[null,{}],2)[1].plain&&(r.push({keypath:a,type:e}),delete n[a])}))})),r.length)return r.sort(nestedPathsFirst).reduce((function reducer(r,n){var a=n.keypath,o=n.type;if(isThenable(r))return r.then((function(e){return reducer(e,{keypath:a,type:o})}));var i=getByKeyPath(t,a);if(hasConstructorOf(i=executeReviver(o,i),e))return i.then((function(e){var r=setAtKeyPath(t,a,e);r===e&&(t=r)}));var c=setAtKeyPath(t,a,i);c===i&&(t=c)}),void 0)}();return hasConstructorOf(h,e)?f=h.then((function(){return t})):(f=function _revive(t,r,a,s,y){if(!u||\"$types\"!==t){var f=n[t],h=i(r);if(h||isPlainObject(r)){var v=h?new Array(r.length):{};for(o(r).forEach((function(n){var o=_revive(t+(t?\".\":\"\")+escapeKeyPathComponent(n),r[n],a||v,v,n),i=function set(e){return hasConstructorOf(e,p)?v[n]=void 0:void 0!==e&&(v[n]=e),e};hasConstructorOf(o,e)?l.push(o.then((function(e){return i(e)}))):i(o)})),r=v;c.length;){var d=_slicedToArray(c[0],4),b=d[0],_=d[1],O=d[2],j=d[3],m=getByKeyPath(b,_);if(void 0===m)break;O[j]=m,c.splice(0,1)}}if(!f)return r;if(\"#\"===f){var S=getByKeyPath(a,r.slice(1));return void 0===S&&c.push([a,r.slice(1),s,y]),S}return[].concat(f).reduce((function reducer(t,r){return hasConstructorOf(t,e)?t.then((function(e){return reducer(e,r)})):executeReviver(r,t)}),r)}}(\"\",t,null),l.length&&(f=e.resolve(f).then((function(t){return e.all([t].concat(l))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(f)?a&&r.throwOnBadSyncType?function(){throw new TypeError(\"Sync method requested but async result obtained\")}():hasConstructorOf(f,e)?f.p.then(checkUndefined):f:!a&&r.throwOnBadSyncType?function(){throw new TypeError(\"Async method requested but sync result obtained\")}():a?checkUndefined(f):Promise.resolve(checkUndefined(f))}},{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;t=t||{};var n=function R(e){i(e)?e.forEach((function(e){return R(e)})):e&&o(e).forEach((function(n){if(\"#\"===n)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(y.includes(n))throw new TypeError(\"Plain JSON object types are reserved as type names\");var a=e[n],o=a&&a.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,c=o.filter((function(e){return e.type===n}));if(c.length&&(o.splice(o.indexOf(c[0]),1),delete r.revivers[n],delete r.types[n]),\"function\"==typeof a){var s=a;a={test:function test(e){return e&&e.constructor===s},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(s.prototype),e)}}}else if(i(a)){var u=_slicedToArray(a,3);a={test:u[0],replace:u[1],revive:u[2]}}if(a&&a.test){var p={type:n,test:a.test.bind(a)};a.replace&&(p.replace=a.replace.bind(a)),a.replaceAsync&&(p.replaceAsync=a.replaceAsync.bind(a));var l=\"number\"==typeof t.fallback?t.fallback:t.fallback?0:Number.POSITIVE_INFINITY;if(a.testPlainObjects?r.plainObjectReplacers.splice(l,0,p):r.nonplainObjectReplacers.splice(l,0,p),a.revive||a.reviveAsync){var f={};a.revive&&(f.revive=a.revive.bind(a)),a.reviveAsync&&(f.reviveAsync=a.reviveAsync.bind(a)),r.revivers[n]=[f,{plain:a.testPlainObjects}]}r.types[n]=a}}))};return[].concat(e).forEach((function(e){return n(e)})),this}}]),Typeson}(),p=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));p.__typeson__type__=\"TypesonUndefined\";var y=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{y as JSON_TYPES,u as Typeson,e as TypesonPromise,p as Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","// This does not preserve `undefined` in sparse arrays; see the `undef`\n// or `sparse-undefined` preset\nimport {Undefined} from 'typeson';\n\nconst undef = {\n undef: {\n test (x, stateObj) {\n return typeof x === 'undefined' &&\n (stateObj.ownKeys || !('ownKeys' in stateObj));\n },\n replace (n) { return 0; },\n revive (s) {\n // Will add `undefined` (returning `undefined` would instead\n // avoid explicitly setting)\n return new Undefined();\n }\n }\n};\n\nexport default undef;\n","// This module is for objectified primitives (such as `new Number(3)` or\n// `new String(\"foo\")`)\n/* eslint-disable no-new-wrappers, unicorn/new-for-builtins */\nimport {toStringTag} from 'typeson';\n\nconst primitiveObjects = {\n // String Object (not primitive string which need no type spec)\n StringObject: {\n test (x) {\n return toStringTag(x) === 'String' && typeof x === 'object';\n },\n replace: String, // convert to primitive string\n revive (s) { return new String(s); } // Revive to an objectified string\n },\n // Boolean Object (not primitive boolean which need no type spec)\n BooleanObject: {\n test (x) {\n return toStringTag(x) === 'Boolean' &&\n typeof x === 'object';\n },\n replace: Boolean, // convert to primitive boolean\n revive (b) {\n // Revive to an objectified Boolean\n return new Boolean(b);\n }\n },\n // Number Object (not primitive number which need no type spec)\n NumberObject: {\n test (x) {\n return toStringTag(x) === 'Number' && typeof x === 'object';\n },\n replace: Number, // convert to primitive number\n revive (n) { return new Number(n); } // Revive to an objectified number\n }\n};\n/* eslint-enable no-new-wrappers, unicorn/new-for-builtins */\n\nexport default primitiveObjects;\n","import nan from '../types/nan.js';\nimport infinity from '../types/infinity.js';\nimport NegativeInfinity from '../types/negative-infinity.js';\n\nconst specialNumbers = [\n nan,\n infinity,\n NegativeInfinity\n];\n\nexport default specialNumbers;\n","const nan = {\n nan: {\n test (x) { return Number.isNaN(x); },\n replace (n) { return 'NaN'; },\n revive (s) { return Number.NaN; }\n }\n};\n\nexport default nan;\n","const infinity = {\n infinity: {\n test (x) { return x === Number.POSITIVE_INFINITY; },\n replace (n) { return 'Infinity'; },\n revive (s) { return Number.POSITIVE_INFINITY; }\n }\n};\n\nexport default infinity;\n","const negativeInfinity = {\n negativeInfinity: {\n test (x) { return x === Number.NEGATIVE_INFINITY; },\n replace (n) { return '-Infinity'; },\n revive (s) { return Number.NEGATIVE_INFINITY; }\n }\n};\n\nexport default negativeInfinity;\n","import {toStringTag} from 'typeson';\n\nconst date = {\n date: {\n test (x) { return toStringTag(x) === 'Date'; },\n replace (dt) {\n const time = dt.getTime();\n if (Number.isNaN(time)) {\n return 'NaN';\n }\n return time;\n },\n revive (time) {\n if (time === 'NaN') {\n return new Date(Number.NaN);\n }\n return new Date(time);\n }\n }\n};\n\nexport default date;\n","import {toStringTag} from 'typeson';\n\nconst error = {\n error: {\n test (x) { return toStringTag(x) === 'Error'; },\n replace ({name, message}) {\n return {name, message};\n },\n revive ({name, message}) {\n const e = new Error(message);\n e.name = name;\n return e;\n }\n }\n};\n// See also errors.js that may be registered after having registered this type.\n\nexport default error;\n","/* globals InternalError */\n/* eslint-env browser, node */\nimport {hasConstructorOf} from 'typeson';\n\nconst errors = {};\n\n// JS standard\n[\n TypeError, RangeError, SyntaxError, ReferenceError, EvalError, URIError\n].forEach((error) => create(error));\n\n/* c8 ignore next 2 */\n// @ts-ignore Non-standard\ntypeof InternalError === 'function' && create(InternalError);\n\n/**\n * Comprises all built-in errors.\n * @param {\n * TypeError|RangeError|SyntaxError|ReferenceError|EvalError|URIError|\n * InternalError\n * } Ctor\n * @returns {void}\n */\nfunction create (Ctor) {\n errors[Ctor.name.toLowerCase()] = {\n test (x) { return hasConstructorOf(x, Ctor); },\n replace (e) { return e.message; },\n revive (message) { return new Ctor(message); }\n };\n}\n\nexport default errors;\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2017 Brett Zamir, 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; // Use a lookup table to find the index.\n\nvar lookup = new Uint8Array(256);\n\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.codePointAt(i)] = i;\n}\n/**\n * @param {ArrayBuffer} arraybuffer\n * @param {Integer} byteOffset\n * @param {Integer} lngth\n * @returns {string}\n */\n\n\nvar encode = function encode(arraybuffer, byteOffset, lngth) {\n if (lngth === null || lngth === undefined) {\n lngth = arraybuffer.byteLength; // Needed for Safari\n }\n\n var bytes = new Uint8Array(arraybuffer, byteOffset || 0, // Default needed for Safari\n lngth);\n var len = bytes.length;\n var base64 = '';\n\n for (var _i = 0; _i < len; _i += 3) {\n base64 += chars[bytes[_i] >> 2];\n base64 += chars[(bytes[_i] & 3) << 4 | bytes[_i + 1] >> 4];\n base64 += chars[(bytes[_i + 1] & 15) << 2 | bytes[_i + 2] >> 6];\n base64 += chars[bytes[_i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.slice(0, -1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.slice(0, -2) + '==';\n }\n\n return base64;\n};\n/**\n * @param {string} base64\n * @returns {ArrayBuffer}\n */\n\nvar decode = function decode(base64) {\n var len = base64.length;\n var bufferLength = base64.length * 0.75;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n var arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (var _i2 = 0; _i2 < len; _i2 += 4) {\n encoded1 = lookup[base64.codePointAt(_i2)];\n encoded2 = lookup[base64.codePointAt(_i2 + 1)];\n encoded3 = lookup[base64.codePointAt(_i2 + 2)];\n encoded4 = lookup[base64.codePointAt(_i2 + 3)];\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n\n return arraybuffer;\n};\n\nexport { decode, encode };\n","import {toStringTag} from 'typeson';\n\nconst regexp = {\n regexp: {\n test (x) { return toStringTag(x) === 'RegExp'; },\n replace (rexp) {\n return {\n source: rexp.source,\n flags: (rexp.global ? 'g' : '') +\n (rexp.ignoreCase ? 'i' : '') +\n (rexp.multiline ? 'm' : '') +\n (rexp.sticky ? 'y' : '') +\n (rexp.unicode ? 'u' : '')\n };\n },\n revive ({source, flags}) { return new RegExp(source, flags); }\n }\n};\n\nexport default regexp;\n","import {toStringTag} from 'typeson';\n\nconst map = {\n map: {\n test (x) { return toStringTag(x) === 'Map'; },\n replace (mp) { return [...mp.entries()]; },\n revive (entries) { return new Map(entries); }\n }\n};\n\nexport default map;\n","import {toStringTag} from 'typeson';\n\nconst set = {\n set: {\n test (x) { return toStringTag(x) === 'Set'; },\n replace (st) {\n return [...st.values()];\n },\n revive (values) { return new Set(values); }\n }\n};\n\nexport default set;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\nconst arraybuffer = {\n arraybuffer: {\n test (x) { return toStringTag(x) === 'ArrayBuffer'; },\n replace (b, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(b);\n if (index > -1) {\n return {index};\n }\n stateObj.buffers.push(b);\n return encode(b);\n },\n revive (b64, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n if (typeof b64 === 'object') {\n return stateObj.buffers[b64.index];\n }\n const buffer = decode(b64);\n stateObj.buffers.push(buffer);\n return buffer;\n }\n }\n};\n\nexport default arraybuffer;\n\n// See also typed-arrays!\n","/* eslint-env browser, node */\nimport {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\nconst typedArrays = {};\n\n/**\n * @param {\n * Int8Array|Uint8Array|Uint8ClampedArray|Int16Array|Uint16Array|Int32Array|\n * Uint32Array|Float32Array|Float64Array\n * } TypedArray\n * @returns {void}\n */\nfunction create (TypedArray) {\n const typeName = TypedArray.name;\n typedArrays[typeName.toLowerCase()] = {\n test (x) { return toStringTag(x) === typeName; },\n replace ({buffer, byteOffset, length: l}, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index > -1) {\n return {index, byteOffset, length: l};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n byteOffset,\n length: l\n };\n },\n revive (b64Obj, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {byteOffset, length: len, encoded, index} = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(encoded);\n stateObj.buffers.push(buffer);\n }\n return new TypedArray(buffer, byteOffset, len);\n }\n };\n}\n\nif (typeof Int8Array === 'function') {\n // Those constructors are added in ES6 as a group.\n // If we have Int8Array, we can assume the rest also exists.\n [\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array\n ].forEach((TypedArray) => create(TypedArray));\n}\n\nexport default typedArrays;\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\nconst dataview = {\n dataview: {\n test (x) { return toStringTag(x) === 'DataView'; },\n replace ({buffer, byteOffset, byteLength}, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index > -1) {\n return {index, byteOffset, byteLength};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n byteOffset,\n byteLength\n };\n },\n revive (b64Obj, stateObj) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {byteOffset, byteLength, encoded, index} = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(encoded);\n stateObj.buffers.push(buffer);\n }\n return new DataView(buffer, byteOffset, byteLength);\n }\n }\n};\n\nexport default dataview;\n","import {hasConstructorOf} from 'typeson';\n\nconst IntlCollator = {\n test (x) { return hasConstructorOf(x, Intl.Collator); },\n replace (c) { return c.resolvedOptions(); },\n revive (options) { return new Intl.Collator(options.locale, options); }\n};\n\nconst IntlDateTimeFormat = {\n test (x) { return hasConstructorOf(x, Intl.DateTimeFormat); },\n replace (dtf) { return dtf.resolvedOptions(); },\n revive (options) {\n return new Intl.DateTimeFormat(options.locale, options);\n }\n};\n\nconst IntlNumberFormat = {\n test (x) { return hasConstructorOf(x, Intl.NumberFormat); },\n replace (nf) { return nf.resolvedOptions(); },\n revive (options) { return new Intl.NumberFormat(options.locale, options); }\n};\n\nconst intlTypes = {\n IntlCollator,\n IntlDateTimeFormat,\n IntlNumberFormat\n};\n\nexport default intlTypes;\n","/* globals BigInt */\n\nconst bigint = {\n bigint: {\n test (x) {\n return typeof x === 'bigint';\n },\n replace: String,\n revive: BigInt\n }\n};\n\nexport default bigint;\n","/* globals BigInt */\nimport {hasConstructorOf} from 'typeson';\n\nconst bigintObject = {\n bigintObject: {\n test (x) {\n return typeof x === 'object' && hasConstructorOf(x, BigInt);\n },\n replace: String,\n revive (s) {\n // Filed this to avoid error: https://github.com/eslint/eslint/issues/11810\n // eslint-disable-next-line no-new-object\n return new Object(BigInt(s));\n }\n }\n};\n\nexport default bigintObject;\n","/* This preset includes types that are built-in into the JavaScript\n language itself, this should work universally.\n\n Types that were added in ES6 or beyond will be checked before inclusion\n so that this module can be consumed by both ES5 and ES6 environments.\n\n Some types cannot be encapsulated because their inner state is private:\n `WeakMap`, `WeakSet`.\n\n The Function type is not included because their closures would not be\n serialized, so a revived Function that uses closures would not behave\n as expected.\n\n Symbols are similarly not included.\n*/\n\nimport arrayNonindexKeys from './array-nonindex-keys.js';\nimport undef from '../types/undef.js';\nimport primitiveObjects from '../types/primitive-objects.js';\nimport specialNumbers from './special-numbers.js';\nimport date from '../types/date.js';\nimport error from '../types/error.js';\nimport errors from '../types/errors.js';\nimport regexp from '../types/regexp.js';\nimport map from '../types/map.js';\nimport set from '../types/set.js';\nimport arraybuffer from '../types/arraybuffer.js';\nimport typedArrays from '../types/typed-arrays.js';\nimport dataview from '../types/dataview.js';\nimport intlTypes from '../types/intl-types.js';\nimport bigint from '../types/bigint.js';\nimport bigintObject from '../types/bigint-object.js';\n\nconst expObj = [\n undef,\n // ES5\n arrayNonindexKeys, primitiveObjects, specialNumbers,\n date, error, errors, regexp\n].concat(\n // ES2015 (ES6)\n /* c8 ignore next */\n typeof Map === 'function' ? map : [],\n /* c8 ignore next */\n typeof Set === 'function' ? set : [],\n /* c8 ignore next */\n typeof ArrayBuffer === 'function' ? arraybuffer : [],\n /* c8 ignore next */\n typeof Uint8Array === 'function' ? typedArrays : [],\n /* c8 ignore next */\n typeof DataView === 'function' ? dataview : [],\n /* c8 ignore next */\n typeof Intl !== 'undefined' ? intlTypes : [],\n\n /* c8 ignore next */\n typeof BigInt !== 'undefined' ? [bigint, bigintObject] : []\n);\nexport default expObj;\n"],"names":["arrayNonindexKeys","testPlainObjects","test","x","stateObj","Array","isArray","Object","keys","some","k","String","Number","parseInt","iterateIn","addLength","replace","a","iterateUnsetNumeric","revive","o","arr","forEach","key","val","sparseUndefined","ownKeys","n","s","e","t","r","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread2","arguments","length","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_typeof","Symbol","iterator","_typeof2","constructor","prototype","_classCallCheck","TypeError","_defineProperties","configurable","writable","_createClass","value","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","i","c","call","next","done","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","slice","name","from","TypesonPromise","this","p","Promise","__typeson__type__","toStringTag","then","reject","resolve","map","hasOwnProperty","getPrototypeOf","isThenable","isObject","hasConstructorOf","isPlainObject","escapeKeyPathComponent","unescapeKeyPathComponent","getByKeyPath","indexOf","setAtKeyPath","getJSONType","_await","_async","nestedPathsFirst","keypath","match","Typeson","options","plainObjectReplacers","nonplainObjectReplacers","revivers","types","stringify","stringification","encapsulate","JSON","stringifySync","throwOnBadSyncType","sync","stringifyAsync","parse","parseSync","parseAsync","specialTypeNames","returnTypeNames","rootTypeName","iterateNone","all","splice","u","y","l","f","h","v","_encapsulate","d","_invoke","cyclic","encapsulateObserver","b","finish","values","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","Set","$types","$","_adaptBuiltinStateObjectProperties","assign","_","O","j","type","promisesData","resolvingTypesonPromise","awaitingTypesonPromise","includes","isNaN","NEGATIVE_INFINITY","POSITIVE_INFINITY","replaced","m","cyclicKeypath","S","g","P","T","clone","ArrayBuffer","w","_loop","Boolean","A","endIterateIn","end","endIterateOwn","C","_loop2","N","endIterateUnsetNumeric","concat","replaceAsync","replacing","typeDetected","encapsulateSync","encapsulateAsync","executeReviver","Error","reviveAsync","checkUndefined","revivePlainObjects","entries","plain","sort","reduce","reducer","_revive","set","reviveSync","register","R","create","bind","fallback","Undefined","undef","primitiveObjects","StringObject","BooleanObject","NumberObject","specialNumbers","nan","NaN","infinity","negativeInfinity","date","dt","time","getTime","Date","error","_ref","message","_ref2","errors","Ctor","toLowerCase","RangeError","SyntaxError","ReferenceError","EvalError","URIError","InternalError","regexp","rexp","source","flags","global","ignoreCase","multiline","sticky","unicode","RegExp","mp","Map","st","chars","lookup","Uint8Array","codePointAt","encode","arraybuffer","byteOffset","lngth","byteLength","bytes","len","base64","_i","decode","encoded1","encoded2","encoded3","encoded4","bufferLength","_i2","buffers","index","b64","buffer","typedArrays","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","TypedArray","typeName","encoded","b64Obj","dataview","DataView","IntlCollator","Intl","Collator","resolvedOptions","locale","IntlDateTimeFormat","DateTimeFormat","dtf","IntlNumberFormat","NumberFormat","nf","bigint","BigInt","bigintObject"],"mappings":"wOAAA,IAAMA,EAAoB,CACtB,CACIA,kBAAmB,CACfC,kBAAkB,EAClBC,KAFe,SAAAA,KAETC,EAAGC,GACL,QAAIC,MAAMC,QAAQH,KAMVI,OAAOC,KAAKL,GAAGM,MAAK,SAACC,GAQVC,OAAAA,OAAOC,OAAOC,SAASH,MAAQA,OAG1CN,EAASU,UAAY,SACrBV,EAASW,WAAY,IAElB,IAIfC,QA3Be,SAAAA,QA2BNC,EAAGb,GAGR,OADAA,EAASc,qBAAsB,EACxBD,GAEXE,OAAQC,SAAAA,OAAAA,GACJ,GAAIf,MAAMC,QAAQc,GACd,OAAOA,EAEX,IAAMC,EAAM,GASZ,OAJAd,OAAOC,KAAKY,GAAGE,SAAQ,SAACC,GACpB,IAAMC,EAAMJ,EAAEG,GACdF,EAAIE,GAAOC,KAERH,KAInB,CACII,gBAAiB,CACbvB,KADa,SAAAA,KACPC,EAAGC,GACE,YAAa,IAAND,IAA0C,IAArBC,EAASsB,SAEhDV,QAASW,SAAAA,QAAAA,GAAK,OAAO,GACrBR,OAAQS,SAAAA,OAAAA,mrCCzDpB,SAASF,QAAQG,EAAEC,GAAG,IAAIC,EAAExB,OAAOC,KAAKqB,GAAMtB,GAAAA,OAAOyB,sBAAsB,CAAC,IAAIL,EAAEpB,OAAOyB,sBAAsBH,GAAGC,IAAIH,EAAEA,EAAEM,QAAQ,SAASH,GAAUvB,OAAAA,OAAO2B,yBAAyBL,EAAEC,GAAGK,eAAeJ,EAAEK,KAAKC,MAAMN,EAAEJ,GAAG,OAAOI,EAAE,SAASO,eAAeT,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAES,UAAUC,OAAOV,IAAI,CAAC,IAAIC,EAAE,MAAMQ,UAAUT,GAAGS,UAAUT,GAAG,GAAGA,EAAE,EAAEJ,QAAQnB,OAAOwB,IAAG,GAAIT,SAAS,SAASQ,GAAGW,gBAAgBZ,EAAEC,EAAEC,EAAED,OAAOvB,OAAOmC,0BAA0BnC,OAAOoC,iBAAiBd,EAAEtB,OAAOmC,0BAA0BX,IAAIL,QAAQnB,OAAOwB,IAAIT,SAAS,SAASQ,GAAGvB,OAAOqC,eAAef,EAAEC,EAAEvB,OAAO2B,yBAAyBH,EAAED,OAAO,OAAOD,EAAE,SAASgB,QAAQhB,GAAG,OAAOgB,QAAQ,mBAAmBC,QAAQ,UAAiBA,UAAAA,OAAOC,UAAS,SAASlB,GAAG,OAAAmB,UAAcnB,IAAG,SAASA,GAAUA,OAAAA,GAAG,mBAAmBiB,QAAQjB,EAAEoB,cAAcH,QAAQjB,IAAIiB,OAAOI,UAAU,SAAgBrB,UAAAA,KAAIA,GAAG,SAASsB,gBAAgBtB,EAAEC,GAAM,KAAED,aAAaC,GAAG,MAAM,IAAIsB,UAAU,qCAAqC,SAASC,kBAAkBxB,EAAEC,GAAG,IAAI,IAAIC,EAAE,EAAEA,EAAED,EAAEU,OAAOT,IAAI,CAAC,IAAIJ,EAAEG,EAAEC,GAAGJ,EAAEQ,WAAWR,EAAEQ,aAAY,EAAGR,EAAE2B,cAAa,EAAG,UAAU3B,IAAIA,EAAE4B,UAAS,GAAIhD,OAAOqC,eAAef,EAAEF,EAAEJ,IAAII,IAAI,SAAS6B,aAAa3B,EAAEC,EAAEC,GAAUD,OAAAA,GAAGuB,kBAAkBxB,EAAEqB,UAAUpB,GAAGC,GAAGsB,kBAAkBxB,EAAEE,GAAGxB,OAAOqC,eAAef,EAAE,YAAY,CAAC0B,UAAS,IAAK1B,EAAE,SAASY,gBAAgBZ,EAAEC,EAAEC,GAAUD,OAAAA,KAAKD,EAAEtB,OAAOqC,eAAef,EAAEC,EAAE,CAAC2B,MAAM1B,EAAEI,YAAW,EAAGmB,cAAa,EAAGC,UAAS,IAAK1B,EAAEC,GAAGC,EAAEF,EAAE,SAAS6B,eAAe7B,EAAEC,GAAG,OAAO,SAAS6B,gBAAgB9B,GAAMxB,GAAAA,MAAMC,QAAQuB,GAAG,OAAOA,EAAvD,CAA0DA,IAAI,SAAS+B,sBAAsB/B,EAAEC,GAAOC,IAAAA,EAAE,MAAMF,EAAE,KAAK,oBAAoBiB,QAAQjB,EAAEiB,OAAOC,WAAWlB,EAAE,cAAiB,GAAA,MAAME,EAAN,CAAe,IAAIJ,EAAEV,EAAEG,EAAE,GAAGyC,GAAE,EAAGC,GAAE,EAAM,IAAC,IAAI/B,EAAEA,EAAEgC,KAAKlC,KAAKgC,GAAGlC,EAAEI,EAAEiC,QAAQC,QAAQ7C,EAAEgB,KAAKT,EAAE8B,QAAQ3B,GAAGV,EAAEoB,SAASV,GAAG+B,GAAE,IAAK,MAAMhC,GAAGiC,GAAE,EAAG7C,EAAEY,EAAS,QAAI,IAACgC,GAAG,MAAM9B,UAAUA,WAAkB,QAAI+B,GAAAA,EAAE,MAAM7C,GAAG,OAAOG,GAA/U,CAAkVS,EAAEC,IAAIoC,4BAA4BrC,EAAEC,IAAI,SAASqC,mBAAmB,MAAM,IAAIf,UAAU,6IAAhD,GAA6pB,SAASc,4BAA4BrC,EAAEC,GAAG,GAAGD,EAAE,CAAI,GAAA,iBAAiBA,EAAE,OAAOuC,kBAAkBvC,EAAEC,GAAG,IAAIC,EAAExB,OAAO2C,UAAUmB,SAASN,KAAKlC,GAAGyC,MAAM,GAAG,GAAS,MAAA,WAAWvC,GAAGF,EAAEoB,cAAclB,EAAEF,EAAEoB,YAAYsB,MAAM,QAAQxC,GAAG,QAAQA,EAAE1B,MAAMmE,KAAK3C,GAAG,cAAcE,GAAG,2CAA2C7B,KAAK6B,GAAGqC,kBAAkBvC,EAAEC,QAAG,GAAQ,SAASsC,kBAAkBvC,EAAEC,IAAI,MAAMA,GAAGA,EAAED,EAAEW,UAAUV,EAAED,EAAEW,QAAQ,IAAI,IAAIT,EAAE,EAAEJ,EAAE,IAAItB,MAAMyB,GAAGC,EAAED,EAAEC,IAAIJ,EAAEI,GAAGF,EAAEE,GAAG,OAAOJ,EAAE,IAAIE,EAAE2B,cAAc,SAASiB,eAAe5C,GAAGsB,gBAAgBuB,KAAKD,gBAAgBC,KAAKC,EAAE,IAAIC,QAAQ/C,MAAMA,EAAEgD,kBAAkB,iBAAiB,oBAAoB/B,SAASjB,EAAEqB,UAAUJ,OAAOgC,aAAa,kBAAkBjD,EAAEqB,UAAU6B,KAAK,SAASjD,EAAEC,GAAOJ,IAAAA,EAAE+C,KAAK,OAAO,IAAI7C,GAAG,SAASA,EAAEZ,GAAGU,EAAEgD,EAAEI,MAAM,SAAShD,GAAGF,EAAEC,EAAEA,EAAEC,GAAGA,MAA/B,OAA4C,SAASF,GAAG,OAAOE,EAAEA,EAAEF,GAAG+C,QAAQI,OAAOnD,MAAMkD,KAAKlD,EAAEZ,OAAOY,EAAEqB,UAAgB,MAAA,SAASrB,GAAG,OAAO6C,KAAKK,KAAK,KAAKlD,IAAIA,EAAEoD,QAAQ,SAASnD,GAAG,OAAO,IAAID,GAAG,SAASA,GAAGA,EAAEC,OAAOD,EAAEmD,OAAO,SAASlD,GAAG,OAAO,IAAID,GAAG,SAASA,EAAEE,GAAGA,EAAED,OAAO,CAAC,MAAM,OAAO,cAAcR,SAAS,SAASQ,GAAGD,EAAEC,GAAG,SAASC,GAAG,OAAO,IAAIF,GAAG,SAASA,EAAEF,GAAGiD,QAAQ9C,GAAGC,EAAEmD,KAAK,SAASrD,GAAG,OAAOA,GAAGA,EAAEoB,aAAa,mBAAmBpB,EAAEoB,YAAY4B,kBAAkBhD,EAAE8C,EAAE9C,MAAMkD,KAAKlD,EAAEF,UAAU,IAAIG,EAAE,GAAGuC,SAAStC,EAAE,GAAGoD,eAAexD,EAAEpB,OAAO6E,eAAenE,EAAEc,EAAEsC,SAAS,SAASgB,WAAWxD,EAAEC,GAAG,OAAOwD,SAASzD,IAAI,mBAAmBA,EAAEkD,QAAQjD,GAAG,mBAAmBD,SAAS,SAASiD,YAAYjD,GAAG,OAAOC,EAAEiC,KAAKlC,GAAGyC,MAAM,GAAG,GAAG,SAASiB,iBAAiB1D,EAAEC,GAAM,IAACD,GAAG,WAAWgB,QAAQhB,GAAG,OAAM,EAAG,IAAIT,EAAEO,EAAEE,GAAG,IAAIT,EAAE,OAAO,OAAOU,EAAE,IAAI+B,EAAE9B,EAAEgC,KAAK3C,EAAE,gBAAgBA,EAAE6B,YAAY,MAAM,mBAAmBY,EAAE,OAAO/B,EAAEA,IAAI+B,GAAI,OAAO/B,GAAGb,EAAE8C,KAAKF,KAAK5C,EAAE8C,KAAKjC,IAAI,mBAAmBA,GAAG,iBAAiB+B,EAAEgB,mBAAmBhB,EAAEgB,oBAAoB/C,EAAE+C,kBAAmB,SAASW,cAAc3D,GAAS,SAAGA,GAAG,WAAWiD,YAAYjD,OAAOF,EAAEE,IAAI0D,iBAAiB1D,EAAEtB,SAA+I,SAAS+E,SAASzD,GAAG,OAAOA,GAAG,WAAWgB,QAAQhB,GAAG,SAAS4D,uBAAuB5D,GAAG,OAAOA,EAAEb,QAAQ,KAAK,MAAMA,QAAQ,MAAM,MAAM,SAAS0E,yBAAyB7D,GAAG,OAAOA,EAAEb,QAAQ,MAAM,KAAKA,QAAQ,MAAM,KAAK,SAAS2E,aAAa9D,EAAEC,GAAG,GAAG,KAAKA,EAAE,OAAOD,EAAE,IAAIE,EAAED,EAAE8D,QAAQ,KAAK,GAAG7D,GAAG,EAAE,CAAC,IAAIJ,EAAEE,EAAE6D,yBAAyB5D,EAAEwC,MAAM,EAAEvC,KAAY,YAAA,IAASJ,OAAE,EAAOgE,aAAahE,EAAEG,EAAEwC,MAAMvC,EAAE,IAAI,OAAOF,EAAE6D,yBAAyB5D,IAAI,SAAS+D,aAAahE,EAAEC,EAAEC,GAAG,GAAG,KAAKD,EAAE,OAAOC,EAAE,IAAIJ,EAAEG,EAAE8D,QAAQ,KAAYjE,OAAAA,GAAG,EAAEkE,aAAahE,EAAE6D,yBAAyB5D,EAAEwC,MAAM,EAAE3C,KAAKG,EAAEwC,MAAM3C,EAAE,GAAGI,IAAIF,EAAE6D,yBAAyB5D,IAAIC,EAAEF,GAAG,SAASiE,YAAYjE,GAAG,OAAO,OAAOA,EAAE,OAAOxB,MAAMC,QAAQuB,GAAG,QAAQgB,QAAQhB,GAAG,SAASkE,OAAOlE,EAAEC,EAAEC,GAAG,OAAOA,EAAED,EAAEA,EAAED,GAAGA,GAAGA,GAAGA,EAAEkD,OAAOlD,EAAE+C,QAAQK,QAAQpD,IAAIC,EAAED,EAAEkD,KAAKjD,GAAGD,GAAG,IAAIT,EAAEb,OAAOC,KAAKqD,EAAExD,MAAMC,QAAQwD,EAAE,GAAGqB,eAAevD,EAAE,CAAC,OAAO,WAAW,YAAY,uBAAuB,SAASoE,OAAOnE,GAAG,OAAO,WAAW,IAAI,IAAIC,EAAE,GAAGC,EAAE,EAAEA,EAAEQ,UAAUC,OAAOT,IAAID,EAAEC,GAAGQ,UAAUR,GAAM,IAAC,OAAO6C,QAAQK,QAAQpD,EAAEQ,MAAMqC,KAAK5C,IAAI,MAAMD,GAAG,OAAO+C,QAAQI,OAAOnD,KAAK,SAASoE,iBAAiBpE,EAAEC,GAAG,GAAG,KAAKD,EAAEqE,QAAQ,OAAO,EAAMnE,IAAAA,EAAEF,EAAEqE,QAAQC,MAAM,QAAQ,EAAExE,EAAEG,EAAEoE,QAAQC,MAAM,QAAQ,EAASpE,OAAAA,IAAIA,EAAEA,EAAES,QAAQb,IAAIA,EAAEA,EAAEa,QAAQT,EAAEJ,GAAG,EAAEI,EAAEJ,EAAE,EAAEE,EAAEqE,QAAQpE,EAAEoE,SAAS,EAAErE,EAAEqE,QAAQpE,EAAEoE,oBAAkCE,SAAAA,QAAQvE,GAAGsB,gBAAgBuB,KAAK0B,SAAS1B,KAAK2B,QAAQxE,EAAE6C,KAAK4B,qBAAqB,GAAG5B,KAAK6B,wBAAwB,GAAG7B,KAAK8B,SAAS,GAAG9B,KAAK+B,MAAM,GAAUjD,aAAa4C,QAAQ,CAAC,CAAC7E,IAAI,YAAYkC,MAAM,SAASiD,UAAU7E,EAAEC,EAAEC,EAAEJ,GAAGA,EAAEW,eAAeA,eAAeA,eAAe,GAAGoC,KAAK2B,SAAS1E,GAAG,GAAG,CAACgF,iBAAgB,IAAS1F,IAAAA,EAAEyD,KAAKkC,YAAY/E,EAAE,KAAKF,GAAUkC,OAAAA,EAAE5C,GAAG4F,KAAKH,UAAUzF,EAAE,GAAGa,EAAEC,GAAGd,EAAE8D,MAAM,SAASlD,GAAUgF,OAAAA,KAAKH,UAAU7E,EAAEC,EAAEC,QAAQ,CAACR,IAAI,gBAAgBkC,MAAM,SAASqD,cAAcjF,EAAEC,EAAEC,EAAEJ,GAAG,OAAO+C,KAAKgC,UAAU7E,EAAEC,EAAEC,EAAEO,eAAeA,eAAe,CAACyE,oBAAmB,GAAIpF,GAAG,GAAG,CAACqF,MAAK,OAAQ,CAACzF,IAAI,iBAAiBkC,MAAM,SAASwD,eAAepF,EAAEC,EAAEC,EAAEJ,GAAG,OAAO+C,KAAKgC,UAAU7E,EAAEC,EAAEC,EAAEO,eAAeA,eAAe,CAACyE,oBAAmB,GAAIpF,GAAG,GAAG,CAACqF,MAAK,OAAQ,CAACzF,IAAI,QAAQkC,MAAM,SAASyD,MAAMrF,EAAEC,EAAEC,GAAG,OAAOA,EAAEO,eAAeA,eAAeA,eAAe,GAAGoC,KAAK2B,SAAStE,GAAG,GAAG,CAACmF,OAAM,IAAKxC,KAAKvD,OAAO0F,KAAKK,MAAMrF,EAAEC,GAAGC,KAAK,CAACR,IAAI,YAAYkC,MAAM,SAAS0D,UAAUtF,EAAEC,EAAEC,GAAU,OAAA2C,KAAKwC,MAAMrF,EAAEC,EAAEQ,eAAeA,eAAe,CAACyE,oBAAmB,GAAIhF,GAAG,GAAG,CAACiF,MAAK,OAAQ,CAACzF,IAAI,aAAakC,MAAM,SAAS2D,WAAWvF,EAAEC,EAAEC,GAAU,OAAA2C,KAAKwC,MAAMrF,EAAEC,EAAEQ,eAAeA,eAAe,CAACyE,oBAAmB,GAAIhF,GAAG,GAAG,CAACiF,MAAK,OAAQ,CAACzF,IAAI,mBAAmBkC,MAAM,SAAS4D,iBAAiBxF,EAAEC,GAAOC,IAAAA,EAAEQ,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOR,EAAEuF,iBAAgB,EAAG5C,KAAKkC,YAAY/E,EAAEC,EAAEC,KAAK,CAACR,IAAI,eAAekC,MAAM,SAAS8D,aAAa1F,EAAEC,GAAOC,IAAAA,EAAEQ,UAAUC,OAAO,QAAG,IAASD,UAAU,GAAGA,UAAU,GAAG,GAAG,OAAOR,EAAEyF,aAAY,EAAG9C,KAAKkC,YAAY/E,EAAEC,EAAEC,KAAK,CAACR,IAAI,cAAckC,MAAM,SAASmD,YAAY9E,EAAEC,EAAEJ,GAAOV,IAAAA,EAAE+E,QAAQ,SAASlE,EAAEC,GAAG,OAAOgE,OAAOnB,QAAQ6C,IAAI1F,EAAEmD,KAAK,SAASrD,GAAG,OAAOA,EAAE,GAAG8C,OAAO,SAAShD,GAAG,OAAOoE,OAAOnB,QAAQ6C,IAAI9F,EAAEuD,IAAIc,QAAQ,SAASrE,GAAOP,IAAAA,GAAE,EAAGyC,EAAE,GAAGC,EAAEJ,eAAe3B,EAAE2F,OAAO,EAAE,GAAG,GAAG9F,EAAE8B,eAAeI,EAAE,GAAG,GAAG6D,EAAE/F,EAAE,GAAG+C,EAAE/C,EAAE,GAAGgG,EAAEhG,EAAE,GAAGiG,EAAEjG,EAAE,GAAGkG,EAAElG,EAAE,GAAGmG,EAAEnG,EAAE,GAAGoG,EAAEC,aAAaN,EAAEhG,EAAEgD,EAAEiD,EAAE/D,GAAE,EAAGkE,GAAGG,EAAE3C,iBAAiByC,EAAEnG,GAAG,OAAO,SAASsG,QAAQtG,EAAEC,GAAOC,IAAAA,EAAEF,IAAI,OAAOE,GAAGA,EAAEgD,KAAKhD,EAAEgD,KAAKjD,GAAGA,EAAEC,GAA7D,EAAkE,WAAW,GAAG4F,GAAGO,EAAE,OAAOnC,OAAOiC,EAAErD,GAAG,SAAS9C,GAAGgG,EAAEC,GAAGjG,EAAE,IAAIE,EAAEd,EAAEa,EAAE+B,GAAG,OAAOzC,GAAE,EAAGW,QAAQ,SAASF,GAAG,OAAOT,EAAES,GAAG8F,EAAEE,EAAEC,GAAGE,EAAElG,EAAEoG,EAAEF,EAAErD,EAAEqD,EAAE/G,EAAEa,EAAE+B,aAAa,WAAW,OAAO/B,WAAW6F,GAAGhG,EAAEW,eAAeA,eAAe,CAAC0E,MAAK,GAAItC,KAAK2B,SAAS1E,IAAIqF,KAAKrC,EAAED,KAAKkD,EAAE,GAAGC,EAAE,GAAGC,EAAE,GAAGC,EAAE,GAAGC,IAAI,WAAWrG,IAAIA,EAAEyG,OAAOF,EAAEvG,EAAE0G,oBAAoBC,EAAEL,aAAa,GAAGnG,EAAEkG,EAAEjG,GAAG,GAAGgG,GAAYQ,SAAAA,OAAO1G,GAAG,IAAIC,EAAEvB,OAAOiI,OAAOZ,GAAG,GAAGjG,EAAE6F,YAAY,OAAO1F,EAAEU,OAAOV,EAAE,GAAGgE,YAAYjE,GAAMC,GAAAA,EAAEU,OAAO,CAAC,GAAGb,EAAE2F,gBAAgB,OAA/tM,SAASmB,mBAAmB5G,GAAG,OAAO,SAAS6G,mBAAmB7G,GAAMxB,GAAAA,MAAMC,QAAQuB,GAAG,OAAOuC,kBAAkBvC,GAA5E,CAAgFA,IAAI,SAAS8G,iBAAiB9G,GAAM,GAAA,oBAAoBiB,QAAQ,MAAMjB,EAAEiB,OAAOC,WAAW,MAAMlB,EAAE,cAAc,OAAOxB,MAAMmE,KAAK3C,GAA9H,CAAkIA,IAAIqC,4BAA4BrC,IAAI,SAAS+G,qBAAqB,MAAM,IAAIxF,UAAU,wIAAlD,GAAs8LqF,CAAmB,IAAII,IAAI/G,IAAID,GAAG2D,cAAc3D,KAAKiC,EAAEC,KAAKlC,EAAE,UAAUA,EAAEiH,OAAOlB,EAAE/F,EAAE,CAACkH,EAAElH,EAAEiH,OAAO,CAACC,EAAEnB,SAAStC,SAASzD,IAAIiC,EAAEC,KAAKlC,EAAE,YAAYA,EAAE,CAACkH,EAAElH,EAAEiH,QAAO,IAAK,OAAOnH,EAAE2F,iBAAiBzF,EAAE,SAASmH,mCAAmCnH,EAAEC,EAAEC,GAAGxB,OAAO0I,OAAOpH,EAAEC,GAAOH,IAAAA,EAAEC,EAAEsD,KAAK,SAASpD,GAAG,IAAIC,EAAEF,EAAEC,GAAG,cAAcD,EAAEC,GAAGC,KAAKA,IAAIH,EAAEN,SAAS,SAASQ,EAAEC,GAAGF,EAAEC,GAAGH,EAAEI,MAAM,SAASkG,aAAanG,EAAEC,EAAEd,EAAEW,EAAE+F,EAAEI,EAAEC,GAAG,IAAIM,EAAEY,EAAE,GAAGC,EAAEtG,QAAQd,GAAGqH,EAAElB,EAAE,SAASvG,GAAOP,IAAAA,EAAE4G,GAAGpG,EAAEyH,MAAMvD,YAAY/D,GAAGmG,EAAE3H,OAAO0I,OAAOtH,GAAGuH,EAAE,CAAChD,QAAQpE,EAAE2B,MAAM1B,EAAEqG,OAAOnH,EAAEb,SAASwB,EAAE0H,aAAa3B,EAAE4B,wBAAwBxB,EAAEyB,uBAAuBjE,iBAAiBxD,EAAEF,IAAI,CAACwH,KAAKjI,MAAM,KAAK,GAAG,CAAC,SAAS,UAAU,SAAS,aAAaqI,SAASN,GAAG,YAAO,IAASpH,GAAGnB,OAAO8I,MAAM3H,IAAIA,IAAInB,OAAO+I,mBAAmB5H,IAAInB,OAAOgJ,mBAAmBtB,EAAE1G,EAAEiI,SAAS9H,EAAEf,QAAQc,EAAEC,EAAEH,EAAE+F,GAAE,EAAGI,EAAEqB,MAAMrH,IAAImH,EAAE,CAACW,SAASvB,IAAIA,EAAEvG,EAAEqH,GAAGA,IAAId,EAAK,GAAA,OAAOvG,EAAE,OAAOqH,GAAGA,IAAIrH,EAAE,GAAGd,IAAIW,EAAEd,YAAYc,EAAEV,qBAAqBa,GAAG,WAAWc,QAAQd,GAAG,CAAC,IAAI+H,EAAEjC,EAAEjC,QAAQ7D,GAAG,KAAK+H,EAAE,GAAG,OAAOlC,EAAE9F,GAAG,IAAIsH,GAAGA,EAAE,CAACW,cAAcjC,EAAEgC,KAAK,IAAIhC,EAAEgC,IAAG,IAAK7I,IAAI4G,EAAEzF,KAAKL,GAAG+F,EAAE1F,KAAKN,IAAI,IAAIkI,EAAEC,EAAEzE,cAAczD,GAAGmI,EAAErG,EAAE9B,GAAGoI,GAAGF,GAAGC,MAAMvF,EAAE2B,qBAAqB9D,QAAQZ,EAAEiI,WAAWjI,EAAEd,UAAUiB,EAAEf,QAAQc,EAAEC,EAAEH,EAAE+F,EAAEsC,GAAGC,EAAE,KAAKd,GAAMe,GAAAA,IAAIpI,GAAGuG,EAAE6B,EAAEjB,EAAE,CAACW,SAASM,IAAI,KAAKrI,GAAGyD,iBAAiBxD,EAAEF,IAAI8F,EAAEvF,KAAK,CAACN,EAAEC,EAAEd,EAAEW,OAAE,OAAO,EAAOA,EAAEyH,OAAOf,EAAEvG,GAAGmI,GAAG,WAAWtI,EAAEd,WAAW,UAAUc,EAAEd,WAAWkJ,EAAE,IAAI3J,MAAM0B,EAAES,QAAQ0G,EAAE,CAACkB,MAAMJ,KAAK,CAAC,WAAW,UAAUP,SAAS5G,QAAQd,KAAK,WAAWA,GAAGwD,iBAAiBxD,EAAEF,IAAI0D,iBAAiBxD,EAAE6C,UAAUW,iBAAiBxD,EAAEsI,gBAAgBJ,GAAG,WAAWrI,EAAEd,UAAUwH,EAAEvG,GAAGiI,EAAE,GAAGpI,EAAEb,YAAYiJ,EAAExH,OAAOT,EAAES,QAAQ0G,EAAE,CAACkB,MAAMJ,IAAIZ,GAAGA,IAAIzH,EAAE6F,YAAY,OAAOwC,GAAG1B,EAAE,IAAI0B,EAAE,OAAO1B,EAAK1G,GAAAA,EAAEd,UAAU,CAAC,IAAIwJ,EAAE,SAASC,MAAM5I,GAAG,IAAIP,EAAE,CAACM,QAAQoC,EAAEC,KAAKhC,EAAEJ,IAAIqH,mCAAmCpH,EAAER,GAAG,WAAW,IAAIA,EAAEU,GAAGA,EAAE,IAAI,IAAI2D,uBAAuB9D,GAAGkC,EAAEoE,aAAa7G,EAAEW,EAAEJ,GAAG6I,QAAQvJ,GAAGW,EAAE+F,EAAEI,GAAGxC,iBAAiB1B,EAAEhC,GAAG8F,EAAEvF,KAAK,CAAChB,EAAEyC,EAAE2G,QAAQvJ,GAAGW,EAAEoI,EAAErI,EAAEC,EAAEyH,YAAO,IAASxF,IAAImG,EAAErI,GAAGkC,OAAW,IAAA,IAAI4G,KAAK1I,EAAEuI,EAAEG,GAAGrB,GAAGA,EAAE,CAACsB,cAAa,EAAGC,KAAI,SAAUvJ,EAAEW,GAAGT,SAAS,SAASK,GAAG,IAAIP,EAAEU,GAAGA,EAAE,IAAI,IAAI2D,uBAAuB9D,GAAGqH,mCAAmCpH,EAAE,CAACF,SAAQ,IAAK,WAAeI,IAAAA,EAAEmG,aAAa7G,EAAEW,EAAEJ,GAAG6I,QAAQvJ,GAAGW,EAAE+F,EAAEI,GAAGxC,iBAAiBzD,EAAED,GAAG8F,EAAEvF,KAAK,CAAChB,EAAEU,EAAE0I,QAAQvJ,GAAGW,EAAEoI,EAAErI,EAAEC,EAAEyH,YAAO,IAASvH,IAAIkI,EAAErI,GAAGG,SAASsH,GAAGA,EAAE,CAACwB,eAAc,EAAGD,KAAI,IAAQ/I,GAAAA,EAAEV,oBAAoB,CAAC,IAAI,IAAI2J,EAAE9I,EAAES,OAAO9B,EAAE,SAASoK,OAAOnJ,GAAG,KAAKA,KAAKI,GAAG,CAAKX,IAAAA,EAAEU,GAAGA,EAAE,IAAI,IAAIH,EAAEqH,mCAAmCpH,EAAE,CAACF,SAAQ,IAAK,WAAW,IAAII,EAAEmG,aAAa7G,OAAE,EAAOoJ,QAAQvJ,GAAGW,EAAE+F,EAAEI,GAAGxC,iBAAiBzD,EAAED,GAAG8F,EAAEvF,KAAK,CAAChB,EAAEU,EAAE0I,QAAQvJ,GAAGW,EAAEoI,EAAErI,EAAEC,EAAEyH,YAAO,IAASvH,IAAIkI,EAAErI,GAAGG,QAAQiJ,EAAE,EAAEA,EAAEF,EAAEE,IAAIrK,EAAEqK,GAAG3B,GAAGA,EAAE,CAAC4B,wBAAuB,EAAGL,KAAI,IAAK,OAAOX,EAAE,SAAShJ,QAAQa,EAAEC,EAAEC,EAAEJ,EAAEV,EAAEG,EAAEyC,GAAO,IAAA,IAAIC,EAAE7C,EAAE0D,EAAE2B,qBAAqB3B,EAAE4B,wBAAwB3E,EAAEkC,EAAEtB,OAAOZ,KAAK,CAAC,IAAIiG,EAAE/D,EAAElC,GAAMiG,GAAAA,EAAE3H,KAAK4B,EAAEC,GAAG,CAAC,IAAI+F,EAAED,EAAEwB,KAAK,GAAG1E,EAAE6B,SAASsB,GAAG,CAAC,IAAIC,EAAEH,EAAE/F,GAAG+F,EAAE/F,GAAGkG,EAAE,CAACD,GAAGmD,OAAOlD,GAAGD,EAAE,OAAOvH,OAAO0I,OAAOlH,EAAE,CAACsH,KAAKvB,EAAE+B,UAAS,KAAMlC,GAAGE,EAAEqD,cAAcrD,EAAE7G,SAAS6C,GAAGA,EAAE,CAACsH,WAAU,IAAKlD,aAAapG,EAAEgG,EAAEF,IAAIE,EAAEqD,aAAa,UAAU,gBAAgBpJ,EAAEC,GAAGiG,GAAG,WAAWjG,EAAEJ,EAAEP,EAAE0G,KAAKjE,GAAGA,EAAE,CAACuH,cAAa,IAAKnD,aAAapG,EAAEC,EAAEkG,GAAG,WAAWjG,EAAEJ,EAAEP,EAAE0G,KAAK,OAAOhG,EAASiG,OAAAA,EAAEvF,OAAOmF,GAAGhG,EAAEoF,mBAAmB,WAAW,MAAM,IAAI3D,UAAU,mDAA/B,GAAqFwB,QAAQK,QAAQhE,EAAEqH,EAAEP,IAAIhD,KAAKwD,SAASZ,GAAGhG,EAAEoF,mBAAmB,WAAW,MAAM,IAAI3D,UAAU,mDAA/B,GAAqFzB,EAAEgF,iBAAiBgB,EAAE,CAACY,OAAOD,IAAIX,EAAEY,OAAOD,GAAG1D,QAAQK,QAAQsD,OAAOD,MAAM,CAAC/G,IAAI,kBAAkBkC,MAAM,SAAS4H,gBAAgBxJ,EAAEC,EAAEC,GAAU,OAAA2C,KAAKkC,YAAY/E,EAAEC,EAAEQ,eAAeA,eAAe,CAACyE,oBAAmB,GAAIhF,GAAG,GAAG,CAACiF,MAAK,OAAQ,CAACzF,IAAI,mBAAmBkC,MAAM,SAAS6H,iBAAiBzJ,EAAEC,EAAEC,GAAU,OAAA2C,KAAKkC,YAAY/E,EAAEC,EAAEQ,eAAeA,eAAe,CAACyE,oBAAmB,GAAIhF,GAAG,GAAG,CAACiF,MAAK,OAAQ,CAACzF,IAAI,SAASkC,MAAM,SAAStC,OAAOW,EAAEC,GAAG,IAAIJ,EAAEG,GAAGA,EAAEgH,OAAO,IAAInH,EAAE,OAAOG,EAAK,IAAA,IAAKH,EAAE,OAAOG,EAAEiH,EAAM9H,IAAAA,GAAGc,EAAEO,eAAeA,eAAe,CAAC0E,MAAK,GAAItC,KAAK2B,SAAStE,IAAIiF,KAAKlD,EAAE,GAAGlC,EAAE,GAAG+F,GAAE,EAAGhG,EAAEoH,GAAGvD,cAAc7D,EAAEoH,KAAKjH,EAAEA,EAAEiH,EAAEpH,EAAEA,EAAEoH,EAAEpB,GAAE,GAAQC,IAAAA,EAAElD,KAAK,SAAS6G,eAAe1J,EAAEC,GAAG,IAAIC,EAAE2B,eAAekE,EAAEpB,SAAS3E,IAAI,GAAG,GAAG,GAAM,IAACE,EAAE,MAAM,IAAIyJ,MAAM,sBAAsB3J,GAAG,OAAOZ,KAAK,WAAWc,GAAGD,EAAEC,EAAEd,GAAGc,EAAEZ,OAAO,UAAUF,GAAGc,EAAE0J,YAAY,cAAc,UAAU3J,EAAEF,GAAOiG,IAAAA,EAAE,GAAY6D,SAAAA,eAAe7J,GAAU0D,OAAAA,iBAAiB1D,EAAE8C,QAAG,EAAO9C,EAAE,IAAIiG,EAAEC,EAAE,SAAS4D,qBAAyB5J,IAAAA,EAAE,GAAMxB,GAAAA,OAAOqL,QAAQjK,GAAGL,SAAS,SAASO,GAAG,IAAIC,EAAE4B,eAAe7B,EAAE,GAAGZ,EAAEa,EAAE,GAAGV,EAAEU,EAAE,GAASV,MAAAA,GAAG,GAAG6J,OAAO7J,GAAGE,SAAS,SAASO,GAAG6B,eAAekE,EAAEpB,SAAS3E,IAAI,CAAC,KAAK,IAAI,GAAG,GAAGgK,QAAQ9J,EAAEK,KAAK,CAAC8D,QAAQjF,EAAEoI,KAAKxH,WAAWF,EAAEV,UAAUc,EAAES,OAAO,OAAOT,EAAE+J,KAAK7F,kBAAkB8F,QAAQ,SAASC,QAAQjK,EAAEJ,GAAG,IAAIV,EAAEU,EAAEuE,QAAQ9E,EAAEO,EAAE0H,KAAK,GAAGhE,WAAWtD,GAAG,OAAOA,EAAEgD,MAAM,SAASlD,GAAUmK,OAAAA,QAAQnK,EAAE,CAACqE,QAAQjF,EAAEoI,KAAKjI,OAAO,IAAIyC,EAAE8B,aAAa7D,EAAEb,GAAMsE,GAAAA,iBAAiB1B,EAAE0H,eAAenK,EAAEyC,GAAGhC,GAAG,OAAOgC,EAAEkB,MAAM,SAASlD,GAAOE,IAAAA,EAAE8D,aAAa/D,EAAEb,EAAEY,GAAGE,IAAIF,IAAIC,EAAEC,MAAU+B,IAAAA,EAAE+B,aAAa/D,EAAEb,EAAE4C,GAAGC,IAAID,IAAI/B,EAAEgC,UAAK,GAA/mB,GAA0nB,OAAOyB,iBAAiBwC,EAAElG,GAAGiG,EAAEC,EAAEhD,MAAM,WAAW,OAAOjD,MAAMgG,EAAE,SAASmE,QAAQnK,EAAEC,EAAEd,EAAEW,EAAEgG,GAAG,IAAID,GAAG,WAAW7F,EAAE,CAAC,IAAIgG,EAAEnG,EAAEG,GAAGiG,EAAElE,EAAE9B,GAAG,GAAGgG,GAAGvC,cAAczD,GAAG,CAAC,IAAIiG,EAAED,EAAE,IAAI1H,MAAM0B,EAAES,QAAQ,GAAOpB,IAAAA,EAAEW,GAAGT,SAAS,SAASK,GAAG,IAAIP,EAAE6K,QAAQnK,GAAGA,EAAE,IAAI,IAAI2D,uBAAuB9D,GAAGI,EAAEJ,GAAGV,GAAG+G,EAAEA,EAAErG,GAAGkC,EAAE,SAASqI,IAAIrK,GAAG,OAAO0D,iBAAiB1D,EAAE8C,GAAGqD,EAAErG,QAAG,OAAO,IAASE,IAAImG,EAAErG,GAAGE,GAAGA,GAAG0D,iBAAiBnE,EAAES,GAAGgG,EAAEzF,KAAKhB,EAAE2D,MAAM,SAASlD,GAAUgC,OAAAA,EAAEhC,OAAOgC,EAAEzC,MAAMW,EAAEiG,EAAElE,EAAEtB,QAAQ,CAAK0F,IAAAA,EAAExE,eAAeI,EAAE,GAAG,GAAGwE,EAAEJ,EAAE,GAAGgB,EAAEhB,EAAE,GAAGiB,EAAEjB,EAAE,GAAGkB,EAAElB,EAAE,GAAG4B,EAAEnE,aAAa2C,EAAEY,GAAG,QAAG,IAASY,EAAE,MAAMX,EAAEC,GAAGU,EAAEhG,EAAE4D,OAAO,EAAE,IAAI,IAAII,EAAE,OAAO/F,EAAK,GAAA,MAAM+F,EAAE,CAAC,IAAIkC,EAAErE,aAAa1E,EAAEc,EAAEuC,MAAM,IAAW,YAAA,IAAS0F,GAAGlG,EAAE1B,KAAK,CAACnB,EAAEc,EAAEuC,MAAM,GAAG1C,EAAEgG,IAAIoC,EAAE,MAAM,GAAGiB,OAAOnD,GAAGiE,QAAQ,SAASC,QAAQlK,EAAEC,GAAG,OAAOwD,iBAAiBzD,EAAED,GAAGC,EAAEiD,MAAM,SAASlD,GAAG,OAAOmK,QAAQnK,EAAEE,MAAMwJ,eAAexJ,EAAED,KAAKC,IAAzvB,CAA8vB,GAAGD,EAAE,MAAM+F,EAAErF,SAASsF,EAAEjG,EAAEoD,QAAQ6C,GAAG/C,MAAM,SAASjD,GAAUD,OAAAA,EAAE4F,IAAI,CAAC3F,GAAGmJ,OAAOpD,OAAO9C,MAAM,SAASlD,GAAU6B,OAAAA,eAAe7B,EAAE,GAAG,QAAQwD,WAAWyC,GAAG7G,GAAGc,EAAEgF,mBAAmB,WAAW,MAAM,IAAI3D,UAAU,mDAA/B,GAAqFmC,iBAAiBuC,EAAEjG,GAAGiG,EAAEnD,EAAEI,KAAK2G,gBAAgB5D,GAAG7G,GAAGc,EAAEgF,mBAAmB,WAAW,MAAM,IAAI3D,UAAU,mDAA/B,GAAqFnC,EAAEyK,eAAe5D,GAAGlD,QAAQK,QAAQyG,eAAe5D,MAAM,CAACvG,IAAI,aAAakC,MAAM,SAAS0I,WAAWtK,EAAEC,GAAU,OAAA4C,KAAKvD,OAAOU,EAAES,eAAeA,eAAe,CAACyE,oBAAmB,GAAIjF,GAAG,GAAG,CAACkF,MAAK,OAAQ,CAACzF,IAAI,cAAckC,MAAM,SAASgI,YAAY5J,EAAEC,GAAU,OAAA4C,KAAKvD,OAAOU,EAAES,eAAeA,eAAe,CAACyE,oBAAmB,GAAIjF,GAAG,GAAG,CAACkF,MAAK,OAAQ,CAACzF,IAAI,WAAWkC,MAAM,SAAS2I,SAASvK,EAAEC,GAAOC,IAAAA,EAAE2C,KAAK5C,EAAEA,GAAG,GAAG,IAAIH,EAAE,SAAS0K,EAAExK,GAAGgC,EAAEhC,GAAGA,EAAEP,SAAS,SAASO,GAAUwK,OAAAA,EAAExK,MAAMA,GAAGT,EAAES,GAAGP,SAAS,SAASK,GAAM,GAAA,MAAMA,EAAE,MAAM,IAAIyB,UAAU,wEAAwE,GAAGwE,EAAE6B,SAAS9H,GAAG,MAAM,IAAIyB,UAAU,sDAAsD,IAAInC,EAAEY,EAAEF,GAAGP,EAAEH,GAAGA,EAAEhB,iBAAiB8B,EAAEuE,qBAAqBvE,EAAEwE,wBAAwBzC,EAAE1C,EAAEa,QAAQ,SAASJ,GAAG,OAAOA,EAAEwH,OAAO1H,KAAK,GAAGmC,EAAEtB,SAASpB,EAAEsG,OAAOtG,EAAEwE,QAAQ9B,EAAE,IAAI,UAAU/B,EAAEyE,SAAS7E,UAAUI,EAAE0E,MAAM9E,IAAI,mBAAmBV,EAAE,CAAKW,IAAAA,EAAEX,EAAEA,EAAE,CAACf,KAAK,SAASA,KAAK2B,GAAG,OAAOA,GAAGA,EAAEoB,cAAcrB,GAAGZ,QAAQ,SAASA,QAAQa,GAAG,OAAOS,eAAe,GAAGT,IAAIV,OAAO,SAASA,OAAOU,GAAG,OAAOtB,OAAO0I,OAAO1I,OAAO+L,OAAO1K,EAAEsB,WAAWrB,UAAU,GAAGgC,EAAE5C,GAAG,CAAC,IAAI0G,EAAEjE,eAAezC,EAAE,GAAGA,EAAE,CAACf,KAAKyH,EAAE,GAAG3G,QAAQ2G,EAAE,GAAGxG,OAAOwG,EAAE,IAAI,GAAG1G,GAAGA,EAAEf,KAAK,CAAC,IAAIyE,EAAE,CAAC0E,KAAK1H,EAAEzB,KAAKe,EAAEf,KAAKqM,KAAKtL,IAAIA,EAAED,UAAU2D,EAAE3D,QAAQC,EAAED,QAAQuL,KAAKtL,IAAIA,EAAEiK,eAAevG,EAAEuG,aAAajK,EAAEiK,aAAaqB,KAAKtL,IAAQ4G,IAAAA,EAAE,iBAAiB/F,EAAE0K,SAAS1K,EAAE0K,SAAS1K,EAAE0K,SAAS,EAAE5L,OAAOgJ,kBAAkB,GAAG3I,EAAEhB,iBAAiB8B,EAAEuE,qBAAqBoB,OAAOG,EAAE,EAAElD,GAAG5C,EAAEwE,wBAAwBmB,OAAOG,EAAE,EAAElD,GAAG1D,EAAEE,QAAQF,EAAEwK,YAAY,CAAK3D,IAAAA,EAAE,GAAG7G,EAAEE,SAAS2G,EAAE3G,OAAOF,EAAEE,OAAOoL,KAAKtL,IAAIA,EAAEwK,cAAc3D,EAAE2D,YAAYxK,EAAEwK,YAAYc,KAAKtL,IAAIc,EAAEyE,SAAS7E,GAAG,CAACmG,EAAE,CAAC+D,MAAM5K,EAAEhB,mBAAmB8B,EAAE0E,MAAM9E,GAAGV,OAAa,MAAA,GAAGgK,OAAOpJ,GAAGP,SAAS,SAASO,GAAUF,OAAAA,EAAEE,MAAM6C,YAA1zU,IAA80UC,EAAEnB,cAAc,SAASiJ,YAAYtJ,gBAAgBuB,KAAK+H,cAAc9H,EAAEE,kBAAkB,mBAAmB,IAAI+C,EAAE,CAAC,OAAO,UAAU,SAAS,SAAS,QAAQ,UCI3xgB8E,EAAQ,CACVA,MAAO,CACHxM,KADG,SAAAA,KACGC,EAAGC,GACL,YAAoB,IAAND,IACTC,EAASsB,WAAa,YAAatB,KAE5CY,QAASW,SAAAA,QAAAA,GAAK,OAAO,GACrBR,OAAQS,SAAAA,OAAAA,GAGG,OAAA,IAAI6K,KCTjBE,EAAmB,CAErBC,aAAc,CACV1M,KAAMC,SAAAA,KAAAA,GACK2E,MAAmB,WAAnBA,YAAY3E,IAAgC,WAAb0C,UAAO1C,IAEjDa,QAASL,OACTQ,OAAQS,SAAAA,OAAAA,GAAK,OAAO,IAAIjB,OAAOiB,KAGnCiL,cAAe,CACX3M,KAAMC,SAAAA,KAAAA,GACK2E,MAAmB,YAAnBA,YAAY3E,IACF,WAAb0C,UAAO1C,IAEfa,QAASwJ,QACTrJ,OAAQmH,SAAAA,OAAAA,GAEJ,OAAO,IAAIkC,QAAQlC,KAI3BwE,aAAc,CACV5M,KAAMC,SAAAA,KAAAA,GACK2E,MAAmB,WAAnBA,YAAY3E,IAAgC,WAAb0C,UAAO1C,IAEjDa,QAASJ,OACTO,OAAQQ,SAAAA,OAAAA,GAAK,OAAO,IAAIf,OAAOe,MC5BjCoL,EAAiB,CCJX,CACRC,IAAK,CACD9M,KAAMC,SAAAA,KAAAA,GAAK,OAAOS,OAAO8I,MAAMvJ,IAC/Ba,QAASW,SAAAA,QAAAA,GAAK,MAAO,OACrBR,OAAQS,SAAAA,OAAAA,GAAYhB,OAAAA,OAAOqM,OCJlB,CACbC,SAAU,CACNhN,KAAMC,SAAAA,KAAAA,GAAK,OAAOA,IAAMS,OAAOgJ,mBAC/B5I,QAASW,SAAAA,QAAAA,GAAK,MAAO,YACrBR,OAAQS,SAAAA,OAAAA,GAAYhB,OAAAA,OAAOgJ,qBCJV,CACrBuD,iBAAkB,CACdjN,KAAMC,SAAAA,KAAAA,GAAK,OAAOA,IAAMS,OAAO+I,mBAC/B3I,QAASW,SAAAA,QAAAA,GAAK,MAAO,aACrBR,OAAQS,SAAAA,OAAAA,GAAYhB,OAAAA,OAAO+I,sBCF7ByD,EAAO,CACTA,KAAM,CACFlN,KAAMC,SAAAA,KAAAA,GAAK,MAA0B,SAAnB2E,YAAY3E,IAC9Ba,QAASqM,SAAAA,QAAAA,GACL,IAAMC,EAAOD,EAAGE,UAChB,OAAI3M,OAAO8I,MAAM4D,GACN,MAEJA,GAEXnM,OAAQmM,SAAAA,OAAAA,GACAA,MAAS,QAATA,EACO,IAAIE,KAAK5M,OAAOqM,KAEpB,IAAIO,KAAKF,MCdtBG,EAAQ,CACVA,MAAO,CACHvN,KAAMC,SAAAA,KAAAA,GAAK,MAA0B,UAAnB2E,YAAY3E,IAC9Ba,QAA0B,SAAAA,QAAA0M,GACf,MAAA,CAACnJ,OADFA,KACQoJ,UADFA,UAGhBxM,OAAyB,SAAAA,OAAAyM,GAAhBrJ,IAAAA,IAAAA,KAAMoJ,IAAAA,QACL9L,EAAI,IAAI2J,MAAMmC,GAEpB,OADA9L,EAAE0C,KAAOA,EACF1C,KCPbgM,EAAS,GAmBf,SAASvB,SAAQwB,GACbD,EAAOC,EAAKvJ,KAAKwJ,eAAiB,CAC9B7N,KAAMC,SAAAA,KAAAA,GAAK,OAAOoF,iBAAiBpF,EAAG2N,IACtC9M,QAASa,SAAAA,QAAAA,GAAYA,OAAAA,EAAE8L,SACvBxM,OAAQwM,SAAAA,OAAAA,GAAW,OAAO,IAAIG,EAAKH,KApB3C,CACIvK,UAAW4K,WAAYC,YAAaC,eAAgBC,UAAWC,UACjE9M,SAAQ,SAACmM,GAAUnB,OAAAA,SAAOmB,MAIH,mBAAlBY,eAAgC/B,SAAO+B,eCF9C,ICTA,IAAMC,EAAS,CACXA,OAAQ,CACJpO,KAAMC,SAAAA,KAAAA,GAAK,MAA0B,WAAnB2E,YAAY3E,IAC9Ba,QAASuN,SAAAA,QAAAA,GACE,MAAA,CACHC,OAAQD,EAAKC,OACbC,OAAQF,EAAKG,OAAS,IAAM,KACvBH,EAAKI,WAAa,IAAM,KACxBJ,EAAKK,UAAY,IAAM,KACvBL,EAAKM,OAAS,IAAM,KACpBN,EAAKO,QAAU,IAAM,MAGlC3N,OAAyB,SAAAA,OAAAuM,GAAhBc,IAAAA,IAAAA,OAAQC,IAAAA,MAAU,OAAO,IAAIM,OAAOP,EAAQC,MCbvDvJ,EAAM,CACRA,IAAK,CACDhF,KAAMC,SAAAA,KAAAA,GAAK,MAA0B,QAAnB2E,YAAY3E,IAC9Ba,QAASgO,SAAAA,QAAAA,GAAiBA,OAAAA,qBAAAA,EAAGpD,YAC7BzK,OAAQyK,SAAAA,OAAAA,GAAW,OAAO,IAAIqD,IAAIrD,MCJpCM,EAAM,CACRA,IAAK,CACDhM,KAAMC,SAAAA,KAAAA,GAAK,MAA0B,QAAnB2E,YAAY3E,IAC9Ba,QAASkO,SAAAA,QAAAA,GACMA,OAAAA,qBAAAA,EAAG1G,WAElBrH,OAAQqH,SAAAA,OAAAA,GAAU,OAAO,IAAIK,IAAIL,MHDrC2G,EAAQ,mEAERC,EAAS,IAAIC,WAAW,KAEnBxL,EAAI,EAAGA,EAAIsL,EAAM3M,OAAQqB,IAChCuL,EAAOD,EAAMG,YAAYzL,IAAMA,EAUjC,IAAI0L,EAAS,SAASA,OAAOC,EAAaC,EAAYC,GAChDA,MAAAA,IACFA,EAAQF,EAAYG,YAQtB,IALIC,IAAAA,EAAQ,IAAIP,WAAWG,EAAaC,GAAc,EACtDC,GACIG,EAAMD,EAAMpN,OACZsN,EAAS,GAEJC,EAAK,EAAGA,EAAKF,EAAKE,GAAM,EAC/BD,GAAUX,EAAMS,EAAMG,IAAO,GAC7BD,GAAUX,GAAmB,EAAZS,EAAMG,KAAY,EAAIH,EAAMG,EAAK,IAAM,GACxDD,GAAUX,GAAuB,GAAhBS,EAAMG,EAAK,KAAY,EAAIH,EAAMG,EAAK,IAAM,GAC7DD,GAAUX,EAAsB,GAAhBS,EAAMG,EAAK,IAS7B,OANIF,EAAM,GAAM,EACdC,EAASA,EAAOxL,MAAM,GAAI,GAAK,IACtBuL,EAAM,GAAM,IACrBC,EAASA,EAAOxL,MAAM,GAAI,GAAK,MAG1BwL,GAOLE,EAAS,SAASA,OAAOF,GAC3B,IAGIG,EAAUC,EAAUC,EAAUC,EAH9BP,EAAMC,EAAOtN,OACb6N,EAA+B,IAAhBP,EAAOtN,OACtBmC,EAAI,EAG0B,MAA9BmL,EAAOA,EAAOtN,OAAS,KACzB6N,IAEkC,MAA9BP,EAAOA,EAAOtN,OAAS,IACzB6N,KAOJ,IAHA,IAAIb,EAAc,IAAInF,YAAYgG,GAC9BT,EAAQ,IAAIP,WAAWG,GAElBc,EAAM,EAAGA,EAAMT,EAAKS,GAAO,EAClCL,EAAWb,EAAOU,EAAOR,YAAYgB,IACrCJ,EAAWd,EAAOU,EAAOR,YAAYgB,EAAM,IAC3CH,EAAWf,EAAOU,EAAOR,YAAYgB,EAAM,IAC3CF,EAAWhB,EAAOU,EAAOR,YAAYgB,EAAM,IAC3CV,EAAMjL,KAAOsL,GAAY,EAAIC,GAAY,EACzCN,EAAMjL,MAAmB,GAAXuL,IAAkB,EAAIC,GAAY,EAChDP,EAAMjL,MAAmB,EAAXwL,IAAiB,EAAe,GAAXC,EAGrC,OAAOZ,GI5EHA,EAAc,CAChBA,YAAa,CACTtP,KAAMC,SAAAA,KAAAA,GAAK,MAA0B,gBAAnB2E,YAAY3E,IAC9Ba,QAFS,SAAAA,QAEAsH,EAAGlI,GACHA,EAASmQ,UACVnQ,EAASmQ,QAAU,IAEjBC,IAAAA,EAAQpQ,EAASmQ,QAAQ3K,QAAQ0C,GACvC,OAAIkI,GAAS,EACF,CAACA,MAAAA,IAEZpQ,EAASmQ,QAAQnO,KAAKkG,GACfiH,EAAOjH,KAElBnH,OAbS,SAAAA,OAaDsP,EAAKrQ,GAIT,GAHKA,EAASmQ,UACVnQ,EAASmQ,QAAU,IAEJ,WAAf1N,UAAO4N,GACP,OAAOrQ,EAASmQ,QAAQE,EAAID,OAEhC,IAAME,EAASV,EAAOS,GAEtB,OADArQ,EAASmQ,QAAQnO,KAAKsO,GACfA,KCtBbC,EAAc,GA6CK,mBAAdC,WAIHA,CAAAA,UACAvB,WACAwB,kBACAC,WACAC,YACAC,WACAC,YACAC,aACAC,cACF7P,SAAQ,SAAC8P,GAAe9E,OAjD9B,SAASA,OAAQ8E,GACb,IAAMC,EAAWD,EAAW7M,KAC5BoM,EAAYU,EAAStD,eAAiB,CAClC7N,KAAMC,SAAAA,KAAAA,GAAK,OAAO2E,YAAY3E,KAAOkR,GACrCrQ,QAA0CZ,SAAAA,QAAAA,EAAAA,GAAhCsQ,IAAAA,IAAAA,OAAQjB,IAAAA,WAAoB5H,IAARrF,OACrBpC,EAASmQ,UACVnQ,EAASmQ,QAAU,IAEjBC,IAAAA,EAAQpQ,EAASmQ,QAAQ3K,QAAQ8K,GACvC,OAAIF,GAAS,EACF,CAACA,MAAAA,EAAOf,WAAAA,EAAYjN,OAAQqF,IAEvCzH,EAASmQ,QAAQnO,KAAKsO,GACf,CACHY,QAAS/B,EAAOmB,GAChBjB,WAAAA,EACAjN,OAAQqF,KAGhB1G,OAjBkC,SAAAA,OAiB1BoQ,EAAQnR,GACPA,EAASmQ,UACVnQ,EAASmQ,QAAU,IAEvB,IACIG,EADGjB,EAA2C8B,EAA3C9B,WAAoBI,EAAuB0B,EAA/B/O,OAAa8O,EAAkBC,EAAlBD,QAASd,EAASe,EAATf,MAQlC,MANH,UAAWe,EACXb,EAAStQ,EAASmQ,QAAQC,IAE1BE,EAASV,EAAOsB,GAChBlR,EAASmQ,QAAQnO,KAAKsO,IAEnB,IAAIU,EAAWV,EAAQjB,EAAYI,KAkBxBvD,CAAO8E,MC3DrC,IAAMI,EAAW,CACbA,SAAU,CACNtR,KAAMC,SAAAA,KAAAA,GAAK,MAA0B,aAAnB2E,YAAY3E,IAC9Ba,QAA2CZ,SAAAA,QAAAA,EAAAA,GAAjCsQ,IAAAA,IAAAA,OAAQjB,IAAAA,WAAYE,IAAAA,WACrBvP,EAASmQ,UACVnQ,EAASmQ,QAAU,IAEjBC,IAAAA,EAAQpQ,EAASmQ,QAAQ3K,QAAQ8K,GACvC,OAAIF,GAAS,EACF,CAACA,MAAAA,EAAOf,WAAAA,EAAYE,WAAAA,IAE/BvP,EAASmQ,QAAQnO,KAAKsO,GACf,CACHY,QAAS/B,EAAOmB,GAChBjB,WAAAA,EACAE,WAAAA,KAGRxO,OAjBM,SAAAA,OAiBEoQ,EAAQnR,GACPA,EAASmQ,UACVnQ,EAASmQ,QAAU,IAEvB,IACIG,EADGjB,EAA0C8B,EAA1C9B,WAAYE,EAA8B4B,EAA9B5B,WAAY2B,EAAkBC,EAAlBD,QAASd,EAASe,EAATf,MAQjC,MANH,UAAWe,EACXb,EAAStQ,EAASmQ,QAAQC,IAE1BE,EAASV,EAAOsB,GAChBlR,EAASmQ,QAAQnO,KAAKsO,IAEnB,IAAIe,SAASf,EAAQjB,EAAYE,MC/B9C+B,EAAe,CACjBxR,KAAMC,SAAAA,KAAAA,GAAK,OAAOoF,iBAAiBpF,EAAGwR,KAAKC,WAC3C5Q,QAAS8C,SAAAA,QAAAA,GAAYA,OAAAA,EAAE+N,mBACvB1Q,OAAQkF,SAAAA,OAAAA,GAAkB,OAAA,IAAIsL,KAAKC,SAASvL,EAAQyL,OAAQzL,KAG1D0L,EAAqB,CACvB7R,KAAMC,SAAAA,KAAAA,GAAK,OAAOoF,iBAAiBpF,EAAGwR,KAAKK,iBAC3ChR,QAASiR,SAAAA,QAAAA,GAAcA,OAAAA,EAAIJ,mBAC3B1Q,OAAQkF,SAAAA,OAAAA,GACG,OAAA,IAAIsL,KAAKK,eAAe3L,EAAQyL,OAAQzL,KAIjD6L,EAAmB,CACrBhS,KAAMC,SAAAA,KAAAA,GAAK,OAAOoF,iBAAiBpF,EAAGwR,KAAKQ,eAC3CnR,QAASoR,SAAAA,QAAAA,GAAaA,OAAAA,EAAGP,mBACzB1Q,OAAQkF,SAAAA,OAAAA,GAAkB,OAAA,IAAIsL,KAAKQ,aAAa9L,EAAQyL,OAAQzL,KCjB9DgM,EAAS,CACXA,OAAQ,CACJnS,KAAMC,SAAAA,KAAAA,GACK,MAAa,iBAANA,GAElBa,QAASL,OACTQ,OAAQmR,SCLVC,EAAe,CACjBA,aAAc,CACVrS,KAAMC,SAAAA,KAAAA,GACK,MAAa,WAAb0C,UAAO1C,IAAkBoF,iBAAiBpF,EAAGmS,SAExDtR,QAASL,OACTQ,OAAQS,SAAAA,OAAAA,GAGJ,OAAO,IAAIrB,OAAO+R,OAAO1Q,aCqBtB,CACX8K,EAEA1M,EAAmB2M,EAAkBI,EACrCK,EAAMK,EAAOI,EAAQS,GACvBrD,OAGiB,mBAARgE,IAAqB/J,EAAM,GAEnB,mBAAR2D,IAAqBqD,EAAM,GAEX,mBAAhB7B,YAA6BmF,EAAc,GAE5B,mBAAfH,WAA4BsB,EAAc,GAE7B,mBAAbc,SAA0BD,EAAW,GAE5B,oBAATG,KH7BO,CACdD,aAAAA,EACAK,mBAAAA,EACAG,iBAAAA,GG0B0C,GAGxB,oBAAXI,OAAyB,CAACD,EAAQE,GAAgB"}
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).postmessage=t()}(this,(function(){"use strict";function _typeof$1(e){return _typeof$1="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$1(e)}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$1(Symbol.iterator)?function(e){return _typeof$1(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof$1(e)})(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,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 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,a=[],i=!0,c=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(c)throw o}}return a}}(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 _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}var e=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)}));e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&(e.prototype[Symbol.toStringTag]="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(null,e)},e.resolve=function(t){return new e((function(e){e(t)}))},e.reject=function(t){return new e((function(e,r){r(t)}))},["all","race","allSettled"].forEach((function(t){e[t]=function(r){return new e((function(e,n){Promise[t](r.map((function(e){return e&&e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,n)}))}}));var t={}.toString,r={}.hasOwnProperty,n=Object.getPrototypeOf,o=r.toString;function isThenable(e,t){return isObject(e)&&"function"==typeof e.then&&(!t||"function"==typeof e.catch)}function toStringTag(e){return t.call(e).slice(8,-1)}function hasConstructorOf(e,t){if(!e||"object"!==_typeof(e))return!1;var a=n(e);if(!a)return null===t;var i=r.call(a,"constructor")&&a.constructor;return"function"!=typeof i?null===t:t===i||null!==t&&o.call(i)===o.call(t)||"function"==typeof t&&"string"==typeof i.__typeson__type__&&i.__typeson__type__===t.__typeson__type__}function isPlainObject(e){return!(!e||"Object"!==toStringTag(e))&&(!n(e)||hasConstructorOf(e,Object))}function isObject(e){return e&&"object"===_typeof(e)}function escapeKeyPathComponent(e){return e.replace(/~/g,"~0").replace(/\./g,"~1")}function unescapeKeyPathComponent(e){return e.replace(/~1/g,".").replace(/~0/g,"~")}function getByKeyPath(e,t){if(""===t)return e;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;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 a=Object.keys,i=Array.isArray,c={}.hasOwnProperty,s=["type","replaced","iterateIn","iterateUnsetNumeric"];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){if(""===e.keypath)return-1;var r=e.keypath.match(/\./g)||0,n=t.keypath.match(/\./g)||0;return r&&(r=r.length),n&&(n=n.length),r>n?-1:r<n?1:e.keypath<t.keypath?-1:e.keypath>t.keypath}!function(){function Typeson(e){_classCallCheck(this,Typeson),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}_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(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,n){var o=_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 a=!1,i=[],c=_slicedToArray(r.splice(0,1),1),s=_slicedToArray(c[0],7),u=s[0],l=s[2],p=s[3],y=s[4],f=s[5],v=s[6],h=_encapsulate(u,n,l,p,i,!0,v),d=hasConstructorOf(h,e);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(u&&d)return _await(h.p,(function(e){y[f]=e;var r=o(t,i);return a=!0,r}))}),(function(e){return a?e:(u?y[f]=h:t=d?h.p:h,o(t,i))}))})))),(function(){return t}))}))})),u=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,l=this,p={},y=[],f=[],v=[],h=!("cyclic"in n)||n.cyclic,d=n.encapsulateObserver,b=_encapsulate("",t,h,r||{},v);function finish(e){var t=Object.values(p);if(n.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(n.returnTypeNames)return 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.")}()}(new Set(t));e&&isPlainObject(e)&&!c.call(e,"$types")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&c.call(e,"$types")&&(e={$:e,$types:!0});return!n.returnTypeNames&&e}function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=s.map((function(t){var r=e[t];return delete e[t],r}));r(),s.forEach((function(t,r){e[t]=n[r]}))}function _encapsulate(t,r,o,s,u,v,h){var b,_={},m=_typeof(r),O=d?function(n){var a=h||s.type||getJSONType(r);d(Object.assign(n||_,{keypath:t,value:r,cyclic:o,stateObj:s,promisesData:u,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,e)},{type:a}))}:null;if(["string","boolean","number","undefined"].includes(m))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(b=s.replaced?r:replace(t,r,s,u,!1,v,O))!==r&&(_={replaced:b}):b=r,O&&O(),b;if(null===r)return O&&O(),r;if(o&&!s.iterateIn&&!s.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var S=y.indexOf(r);if(!(S<0))return p[t]="#",O&&O({cyclicKeypath:f[S]}),"#"+f[S];!0===o&&(y.push(r),f.push(t))}var g,j=isPlainObject(r),T=i(r),P=(j||T)&&(!l.plainObjectReplacers.length||s.replaced)||s.iterateIn?r:replace(t,r,s,u,j||T,null,O);if(P!==r?(b=P,_={replaced:P}):""===t&&hasConstructorOf(r,e)?(u.push([t,r,o,s,void 0,void 0,s.type]),b=r):T&&"object"!==s.iterateIn||"array"===s.iterateIn?(g=new Array(r.length),_={clone:g}):(["function","symbol"].includes(_typeof(r))||"toJSON"in r||hasConstructorOf(r,e)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!j&&"object"!==s.iterateIn?b=r:(g={},s.addLength&&(g.length=r.length),_={clone:g}),O&&O(),n.iterateNone)return g||b;if(!g)return b;if(s.iterateIn){var w=function _loop(n){var a={ownKeys:c.call(r,n)};_adaptBuiltinStateObjectProperties(s,a,(function(){var a=t+(t?".":"")+escapeKeyPathComponent(n),i=_encapsulate(a,r[n],Boolean(o),s,u,v);hasConstructorOf(i,e)?u.push([a,i,Boolean(o),s,g,n,s.type]):void 0!==i&&(g[n]=i)}))};for(var A in r)w(A);O&&O({endIterateIn:!0,end:!0})}else a(r).forEach((function(n){var a=t+(t?".":"")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(s,{ownKeys:!0},(function(){var t=_encapsulate(a,r[n],Boolean(o),s,u,v);hasConstructorOf(t,e)?u.push([a,t,Boolean(o),s,g,n,s.type]):void 0!==t&&(g[n]=t)}))})),O&&O({endIterateOwn:!0,end:!0});if(s.iterateUnsetNumeric){for(var k=r.length,C=function _loop2(n){if(!(n in r)){var a=t+(t?".":"")+n;_adaptBuiltinStateObjectProperties(s,{ownKeys:!1},(function(){var t=_encapsulate(a,void 0,Boolean(o),s,u,v);hasConstructorOf(t,e)?u.push([a,t,Boolean(o),s,g,n,s.type]):void 0!==t&&(g[n]=t)}))}},I=0;I<k;I++)C(I);O&&O({endIterateUnsetNumeric:!0,end:!0})}return g}function replace(e,t,r,n,o,a,i){for(var c=o?l.plainObjectReplacers:l.nonplainObjectReplacers,s=c.length;s--;){var y=c[s];if(y.test(t,r)){var f=y.type;if(l.revivers[f]){var v=p[e];p[e]=v?[f].concat(v):f}return Object.assign(r,{type:f,replaced:!0}),!u&&y.replaceAsync||y.replace?(i&&i({replacing:!0}),_encapsulate(e,y[u||!y.replaceAsync?"replace":"replaceAsync"](t,r),h&&"readonly",r,n,a,f)):(i&&i({typeDetected:!0}),_encapsulate(e,t,h&&"readonly",r,n,a,f))}}return t}return v.length?u&&n.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(o(b,v)).then(finish):!u&&n.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():n.stringification&&u?[finish(b)]:u?finish(b):Promise.resolve(finish(b))}},{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 n=t&&t.$types;if(!n)return t;if(!0===n)return t.$;var o=(r=_objectSpread2(_objectSpread2({sync:!0},this.options),r)).sync,c=[],s={},l=!0;n.$&&isPlainObject(n.$)&&(t=t.$,n=n.$,l=!1);var p=this;function executeReviver(e,t){var r=_slicedToArray(p.revivers[e]||[],1)[0];if(!r)throw new Error("Unregistered type: "+e);return o&&!("revive"in r)?t:r[o&&r.revive?"revive":!o&&r.reviveAsync?"reviveAsync":"revive"](t,s)}var y=[];function checkUndefined(e){return hasConstructorOf(e,u)?void 0:e}var f,v=function revivePlainObjects(){var r=[];if(Object.entries(n).forEach((function(e){var t=_slicedToArray(e,2),o=t[0],a=t[1];"#"!==a&&[].concat(a).forEach((function(e){_slicedToArray(p.revivers[e]||[null,{}],2)[1].plain&&(r.push({keypath:o,type:e}),delete n[o])}))})),r.length)return r.sort(nestedPathsFirst).reduce((function reducer(r,n){var o=n.keypath,a=n.type;if(isThenable(r))return r.then((function(e){return reducer(e,{keypath:o,type:a})}));var i=getByKeyPath(t,o);if(hasConstructorOf(i=executeReviver(a,i),e))return i.then((function(e){var r=setAtKeyPath(t,o,e);r===e&&(t=r)}));var c=setAtKeyPath(t,o,i);c===i&&(t=c)}),void 0)}();return hasConstructorOf(v,e)?f=v.then((function(){return t})):(f=function _revive(t,r,o,s,p){if(!l||"$types"!==t){var f=n[t],v=i(r);if(v||isPlainObject(r)){var h=v?new Array(r.length):{};for(a(r).forEach((function(n){var a=_revive(t+(t?".":"")+escapeKeyPathComponent(n),r[n],o||h,h,n),i=function set(e){return hasConstructorOf(e,u)?h[n]=void 0:void 0!==e&&(h[n]=e),e};hasConstructorOf(a,e)?y.push(a.then((function(e){return i(e)}))):i(a)})),r=h;c.length;){var d=_slicedToArray(c[0],4),b=d[0],_=d[1],m=d[2],O=d[3],S=getByKeyPath(b,_);if(void 0===S)break;m[O]=S,c.splice(0,1)}}if(!f)return r;if("#"===f){var g=getByKeyPath(o,r.slice(1));return void 0===g&&c.push([o,r.slice(1),s,p]),g}return[].concat(f).reduce((function reducer(t,r){return hasConstructorOf(t,e)?t.then((function(e){return reducer(e,r)})):executeReviver(r,t)}),r)}}("",t,null),y.length&&(f=e.resolve(f).then((function(t){return e.all([t].concat(y))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(f)?o&&r.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():hasConstructorOf(f,e)?f.p.then(checkUndefined):f:!o&&r.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():o?checkUndefined(f):Promise.resolve(checkUndefined(f))}},{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;t=t||{};var n=function R(e){i(e)?e.forEach((function(e){return R(e)})):e&&a(e).forEach((function(n){if("#"===n)throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(l.includes(n))throw new TypeError("Plain JSON object types are reserved as type names");var o=e[n],a=o&&o.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,c=a.filter((function(e){return e.type===n}));if(c.length&&(a.splice(a.indexOf(c[0]),1),delete r.revivers[n],delete r.types[n]),"function"==typeof o){var s=o;o={test:function test(e){return e&&e.constructor===s},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(s.prototype),e)}}}else if(i(o)){var u=_slicedToArray(o,3);o={test:u[0],replace:u[1],revive:u[2]}}if(o&&o.test){var p={type:n,test:o.test.bind(o)};o.replace&&(p.replace=o.replace.bind(o)),o.replaceAsync&&(p.replaceAsync=o.replaceAsync.bind(o));var y="number"==typeof t.fallback?t.fallback:t.fallback?0:Number.POSITIVE_INFINITY;if(o.testPlainObjects?r.plainObjectReplacers.splice(y,0,p):r.nonplainObjectReplacers.splice(y,0,p),o.revive||o.reviveAsync){var f={};o.revive&&(f.revive=o.revive.bind(o)),o.reviveAsync&&(f.reviveAsync=o.reviveAsync.bind(o)),r.revivers[n]=[f,{plain:o.testPlainObjects}]}r.types[n]=o}}))};return[].concat(e).forEach((function(e){return n(e)})),this}}])}();var u=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));u.__typeson__type__="TypesonUndefined";var l=["null","boolean","number","string","array","object"],p={error:{test:function test(e){return"Error"===toStringTag(e)},replace:function replace(e){return{name:e.name,message:e.message}},revive:function revive(e){var t=e.name,r=e.message,n=new Error(r);return n.name=t,n}}},y="undefined"==typeof self?global:self,f={};return["TypeError","RangeError","SyntaxError","ReferenceError","EvalError","URIError","InternalError"].forEach((function(e){var t=y[e];t&&(f[e.toLowerCase()]={test:function test(e){return hasConstructorOf(e,t)},replace:function replace(e){return e.message},revive:function revive(e){return new t(e)}})})),[p,f]}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).postmessage=t()}(this,(function(){"use strict";function _typeof$1(e){return _typeof$1="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$1(e)}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$1(Symbol.iterator)?function(e){return _typeof$1(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":_typeof$1(e)})(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,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 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,a=[],i=!0,c=!1;try{for(r=r.call(e);!(i=(n=r.next()).done)&&(a.push(n.value),!t||a.length!==t);i=!0);}catch(e){c=!0,o=e}finally{try{i||null==r.return||r.return()}finally{if(c)throw o}}return a}}(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 _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}var e=_createClass((function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)}));e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&(e.prototype[Symbol.toStringTag]="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(null,e)},e.resolve=function(t){return new e((function(e){e(t)}))},e.reject=function(t){return new e((function(e,r){r(t)}))},["all","race","allSettled"].forEach((function(t){e[t]=function(r){return new e((function(e,n){Promise[t](r.map((function(e){return e&&e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e}))).then(e,n)}))}}));var t={}.toString,r={}.hasOwnProperty,n=Object.getPrototypeOf,o=r.toString;function isThenable(e,t){return isObject(e)&&"function"==typeof e.then&&(!t||"function"==typeof e.catch)}function toStringTag(e){return t.call(e).slice(8,-1)}function hasConstructorOf(e,t){if(!e||"object"!==_typeof(e))return!1;var a=n(e);if(!a)return null===t;var i=r.call(a,"constructor")&&a.constructor;return"function"!=typeof i?null===t:t===i||null!==t&&o.call(i)===o.call(t)||"function"==typeof t&&"string"==typeof i.__typeson__type__&&i.__typeson__type__===t.__typeson__type__}function isPlainObject(e){return!(!e||"Object"!==toStringTag(e))&&(!n(e)||hasConstructorOf(e,Object))}function isObject(e){return e&&"object"===_typeof(e)}function escapeKeyPathComponent(e){return e.replace(/~/g,"~0").replace(/\./g,"~1")}function unescapeKeyPathComponent(e){return e.replace(/~1/g,".").replace(/~0/g,"~")}function getByKeyPath(e,t){if(""===t)return e;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;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 a=Object.keys,i=Array.isArray,c={}.hasOwnProperty,s=["type","replaced","iterateIn","iterateUnsetNumeric"];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){if(""===e.keypath)return-1;var r=e.keypath.match(/\./g)||0,n=t.keypath.match(/\./g)||0;return r&&(r=r.length),n&&(n=n.length),r>n?-1:r<n?1:e.keypath<t.keypath?-1:e.keypath>t.keypath}!function(){function Typeson(e){_classCallCheck(this,Typeson),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}_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(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,n){var o=_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 a=!1,i=[],c=_slicedToArray(r.splice(0,1),1),s=_slicedToArray(c[0],7),u=s[0],p=s[2],l=s[3],y=s[4],f=s[5],v=s[6],h=_encapsulate(u,n,p,l,i,!0,v),d=hasConstructorOf(h,e);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(u&&d)return _await(h.p,(function(e){y[f]=e;var r=o(t,i);return a=!0,r}))}),(function(e){return a?e:(u?y[f]=h:t=d?h.p:h,o(t,i))}))})))),(function(){return t}))}))})),u=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,p=this,l={},y=[],f=[],v=[],h=!("cyclic"in n)||n.cyclic,d=n.encapsulateObserver,b=_encapsulate("",t,h,r||{},v);function finish(e){var t=Object.values(l);if(n.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(n.returnTypeNames)return 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.")}()}(new Set(t));e&&isPlainObject(e)&&!c.call(e,"$types")?e.$types=l:e={$:e,$types:{$:l}}}else isObject(e)&&c.call(e,"$types")&&(e={$:e,$types:!0});return!n.returnTypeNames&&e}function _adaptBuiltinStateObjectProperties(e,t,r){Object.assign(e,t);var n=s.map((function(t){var r=e[t];return delete e[t],r}));r(),s.forEach((function(t,r){e[t]=n[r]}))}function _encapsulate(t,r,o,s,u,v,h){var b,_={},m=_typeof(r),O=d?function(n){var a=h||s.type||getJSONType(r);d(Object.assign(n||_,{keypath:t,value:r,cyclic:o,stateObj:s,promisesData:u,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,e)},{type:a}))}:null;if(["string","boolean","number","undefined"].includes(m))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(b=s.replaced?r:replace(t,r,s,u,!1,v,O))!==r&&(_={replaced:b}):b=r,O&&O(),b;if(null===r)return O&&O(),r;if(o&&!s.iterateIn&&!s.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var S=y.indexOf(r);if(!(S<0))return l[t]="#",O&&O({cyclicKeypath:f[S]}),"#"+f[S];!0===o&&(y.push(r),f.push(t))}var j,g=isPlainObject(r),T=i(r),P=(g||T)&&(!p.plainObjectReplacers.length||s.replaced)||s.iterateIn?r:replace(t,r,s,u,g||T,null,O);if(P!==r?(b=P,_={replaced:P}):""===t&&hasConstructorOf(r,e)?(u.push([t,r,o,s,void 0,void 0,s.type]),b=r):T&&"object"!==s.iterateIn||"array"===s.iterateIn?(j=new Array(r.length),_={clone:j}):(["function","symbol"].includes(_typeof(r))||"toJSON"in r||hasConstructorOf(r,e)||hasConstructorOf(r,Promise)||hasConstructorOf(r,ArrayBuffer))&&!g&&"object"!==s.iterateIn?b=r:(j={},s.addLength&&(j.length=r.length),_={clone:j}),O&&O(),n.iterateNone)return j||b;if(!j)return b;if(s.iterateIn){var w=function _loop(n){var a={ownKeys:c.call(r,n)};_adaptBuiltinStateObjectProperties(s,a,(function(){var a=t+(t?".":"")+escapeKeyPathComponent(n),i=_encapsulate(a,r[n],Boolean(o),s,u,v);hasConstructorOf(i,e)?u.push([a,i,Boolean(o),s,j,n,s.type]):void 0!==i&&(j[n]=i)}))};for(var A in r)w(A);O&&O({endIterateIn:!0,end:!0})}else a(r).forEach((function(n){var a=t+(t?".":"")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(s,{ownKeys:!0},(function(){var t=_encapsulate(a,r[n],Boolean(o),s,u,v);hasConstructorOf(t,e)?u.push([a,t,Boolean(o),s,j,n,s.type]):void 0!==t&&(j[n]=t)}))})),O&&O({endIterateOwn:!0,end:!0});if(s.iterateUnsetNumeric){for(var k=r.length,C=function _loop2(n){if(!(n in r)){var a=t+(t?".":"")+n;_adaptBuiltinStateObjectProperties(s,{ownKeys:!1},(function(){var t=_encapsulate(a,void 0,Boolean(o),s,u,v);hasConstructorOf(t,e)?u.push([a,t,Boolean(o),s,j,n,s.type]):void 0!==t&&(j[n]=t)}))}},I=0;I<k;I++)C(I);O&&O({endIterateUnsetNumeric:!0,end:!0})}return j}function replace(e,t,r,n,o,a,i){for(var c=o?p.plainObjectReplacers:p.nonplainObjectReplacers,s=c.length;s--;){var y=c[s];if(y.test(t,r)){var f=y.type;if(p.revivers[f]){var v=l[e];l[e]=v?[f].concat(v):f}return Object.assign(r,{type:f,replaced:!0}),!u&&y.replaceAsync||y.replace?(i&&i({replacing:!0}),_encapsulate(e,y[u||!y.replaceAsync?"replace":"replaceAsync"](t,r),h&&"readonly",r,n,a,f)):(i&&i({typeDetected:!0}),_encapsulate(e,t,h&&"readonly",r,n,a,f))}}return t}return v.length?u&&n.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(o(b,v)).then(finish):!u&&n.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():n.stringification&&u?[finish(b)]:u?finish(b):Promise.resolve(finish(b))}},{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 n=t&&t.$types;if(!n)return t;if(!0===n)return t.$;var o=(r=_objectSpread2(_objectSpread2({sync:!0},this.options),r)).sync,c=[],s={},p=!0;n.$&&isPlainObject(n.$)&&(t=t.$,n=n.$,p=!1);var l=this;function executeReviver(e,t){var r=_slicedToArray(l.revivers[e]||[],1)[0];if(!r)throw new Error("Unregistered type: "+e);return o&&!("revive"in r)?t:r[o&&r.revive?"revive":!o&&r.reviveAsync?"reviveAsync":"revive"](t,s)}var y=[];function checkUndefined(e){return hasConstructorOf(e,u)?void 0:e}var f,v=function revivePlainObjects(){var r=[];if(Object.entries(n).forEach((function(e){var t=_slicedToArray(e,2),o=t[0],a=t[1];"#"!==a&&[].concat(a).forEach((function(e){_slicedToArray(l.revivers[e]||[null,{}],2)[1].plain&&(r.push({keypath:o,type:e}),delete n[o])}))})),r.length)return r.sort(nestedPathsFirst).reduce((function reducer(r,n){var o=n.keypath,a=n.type;if(isThenable(r))return r.then((function(e){return reducer(e,{keypath:o,type:a})}));var i=getByKeyPath(t,o);if(hasConstructorOf(i=executeReviver(a,i),e))return i.then((function(e){var r=setAtKeyPath(t,o,e);r===e&&(t=r)}));var c=setAtKeyPath(t,o,i);c===i&&(t=c)}),void 0)}();return hasConstructorOf(v,e)?f=v.then((function(){return t})):(f=function _revive(t,r,o,s,l){if(!p||"$types"!==t){var f=n[t],v=i(r);if(v||isPlainObject(r)){var h=v?new Array(r.length):{};for(a(r).forEach((function(n){var a=_revive(t+(t?".":"")+escapeKeyPathComponent(n),r[n],o||h,h,n),i=function set(e){return hasConstructorOf(e,u)?h[n]=void 0:void 0!==e&&(h[n]=e),e};hasConstructorOf(a,e)?y.push(a.then((function(e){return i(e)}))):i(a)})),r=h;c.length;){var d=_slicedToArray(c[0],4),b=d[0],_=d[1],m=d[2],O=d[3],S=getByKeyPath(b,_);if(void 0===S)break;m[O]=S,c.splice(0,1)}}if(!f)return r;if("#"===f){var j=getByKeyPath(o,r.slice(1));return void 0===j&&c.push([o,r.slice(1),s,l]),j}return[].concat(f).reduce((function reducer(t,r){return hasConstructorOf(t,e)?t.then((function(e){return reducer(e,r)})):executeReviver(r,t)}),r)}}("",t,null),y.length&&(f=e.resolve(f).then((function(t){return e.all([t].concat(y))})).then((function(e){return _slicedToArray(e,1)[0]})))),isThenable(f)?o&&r.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():hasConstructorOf(f,e)?f.p.then(checkUndefined):f:!o&&r.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():o?checkUndefined(f):Promise.resolve(checkUndefined(f))}},{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;t=t||{};var n=function R(e){i(e)?e.forEach((function(e){return R(e)})):e&&a(e).forEach((function(n){if("#"===n)throw new TypeError("# cannot be used as a type name as it is reserved for cyclic objects");if(p.includes(n))throw new TypeError("Plain JSON object types are reserved as type names");var o=e[n],a=o&&o.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,c=a.filter((function(e){return e.type===n}));if(c.length&&(a.splice(a.indexOf(c[0]),1),delete r.revivers[n],delete r.types[n]),"function"==typeof o){var s=o;o={test:function test(e){return e&&e.constructor===s},replace:function replace(e){return _objectSpread2({},e)},revive:function revive(e){return Object.assign(Object.create(s.prototype),e)}}}else if(i(o)){var u=_slicedToArray(o,3);o={test:u[0],replace:u[1],revive:u[2]}}if(o&&o.test){var l={type:n,test:o.test.bind(o)};o.replace&&(l.replace=o.replace.bind(o)),o.replaceAsync&&(l.replaceAsync=o.replaceAsync.bind(o));var y="number"==typeof t.fallback?t.fallback:t.fallback?0:Number.POSITIVE_INFINITY;if(o.testPlainObjects?r.plainObjectReplacers.splice(y,0,l):r.nonplainObjectReplacers.splice(y,0,l),o.revive||o.reviveAsync){var f={};o.revive&&(f.revive=o.revive.bind(o)),o.reviveAsync&&(f.reviveAsync=o.reviveAsync.bind(o)),r.revivers[n]=[f,{plain:o.testPlainObjects}]}r.types[n]=o}}))};return[].concat(e).forEach((function(e){return n(e)})),this}}])}();var u=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));u.__typeson__type__="TypesonUndefined";var p=["null","boolean","number","string","array","object"],l={error:{test:function test(e){return"Error"===toStringTag(e)},replace:function replace(e){return{name:e.name,message:e.message}},revive:function revive(e){var t=e.name,r=e.message,n=new Error(r);return n.name=t,n}}},y={};function create(e){y[e.name.toLowerCase()]={test:function test(t){return hasConstructorOf(t,e)},replace:function replace(e){return e.message},revive:function revive(t){return new e(t)}}}return[TypeError,RangeError,SyntaxError,ReferenceError,EvalError,URIError].forEach((function(e){return create(e)})),"function"==typeof InternalError&&create(InternalError),[l,y]}));
2
2
  //# sourceMappingURL=postmessage.umd.js.map