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?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TypesonNamespace={})}(this,(function(e){"use strict";function ownKeys$1(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 _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 asyncGeneratorStep(e,t,r,n,o,a,i){try{var c=e[a](i),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,o)}function _classCallCheck$1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1(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 _defineProperty$1(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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,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 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,a=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 i=n.call(r,"constructor")&&r.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))&&(!o(e)||hasConstructorOf(e,Object))}function isUserObject(e){if(!e||"Object"!==toStringTag(e))return!1;var t=o(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 i=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}var f=function(){function Typeson(e){_classCallCheck(this,Typeson),this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}return _createClass(Typeson,[{key:"stringify",value:function stringify(e,t,r,n){n=_objectSpread2(_objectSpread2(_objectSpread2({},this.options),n),{},{stringification:!0});var o=this.encapsulate(e,null,n);return 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 a=!1,i=[],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],d=_encapsulate(s,n,f,l,i,!0,v),b=hasConstructorOf(d,t);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(s&&b)return _await(d.p,(function(t){p[y]=t;var r=o(e,i);return a=!0,r}))}),(function(t){return a?t:(s?p[y]=d:e=b?d.p:d,o(e,i))}))})))),(function(){return e}))}))})),a=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,f=this,l={},p=[],y=[],v=[],d=!("cyclic"in n)||n.cyclic,b=n.encapsulateObserver,h=_encapsulate("",e,d,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,a,s,v,d){var h,g={},m=_typeof(r),_=b?function(n){var i=d||a.type||getJSONType(r);b(Object.assign(n||g,{keypath:e,value:r,cyclic:o,stateObj:a,promisesData:s,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,t)},{type:i}))}:null;if(["string","boolean","number","undefined"].includes(m))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(h=a.replaced?r:replace(e,r,a,s,!1,v,_))!==r&&(g={replaced:h}):h=r,_&&_(),h;if(null===r)return _&&_(),r;if(o&&!a.iterateIn&&!a.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var O=p.indexOf(r);if(!(O<0))return l[e]="#",_&&_({cyclicKeypath:y[O]}),"#"+y[O];!0===o&&(p.push(r),y.push(e))}var S,w=isPlainObject(r),j=c(r),A=(w||j)&&(!f.plainObjectReplacers.length||a.replaced)||a.iterateIn?r:replace(e,r,a,s,w||j,null,_);if(A!==r?(h=A,g={replaced:A}):""===e&&hasConstructorOf(r,t)?(s.push([e,r,o,a,void 0,void 0,a.type]),h=r):j&&"object"!==a.iterateIn||"array"===a.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))&&!w&&"object"!==a.iterateIn?h=r:(S={},a.addLength&&(S.length=r.length),g={clone:S}),_&&_(),n.iterateNone)return S||h;if(!S)return h;if(a.iterateIn){var T=function _loop(n){var i={ownKeys:u.call(r,n)};_adaptBuiltinStateObjectProperties(a,i,(function(){var i=e+(e?".":"")+escapeKeyPathComponent(n),c=_encapsulate(i,r[n],Boolean(o),a,s,v);hasConstructorOf(c,t)?s.push([i,c,Boolean(o),a,S,n,a.type]):void 0!==c&&(S[n]=c)}))};for(var P in r)T(P);_&&_({endIterateIn:!0,end:!0})}else i(r).forEach((function(n){var i=e+(e?".":"")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(a,{ownKeys:!0},(function(){var e=_encapsulate(i,r[n],Boolean(o),a,s,v);hasConstructorOf(e,t)?s.push([i,e,Boolean(o),a,S,n,a.type]):void 0!==e&&(S[n]=e)}))})),_&&_({endIterateOwn:!0,end:!0});if(a.iterateUnsetNumeric){for(var I=r.length,C=function _loop2(n){if(!(n in r)){var i=e+(e?".":"")+n;_adaptBuiltinStateObjectProperties(a,{ownKeys:!1},(function(){var e=_encapsulate(i,void 0,Boolean(o),a,s,v);hasConstructorOf(e,t)?s.push([i,e,Boolean(o),a,S,n,a.type]):void 0!==e&&(S[n]=e)}))}},N=0;N<I;N++)C(N);_&&_({endIterateUnsetNumeric:!0,end:!0})}return S}function replace(e,t,r,n,o,i,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}),!a&&p.replaceAsync||p.replace?(c&&c({replacing:!0}),_encapsulate(e,p[a||!p.replaceAsync?"replace":"replaceAsync"](t,r),d&&"readonly",r,n,i,y)):(c&&c({typeDetected:!0}),_encapsulate(e,t,d&&"readonly",r,n,i,y))}}return t}return v.length?a&&n.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(o(h,v)).then(finish):!a&&n.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():n.stringification&&a?[finish(h)]:a?finish(h):Promise.resolve(finish(h))}},{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,a=[],u={},s=!0;n.$&&isPlainObject(n.$)&&(e=e.$,n=n.$,s=!1);var f=this;function executeReviver(e,t){var r=_slicedToArray(f.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,l)?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],a=t[1];"#"!==a&&[].concat(a).forEach((function(e){_slicedToArray(f.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(e,o);if(hasConstructorOf(i=executeReviver(a,i),t))return i.then((function(t){var r=setAtKeyPath(e,o,t);r===t&&(e=r)}));var c=setAtKeyPath(e,o,i);c===i&&(e=c)}),void 0)}();return hasConstructorOf(v,t)?y=v.then((function(){return e})):(y=function _revive(e,r,o,u,f){if(!s||"$types"!==e){var y=n[e],v=c(r);if(v||isPlainObject(r)){var d=v?new Array(r.length):{};for(i(r).forEach((function(n){var a=_revive(e+(e?".":"")+escapeKeyPathComponent(n),r[n],o||d,d,n),i=function set(e){return hasConstructorOf(e,l)?d[n]=void 0:void 0!==e&&(d[n]=e),e};hasConstructorOf(a,t)?p.push(a.then((function(e){return i(e)}))):i(a)})),r=d;a.length;){var b=_slicedToArray(a[0],4),h=b[0],g=b[1],m=b[2],_=b[3],O=getByKeyPath(h,g);if(void 0===O)break;m[_]=O,a.splice(0,1)}}if(!y)return r;if("#"===y){var S=getByKeyPath(o,r.slice(1));return void 0===S&&a.push([o,r.slice(1),u,f]),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&&i(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,i=a.filter((function(e){return e.type===n}));if(i.length&&(a.splice(a.indexOf(i[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 l="number"==typeof t.fallback?t.fallback:t.fallback?0:Number.POSITIVE_INFINITY;if(o.testPlainObjects?r.plainObjectReplacers.splice(l,0,f):r.nonplainObjectReplacers.splice(l,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}}]),Typeson}(),l=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));l.__typeson__type__="TypesonUndefined";for(var p=["null","boolean","number","string","array","object"],y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",v=new Uint8Array(256),d=0;d<y.length;d++)v[y.codePointAt(d)]=d;var b=function encode(e,t,r){null==r&&(r=e.byteLength);for(var n=new Uint8Array(e,t||0,r),o=n.length,a="",i=0;i<o;i+=3)a+=y[n[i]>>2],a+=y[(3&n[i])<<4|n[i+1]>>4],a+=y[(15&n[i+1])<<2|n[i+2]>>6],a+=y[63&n[i+2]];return o%3==2?a=a.slice(0,-1)+"=":o%3==1&&(a=a.slice(0,-2)+"=="),a},h=function decode(e){var t,r,n,o,a=e.length,i=.75*e.length,c=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);for(var u=new ArrayBuffer(i),s=new Uint8Array(u),f=0;f<a;f+=4)t=v[e.codePointAt(f)],r=v[e.codePointAt(f+1)],n=v[e.codePointAt(f+2)],o=v[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},g={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),b(e))},revive:function revive(e,t){if(t.buffers||(t.buffers=[]),"object"===_typeof$1(e))return t.buffers[e.index];var r=h(e);return t.buffers.push(r),r}}},m={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))}}},_={bigint:{test:function test(e){return"bigint"==typeof e},replace:function replace(e){return String(e)},revive:function revive(e){return BigInt(e)}}};function string2arraybuffer(e){for(var t=new Uint8Array(e.length),r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t.buffer}var O={blob:{test:function test(e){return"Blob"===toStringTag(e)},replace:function replace(e){var t=new XMLHttpRequest;if(t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",URL.createObjectURL(e),!1),t.send(),200!==t.status&&0!==t.status)throw new Error("Bad Blob access: "+t.status);return{type:e.type,stringContents:t.responseText}},revive:function revive(e){var t=e.type,r=e.stringContents;return new Blob([string2arraybuffer(r)],{type:t})},replaceAsync:function replaceAsync(e){return new t((function(t,r){var n=new FileReader;n.addEventListener("load",(function(){t({type:e.type,stringContents:n.result})})),n.addEventListener("error",(function(){r(n.error)})),n.readAsBinaryString(e)}))}}};function generateUUID(){var e=Date.now()+("undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():0);return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var r=Math.trunc((e+16*Math.random())%16);return e=Math.floor(e/16),("x"===t?r:3&r|8).toString(16)}))}var S={},w={cloneable:{test:function test(e){return e&&"object"===_typeof$1(e)&&"function"==typeof e[Symbol.for("cloneEncapsulate")]},replace:function replace(e){var t=e[Symbol.for("cloneEncapsulate")](),r=generateUUID();return S[r]=e,{uuid:r,encapsulated:t}},revive:function revive(e){var t=e.uuid,r=e.encapsulated;return S[t][Symbol.for("cloneRevive")](r)}}},j={cryptokey:{test:function test(e){return"CryptoKey"===toStringTag(e)&&e.extractable},replaceAsync:function replaceAsync(e){return new t(function(){var t=function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var a=e.apply(t,r);function _next(e){asyncGeneratorStep(a,n,o,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(a,n,o,_next,_throw,"throw",e)}_next(void 0)}))}}(regeneratorRuntime.mark((function _callee(t,r){var n;return regeneratorRuntime.wrap((function _callee$(o){for(;;)switch(o.prev=o.next){case 0:return o.prev=0,o.next=3,crypto.subtle.exportKey("jwk",e);case 3:n=o.sent,o.next=10;break;case 6:return o.prev=6,o.t0=o.catch(0),r(o.t0),o.abrupt("return");case 10:t({jwk:n,algorithm:e.algorithm,usages:e.usages});case 11:case"end":return o.stop()}}),_callee,null,[[0,6]])})));return function(e,r){return t.apply(this,arguments)}}())},revive:function revive(e){var t=e.jwk,r=e.algorithm,n=e.usages;return crypto.subtle.importKey("jwk",t,r,!0,n)}}},A={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 a=t.buffers.indexOf(r);return a>-1?{index:a,byteOffset:n,byteLength:o}:(t.buffers.push(r),{encoded:b(r),byteOffset:n,byteLength:o})},revive:function revive(e,t){t.buffers||(t.buffers=[]);var r,n=e.byteOffset,o=e.byteLength,a=e.encoded,i=e.index;return"index"in e?r=t.buffers[i]:(r=h(a),t.buffers.push(r)),new DataView(r,n,o)}}},T={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)}}},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}}},I="undefined"==typeof self?global:self,C={};["TypeError","RangeError","SyntaxError","ReferenceError","EvalError","URIError","InternalError"].forEach((function(e){var t=I[e];t&&(C[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)}})}));var N={file:{test:function test(e){return"File"===toStringTag(e)},replace:function replace(e){var t=new XMLHttpRequest;if(t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",URL.createObjectURL(e),!1),t.send(),200!==t.status&&0!==t.status)throw new Error("Bad File access: "+t.status);return{type:e.type,stringContents:t.responseText,name:e.name,lastModified:e.lastModified}},revive:function revive(e){var t=e.name,r=e.type,n=e.stringContents,o=e.lastModified;return new File([string2arraybuffer(n)],t,{type:r,lastModified:o})},replaceAsync:function replaceAsync(e){return new t((function(t,r){var n=new FileReader;n.addEventListener("load",(function(){t({type:e.type,stringContents:n.result,name:e.name,lastModified:e.lastModified})})),n.addEventListener("error",(function(){r(n.error)})),n.readAsBinaryString(e)}))}}},x={file:N.file,filelist:{test:function test(e){return"FileList"===toStringTag(e)},replace:function replace(e){for(var t=[],r=0;r<e.length;r++)t[r]=e.item(r);return t},revive:function revive(e){var t=function(e){function FileList(){_classCallCheck$1(this,FileList),this._files=arguments[0],this.length=this._files.length}return function _createClass$1(e,t,r){return t&&_defineProperties$1(e.prototype,t),r&&_defineProperties$1(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(FileList,[{key:"item",value:function item(e){return this._files[e]}},{key:Symbol.toStringTag,get:function get(){return"FileList"}}]),FileList}();return new t(e)}}},E={imagebitmap:{test:function test(e){return"ImageBitmap"===toStringTag(e)||e&&e.dataset&&"ImageBitmap"===e.dataset.toStringTag},replace:function replace(e){var t=document.createElement("canvas");return t.getContext("2d").drawImage(e,0,0),t.toDataURL()},revive:function revive(e){var t=document.createElement("canvas"),r=t.getContext("2d"),n=document.createElement("img");return n.addEventListener("load",(function(){r.drawImage(n,0,0)})),n.src=e,t},reviveAsync:function reviveAsync(e){var t=document.createElement("canvas"),r=t.getContext("2d"),n=document.createElement("img");return n.addEventListener("load",(function(){r.drawImage(n,0,0)})),n.src=e,createImageBitmap(t)}}},k={imagedata:{test:function test(e){return"ImageData"===toStringTag(e)},replace:function replace(e){return{array:_toConsumableArray$1(e.data),width:e.width,height:e.height}},revive:function revive(e){return new ImageData(new Uint8ClampedArray(e.array),e.width,e.height)}}},B={infinity:{test:function test(e){return e===Number.POSITIVE_INFINITY},replace:function replace(e){return"Infinity"},revive:function revive(e){return Number.POSITIVE_INFINITY}}},U={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)}},$={IntlCollator:U,IntlDateTimeFormat:{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)}},IntlNumberFormat:{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)}}},K={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)}}},L={nan:{test:function test(e){return Number.isNaN(e)},replace:function replace(e){return"NaN"},revive:function revive(e){return Number.NaN}}},D={negativeInfinity:{test:function test(e){return e===Number.NEGATIVE_INFINITY},replace:function replace(e){return"-Infinity"},revive:function revive(e){return Number.NEGATIVE_INFINITY}}},F={nonbuiltinIgnore:{test:function test(e){return e&&"object"===_typeof$1(e)&&!Array.isArray(e)&&!["Object","Boolean","Number","String","Error","RegExp","Math","Date","Map","Set","JSON","ArrayBuffer","SharedArrayBuffer","DataView","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","Promise","String Iterator","Array Iterator","Map Iterator","Set Iterator","WeakMap","WeakSet","Atomics","Module"].includes(toStringTag(e))},replace:function replace(e){}}},M={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)}}},J={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)}}},V={},G={resurrectable:{test:function test(e){return e&&!Array.isArray(e)&&["object","function","symbol"].includes(_typeof$1(e))},replace:function replace(e){var t=generateUUID();return V[t]=e,t},revive:function revive(e){return V[e]}}},Y={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)}}},W="undefined"==typeof self?global:self,q={};["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach((function(e){var t=e,r=W[e];r&&(q[e.toLowerCase()]={test:function test(e){return toStringTag(e)===t},replace:function replace(e){return(0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e:e.slice(0)).buffer},revive:function revive(e){return"ArrayBuffer"===toStringTag(e)?new r(e):e}})}));var H="undefined"==typeof self?global:self,X={};["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array"].forEach((function(e){var t=e,r=H[t];r&&(X[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 a=t.buffers.indexOf(r);return a>-1?{index:a,byteOffset:n,length:o}:(t.buffers.push(r),{encoded:b(r),byteOffset:n,length:o})},revive:function revive(e,t){t.buffers||(t.buffers=[]);var n,o=e.byteOffset,a=e.length,i=e.encoded,c=e.index;return"index"in e?n=t.buffers[c]:(n=h(i),t.buffers.push(n)),new r(n,o,a)}})}));var z={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 l}}},Q={userObject:{test:function test(e,t){return isUserObject(e)},replace:function replace(e){return function _objectSpread2$1(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(r),!0).forEach((function(t){_defineProperty$1(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$1(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},e)},revive:function revive(e){return e}}},Z=[{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){}}}],ee=[L,B,D],te=[z,Z,M,ee,T,P,C,J].concat("function"==typeof Map?K:[],"function"==typeof Set?Y:[],"function"==typeof ArrayBuffer?g:[],"function"==typeof Uint8Array?X:[],"function"==typeof DataView?A:[],"undefined"!=typeof Intl?$:[],"undefined"!=typeof BigInt?[_,m]:[]),re=[P,C],ne=[te,{arraybuffer:null},q],oe=[{sparseArrays:{testPlainObjects:!0,test:function test(e){return Array.isArray(e)},replace:function replace(e,t){return t.iterateUnsetNumeric=!0,e}}},{sparseUndefined:{test:function test(e,t){return void 0===e&&!1===t.ownKeys},replace:function replace(e){return 0},revive:function revive(e){}}}],ae=[Q,z,Z,M,ee,T,J,k,E,N,x,O].concat("function"==typeof Map?K:[],"function"==typeof Set?Y:[],"function"==typeof ArrayBuffer?g:[],"function"==typeof Uint8Array?X:[],"function"==typeof DataView?A:[],"undefined"!=typeof Intl?$:[],"undefined"!=typeof crypto?j:[],"undefined"!=typeof BigInt?[_,m]:[]),ie=ae.concat({checkDataCloneException:{test:function test(e){var t={}.toString.call(e).slice(8,-1);if(["symbol","function"].includes(_typeof$1(e))||["Arguments","Module","Error","Promise","WeakMap","WeakSet","Event","MessageChannel"].includes(t)||e&&"object"===_typeof$1(e)&&"number"==typeof e.nodeType&&"function"==typeof e.insertBefore)throw new DOMException("The object cannot be cloned.","DataCloneError");return!1}}}),ce=[oe,z],ue=[te];e.JSON_TYPES=p,e.Typeson=f,e.TypesonPromise=t,e.Undefined=l,e.arrayNonindexKeys=Z,e.arraybuffer=g,e.bigint=_,e.bigintObject=m,e.blob=O,e.builtin=te,e.cloneable=w,e.cryptokey=j,e.dataview=A,e.date=T,e.error=P,e.errors=C,e.escapeKeyPathComponent=escapeKeyPathComponent,e.file=N,e.filelist=x,e.getByKeyPath=getByKeyPath,e.getJSONType=getJSONType,e.hasConstructorOf=hasConstructorOf,e.imagebitmap=E,e.imagedata=k,e.infinity=B,e.intlTypes=$,e.isObject=isObject,e.isPlainObject=isPlainObject,e.isThenable=isThenable,e.isUserObject=isUserObject,e.map=K,e.nan=L,e.negativeInfinity=D,e.nonbuiltinIgnore=F,e.postmessage=re,e.primitiveObjects=M,e.regexp=J,e.resurrectable=G,e.set=Y,e.setAtKeyPath=setAtKeyPath,e.socketio=ne,e.sparseUndefined=oe,e.specialNumbers=ee,e.structuredCloning=ae,e.structuredCloningThrowing=ie,e.toStringTag=toStringTag,e.typedArrays=X,e.typedArraysSocketio=q,e.undef=z,e.undefPreset=ce,e.unescapeKeyPathComponent=unescapeKeyPathComponent,e.universal=ue,e.userObject=Q,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).TypesonNamespace={})}(this,(function(e){"use strict";function ownKeys$1(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 _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 asyncGeneratorStep(e,t,r,n,a,o,i){try{var c=e[o](i),u=c.value}catch(e){return void r(e)}c.done?t(u):Promise.resolve(u).then(n,a)}function _classCallCheck$1(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _defineProperties$1(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 _defineProperty$1(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,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,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 _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,a){n.p.then((function(r){t(e?e(r):r)})).catch((function(e){return r?r(e):Promise.reject(e)})).then(t,a)}))},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,a=Object.getPrototypeOf,o=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=a(e);if(!r)return null===t;var i=n.call(r,"constructor")&&r.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))&&(!a(e)||hasConstructorOf(e,Object))}function isUserObject(e){if(!e||"Object"!==toStringTag(e))return!1;var t=a(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 i=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}var f=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 c(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(e,r,n){var a=_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 o=!1,i=[],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,i,!0,v),d=hasConstructorOf(b,t);return function _invoke(e,t){var r=e();return r&&r.then?r.then(t):t(r)}((function(){if(s&&d)return _await(b.p,(function(t){p[y]=t;var r=a(e,i);return o=!0,r}))}),(function(t){return o?t:(s?p[y]=b:e=d?b.p:b,a(e,i))}))})))),(function(){return e}))}))})),o=(n=_objectSpread2(_objectSpread2({sync:!0},this.options),n)).sync,f=this,l={},p=[],y=[],v=[],b=!("cyclic"in n)||n.cyclic,d=n.encapsulateObserver,h=_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,a,o,s,v,b){var h,g={},m=_typeof(r),_=d?function(n){var i=b||o.type||getJSONType(r);d(Object.assign(n||g,{keypath:e,value:r,cyclic:a,stateObj:o,promisesData:s,resolvingTypesonPromise:v,awaitingTypesonPromise:hasConstructorOf(r,t)},{type:i}))}:null;if(["string","boolean","number","undefined"].includes(m))return void 0===r||Number.isNaN(r)||r===Number.NEGATIVE_INFINITY||r===Number.POSITIVE_INFINITY?(h=o.replaced?r:replace(e,r,o,s,!1,v,_))!==r&&(g={replaced:h}):h=r,_&&_(),h;if(null===r)return _&&_(),r;if(a&&!o.iterateIn&&!o.iterateUnsetNumeric&&r&&"object"===_typeof(r)){var O=p.indexOf(r);if(!(O<0))return l[e]="#",_&&_({cyclicKeypath:y[O]}),"#"+y[O];!0===a&&(p.push(r),y.push(e))}var S,w=isPlainObject(r),A=c(r),j=(w||A)&&(!f.plainObjectReplacers.length||o.replaced)||o.iterateIn?r:replace(e,r,o,s,w||A,null,_);if(j!==r?(h=j,g={replaced:j}):""===e&&hasConstructorOf(r,t)?(s.push([e,r,a,o,void 0,void 0,o.type]),h=r):A&&"object"!==o.iterateIn||"array"===o.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))&&!w&&"object"!==o.iterateIn?h=r:(S={},o.addLength&&(S.length=r.length),g={clone:S}),_&&_(),n.iterateNone)return S||h;if(!S)return h;if(o.iterateIn){var T=function _loop(n){var i={ownKeys:u.call(r,n)};_adaptBuiltinStateObjectProperties(o,i,(function(){var i=e+(e?".":"")+escapeKeyPathComponent(n),c=_encapsulate(i,r[n],Boolean(a),o,s,v);hasConstructorOf(c,t)?s.push([i,c,Boolean(a),o,S,n,o.type]):void 0!==c&&(S[n]=c)}))};for(var P in r)T(P);_&&_({endIterateIn:!0,end:!0})}else i(r).forEach((function(n){var i=e+(e?".":"")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(o,{ownKeys:!0},(function(){var e=_encapsulate(i,r[n],Boolean(a),o,s,v);hasConstructorOf(e,t)?s.push([i,e,Boolean(a),o,S,n,o.type]):void 0!==e&&(S[n]=e)}))})),_&&_({endIterateOwn:!0,end:!0});if(o.iterateUnsetNumeric){for(var I=r.length,C=function _loop2(n){if(!(n in r)){var i=e+(e?".":"")+n;_adaptBuiltinStateObjectProperties(o,{ownKeys:!1},(function(){var e=_encapsulate(i,void 0,Boolean(a),o,s,v);hasConstructorOf(e,t)?s.push([i,e,Boolean(a),o,S,n,o.type]):void 0!==e&&(S[n]=e)}))}},N=0;N<I;N++)C(N);_&&_({endIterateUnsetNumeric:!0,end:!0})}return S}function replace(e,t,r,n,a,i,c){for(var u=a?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}),!o&&p.replaceAsync||p.replace?(c&&c({replacing:!0}),_encapsulate(e,p[o||!p.replaceAsync?"replace":"replaceAsync"](t,r),b&&"readonly",r,n,i,y)):(c&&c({typeDetected:!0}),_encapsulate(e,t,b&&"readonly",r,n,i,y))}}return t}return v.length?o&&n.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():Promise.resolve(a(h,v)).then(finish):!o&&n.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():n.stringification&&o?[finish(h)]:o?finish(h):Promise.resolve(finish(h))}},{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 a=(r=_objectSpread2(_objectSpread2({sync:!0},this.options),r)).sync,o=[],u={},s=!0;n.$&&isPlainObject(n.$)&&(e=e.$,n=n.$,s=!1);var f=this;function executeReviver(e,t){var r=_slicedToArray(f.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,u)}var p=[];function checkUndefined(e){return hasConstructorOf(e,l)?void 0:e}var y,v=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(f.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(e,a);if(hasConstructorOf(i=executeReviver(o,i),t))return i.then((function(t){var r=setAtKeyPath(e,a,t);r===t&&(e=r)}));var c=setAtKeyPath(e,a,i);c===i&&(e=c)}),void 0)}();return hasConstructorOf(v,t)?y=v.then((function(){return e})):(y=function _revive(e,r,a,u,f){if(!s||"$types"!==e){var y=n[e],v=c(r);if(v||isPlainObject(r)){var b=v?new Array(r.length):{};for(i(r).forEach((function(n){var o=_revive(e+(e?".":"")+escapeKeyPathComponent(n),r[n],a||b,b,n),i=function set(e){return hasConstructorOf(e,l)?b[n]=void 0:void 0!==e&&(b[n]=e),e};hasConstructorOf(o,t)?p.push(o.then((function(e){return i(e)}))):i(o)})),r=b;o.length;){var d=_slicedToArray(o[0],4),h=d[0],g=d[1],m=d[2],_=d[3],O=getByKeyPath(h,g);if(void 0===O)break;m[_]=O,o.splice(0,1)}}if(!y)return r;if("#"===y){var S=getByKeyPath(a,r.slice(1));return void 0===S&&o.push([a,r.slice(1),u,f]),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)?a&&r.throwOnBadSyncType?function(){throw new TypeError("Sync method requested but async result obtained")}():hasConstructorOf(y,t)?y.p.then(checkUndefined):y:!a&&r.throwOnBadSyncType?function(){throw new TypeError("Async method requested but sync result obtained")}():a?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&&i(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 a=e[n],o=a&&a.testPlainObjects?r.plainObjectReplacers:r.nonplainObjectReplacers,i=o.filter((function(e){return e.type===n}));if(i.length&&(o.splice(o.indexOf(i[0]),1),delete r.revivers[n],delete r.types[n]),"function"==typeof a){var u=a;a={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(a)){var s=_slicedToArray(a,3);a={test:s[0],replace:s[1],revive:s[2]}}if(a&&a.test){var f={type:n,test:a.test.bind(a)};a.replace&&(f.replace=a.replace.bind(a)),a.replaceAsync&&(f.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,f):r.nonplainObjectReplacers.splice(l,0,f),a.revive||a.reviveAsync){var y={};a.revive&&(y.revive=a.revive.bind(a)),a.reviveAsync&&(y.reviveAsync=a.reviveAsync.bind(a)),r.revivers[n]=[y,{plain:a.testPlainObjects}]}r.types[n]=a}}))};return[].concat(e).forEach((function(e){return n(e)})),this}}]),Typeson}(),l=_createClass((function Undefined(){_classCallCheck(this,Undefined)}));l.__typeson__type__="TypesonUndefined";for(var p=["null","boolean","number","string","array","object"],y="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",v=new Uint8Array(256),b=0;b<y.length;b++)v[y.codePointAt(b)]=b;var d=function encode(e,t,r){null==r&&(r=e.byteLength);for(var n=new Uint8Array(e,t||0,r),a=n.length,o="",i=0;i<a;i+=3)o+=y[n[i]>>2],o+=y[(3&n[i])<<4|n[i+1]>>4],o+=y[(15&n[i+1])<<2|n[i+2]>>6],o+=y[63&n[i+2]];return a%3==2?o=o.slice(0,-1)+"=":a%3==1&&(o=o.slice(0,-2)+"=="),o},h=function decode(e){var t,r,n,a,o=e.length,i=.75*e.length,c=0;"="===e[e.length-1]&&(i--,"="===e[e.length-2]&&i--);for(var u=new ArrayBuffer(i),s=new Uint8Array(u),f=0;f<o;f+=4)t=v[e.codePointAt(f)],r=v[e.codePointAt(f+1)],n=v[e.codePointAt(f+2)],a=v[e.codePointAt(f+3)],s[c++]=t<<2|r>>4,s[c++]=(15&r)<<4|n>>2,s[c++]=(3&n)<<6|63&a;return u},g={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),d(e))},revive:function revive(e,t){if(t.buffers||(t.buffers=[]),"object"===_typeof$1(e))return t.buffers[e.index];var r=h(e);return t.buffers.push(r),r}}},m={bigintObject:{test:function test(e){return"object"===_typeof$1(e)&&hasConstructorOf(e,BigInt)},replace:String,revive:function revive(e){return new Object(BigInt(e))}}},_={bigint:{test:function test(e){return"bigint"==typeof e},replace:String,revive:BigInt}};function string2arraybuffer(e){for(var t=new Uint8Array(e.length),r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t.buffer}var O={blob:{test:function test(e){return"Blob"===toStringTag(e)},replace:function replace(e){var t=new XMLHttpRequest;if(t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",URL.createObjectURL(e),!1),t.send(),200!==t.status&&0!==t.status)throw new Error("Bad Blob access: "+t.status);return{type:e.type,stringContents:t.responseText}},revive:function revive(e){var t=e.type,r=e.stringContents;return new Blob([string2arraybuffer(r)],{type:t})},replaceAsync:function replaceAsync(e){return new t((function(t,r){var n=new FileReader;n.addEventListener("load",(function(){t({type:e.type,stringContents:n.result})})),n.addEventListener("error",(function(){r(n.error)})),n.readAsBinaryString(e)}))}}};function generateUUID(){var e=Date.now()+("undefined"!=typeof performance&&"function"==typeof performance.now?performance.now():0);return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){var r=Math.trunc((e+16*Math.random())%16);return e=Math.floor(e/16),("x"===t?r:3&r|8).toString(16)}))}var S={},w={cloneable:{test:function test(e){return e&&"object"===_typeof$1(e)&&"function"==typeof e[Symbol.for("cloneEncapsulate")]},replace:function replace(e){var t=e[Symbol.for("cloneEncapsulate")](),r=generateUUID();return S[r]=e,{uuid:r,encapsulated:t}},revive:function revive(e){var t=e.uuid,r=e.encapsulated;return S[t][Symbol.for("cloneRevive")](r)}}},A={cryptokey:{test:function test(e){return"CryptoKey"===toStringTag(e)&&e.extractable},replaceAsync:function replaceAsync(e){return new t(function(){var t=function _asyncToGenerator(e){return function(){var t=this,r=arguments;return new Promise((function(n,a){var o=e.apply(t,r);function _next(e){asyncGeneratorStep(o,n,a,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(o,n,a,_next,_throw,"throw",e)}_next(void 0)}))}}(regeneratorRuntime.mark((function _callee(t,r){var n;return regeneratorRuntime.wrap((function _callee$(a){for(;;)switch(a.prev=a.next){case 0:return a.prev=0,a.next=3,crypto.subtle.exportKey("jwk",e);case 3:n=a.sent,a.next=10;break;case 6:return a.prev=6,a.t0=a.catch(0),r(a.t0),a.abrupt("return");case 10:t({jwk:n,algorithm:e.algorithm,usages:e.usages});case 11:case"end":return a.stop()}}),_callee,null,[[0,6]])})));return function(e,r){return t.apply(this,arguments)}}())},revive:function revive(e){var t=e.jwk,r=e.algorithm,n=e.usages;return crypto.subtle.importKey("jwk",t,r,!0,n)}}},j={dataview:{test:function test(e){return"DataView"===toStringTag(e)},replace:function replace(e,t){var r=e.buffer,n=e.byteOffset,a=e.byteLength;t.buffers||(t.buffers=[]);var o=t.buffers.indexOf(r);return o>-1?{index:o,byteOffset:n,byteLength:a}:(t.buffers.push(r),{encoded:d(r),byteOffset:n,byteLength:a})},revive:function revive(e,t){t.buffers||(t.buffers=[]);var r,n=e.byteOffset,a=e.byteLength,o=e.encoded,i=e.index;return"index"in e?r=t.buffers[i]:(r=h(o),t.buffers.push(r)),new DataView(r,n,a)}}},T={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)}}},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}}},I={};function create$2(e){I[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$2(e)})),"function"==typeof InternalError&&create$2(InternalError);var C={file:{test:function test(e){return"File"===toStringTag(e)},replace:function replace(e){var t=new XMLHttpRequest;if(t.overrideMimeType("text/plain; charset=x-user-defined"),t.open("GET",URL.createObjectURL(e),!1),t.send(),200!==t.status&&0!==t.status)throw new Error("Bad File access: "+t.status);return{type:e.type,stringContents:t.responseText,name:e.name,lastModified:e.lastModified}},revive:function revive(e){var t=e.name,r=e.type,n=e.stringContents,a=e.lastModified;return new File([string2arraybuffer(n)],t,{type:r,lastModified:a})},replaceAsync:function replaceAsync(e){return new t((function(t,r){var n=new FileReader;n.addEventListener("load",(function(){t({type:e.type,stringContents:n.result,name:e.name,lastModified:e.lastModified})})),n.addEventListener("error",(function(){r(n.error)})),n.readAsBinaryString(e)}))}}},N={file:C.file,filelist:{test:function test(e){return"FileList"===toStringTag(e)},replace:function replace(e){for(var t=[],r=0;r<e.length;r++)t[r]=e.item(r);return t},revive:function revive(e){var t=function(e){function FileList(){_classCallCheck$1(this,FileList),this._files=arguments[0],this.length=this._files.length}return function _createClass$1(e,t,r){return t&&_defineProperties$1(e.prototype,t),r&&_defineProperties$1(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}(FileList,[{key:"item",value:function item(e){return this._files[e]}},{key:Symbol.toStringTag,get:function get(){return"FileList"}}]),FileList}();return new t(e)}}},x={imagebitmap:{test:function test(e){return"ImageBitmap"===toStringTag(e)||e&&e.dataset&&"ImageBitmap"===e.dataset.toStringTag},replace:function replace(e){var t=document.createElement("canvas");return t.getContext("2d").drawImage(e,0,0),t.toDataURL()},revive:function revive(e){var t=document.createElement("canvas"),r=t.getContext("2d"),n=document.createElement("img");return n.addEventListener("load",(function(){r.drawImage(n,0,0)})),n.src=e,t},reviveAsync:function reviveAsync(e){var t=document.createElement("canvas"),r=t.getContext("2d"),n=document.createElement("img");return n.addEventListener("load",(function(){r.drawImage(n,0,0)})),n.src=e,createImageBitmap(t)}}},E={imagedata:{test:function test(e){return"ImageData"===toStringTag(e)},replace:function replace(e){return{array:_toConsumableArray$1(e.data),width:e.width,height:e.height}},revive:function revive(e){return new ImageData(new Uint8ClampedArray(e.array),e.width,e.height)}}},k={infinity:{test:function test(e){return e===Number.POSITIVE_INFINITY},replace:function replace(e){return"Infinity"},revive:function revive(e){return Number.POSITIVE_INFINITY}}},B={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)}},$={IntlCollator:B,IntlDateTimeFormat:{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)}},IntlNumberFormat:{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)}}},U={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)}}},K={nan:{test:function test(e){return Number.isNaN(e)},replace:function replace(e){return"NaN"},revive:function revive(e){return Number.NaN}}},L={negativeInfinity:{test:function test(e){return e===Number.NEGATIVE_INFINITY},replace:function replace(e){return"-Infinity"},revive:function revive(e){return Number.NEGATIVE_INFINITY}}},D={nonbuiltinIgnore:{test:function test(e){return e&&"object"===_typeof$1(e)&&!Array.isArray(e)&&!["Object","Boolean","Number","String","Error","RegExp","Math","Date","Map","Set","JSON","ArrayBuffer","SharedArrayBuffer","DataView","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","Promise","String Iterator","Array Iterator","Map Iterator","Set Iterator","WeakMap","WeakSet","Atomics","Module"].includes(toStringTag(e))},replace:function replace(e){}}},F={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)}}},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)}}},J={},V={resurrectable:{test:function test(e){return e&&!Array.isArray(e)&&["object","function","symbol"].includes(_typeof$1(e))},replace:function replace(e){var t=generateUUID();return J[t]=e,t},revive:function revive(e){return J[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)}}},Y={};"function"==typeof Int8Array&&[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array].forEach((function(e){return function create$1(e){var t=e.name;Y[t.toLowerCase()]={test:function test(e){return toStringTag(e)===t},replace:function replace(e){return(0===e.byteOffset&&e.byteLength===e.buffer.byteLength?e:e.slice(0)).buffer},revive:function revive(t){return"ArrayBuffer"===toStringTag(t)?new e(t):t}}}(e)}));var W={};"function"==typeof Int8Array&&[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array].forEach((function(e){return function create(e){var t=e.name;W[t.toLowerCase()]={test:function test(e){return toStringTag(e)===t},replace:function replace(e,t){var r=e.buffer,n=e.byteOffset,a=e.length;t.buffers||(t.buffers=[]);var o=t.buffers.indexOf(r);return o>-1?{index:o,byteOffset:n,length:a}:(t.buffers.push(r),{encoded:d(r),byteOffset:n,length:a})},revive:function revive(t,r){r.buffers||(r.buffers=[]);var n,a=t.byteOffset,o=t.length,i=t.encoded,c=t.index;return"index"in t?n=r.buffers[c]:(n=h(i),r.buffers.push(n)),new e(n,a,o)}}}(e)}));var q={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 l}}},H={userObject:{test:function test(e,t){return isUserObject(e)},replace:function replace(e){return function _objectSpread2$1(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?ownKeys$1(Object(r),!0).forEach((function(t){_defineProperty$1(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ownKeys$1(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({},e)},revive:function revive(e){return e}}},X=[{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){}}}],z=[K,k,L],Q=[q,X,F,z,T,P,I,M].concat("function"==typeof Map?U:[],"function"==typeof Set?G:[],"function"==typeof ArrayBuffer?g:[],"function"==typeof Uint8Array?W:[],"function"==typeof DataView?j:[],"undefined"!=typeof Intl?$:[],"undefined"!=typeof BigInt?[_,m]:[]),Z=[P,I],ee=[Q,{arraybuffer:null},Y],te=[{sparseArrays:{testPlainObjects:!0,test:function test(e){return Array.isArray(e)},replace:function replace(e,t){return t.iterateUnsetNumeric=!0,e}}},{sparseUndefined:{test:function test(e,t){return void 0===e&&!1===t.ownKeys},replace:function replace(e){return 0},revive:function revive(e){}}}],re=[H,q,X,F,z,T,M,E,x,C,N,O].concat("function"==typeof Map?U:[],"function"==typeof Set?G:[],"function"==typeof ArrayBuffer?g:[],"function"==typeof Uint8Array?W:[],"function"==typeof DataView?j:[],"undefined"!=typeof Intl?$:[],"undefined"!=typeof crypto?A:[],"undefined"!=typeof BigInt?[_,m]:[]),ne=re.concat({checkDataCloneException:{test:function test(e){var t={}.toString.call(e).slice(8,-1);if(["symbol","function"].includes(_typeof$1(e))||["Arguments","Module","Error","Promise","WeakMap","WeakSet","Event","MessageChannel"].includes(t)||e&&"object"===_typeof$1(e)&&"number"==typeof e.nodeType&&"function"==typeof e.insertBefore)throw new DOMException("The object cannot be cloned.","DataCloneError");return!1}}}),ae=[te,q],oe=[Q];e.JSON_TYPES=p,e.Typeson=f,e.TypesonPromise=t,e.Undefined=l,e.arrayNonindexKeys=X,e.arraybuffer=g,e.bigint=_,e.bigintObject=m,e.blob=O,e.builtin=Q,e.cloneable=w,e.cryptokey=A,e.dataview=j,e.date=T,e.error=P,e.errors=I,e.escapeKeyPathComponent=escapeKeyPathComponent,e.file=C,e.filelist=N,e.getByKeyPath=getByKeyPath,e.getJSONType=getJSONType,e.hasConstructorOf=hasConstructorOf,e.imagebitmap=x,e.imagedata=E,e.infinity=k,e.intlTypes=$,e.isObject=isObject,e.isPlainObject=isPlainObject,e.isThenable=isThenable,e.isUserObject=isUserObject,e.map=U,e.nan=K,e.negativeInfinity=L,e.nonbuiltinIgnore=D,e.postmessage=Z,e.primitiveObjects=F,e.regexp=M,e.resurrectable=V,e.set=G,e.setAtKeyPath=setAtKeyPath,e.socketio=ee,e.sparseUndefined=te,e.specialNumbers=z,e.structuredCloning=re,e.structuredCloningThrowing=ne,e.toStringTag=toStringTag,e.typedArrays=W,e.typedArraysSocketio=Y,e.undef=q,e.undefPreset=ae,e.unescapeKeyPathComponent=unescapeKeyPathComponent,e.universal=oe,e.userObject=H,Object.defineProperty(e,"__esModule",{value:!0})}));
2
2
  //# sourceMappingURL=index.umd.min.js.map