typeson-registry 13.0.1 → 13.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. package/README.md +6 -8
  2. package/dist/index.d.ts +4 -2
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +65 -4
  5. package/dist/index.js.map +1 -1
  6. package/dist/index.min.js +2 -2
  7. package/dist/index.min.js.map +1 -1
  8. package/dist/index.umd.cjs +220 -124
  9. package/dist/index.umd.cjs.map +1 -1
  10. package/dist/index.umd.min.cjs +2 -2
  11. package/dist/index.umd.min.cjs.map +1 -1
  12. package/dist/polyfills/createObjectURL.d.ts.map +1 -1
  13. package/dist/presets/builtin.umd.cjs +1 -1
  14. package/dist/presets/builtin.umd.cjs.map +1 -1
  15. package/dist/presets/postmessage.umd.cjs +1 -1
  16. package/dist/presets/postmessage.umd.cjs.map +1 -1
  17. package/dist/presets/socketio.umd.cjs +1 -1
  18. package/dist/presets/socketio.umd.cjs.map +1 -1
  19. package/dist/presets/structured-cloning-throwing.umd.cjs +1 -1
  20. package/dist/presets/structured-cloning-throwing.umd.cjs.map +1 -1
  21. package/dist/presets/structured-cloning.d.ts.map +1 -1
  22. package/dist/presets/structured-cloning.umd.cjs +1 -1
  23. package/dist/presets/structured-cloning.umd.cjs.map +1 -1
  24. package/dist/presets/undef.umd.cjs +1 -1
  25. package/dist/presets/undef.umd.cjs.map +1 -1
  26. package/dist/presets/universal.umd.cjs +1 -1
  27. package/dist/presets/universal.umd.cjs.map +1 -1
  28. package/dist/types/arraybuffer.umd.cjs +1 -1
  29. package/dist/types/arraybuffer.umd.cjs.map +1 -1
  30. package/dist/types/audiodata.d.ts +6 -0
  31. package/dist/types/audiodata.d.ts.map +1 -0
  32. package/dist/types/audiodata.umd.cjs +2 -0
  33. package/dist/types/audiodata.umd.cjs.map +1 -0
  34. package/dist/types/bigint-object.umd.cjs +1 -1
  35. package/dist/types/bigint-object.umd.cjs.map +1 -1
  36. package/dist/types/blob.umd.cjs +1 -1
  37. package/dist/types/blob.umd.cjs.map +1 -1
  38. package/dist/types/cryptokey.umd.cjs +1 -1
  39. package/dist/types/cryptokey.umd.cjs.map +1 -1
  40. package/dist/types/dataview.umd.cjs +1 -1
  41. package/dist/types/dataview.umd.cjs.map +1 -1
  42. package/dist/types/date.umd.cjs +1 -1
  43. package/dist/types/date.umd.cjs.map +1 -1
  44. package/dist/types/domexception.umd.cjs +1 -1
  45. package/dist/types/domexception.umd.cjs.map +1 -1
  46. package/dist/types/dommatrix.umd.cjs +1 -1
  47. package/dist/types/dommatrix.umd.cjs.map +1 -1
  48. package/dist/types/dompoint.umd.cjs +1 -1
  49. package/dist/types/dompoint.umd.cjs.map +1 -1
  50. package/dist/types/domquad.umd.cjs +1 -1
  51. package/dist/types/domquad.umd.cjs.map +1 -1
  52. package/dist/types/domrect.umd.cjs +1 -1
  53. package/dist/types/domrect.umd.cjs.map +1 -1
  54. package/dist/types/error.umd.cjs +1 -1
  55. package/dist/types/error.umd.cjs.map +1 -1
  56. package/dist/types/errors.umd.cjs +1 -1
  57. package/dist/types/errors.umd.cjs.map +1 -1
  58. package/dist/types/file.umd.cjs +1 -1
  59. package/dist/types/file.umd.cjs.map +1 -1
  60. package/dist/types/filelist.umd.cjs +1 -1
  61. package/dist/types/filelist.umd.cjs.map +1 -1
  62. package/dist/types/imagebitmap.umd.cjs +1 -1
  63. package/dist/types/imagebitmap.umd.cjs.map +1 -1
  64. package/dist/types/imagedata.umd.cjs +1 -1
  65. package/dist/types/imagedata.umd.cjs.map +1 -1
  66. package/dist/types/intl-types.umd.cjs +1 -1
  67. package/dist/types/intl-types.umd.cjs.map +1 -1
  68. package/dist/types/map.umd.cjs +1 -1
  69. package/dist/types/map.umd.cjs.map +1 -1
  70. package/dist/types/nonbuiltin-ignore.umd.cjs +1 -1
  71. package/dist/types/nonbuiltin-ignore.umd.cjs.map +1 -1
  72. package/dist/types/primitive-objects.umd.cjs +1 -1
  73. package/dist/types/primitive-objects.umd.cjs.map +1 -1
  74. package/dist/types/promise.umd.cjs +1 -1
  75. package/dist/types/promise.umd.cjs.map +1 -1
  76. package/dist/types/regexp.umd.cjs +1 -1
  77. package/dist/types/regexp.umd.cjs.map +1 -1
  78. package/dist/types/set.umd.cjs +1 -1
  79. package/dist/types/set.umd.cjs.map +1 -1
  80. package/dist/types/typed-arrays-socketio.umd.cjs +1 -1
  81. package/dist/types/typed-arrays-socketio.umd.cjs.map +1 -1
  82. package/dist/types/typed-arrays.umd.cjs +1 -1
  83. package/dist/types/typed-arrays.umd.cjs.map +1 -1
  84. package/dist/types/undef.umd.cjs +1 -1
  85. package/dist/types/undef.umd.cjs.map +1 -1
  86. package/dist/types/user-object.umd.cjs +1 -1
  87. package/dist/types/user-object.umd.cjs.map +1 -1
  88. package/package.json +11 -12
  89. package/polyfills/createObjectURL.cjs +3231 -0
  90. package/polyfills/createObjectURL.cjs.map +1 -0
  91. package/polyfills/createObjectURL.js +4 -4
  92. package/polyfills/createObjectURL.umd.cjs +0 -4
  93. package/polyfills/createObjectURL.umd.cjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"map.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.1.1/node_modules/typeson/dist/typeson.esm.min.js","../../types/map.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(()=>{},e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(e,t){if(\"\"===t)return e;if(null===e||\"object\"!=typeof e)throw new TypeError(\"Unexpected non-object type\");const n=t.indexOf(\".\");if(-1!==n){const r=e[unescapeKeyPathComponent(t.slice(0,n))];return void 0===r?void 0:getByKeyPath(r,t.slice(n+1))}return e[unescapeKeyPathComponent(t)]}function setAtKeyPath(e,t,n){if(\"\"===t)return n;let r=e,s=t;for(;;){if(!r||\"object\"!=typeof r)throw new TypeError(\"Unexpected non-object type\");if(\"__proto__\"===s)throw new TypeError(\"Invalid property\");const t=s.indexOf(\".\");if(-1===t)return r[unescapeKeyPathComponent(s)]=n,e;r=r[unescapeKeyPathComponent(s.slice(0,t))],s=s.slice(t+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n*/const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return n.returnTypeNames=!0,this.encapsulate(e,t,n)}rootTypeName(e,t,n={}){return n.iterateNone=!0,this.encapsulate(e,t,n)}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){const t=await u.p;return a[p]=t,checkPromises(e,r)}return o?a[p]=u:e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let v,O={};const b=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(v=i.replaced?t:replace(e,t,i,a,!1,l,b),v!==t&&(O={replaced:v})):v=t,b&&b(),v;if(null===t)return b&&b(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",b&&b({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),P=s(t),T=(m||P)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||P,null,b);let g;if(T!==t?(v=T,O={replaced:T}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),v=t):P&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(g=new Array(t.length),O={clone:g}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?v=t:(g={},i.addLength&&(g.length=t.length),O={clone:g}),b&&b(),c.iterateNone)return g??v;if(!g)return v;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,g,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&(g[n]=c)})}b&&b({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,g,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&(g[n]=s)})}),b&&b({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,g,r,i.type]):void 0!==e&&(g[r]=e)})}b&&b({endIterateUnsetNumeric:!0,end:!0})}return g},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},v=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(v)]:a?finish(v):Promise.resolve(finish(v))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t);r===t&&(e=r)});const o=setAtKeyPath(e,n,s);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=c[e],v=s(t);if(v||isPlainObject(t)){const s=v?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?s[n]=void 0:void 0!==e&&(s[n]=e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t);if(!o&&void 0===i)break;n[s]=i,a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];const o=n&&\"function\"!=typeof n&&!Array.isArray(n)&&n.testPlainObjects?this.plainObjectReplacers:this.nonplainObjectReplacers,c=o.filter(function(e){return e.type===t});if(c.length&&(o.splice(o.indexOf(c[0]),1),delete this.revivers[t],delete this.types[t]),\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const a={type:t,test:n.test.bind(n)};n.replace&&(a.replace=n.replace.bind(n)),n.replaceAsync&&(a.replaceAsync=n.replaceAsync.bind(n));const p=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(p,0,a):this.nonplainObjectReplacers.splice(p,0,a),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst map = {\n map: {\n test (x) { return toStringTag(x) === 'Map'; },\n replace (mp) { return mp.entries().toArray(); },\n revive (entries) { return new Map(entries); }\n }\n};\n\nexport default map;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","test","x","toString","call","slice","replace","mp","entries","toArray","revive","Map"],"mappings":"4aAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,UAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,KAAK,WAAK,EAAEZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAK83RhB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCAjqU,CACRe,IAAK,CACDK,KAAI,SAAJA,KAAMC,GAAK,MAA0B,QDP83C,SAAShB,YAAYV,GAAG,OAAOO,OAAOE,UAAUkB,SAASC,KAAK5B,GAAG6B,MAAM,KAAK,CCO79CnB,CAAYgB,EAAc,EAC5CI,QAAO,SAAPA,QAASC,GAAM,OAAOA,EAAGC,UAAUC,SAAW,EAC9CC,OAAM,SAANA,OAAQF,GAAW,OAAO,IAAIG,IAAIH,EAAU","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"map.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/map.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(void 0,e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(t,n,r){if(\"\"===n)return t;if(null===t||\"object\"!=typeof t)throw new TypeError(\"Unexpected non-object type\");const s=n.indexOf(\".\"),o=unescapeKeyPathComponent(-1===s?n:n.slice(0,s));if(!r||e(t,o)){if(-1!==s){const e=t[o];return void 0===e?void 0:getByKeyPath(e,n.slice(s+1),r)}return t[o]}}function setAtKeyPath(t,n,r,s){if(\"\"===n)return r;let o=t,i=n;for(;;){if(!o||\"object\"!=typeof o)throw new TypeError(\"Unexpected non-object type\");const n=i.indexOf(\".\"),c=unescapeKeyPathComponent(-1===n?i:i.slice(0,n));if(\"__proto__\"===c)throw new TypeError(\"Invalid property\");if(-1===n)return o[c]=r,t;if(s&&!e(o,c))throw new TypeError(\"Invalid property\");o=o[c],i=i.slice(n+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n */const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return this.encapsulate(e,t,{...n,returnTypeNames:!0})}rootTypeName(e,t,n={}){return this.encapsulate(e,t,{...n,iterateNone:!0})}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){return setOwnEnumerable(a,p,await u.p),checkPromises(e,r)}return o?setOwnEnumerable(a,p,u):e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let b,O={};const v=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(b=i.replaced?t:replace(e,t,i,a,!1,l,v),b!==t&&(O={replaced:b})):b=t,v&&v(),b;if(null===t)return v&&v(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",v&&v({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),T=s(t),P=(m||T)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||T,null,v);let w;if(P!==t?(b=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),b=t):T&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(w=new Array(t.length),O={clone:w}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?b=t:(w={},i.addLength&&(w.length=t.length),O={clone:w}),v&&v(),c.iterateNone)return w??b;if(!w)return b;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,w,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&setOwnEnumerable(w,n,c)})}v&&v({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,w,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&setOwnEnumerable(w,n,s)})}),v&&v({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,w,r,i.type]):void 0!==e&&setOwnEnumerable(w,r,e)})}v&&v({endIterateUnsetNumeric:!0,end:!0})}return w},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},b=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(b,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(b)]:a?finish(b):Promise.resolve(finish(b))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n,!0);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const o=setAtKeyPath(e,n,s,!0);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=r(c,e)?c[e]:void 0,b=s(t);if(b||isPlainObject(t)){const s=b?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(s,n,void 0):void 0!==e&&setOwnEnumerable(s,n,e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t,!0);if(!o&&void 0===i)break;setOwnEnumerable(n,s,i),a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e,!0);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];if([this.plainObjectReplacers,this.nonplainObjectReplacers].forEach(e=>{const n=e.findIndex(e=>e.type===t);-1!==n&&e.splice(n,1)}),delete this.revivers[t],delete this.types[t],\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const o={type:t,test:n.test.bind(n)};n.replace&&(o.replace=n.replace.bind(n)),n.replaceAsync&&(o.replaceAsync=n.replaceAsync.bind(n));const c=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(c,0,o):this.nonplainObjectReplacers.splice(c,0,o),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst map = {\n map: {\n test (x) { return toStringTag(x) === 'Map'; },\n replace (mp) { return mp.entries().toArray(); },\n revive (entries) { return new Map(entries); }\n }\n};\n\nexport default map;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","test","x","toString","call","slice","replace","mp","entries","toArray","revive","Map"],"mappings":"4aAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,UAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,UAAK,EAAOZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAKujShB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCA11U,CACRe,IAAK,CACDK,KAAI,SAAJA,KAAMC,GAAK,MAA0B,QDP83C,SAAShB,YAAYV,GAAG,OAAOO,OAAOE,UAAUkB,SAASC,KAAK5B,GAAG6B,MAAM,KAAK,CCO79CnB,CAAYgB,EAAc,EAC5CI,QAAO,SAAPA,QAASC,GAAM,OAAOA,EAAGC,UAAUC,SAAW,EAC9CC,OAAM,SAANA,OAAQF,GAAW,OAAO,IAAIG,IAAIH,EAAU","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).nonbuiltinIgnore=e()}(this,function(){"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _createClass(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}var t=_createClass(function TypesonPromise(t){_classCallCheck(this,TypesonPromise),this.p=new Promise(t)});return t.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(t.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),t.prototype.then=function(e,n){var o=this;return new t(function(t,r){o.p.then(function(n){t(e?e(n):n)}).catch(function(t){return n?n(t):Promise.reject(t)}).then(t,r)})},t.prototype.catch=function(t){return this.then(function(){},t)},t.resolve=function(e){return new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.all=function(e){return new t(function(t,n){Promise.all(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.race=function(e){return new t(function(t,n){Promise.race(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.allSettled=function(e){return new t(function(t,n){Promise.allSettled(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined",{nonbuiltinIgnore:{test:function test(t){return t&&"object"===_typeof(t)&&!Array.isArray(t)&&!["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(function toStringTag(t){return Object.prototype.toString.call(t).slice(8,-1)}(t))},replace:function replace(){}}}});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).nonbuiltinIgnore=e()}(this,function(){"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _createClass(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}var t=_createClass(function TypesonPromise(t){_classCallCheck(this,TypesonPromise),this.p=new Promise(t)});return t.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(t.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),t.prototype.then=function(e,n){var o=this;return new t(function(t,r){o.p.then(function(n){t(e?e(n):n)}).catch(function(t){return n?n(t):Promise.reject(t)}).then(t,r)})},t.prototype.catch=function(t){return this.then(void 0,t)},t.resolve=function(e){return new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.all=function(e){return new t(function(t,n){Promise.all(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.race=function(e){return new t(function(t,n){Promise.race(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.allSettled=function(e){return new t(function(t,n){Promise.allSettled(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined",{nonbuiltinIgnore:{test:function test(t){return t&&"object"===_typeof(t)&&!Array.isArray(t)&&!["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(function toStringTag(t){return Object.prototype.toString.call(t).slice(8,-1)}(t))},replace:function replace(){}}}});
2
2
  //# sourceMappingURL=nonbuiltin-ignore.umd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"nonbuiltin-ignore.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.1.1/node_modules/typeson/dist/typeson.esm.min.js","../../types/nonbuiltin-ignore.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(()=>{},e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(e,t){if(\"\"===t)return e;if(null===e||\"object\"!=typeof e)throw new TypeError(\"Unexpected non-object type\");const n=t.indexOf(\".\");if(-1!==n){const r=e[unescapeKeyPathComponent(t.slice(0,n))];return void 0===r?void 0:getByKeyPath(r,t.slice(n+1))}return e[unescapeKeyPathComponent(t)]}function setAtKeyPath(e,t,n){if(\"\"===t)return n;let r=e,s=t;for(;;){if(!r||\"object\"!=typeof r)throw new TypeError(\"Unexpected non-object type\");if(\"__proto__\"===s)throw new TypeError(\"Invalid property\");const t=s.indexOf(\".\");if(-1===t)return r[unescapeKeyPathComponent(s)]=n,e;r=r[unescapeKeyPathComponent(s.slice(0,t))],s=s.slice(t+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n*/const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return n.returnTypeNames=!0,this.encapsulate(e,t,n)}rootTypeName(e,t,n={}){return n.iterateNone=!0,this.encapsulate(e,t,n)}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){const t=await u.p;return a[p]=t,checkPromises(e,r)}return o?a[p]=u:e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let v,O={};const b=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(v=i.replaced?t:replace(e,t,i,a,!1,l,b),v!==t&&(O={replaced:v})):v=t,b&&b(),v;if(null===t)return b&&b(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",b&&b({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),P=s(t),T=(m||P)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||P,null,b);let g;if(T!==t?(v=T,O={replaced:T}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),v=t):P&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(g=new Array(t.length),O={clone:g}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?v=t:(g={},i.addLength&&(g.length=t.length),O={clone:g}),b&&b(),c.iterateNone)return g??v;if(!g)return v;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,g,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&(g[n]=c)})}b&&b({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,g,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&(g[n]=s)})}),b&&b({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,g,r,i.type]):void 0!==e&&(g[r]=e)})}b&&b({endIterateUnsetNumeric:!0,end:!0})}return g},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},v=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(v)]:a?finish(v):Promise.resolve(finish(v))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t);r===t&&(e=r)});const o=setAtKeyPath(e,n,s);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=c[e],v=s(t);if(v||isPlainObject(t)){const s=v?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?s[n]=void 0:void 0!==e&&(s[n]=e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t);if(!o&&void 0===i)break;n[s]=i,a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];const o=n&&\"function\"!=typeof n&&!Array.isArray(n)&&n.testPlainObjects?this.plainObjectReplacers:this.nonplainObjectReplacers,c=o.filter(function(e){return e.type===t});if(c.length&&(o.splice(o.indexOf(c[0]),1),delete this.revivers[t],delete this.types[t]),\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const a={type:t,test:n.test.bind(n)};n.replace&&(a.replace=n.replace.bind(n)),n.replaceAsync&&(a.replaceAsync=n.replaceAsync.bind(n));const p=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(p,0,a):this.nonplainObjectReplacers.splice(p,0,a),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst nonbuiltinIgnore = {\n nonbuiltinIgnore: {\n test (x) {\n return x && typeof x === 'object' && !Array.isArray(x) && ![\n 'Object',\n // `Proxy` and `Reflect`, two other built-in objects, will also\n // have a `toStringTag` of `Object`; we don't want built-in\n // function objects, however\n 'Boolean', 'Number', 'String',\n 'Error', 'RegExp', 'Math', 'Date',\n 'Map', 'Set',\n 'JSON',\n 'ArrayBuffer', 'SharedArrayBuffer', 'DataView',\n 'Int8Array', 'Uint8Array', 'Uint8ClampedArray', 'Int16Array',\n 'Uint16Array', 'Int32Array', 'Uint32Array',\n 'Float32Array', 'Float64Array',\n 'Promise',\n 'String Iterator', 'Array Iterator',\n 'Map Iterator', 'Set Iterator',\n 'WeakMap', 'WeakSet',\n 'Atomics', 'Module'\n ].includes(toStringTag(x));\n },\n replace (/* rexp */) {\n // Not in use\n }\n }\n};\n\nexport default nonbuiltinIgnore;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","nonbuiltinIgnore","test","x","_typeof","Array","isArray","includes","toString","call","slice","replace"],"mappings":"irBAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,UAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,KAAK,WAAK,EAAEZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAK83RhB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCAppU,CACrBoB,iBAAkB,CACdC,KAAI,SAAJA,KAAMC,GACF,OAAOA,GAAkB,WAAbC,QAAOD,KAAmBE,MAAMC,QAAQH,KAAO,CACvD,SAIA,UAAW,SAAU,SACrB,QAAS,SAAU,OAAQ,OAC3B,MAAO,MACP,OACA,cAAe,oBAAqB,WACpC,YAAa,aAAc,oBAAqB,aAChD,cAAe,aAAc,cAC7B,eAAgB,eAChB,UACA,kBAAmB,iBACnB,eAAgB,eAChB,UAAW,UACX,UAAW,UACbI,SD1B65C,SAASrB,YAAYV,GAAG,OAAOO,OAAOE,UAAUuB,SAASC,KAAKjC,GAAGkC,MAAM,KAAK,CC0Bh+CxB,CAAYiB,GAC3B,EACAQ,QAAO,SAAPA,UACI","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"nonbuiltin-ignore.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/nonbuiltin-ignore.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(void 0,e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(t,n,r){if(\"\"===n)return t;if(null===t||\"object\"!=typeof t)throw new TypeError(\"Unexpected non-object type\");const s=n.indexOf(\".\"),o=unescapeKeyPathComponent(-1===s?n:n.slice(0,s));if(!r||e(t,o)){if(-1!==s){const e=t[o];return void 0===e?void 0:getByKeyPath(e,n.slice(s+1),r)}return t[o]}}function setAtKeyPath(t,n,r,s){if(\"\"===n)return r;let o=t,i=n;for(;;){if(!o||\"object\"!=typeof o)throw new TypeError(\"Unexpected non-object type\");const n=i.indexOf(\".\"),c=unescapeKeyPathComponent(-1===n?i:i.slice(0,n));if(\"__proto__\"===c)throw new TypeError(\"Invalid property\");if(-1===n)return o[c]=r,t;if(s&&!e(o,c))throw new TypeError(\"Invalid property\");o=o[c],i=i.slice(n+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n */const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return this.encapsulate(e,t,{...n,returnTypeNames:!0})}rootTypeName(e,t,n={}){return this.encapsulate(e,t,{...n,iterateNone:!0})}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){return setOwnEnumerable(a,p,await u.p),checkPromises(e,r)}return o?setOwnEnumerable(a,p,u):e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let b,O={};const v=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(b=i.replaced?t:replace(e,t,i,a,!1,l,v),b!==t&&(O={replaced:b})):b=t,v&&v(),b;if(null===t)return v&&v(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",v&&v({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),T=s(t),P=(m||T)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||T,null,v);let w;if(P!==t?(b=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),b=t):T&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(w=new Array(t.length),O={clone:w}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?b=t:(w={},i.addLength&&(w.length=t.length),O={clone:w}),v&&v(),c.iterateNone)return w??b;if(!w)return b;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,w,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&setOwnEnumerable(w,n,c)})}v&&v({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,w,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&setOwnEnumerable(w,n,s)})}),v&&v({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,w,r,i.type]):void 0!==e&&setOwnEnumerable(w,r,e)})}v&&v({endIterateUnsetNumeric:!0,end:!0})}return w},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},b=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(b,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(b)]:a?finish(b):Promise.resolve(finish(b))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n,!0);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const o=setAtKeyPath(e,n,s,!0);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=r(c,e)?c[e]:void 0,b=s(t);if(b||isPlainObject(t)){const s=b?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(s,n,void 0):void 0!==e&&setOwnEnumerable(s,n,e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t,!0);if(!o&&void 0===i)break;setOwnEnumerable(n,s,i),a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e,!0);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];if([this.plainObjectReplacers,this.nonplainObjectReplacers].forEach(e=>{const n=e.findIndex(e=>e.type===t);-1!==n&&e.splice(n,1)}),delete this.revivers[t],delete this.types[t],\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const o={type:t,test:n.test.bind(n)};n.replace&&(o.replace=n.replace.bind(n)),n.replaceAsync&&(o.replaceAsync=n.replaceAsync.bind(n));const c=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(c,0,o):this.nonplainObjectReplacers.splice(c,0,o),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst nonbuiltinIgnore = {\n nonbuiltinIgnore: {\n test (x) {\n return x && typeof x === 'object' && !Array.isArray(x) && ![\n 'Object',\n // `Proxy` and `Reflect`, two other built-in objects, will also\n // have a `toStringTag` of `Object`; we don't want built-in\n // function objects, however\n 'Boolean', 'Number', 'String',\n 'Error', 'RegExp', 'Math', 'Date',\n 'Map', 'Set',\n 'JSON',\n 'ArrayBuffer', 'SharedArrayBuffer', 'DataView',\n 'Int8Array', 'Uint8Array', 'Uint8ClampedArray', 'Int16Array',\n 'Uint16Array', 'Int32Array', 'Uint32Array',\n 'Float32Array', 'Float64Array',\n 'Promise',\n 'String Iterator', 'Array Iterator',\n 'Map Iterator', 'Set Iterator',\n 'WeakMap', 'WeakSet',\n 'Atomics', 'Module'\n ].includes(toStringTag(x));\n },\n replace (/* rexp */) {\n // Not in use\n }\n }\n};\n\nexport default nonbuiltinIgnore;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","nonbuiltinIgnore","test","x","_typeof","Array","isArray","includes","toString","call","slice","replace"],"mappings":"irBAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,UAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,UAAK,EAAOZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAKujShB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCA70U,CACrBoB,iBAAkB,CACdC,KAAI,SAAJA,KAAMC,GACF,OAAOA,GAAkB,WAAbC,QAAOD,KAAmBE,MAAMC,QAAQH,KAAO,CACvD,SAIA,UAAW,SAAU,SACrB,QAAS,SAAU,OAAQ,OAC3B,MAAO,MACP,OACA,cAAe,oBAAqB,WACpC,YAAa,aAAc,oBAAqB,aAChD,cAAe,aAAc,cAC7B,eAAgB,eAChB,UACA,kBAAmB,iBACnB,eAAgB,eAChB,UAAW,UACX,UAAW,UACbI,SD1B65C,SAASrB,YAAYV,GAAG,OAAOO,OAAOE,UAAUuB,SAASC,KAAKjC,GAAGkC,MAAM,KAAK,CC0Bh+CxB,CAAYiB,GAC3B,EACAQ,QAAO,SAAPA,UACI","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).primitiveObjects=e()}(this,function(){"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _createClass(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}var t=_createClass(function TypesonPromise(t){_classCallCheck(this,TypesonPromise),this.p=new Promise(t)});function toStringTag(t){return Object.prototype.toString.call(t).slice(8,-1)}return t.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(t.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),t.prototype.then=function(e,n){var o=this;return new t(function(t,r){o.p.then(function(n){t(e?e(n):n)}).catch(function(t){return n?n(t):Promise.reject(t)}).then(t,r)})},t.prototype.catch=function(t){return this.then(function(){},t)},t.resolve=function(e){return new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.all=function(e){return new t(function(t,n){Promise.all(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.race=function(e){return new t(function(t,n){Promise.race(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.allSettled=function(e){return new t(function(t,n){Promise.allSettled(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined",{StringObject:{test:function test(t){return"String"===toStringTag(t)&&"object"===_typeof(t)},replace:String,revive:function revive(t){return new String(t)}},BooleanObject:{test:function test(t){return"Boolean"===toStringTag(t)&&"object"===_typeof(t)},replace:function replace(t){return t.valueOf()},revive:function revive(t){return new Boolean(t)}},NumberObject:{test:function test(t){return"Number"===toStringTag(t)&&"object"===_typeof(t)},replace:Number,revive:function revive(t){return new Number(t)}}}});
1
+ !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).primitiveObjects=e()}(this,function(){"use strict";function _classCallCheck(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function _createClass(t,e,n){return Object.defineProperty(t,"prototype",{writable:!1}),t}function _typeof(t){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},_typeof(t)}var t=_createClass(function TypesonPromise(t){_classCallCheck(this,TypesonPromise),this.p=new Promise(t)});function toStringTag(t){return Object.prototype.toString.call(t).slice(8,-1)}return t.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(t.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),t.prototype.then=function(e,n){var o=this;return new t(function(t,r){o.p.then(function(n){t(e?e(n):n)}).catch(function(t){return n?n(t):Promise.reject(t)}).then(t,r)})},t.prototype.catch=function(t){return this.then(void 0,t)},t.resolve=function(e){return new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.all=function(e){return new t(function(t,n){Promise.all(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.race=function(e){return new t(function(t,n){Promise.race(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},t.allSettled=function(e){return new t(function(t,n){Promise.allSettled(e.map(function(t){return null!=t&&t.constructor&&"__typeson__type__"in t.constructor&&"TypesonPromise"===t.constructor.__typeson__type__?t.p:t})).then(t,n)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined",{StringObject:{test:function test(t){return"String"===toStringTag(t)&&"object"===_typeof(t)},replace:String,revive:function revive(t){return new String(t)}},BooleanObject:{test:function test(t){return"Boolean"===toStringTag(t)&&"object"===_typeof(t)},replace:function replace(t){return t.valueOf()},revive:function revive(t){return new Boolean(t)}},NumberObject:{test:function test(t){return"Number"===toStringTag(t)&&"object"===_typeof(t)},replace:Number,revive:function revive(t){return new Number(t)}}}});
2
2
  //# sourceMappingURL=primitive-objects.umd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitive-objects.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.1.1/node_modules/typeson/dist/typeson.esm.min.js","../../types/primitive-objects.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(()=>{},e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(e,t){if(\"\"===t)return e;if(null===e||\"object\"!=typeof e)throw new TypeError(\"Unexpected non-object type\");const n=t.indexOf(\".\");if(-1!==n){const r=e[unescapeKeyPathComponent(t.slice(0,n))];return void 0===r?void 0:getByKeyPath(r,t.slice(n+1))}return e[unescapeKeyPathComponent(t)]}function setAtKeyPath(e,t,n){if(\"\"===t)return n;let r=e,s=t;for(;;){if(!r||\"object\"!=typeof r)throw new TypeError(\"Unexpected non-object type\");if(\"__proto__\"===s)throw new TypeError(\"Invalid property\");const t=s.indexOf(\".\");if(-1===t)return r[unescapeKeyPathComponent(s)]=n,e;r=r[unescapeKeyPathComponent(s.slice(0,t))],s=s.slice(t+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n*/const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return n.returnTypeNames=!0,this.encapsulate(e,t,n)}rootTypeName(e,t,n={}){return n.iterateNone=!0,this.encapsulate(e,t,n)}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){const t=await u.p;return a[p]=t,checkPromises(e,r)}return o?a[p]=u:e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let v,O={};const b=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(v=i.replaced?t:replace(e,t,i,a,!1,l,b),v!==t&&(O={replaced:v})):v=t,b&&b(),v;if(null===t)return b&&b(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",b&&b({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),P=s(t),T=(m||P)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||P,null,b);let g;if(T!==t?(v=T,O={replaced:T}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),v=t):P&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(g=new Array(t.length),O={clone:g}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?v=t:(g={},i.addLength&&(g.length=t.length),O={clone:g}),b&&b(),c.iterateNone)return g??v;if(!g)return v;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,g,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&(g[n]=c)})}b&&b({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,g,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&(g[n]=s)})}),b&&b({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,g,r,i.type]):void 0!==e&&(g[r]=e)})}b&&b({endIterateUnsetNumeric:!0,end:!0})}return g},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},v=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(v)]:a?finish(v):Promise.resolve(finish(v))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t);r===t&&(e=r)});const o=setAtKeyPath(e,n,s);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=c[e],v=s(t);if(v||isPlainObject(t)){const s=v?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?s[n]=void 0:void 0!==e&&(s[n]=e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t);if(!o&&void 0===i)break;n[s]=i,a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];const o=n&&\"function\"!=typeof n&&!Array.isArray(n)&&n.testPlainObjects?this.plainObjectReplacers:this.nonplainObjectReplacers,c=o.filter(function(e){return e.type===t});if(c.length&&(o.splice(o.indexOf(c[0]),1),delete this.revivers[t],delete this.types[t]),\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const a={type:t,test:n.test.bind(n)};n.replace&&(a.replace=n.replace.bind(n)),n.replaceAsync&&(a.replaceAsync=n.replaceAsync.bind(n));const p=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(p,0,a):this.nonplainObjectReplacers.splice(p,0,a),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\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 -- Deliberate */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\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 (o) {\n // convert to primitive boolean\n return o.valueOf();\n },\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 -- Deliberate */\n\nexport default primitiveObjects;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","toStringTag","Object","prototype","toString","call","slice","__typeson__type__","Symbol","defineProperty","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","StringObject","test","x","_typeof","replace","String","revive","s","BooleanObject","o","valueOf","b","Boolean","NumberObject","Number"],"mappings":"irBAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,GAAk3C,SAASK,YAAYL,GAAG,OAAOM,OAAOC,UAAUC,SAASC,KAAKT,GAAGU,MAAM,KAAK,QAA57CZ,EAAea,kBAAkB,iBAAiB,oBAAoBC,QAAQN,OAAOO,eAAef,EAAeS,UAAUK,OAAOP,YAAY,CAACS,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGhB,EAAeS,UAAUQ,KAAK,SAASf,EAAEgB,GAAE,IAAAC,EAAAf,KAAC,OAAO,IAAIJ,EAAe,SAACoB,EAAEC,GAAKF,EAAKd,EAAEY,KAAK,SAASC,GAAGE,EAAElB,EAAEA,EAAEgB,GAAGA,EAAE,GAAE,MAAO,SAAShB,GAAG,OAAOgB,EAAEA,EAAEhB,GAAGI,QAAQgB,OAAOpB,EAAE,GAAGe,KAAKG,EAAEC,EAAE,EAAE,EAAErB,EAAeS,gBAAgB,SAASP,GAAG,OAAOE,KAAKa,KAAK,WAAK,EAAEf,EAAE,EAAEF,EAAeuB,QAAQ,SAASrB,GAAG,OAAO,IAAIF,EAAe,SAAAkB,GAAIA,EAAEhB,EAAE,EAAE,EAAEF,EAAesB,OAAO,SAASpB,GAAG,OAAO,IAAIF,EAAe,SAACkB,EAAEE,GAAKA,EAAElB,EAAE,EAAE,EAAEF,EAAewB,IAAI,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASkB,EAAEE,GAAGd,QAAQkB,IAAItB,EAAEuB,IAAI,SAAAvB,GAAC,OAAEA,SAAAA,EAAGwB,aAAa,sBAAsBxB,EAAEwB,aAAa,mBAAmBxB,EAAEwB,YAAYb,kBAAkBX,EAAEG,EAAEH,CAAC,IAAGe,KAAKC,EAAEE,EAAE,EAAE,EAAEpB,EAAe2B,KAAK,SAASzB,GAAG,OAAO,IAAIF,EAAe,SAASkB,EAAEE,GAAGd,QAAQqB,KAAKzB,EAAEuB,IAAI,SAAAvB,GAAC,OAAEA,SAAAA,EAAGwB,aAAa,sBAAsBxB,EAAEwB,aAAa,mBAAmBxB,EAAEwB,YAAYb,kBAAkBX,EAAEG,EAAEH,CAAC,IAAGe,KAAKC,EAAEE,EAAE,EAAE,EAAEpB,EAAe4B,WAAW,SAAS1B,GAAG,OAAO,IAAIF,EAAe,SAASkB,EAAEE,GAAGd,QAAQsB,WAAW1B,EAAEuB,IAAI,SAAAvB,GAAC,OAAEA,SAAAA,EAAGwB,aAAa,sBAAsBxB,EAAEwB,aAAa,mBAAmBxB,EAAEwB,YAAYb,kBAAkBX,EAAEG,EAAEH,CAAC,IAAGe,KAAKC,EAAEE,EAAE,EAAE,EAK83RnB,aAAA,SAAA4B,YAAA1B,gBAAAC,KAAAyB,UAAA,GAAYhB,kBAAkB,mBCGppU,CAErBiB,aAAc,CACVC,KAAI,SAAJA,KAAMC,GACF,MAA0B,WAAnBzB,YAAYyB,IAAgC,WAAbC,QAAOD,EACjD,EACAE,QAASC,OACTC,OAAM,SAANA,OAAQC,GAAK,OAAO,IAAIF,OAAOE,EAAI,GAGvCC,cAAe,CACXP,KAAI,SAAJA,KAAMC,GACF,MAA0B,YAAnBzB,YAAYyB,IACF,WAAbC,QAAOD,EACf,EACAE,QAAO,SAAPA,QAASK,GAEL,OAAOA,EAAEC,SACb,EACAJ,OAAM,SAANA,OAAQK,GAEJ,OAAO,IAAIC,QAAQD,EACvB,GAGJE,aAAc,CACVZ,KAAI,SAAJA,KAAMC,GACF,MAA0B,WAAnBzB,YAAYyB,IAAgC,WAAbC,QAAOD,EACjD,EACAE,QAASU,OACTR,OAAM,SAANA,OAAQhB,GAAK,OAAO,IAAIwB,OAAOxB,EAAI","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"primitive-objects.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/primitive-objects.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(void 0,e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(t,n,r){if(\"\"===n)return t;if(null===t||\"object\"!=typeof t)throw new TypeError(\"Unexpected non-object type\");const s=n.indexOf(\".\"),o=unescapeKeyPathComponent(-1===s?n:n.slice(0,s));if(!r||e(t,o)){if(-1!==s){const e=t[o];return void 0===e?void 0:getByKeyPath(e,n.slice(s+1),r)}return t[o]}}function setAtKeyPath(t,n,r,s){if(\"\"===n)return r;let o=t,i=n;for(;;){if(!o||\"object\"!=typeof o)throw new TypeError(\"Unexpected non-object type\");const n=i.indexOf(\".\"),c=unescapeKeyPathComponent(-1===n?i:i.slice(0,n));if(\"__proto__\"===c)throw new TypeError(\"Invalid property\");if(-1===n)return o[c]=r,t;if(s&&!e(o,c))throw new TypeError(\"Invalid property\");o=o[c],i=i.slice(n+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n */const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return this.encapsulate(e,t,{...n,returnTypeNames:!0})}rootTypeName(e,t,n={}){return this.encapsulate(e,t,{...n,iterateNone:!0})}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){return setOwnEnumerable(a,p,await u.p),checkPromises(e,r)}return o?setOwnEnumerable(a,p,u):e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let b,O={};const v=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(b=i.replaced?t:replace(e,t,i,a,!1,l,v),b!==t&&(O={replaced:b})):b=t,v&&v(),b;if(null===t)return v&&v(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",v&&v({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),T=s(t),P=(m||T)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||T,null,v);let w;if(P!==t?(b=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),b=t):T&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(w=new Array(t.length),O={clone:w}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?b=t:(w={},i.addLength&&(w.length=t.length),O={clone:w}),v&&v(),c.iterateNone)return w??b;if(!w)return b;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,w,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&setOwnEnumerable(w,n,c)})}v&&v({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,w,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&setOwnEnumerable(w,n,s)})}),v&&v({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,w,r,i.type]):void 0!==e&&setOwnEnumerable(w,r,e)})}v&&v({endIterateUnsetNumeric:!0,end:!0})}return w},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},b=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(b,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(b)]:a?finish(b):Promise.resolve(finish(b))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n,!0);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const o=setAtKeyPath(e,n,s,!0);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=r(c,e)?c[e]:void 0,b=s(t);if(b||isPlainObject(t)){const s=b?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(s,n,void 0):void 0!==e&&setOwnEnumerable(s,n,e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t,!0);if(!o&&void 0===i)break;setOwnEnumerable(n,s,i),a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e,!0);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];if([this.plainObjectReplacers,this.nonplainObjectReplacers].forEach(e=>{const n=e.findIndex(e=>e.type===t);-1!==n&&e.splice(n,1)}),delete this.revivers[t],delete this.types[t],\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const o={type:t,test:n.test.bind(n)};n.replace&&(o.replace=n.replace.bind(n)),n.replaceAsync&&(o.replaceAsync=n.replaceAsync.bind(n));const c=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(c,0,o):this.nonplainObjectReplacers.splice(c,0,o),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\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 -- Deliberate */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\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 (o) {\n // convert to primitive boolean\n return o.valueOf();\n },\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 -- Deliberate */\n\nexport default primitiveObjects;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","toStringTag","Object","prototype","toString","call","slice","__typeson__type__","Symbol","defineProperty","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","StringObject","test","x","_typeof","replace","String","revive","s","BooleanObject","o","valueOf","b","Boolean","NumberObject","Number"],"mappings":"irBAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,GAAk3C,SAASK,YAAYL,GAAG,OAAOM,OAAOC,UAAUC,SAASC,KAAKT,GAAGU,MAAM,KAAK,QAA57CZ,EAAea,kBAAkB,iBAAiB,oBAAoBC,QAAQN,OAAOO,eAAef,EAAeS,UAAUK,OAAOP,YAAY,CAACS,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGhB,EAAeS,UAAUQ,KAAK,SAASf,EAAEgB,GAAE,IAAAC,EAAAf,KAAC,OAAO,IAAIJ,EAAe,SAACoB,EAAEC,GAAKF,EAAKd,EAAEY,KAAK,SAASC,GAAGE,EAAElB,EAAEA,EAAEgB,GAAGA,EAAE,GAAE,MAAO,SAAShB,GAAG,OAAOgB,EAAEA,EAAEhB,GAAGI,QAAQgB,OAAOpB,EAAE,GAAGe,KAAKG,EAAEC,EAAE,EAAE,EAAErB,EAAeS,gBAAgB,SAASP,GAAG,OAAOE,KAAKa,UAAK,EAAOf,EAAE,EAAEF,EAAeuB,QAAQ,SAASrB,GAAG,OAAO,IAAIF,EAAe,SAAAkB,GAAIA,EAAEhB,EAAE,EAAE,EAAEF,EAAesB,OAAO,SAASpB,GAAG,OAAO,IAAIF,EAAe,SAACkB,EAAEE,GAAKA,EAAElB,EAAE,EAAE,EAAEF,EAAewB,IAAI,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASkB,EAAEE,GAAGd,QAAQkB,IAAItB,EAAEuB,IAAI,SAAAvB,GAAC,OAAEA,SAAAA,EAAGwB,aAAa,sBAAsBxB,EAAEwB,aAAa,mBAAmBxB,EAAEwB,YAAYb,kBAAkBX,EAAEG,EAAEH,CAAC,IAAGe,KAAKC,EAAEE,EAAE,EAAE,EAAEpB,EAAe2B,KAAK,SAASzB,GAAG,OAAO,IAAIF,EAAe,SAASkB,EAAEE,GAAGd,QAAQqB,KAAKzB,EAAEuB,IAAI,SAAAvB,GAAC,OAAEA,SAAAA,EAAGwB,aAAa,sBAAsBxB,EAAEwB,aAAa,mBAAmBxB,EAAEwB,YAAYb,kBAAkBX,EAAEG,EAAEH,CAAC,IAAGe,KAAKC,EAAEE,EAAE,EAAE,EAAEpB,EAAe4B,WAAW,SAAS1B,GAAG,OAAO,IAAIF,EAAe,SAASkB,EAAEE,GAAGd,QAAQsB,WAAW1B,EAAEuB,IAAI,SAAAvB,GAAC,OAAEA,SAAAA,EAAGwB,aAAa,sBAAsBxB,EAAEwB,aAAa,mBAAmBxB,EAAEwB,YAAYb,kBAAkBX,EAAEG,EAAEH,CAAC,IAAGe,KAAKC,EAAEE,EAAE,EAAE,EAKujSnB,aAAA,SAAA4B,YAAA1B,gBAAAC,KAAAyB,UAAA,GAAYhB,kBAAkB,mBCG70U,CAErBiB,aAAc,CACVC,KAAI,SAAJA,KAAMC,GACF,MAA0B,WAAnBzB,YAAYyB,IAAgC,WAAbC,QAAOD,EACjD,EACAE,QAASC,OACTC,OAAM,SAANA,OAAQC,GAAK,OAAO,IAAIF,OAAOE,EAAI,GAGvCC,cAAe,CACXP,KAAI,SAAJA,KAAMC,GACF,MAA0B,YAAnBzB,YAAYyB,IACF,WAAbC,QAAOD,EACf,EACAE,QAAO,SAAPA,QAASK,GAEL,OAAOA,EAAEC,SACb,EACAJ,OAAM,SAANA,OAAQK,GAEJ,OAAO,IAAIC,QAAQD,EACvB,GAGJE,aAAc,CACVZ,KAAI,SAAJA,KAAMC,GACF,MAA0B,WAAnBzB,YAAYyB,IAAgC,WAAbC,QAAOD,EACjD,EACAE,QAASU,OACTR,OAAM,SAANA,OAAQhB,GAAK,OAAO,IAAIwB,OAAOxB,EAAI","x_google_ignoreList":[0]}
@@ -1,4 +1,4 @@
1
1
  !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).promise=n()}(this,function(){"use strict";function asyncGeneratorStep(e,n,t,r,c,u,a){try{var s=e[u](a),p=s.value}catch(e){return void t(e)}s.done?n(p):Promise.resolve(p).then(r,c)}function _classCallCheck(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function _createClass(e,n,t){return Object.defineProperty(e,"prototype",{writable:!1}),e}function _regenerator(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",c=t.toStringTag||"@@toStringTag";function i(t,r,c,a){var s=r&&r.prototype instanceof Generator?r:Generator,p=Object.create(s.prototype);return _regeneratorDefine(p,"_invoke",function(t,r,c){var a,s,p,_=0,l=c||[],y=!1,h={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return a=n,s=0,p=e,h.n=t,u}};function d(t,r){for(s=t,p=r,n=0;!y&&_&&!c&&n<l.length;n++){var c,a=l[n],v=h.p,g=a[2];t>3?(c=g===r)&&(p=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=v&&((c=t<2&&v<a[1])?(s=0,h.v=r,h.n=a[1]):v<g&&(c=t<3||a[0]>r||r>g)&&(a[4]=t,a[5]=r,h.n=g,s=0))}if(c||t>1)return u;throw y=!0,r}return function(c,l,v){if(_>1)throw TypeError("Generator is already running");for(y&&1===l&&d(l,v),s=l,p=v;(n=s<2?e:p)||!y;){a||(s?s<3?(s>1&&(h.n=-1),d(s,p)):h.n=p:h.v=p);try{if(_=2,a){if(s||(c="next"),n=a[c]){if(!(n=n.call(a,p)))throw TypeError("iterator result is not an object");if(!n.done)return n;p=n.value,s<2&&(s=0)}else 1===s&&(n=a.return)&&n.call(a),s<2&&(p=TypeError("The iterator does not provide a '"+c+"' method"),s=1);a=e}else if((n=(y=h.n<0)?p:t.call(r,h))!==u)break}catch(n){a=e,s=1,p=n}finally{_=1}}return{value:n,done:y}}}(t,c,a),!0),p}var u={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}n=Object.getPrototypeOf;var a=[][r]?n(n([][r]())):(_regeneratorDefine(n={},r,function(){return this}),n),s=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(a);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine(e,c,"GeneratorFunction")),e.prototype=Object.create(s),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine(s,"constructor",GeneratorFunctionPrototype),_regeneratorDefine(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine(GeneratorFunctionPrototype,c,"GeneratorFunction"),_regeneratorDefine(s),_regeneratorDefine(s,c,"Generator"),_regeneratorDefine(s,r,function(){return this}),_regeneratorDefine(s,"toString",function(){return"[object Generator]"}),(_regenerator=function(){return{w:i,m:f}})()}function _regeneratorDefine(e,n,t,r){var c=Object.defineProperty;try{c({},"",{})}catch(e){c=0}_regeneratorDefine=function(e,n,t,r){function o(n,t){_regeneratorDefine(e,n,function(e){return this._invoke(n,t,e)})}n?c?c(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine(e,n,t,r)}var e=_createClass(function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)});e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),e.prototype.then=function(n,t){var r=this;return new e(function(e,c){r.p.then(function(t){e(n?n(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(e,c)})},e.prototype.catch=function(e){return this.then(function(){},e)},e.resolve=function(n){return new e(function(e){e(n)})},e.reject=function(n){return new e(function(e,t){t(n)})},e.all=function(n){return new e(function(e,t){Promise.all(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.race=function(n){return new e(function(e,t){Promise.race(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.allSettled=function(n){return new e(function(e,t){Promise.allSettled(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined";var n={promise:{test:function test(e){return"Promise"===function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}(e)},replaceAsync:function replaceAsync(n){return new e(function(){var e=function _asyncToGenerator(e){return function(){var n=this,t=arguments;return new Promise(function(r,c){var u=e.apply(n,t);function _next(e){asyncGeneratorStep(u,r,c,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(u,r,c,_next,_throw,"throw",e)}_next(void 0)})}}(_regenerator().m(function _callee(e){var t,r,c;return _regenerator().w(function(u){for(;;)switch(u.p=u.n){case 0:return u.p=0,t=e,u.n=1,n;case 1:r=u.v,t({value:r}),u.n=3;break;case 2:u.p=2,c=u.v,e({error:c});case 3:return u.a(2)}},_callee,null,[[0,2]])}));return function(n){return e.apply(this,arguments)}}())},revive:function revive(e){return e.error?Promise.reject(e.error):Promise.resolve(e.value)}}};return n});
3
+ var e,n,t="function"==typeof Symbol?Symbol:{},r=t.iterator||"@@iterator",c=t.toStringTag||"@@toStringTag";function i(t,r,c,a){var s=r&&r.prototype instanceof Generator?r:Generator,p=Object.create(s.prototype);return _regeneratorDefine(p,"_invoke",function(t,r,c){var a,s,p,_=0,l=c||[],y=!1,h={p:0,n:0,v:e,a:d,f:d.bind(e,4),d:function(n,t){return a=n,s=0,p=e,h.n=t,u}};function d(t,r){for(s=t,p=r,n=0;!y&&_&&!c&&n<l.length;n++){var c,a=l[n],v=h.p,g=a[2];t>3?(c=g===r)&&(p=a[(s=a[4])?5:(s=3,3)],a[4]=a[5]=e):a[0]<=v&&((c=t<2&&v<a[1])?(s=0,h.v=r,h.n=a[1]):v<g&&(c=t<3||a[0]>r||r>g)&&(a[4]=t,a[5]=r,h.n=g,s=0))}if(c||t>1)return u;throw y=!0,r}return function(c,l,v){if(_>1)throw TypeError("Generator is already running");for(y&&1===l&&d(l,v),s=l,p=v;(n=s<2?e:p)||!y;){a||(s?s<3?(s>1&&(h.n=-1),d(s,p)):h.n=p:h.v=p);try{if(_=2,a){if(s||(c="next"),n=a[c]){if(!(n=n.call(a,p)))throw TypeError("iterator result is not an object");if(!n.done)return n;p=n.value,s<2&&(s=0)}else 1===s&&(n=a.return)&&n.call(a),s<2&&(p=TypeError("The iterator does not provide a '"+c+"' method"),s=1);a=e}else if((n=(y=h.n<0)?p:t.call(r,h))!==u)break}catch(n){a=e,s=1,p=n}finally{_=1}}return{value:n,done:y}}}(t,c,a),!0),p}var u={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}n=Object.getPrototypeOf;var a=[][r]?n(n([][r]())):(_regeneratorDefine(n={},r,function(){return this}),n),s=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(a);function f(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,GeneratorFunctionPrototype):(e.__proto__=GeneratorFunctionPrototype,_regeneratorDefine(e,c,"GeneratorFunction")),e.prototype=Object.create(s),e}return GeneratorFunction.prototype=GeneratorFunctionPrototype,_regeneratorDefine(s,"constructor",GeneratorFunctionPrototype),_regeneratorDefine(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName="GeneratorFunction",_regeneratorDefine(GeneratorFunctionPrototype,c,"GeneratorFunction"),_regeneratorDefine(s),_regeneratorDefine(s,c,"Generator"),_regeneratorDefine(s,r,function(){return this}),_regeneratorDefine(s,"toString",function(){return"[object Generator]"}),(_regenerator=function(){return{w:i,m:f}})()}function _regeneratorDefine(e,n,t,r){var c=Object.defineProperty;try{c({},"",{})}catch(e){c=0}_regeneratorDefine=function(e,n,t,r){function o(n,t){_regeneratorDefine(e,n,function(e){return this._invoke(n,t,e)})}n?c?c(e,n,{value:t,enumerable:!r,configurable:!r,writable:!r}):e[n]=t:(o("next",0),o("throw",1),o("return",2))},_regeneratorDefine(e,n,t,r)}var e=_createClass(function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)});e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),e.prototype.then=function(n,t){var r=this;return new e(function(e,c){r.p.then(function(t){e(n?n(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(e,c)})},e.prototype.catch=function(e){return this.then(void 0,e)},e.resolve=function(n){return new e(function(e){e(n)})},e.reject=function(n){return new e(function(e,t){t(n)})},e.all=function(n){return new e(function(e,t){Promise.all(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.race=function(n){return new e(function(e,t){Promise.race(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.allSettled=function(n){return new e(function(e,t){Promise.allSettled(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined";var n={promise:{test:function test(e){return"Promise"===function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}(e)},replaceAsync:function replaceAsync(n){return new e(function(){var e=function _asyncToGenerator(e){return function(){var n=this,t=arguments;return new Promise(function(r,c){var u=e.apply(n,t);function _next(e){asyncGeneratorStep(u,r,c,_next,_throw,"next",e)}function _throw(e){asyncGeneratorStep(u,r,c,_next,_throw,"throw",e)}_next(void 0)})}}(_regenerator().m(function _callee(e){var t,r,c;return _regenerator().w(function(u){for(;;)switch(u.p=u.n){case 0:return u.p=0,t=e,u.n=1,n;case 1:r=u.v,t({value:r}),u.n=3;break;case 2:u.p=2,c=u.v,e({error:c});case 3:return u.a(2)}},_callee,null,[[0,2]])}));return function(n){return e.apply(this,arguments)}}())},revive:function revive(e){return e.error?Promise.reject(e.error):Promise.resolve(e.value)}}};return n});
4
4
  //# sourceMappingURL=promise.umd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"promise.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.1.1/node_modules/typeson/dist/typeson.esm.min.js","../../types/promise.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(()=>{},e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(e,t){if(\"\"===t)return e;if(null===e||\"object\"!=typeof e)throw new TypeError(\"Unexpected non-object type\");const n=t.indexOf(\".\");if(-1!==n){const r=e[unescapeKeyPathComponent(t.slice(0,n))];return void 0===r?void 0:getByKeyPath(r,t.slice(n+1))}return e[unescapeKeyPathComponent(t)]}function setAtKeyPath(e,t,n){if(\"\"===t)return n;let r=e,s=t;for(;;){if(!r||\"object\"!=typeof r)throw new TypeError(\"Unexpected non-object type\");if(\"__proto__\"===s)throw new TypeError(\"Invalid property\");const t=s.indexOf(\".\");if(-1===t)return r[unescapeKeyPathComponent(s)]=n,e;r=r[unescapeKeyPathComponent(s.slice(0,t))],s=s.slice(t+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n*/const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return n.returnTypeNames=!0,this.encapsulate(e,t,n)}rootTypeName(e,t,n={}){return n.iterateNone=!0,this.encapsulate(e,t,n)}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){const t=await u.p;return a[p]=t,checkPromises(e,r)}return o?a[p]=u:e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let v,O={};const b=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(v=i.replaced?t:replace(e,t,i,a,!1,l,b),v!==t&&(O={replaced:v})):v=t,b&&b(),v;if(null===t)return b&&b(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",b&&b({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),P=s(t),T=(m||P)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||P,null,b);let g;if(T!==t?(v=T,O={replaced:T}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),v=t):P&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(g=new Array(t.length),O={clone:g}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?v=t:(g={},i.addLength&&(g.length=t.length),O={clone:g}),b&&b(),c.iterateNone)return g??v;if(!g)return v;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,g,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&(g[n]=c)})}b&&b({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,g,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&(g[n]=s)})}),b&&b({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,g,r,i.type]):void 0!==e&&(g[r]=e)})}b&&b({endIterateUnsetNumeric:!0,end:!0})}return g},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},v=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(v)]:a?finish(v):Promise.resolve(finish(v))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t);r===t&&(e=r)});const o=setAtKeyPath(e,n,s);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=c[e],v=s(t);if(v||isPlainObject(t)){const s=v?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?s[n]=void 0:void 0!==e&&(s[n]=e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t);if(!o&&void 0===i)break;n[s]=i,a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];const o=n&&\"function\"!=typeof n&&!Array.isArray(n)&&n.testPlainObjects?this.plainObjectReplacers:this.nonplainObjectReplacers,c=o.filter(function(e){return e.type===t});if(c.length&&(o.splice(o.indexOf(c[0]),1),delete this.revivers[t],delete this.types[t]),\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const a={type:t,test:n.test.bind(n)};n.replace&&(a.replace=n.replace.bind(n)),n.replaceAsync&&(a.replaceAsync=n.replaceAsync.bind(n));const p=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(p,0,a):this.nonplainObjectReplacers.splice(p,0,a),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst promise = {\n promise: {\n test (x) {\n return toStringTag(x) === 'Promise';\n },\n replaceAsync (prom) {\n return new TypesonPromise(async (resolve) => {\n try {\n resolve({\n value: await prom\n });\n } catch (error) {\n resolve({\n error\n });\n }\n });\n },\n revive (o) {\n return o.error\n ? Promise.reject(o.error)\n : Promise.resolve(o.value);\n }\n }\n};\n\nexport default promise;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","promise","test","x","toString","call","slice","replaceAsync","prom","_ref","_asyncToGenerator","_regenerator","m","_t","_t2","_t3","w","_context","v","value","error","a","_callee","_x","apply","arguments","revive","o"],"mappings":";;0hFAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,GAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,KAAK,WAAK,EAAEZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAK83RhB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCA7qU,IAAMoB,EAAU,CACZA,QAAS,CACLC,KAAI,SAAJA,KAAMC,GACF,MAA0B,YDRq4C,SAASjB,YAAYV,GAAG,OAAOO,OAAOE,UAAUmB,SAASC,KAAK7B,GAAG8B,MAAM,KAAK,CCQp+CpB,CAAYiB,EACvB,EACAI,aAAY,SAAZA,aAAcC,GACV,OAAO,IAAIlC,EAAc,WAAA,IAAAmC,oRAAAC,CAAAC,eAAAC,EAAC,iBAAOlB,GAAO,IAAAmB,EAAAC,EAAAC,EAAA,OAAAJ,eAAAK,EAAA,SAAAC,GAAA,cAAAA,EAAAtC,EAAAsC,EAAA1B,GAAA,KAAA,EAEzB,OAFyB0B,EAAAtC,EAAA,EAAAkC,EAEhCnB,EAAOuB,EAAA1B,EAAA,EACUiB,EAAI,KAAA,EAAAM,EAAAG,EAAAC,EAAAL,EAAA,CAAjBM,MAAKL,IAAAG,EAAA1B,EAAA,EAAA,MAAA,KAAA,EAAA0B,EAAAtC,EAAA,EAAAoC,EAAAE,EAAAC,EAGTxB,EAAQ,CACJ0B,MAAKL,IACN,KAAA,EAAA,OAAAE,EAAAI,EAAA,GAAA,EAAAC,QAAA,KAAA,CAAA,CAAA,EAAA,IAAA,IAEV,OAAA,SAAAC,GAAA,OAAAd,EAAAe,MAAA9C,KAAA+C,UAAA,CAAA,CAVwB,GAW7B,EACAC,OAAM,SAANA,OAAQC,GACJ,OAAOA,EAAEP,MACHxC,QAAQa,OAAOkC,EAAEP,OACjBxC,QAAQc,QAAQiC,EAAER,MAC5B","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"promise.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/promise.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(void 0,e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(t,n,r){if(\"\"===n)return t;if(null===t||\"object\"!=typeof t)throw new TypeError(\"Unexpected non-object type\");const s=n.indexOf(\".\"),o=unescapeKeyPathComponent(-1===s?n:n.slice(0,s));if(!r||e(t,o)){if(-1!==s){const e=t[o];return void 0===e?void 0:getByKeyPath(e,n.slice(s+1),r)}return t[o]}}function setAtKeyPath(t,n,r,s){if(\"\"===n)return r;let o=t,i=n;for(;;){if(!o||\"object\"!=typeof o)throw new TypeError(\"Unexpected non-object type\");const n=i.indexOf(\".\"),c=unescapeKeyPathComponent(-1===n?i:i.slice(0,n));if(\"__proto__\"===c)throw new TypeError(\"Invalid property\");if(-1===n)return o[c]=r,t;if(s&&!e(o,c))throw new TypeError(\"Invalid property\");o=o[c],i=i.slice(n+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n */const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return this.encapsulate(e,t,{...n,returnTypeNames:!0})}rootTypeName(e,t,n={}){return this.encapsulate(e,t,{...n,iterateNone:!0})}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){return setOwnEnumerable(a,p,await u.p),checkPromises(e,r)}return o?setOwnEnumerable(a,p,u):e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let b,O={};const v=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(b=i.replaced?t:replace(e,t,i,a,!1,l,v),b!==t&&(O={replaced:b})):b=t,v&&v(),b;if(null===t)return v&&v(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",v&&v({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),T=s(t),P=(m||T)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||T,null,v);let w;if(P!==t?(b=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),b=t):T&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(w=new Array(t.length),O={clone:w}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?b=t:(w={},i.addLength&&(w.length=t.length),O={clone:w}),v&&v(),c.iterateNone)return w??b;if(!w)return b;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,w,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&setOwnEnumerable(w,n,c)})}v&&v({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,w,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&setOwnEnumerable(w,n,s)})}),v&&v({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,w,r,i.type]):void 0!==e&&setOwnEnumerable(w,r,e)})}v&&v({endIterateUnsetNumeric:!0,end:!0})}return w},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},b=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(b,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(b)]:a?finish(b):Promise.resolve(finish(b))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n,!0);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const o=setAtKeyPath(e,n,s,!0);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=r(c,e)?c[e]:void 0,b=s(t);if(b||isPlainObject(t)){const s=b?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(s,n,void 0):void 0!==e&&setOwnEnumerable(s,n,e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t,!0);if(!o&&void 0===i)break;setOwnEnumerable(n,s,i),a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e,!0);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];if([this.plainObjectReplacers,this.nonplainObjectReplacers].forEach(e=>{const n=e.findIndex(e=>e.type===t);-1!==n&&e.splice(n,1)}),delete this.revivers[t],delete this.types[t],\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const o={type:t,test:n.test.bind(n)};n.replace&&(o.replace=n.replace.bind(n)),n.replaceAsync&&(o.replaceAsync=n.replaceAsync.bind(n));const c=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(c,0,o):this.nonplainObjectReplacers.splice(c,0,o),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {TypesonPromise, toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst promise = {\n promise: {\n test (x) {\n return toStringTag(x) === 'Promise';\n },\n replaceAsync (prom) {\n return new TypesonPromise(async (resolve) => {\n try {\n resolve({\n value: await prom\n });\n } catch (error) {\n resolve({\n error\n });\n }\n });\n },\n revive (o) {\n return o.error\n ? Promise.reject(o.error)\n : Promise.resolve(o.value);\n }\n }\n};\n\nexport default promise;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","promise","test","x","toString","call","slice","replaceAsync","prom","_ref","_asyncToGenerator","_regenerator","m","_t","_t2","_t3","w","_context","v","value","error","a","_callee","_x","apply","arguments","revive","o"],"mappings":";;0hFAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,GAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,UAAK,EAAOZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAKujShB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCAt2U,IAAMoB,EAAU,CACZA,QAAS,CACLC,KAAI,SAAJA,KAAMC,GACF,MAA0B,YDRq4C,SAASjB,YAAYV,GAAG,OAAOO,OAAOE,UAAUmB,SAASC,KAAK7B,GAAG8B,MAAM,KAAK,CCQp+CpB,CAAYiB,EACvB,EACAI,aAAY,SAAZA,aAAcC,GACV,OAAO,IAAIlC,EAAc,WAAA,IAAAmC,oRAAAC,CAAAC,eAAAC,EAAC,iBAAOlB,GAAO,IAAAmB,EAAAC,EAAAC,EAAA,OAAAJ,eAAAK,EAAA,SAAAC,GAAA,cAAAA,EAAAtC,EAAAsC,EAAA1B,GAAA,KAAA,EAEzB,OAFyB0B,EAAAtC,EAAA,EAAAkC,EAEhCnB,EAAOuB,EAAA1B,EAAA,EACUiB,EAAI,KAAA,EAAAM,EAAAG,EAAAC,EAAAL,EAAA,CAAjBM,MAAKL,IAAAG,EAAA1B,EAAA,EAAA,MAAA,KAAA,EAAA0B,EAAAtC,EAAA,EAAAoC,EAAAE,EAAAC,EAGTxB,EAAQ,CACJ0B,MAAKL,IACN,KAAA,EAAA,OAAAE,EAAAI,EAAA,GAAA,EAAAC,QAAA,KAAA,CAAA,CAAA,EAAA,IAAA,IAEV,OAAA,SAAAC,GAAA,OAAAd,EAAAe,MAAA9C,KAAA+C,UAAA,CAAA,CAVwB,GAW7B,EACAC,OAAM,SAANA,OAAQC,GACJ,OAAOA,EAAEP,MACHxC,QAAQa,OAAOkC,EAAEP,OACjBxC,QAAQc,QAAQiC,EAAER,MAC5B","x_google_ignoreList":[0]}
@@ -1,2 +1,2 @@
1
- !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).regexp=n()}(this,function(){"use strict";function _classCallCheck(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function _createClass(e,n,t){return Object.defineProperty(e,"prototype",{writable:!1}),e}var e=_createClass(function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)});return e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),e.prototype.then=function(n,t){var o=this;return new e(function(e,r){o.p.then(function(t){e(n?n(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(e,r)})},e.prototype.catch=function(e){return this.then(function(){},e)},e.resolve=function(n){return new e(function(e){e(n)})},e.reject=function(n){return new e(function(e,t){t(n)})},e.all=function(n){return new e(function(e,t){Promise.all(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.race=function(n){return new e(function(e,t){Promise.race(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.allSettled=function(n){return new e(function(e,t){Promise.allSettled(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined",{regexp:{test:function test(e){return"RegExp"===function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}(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":"")+(e.unicodeSets?"v":"")+(e.hasIndices?"d":"")+(e.dotAll?"s":"")}},revive:function revive(e){var n=e.source,t=e.flags;return new RegExp(n,t)}}}});
1
+ !function(e,n){"object"==typeof exports&&"undefined"!=typeof module?module.exports=n():"function"==typeof define&&define.amd?define(n):(e="undefined"!=typeof globalThis?globalThis:e||self).regexp=n()}(this,function(){"use strict";function _classCallCheck(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function _createClass(e,n,t){return Object.defineProperty(e,"prototype",{writable:!1}),e}var e=_createClass(function TypesonPromise(e){_classCallCheck(this,TypesonPromise),this.p=new Promise(e)});return e.__typeson__type__="TypesonPromise","undefined"!=typeof Symbol&&Object.defineProperty(e.prototype,Symbol.toStringTag,{get:function get(){return"TypesonPromise"}}),e.prototype.then=function(n,t){var o=this;return new e(function(e,r){o.p.then(function(t){e(n?n(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(e,r)})},e.prototype.catch=function(e){return this.then(void 0,e)},e.resolve=function(n){return new e(function(e){e(n)})},e.reject=function(n){return new e(function(e,t){t(n)})},e.all=function(n){return new e(function(e,t){Promise.all(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.race=function(n){return new e(function(e,t){Promise.race(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},e.allSettled=function(n){return new e(function(e,t){Promise.allSettled(n.map(function(e){return null!=e&&e.constructor&&"__typeson__type__"in e.constructor&&"TypesonPromise"===e.constructor.__typeson__type__?e.p:e})).then(e,t)})},_createClass(function Undefined(){_classCallCheck(this,Undefined)}).__typeson__type__="TypesonUndefined",{regexp:{test:function test(e){return"RegExp"===function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}(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":"")+(e.unicodeSets?"v":"")+(e.hasIndices?"d":"")+(e.dotAll?"s":"")}},revive:function revive(e){var n=e.source,t=e.flags;return new RegExp(n,t)}}}});
2
2
  //# sourceMappingURL=regexp.umd.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"regexp.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.1.1/node_modules/typeson/dist/typeson.esm.min.js","../../types/regexp.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(()=>{},e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(e,t){if(\"\"===t)return e;if(null===e||\"object\"!=typeof e)throw new TypeError(\"Unexpected non-object type\");const n=t.indexOf(\".\");if(-1!==n){const r=e[unescapeKeyPathComponent(t.slice(0,n))];return void 0===r?void 0:getByKeyPath(r,t.slice(n+1))}return e[unescapeKeyPathComponent(t)]}function setAtKeyPath(e,t,n){if(\"\"===t)return n;let r=e,s=t;for(;;){if(!r||\"object\"!=typeof r)throw new TypeError(\"Unexpected non-object type\");if(\"__proto__\"===s)throw new TypeError(\"Invalid property\");const t=s.indexOf(\".\");if(-1===t)return r[unescapeKeyPathComponent(s)]=n,e;r=r[unescapeKeyPathComponent(s.slice(0,t))],s=s.slice(t+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n*/const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return n.returnTypeNames=!0,this.encapsulate(e,t,n)}rootTypeName(e,t,n={}){return n.iterateNone=!0,this.encapsulate(e,t,n)}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){const t=await u.p;return a[p]=t,checkPromises(e,r)}return o?a[p]=u:e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let v,O={};const b=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(v=i.replaced?t:replace(e,t,i,a,!1,l,b),v!==t&&(O={replaced:v})):v=t,b&&b(),v;if(null===t)return b&&b(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",b&&b({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),P=s(t),T=(m||P)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||P,null,b);let g;if(T!==t?(v=T,O={replaced:T}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),v=t):P&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(g=new Array(t.length),O={clone:g}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?v=t:(g={},i.addLength&&(g.length=t.length),O={clone:g}),b&&b(),c.iterateNone)return g??v;if(!g)return v;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,g,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&(g[n]=c)})}b&&b({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,g,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&(g[n]=s)})}),b&&b({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,g,r,i.type]):void 0!==e&&(g[r]=e)})}b&&b({endIterateUnsetNumeric:!0,end:!0})}return g},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},v=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(v)]:a?finish(v):Promise.resolve(finish(v))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t);r===t&&(e=r)});const o=setAtKeyPath(e,n,s);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=c[e],v=s(t);if(v||isPlainObject(t)){const s=v?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?s[n]=void 0:void 0!==e&&(s[n]=e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t);if(!o&&void 0===i)break;n[s]=i,a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];const o=n&&\"function\"!=typeof n&&!Array.isArray(n)&&n.testPlainObjects?this.plainObjectReplacers:this.nonplainObjectReplacers,c=o.filter(function(e){return e.type===t});if(c.length&&(o.splice(o.indexOf(c[0]),1),delete this.revivers[t],delete this.types[t]),\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const a={type:t,test:n.test.bind(n)};n.replace&&(a.replace=n.replace.bind(n)),n.replaceAsync&&(a.replaceAsync=n.replaceAsync.bind(n));const p=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(p,0,a):this.nonplainObjectReplacers.splice(p,0,a),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\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 (rexp.unicodeSets ? 'v' : '') +\n (rexp.hasIndices ? 'd' : '') +\n (rexp.dotAll ? 's' : '')\n };\n },\n revive ({source, flags}) { return new RegExp(source, flags); }\n }\n};\n\nexport default regexp;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","regexp","test","x","toString","call","slice","replace","rexp","source","flags","global","ignoreCase","multiline","sticky","unicode","unicodeSets","hasIndices","dotAll","revive","_ref","RegExp"],"mappings":"+aAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,UAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,KAAK,WAAK,EAAEZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAK83RhB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCA9pU,CACXoB,OAAQ,CACJC,KAAI,SAAJA,KAAMC,GAAK,MAA0B,WDP83C,SAASjB,YAAYV,GAAG,OAAOO,OAAOE,UAAUmB,SAASC,KAAK7B,GAAG8B,MAAM,KAAK,CCO79CpB,CAAYiB,EAAiB,EAC/CI,QAAO,SAAPA,QAASC,GACL,MAAO,CACHC,OAAQD,EAAKC,OACbC,OAAQF,EAAKG,OAAS,IAAM,KACvBH,EAAKI,WAAa,IAAM,KACxBJ,EAAKK,UAAY,IAAM,KACvBL,EAAKM,OAAS,IAAM,KACpBN,EAAKO,QAAU,IAAM,KACrBP,EAAKQ,YAAc,IAAM,KACzBR,EAAKS,WAAa,IAAM,KACxBT,EAAKU,OAAS,IAAM,IAEjC,EACAC,OAAM,SAANA,OAAMC,GAAmB,IAAhBX,IAAAA,OAAQC,IAAAA,MAAU,OAAO,IAAIW,OAAOZ,EAAQC,EAAQ","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"regexp.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/regexp.js"],"sourcesContent":["class TypesonPromise{constructor(e){this.p=new Promise(e)}}TypesonPromise.__typeson__type__=\"TypesonPromise\",\"undefined\"!=typeof Symbol&&Object.defineProperty(TypesonPromise.prototype,Symbol.toStringTag,{get:()=>\"TypesonPromise\"}),TypesonPromise.prototype.then=function(e,t){return new TypesonPromise((n,r)=>{this.p.then(function(t){n(e?e(t):t)}).catch(function(e){return t?t(e):Promise.reject(e)}).then(n,r)})},TypesonPromise.prototype.catch=function(e){return this.then(void 0,e)},TypesonPromise.resolve=function(e){return new TypesonPromise(t=>{t(e)})},TypesonPromise.reject=function(e){return new TypesonPromise((t,n)=>{n(e)})},TypesonPromise.all=function(e){return new TypesonPromise(function(t,n){Promise.all(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.race=function(e){return new TypesonPromise(function(t,n){Promise.race(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})},TypesonPromise.allSettled=function(e){return new TypesonPromise(function(t,n){Promise.allSettled(e.map(e=>e?.constructor&&\"__typeson__type__\"in e.constructor&&\"TypesonPromise\"===e.constructor.__typeson__type__?e.p:e)).then(t,n)})};const{hasOwn:e}=Object,t=Object.getPrototypeOf;function isThenable(e,t){return isObject(e)&&\"function\"==typeof e.then&&(!t||\"function\"==typeof e.catch)}function toStringTag(e){return Object.prototype.toString.call(e).slice(8,-1)}function hasConstructorOf(n,r){if(!n||\"object\"!=typeof n)return!1;const s=t(n);if(!s)return null===r;const o=e(s,\"constructor\")&&s.constructor;return\"function\"!=typeof o?null===r:r===o||(null!==r&&Function.prototype.toString.call(o)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof o.__typeson__type__&&o.__typeson__type__===r.__typeson__type__)}function isPlainObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;return!t(e)||hasConstructorOf(e,Object)}function isUserObject(e){if(!e||\"Object\"!==toStringTag(e))return!1;const n=t(e);return!n||(hasConstructorOf(e,Object)||isUserObject(n))}function isObject(e){return null!==e&&\"object\"==typeof e}function escapeKeyPathComponent(e){return e.replaceAll(\"''\",\"''''\").replace(/^$/u,\"''\").replaceAll(\"~\",\"~0\").replaceAll(\".\",\"~1\")}function unescapeKeyPathComponent(e){return e.replaceAll(\"~1\",\".\").replaceAll(\"~0\",\"~\").replace(/^''$/u,\"\").replaceAll(\"''''\",\"''\")}function getByKeyPath(t,n,r){if(\"\"===n)return t;if(null===t||\"object\"!=typeof t)throw new TypeError(\"Unexpected non-object type\");const s=n.indexOf(\".\"),o=unescapeKeyPathComponent(-1===s?n:n.slice(0,s));if(!r||e(t,o)){if(-1!==s){const e=t[o];return void 0===e?void 0:getByKeyPath(e,n.slice(s+1),r)}return t[o]}}function setAtKeyPath(t,n,r,s){if(\"\"===n)return r;let o=t,i=n;for(;;){if(!o||\"object\"!=typeof o)throw new TypeError(\"Unexpected non-object type\");const n=i.indexOf(\".\"),c=unescapeKeyPathComponent(-1===n?i:i.slice(0,n));if(\"__proto__\"===c)throw new TypeError(\"Invalid property\");if(-1===n)return o[c]=r,t;if(s&&!e(o,c))throw new TypeError(\"Invalid property\");o=o[c],i=i.slice(n+1)}}function getJSONType(e){return null===e?\"null\":Array.isArray(e)?\"array\":typeof e}\n/**\n * @file Typeson - JSON with types.\n * @license The MIT License (MIT)\n * @copyright (c) 2016-2018 David Fahlander, Brett Zamir\n */const{keys:n,hasOwn:r}=Object,{isArray:s}=Array,o=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}function nestedPathsFirst(e,t){if(\"\"===e.keypath)return-1;let n=e.keypath.match(/\\./gu)??0,r=t.keypath.match(/\\./gu)??0;return n&&(n=n.length),r&&(r=r.length),n>r?-1:n<r?1:e.keypath<t.keypath?-1:e.keypath>t.keypath?1:0}class Typeson{constructor(e){this.options=e,this.plainObjectReplacers=[],this.nonplainObjectReplacers=[],this.revivers={},this.types={}}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const o=this.encapsulate(e,null,r);return s(o)?JSON.stringify(o[0],t,n):o.then(e=>JSON.stringify(e,t,n))}stringifySync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!0})}stringifyAsync(e,t,n,r){return this.stringify(e,t,n,{throwOnBadSyncType:!0,...r,sync:!1})}parse(e,t,n){return n={...this.options,...n,parse:!0},this.revive(JSON.parse(e,t),n)}parseSync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}parseAsync(e,t,n){return this.parse(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}specialTypeNames(e,t,n={}){return this.encapsulate(e,t,{...n,returnTypeNames:!0})}rootTypeName(e,t,n={}){return this.encapsulate(e,t,{...n,iterateNone:!0})}encapsulate(e,t,i){const c={sync:!0,...this.options,...i},{sync:a}=c,p={},y=[],u=[],l=[],h=!(\"cyclic\"in c)||c.cyclic,{encapsulateObserver:f,encapsulateError:d}=c,finish=e=>{const t=Object.values(p);if(c.iterateNone)return t.length?t[0]:getJSONType(e);if(t.length){if(c.returnTypeNames)return[...new Set(t)];e&&isPlainObject(e)&&!r(e,\"$types\")?e.$types=p:e={$:e,$types:{$:p}}}else isObject(e)&&r(e,\"$types\")&&(e={$:e,$types:!0});return!c.returnTypeNames&&e},checkPromises=async(e,t)=>{const n=await Promise.all(t.map(e=>e[1].p));return await Promise.all(n.map(async function(n){const r=[],[s]=t.splice(0,1),[o,,i,c,a,p,y]=s,u=_encapsulate(o,n,i,c,r,!0,y),l=hasConstructorOf(u,TypesonPromise);if(o&&l){return setOwnEnumerable(a,p,await u.p),checkPromises(e,r)}return o?setOwnEnumerable(a,p,u):e=l?u.p:u,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=o.map(t=>{const n=e[t];return delete e[t],n});n(),o.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,o,i,a,l,h)=>{let b,O={};const v=f?function(n){const r=h??i.type??getJSONType(t);f(Object.assign(n??O,{keypath:e,value:t,cyclic:o,stateObj:i,promisesData:a,resolvingTypesonPromise:l,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(o),i,a,l)}}catch(r){if(!d)throw r;const s=h??i.type??getJSONType(t),o=d({keypath:e,error:r,parent:t,key:n,stateObj:i,type:s});if(!o)throw r;if(\"substitute\"in o)return{value:o.substitute,substitute:!0};if(o.ignore)return;throw r}};if([\"string\",\"boolean\",\"number\",\"undefined\"].includes(typeof t))return void 0===t||t===1/0||0===t||t===-1/0||Number.isNaN(t)?(b=i.replaced?t:replace(e,t,i,a,!1,l,v),b!==t&&(O={replaced:b})):b=t,v&&v(),b;if(null===t)return v&&v(),t;if(o&&t&&\"object\"==typeof t&&!i.iterateIn&&!i.iterateUnsetNumeric){const n=y.indexOf(t);if(-1!==n)return p[e]=\"#\",v&&v({cyclicKeypath:u[n]}),\"#\"+u[n];!0===o&&(y.push(t),u.push(e))}const m=isPlainObject(t),T=s(t),P=(m||T)&&(!this.plainObjectReplacers.length||i.replaced)||i.iterateIn?t:replace(e,t,i,a,m||T,null,v);let w;if(P!==t?(b=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(a.push([e,t,o,i,void 0,void 0,i.type]),b=t):T&&\"object\"!==i.iterateIn||\"array\"===i.iterateIn?(w=new Array(t.length),O={clone:w}):!m&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==i.iterateIn?b=t:(w={},i.addLength&&(w.length=t.length),O={clone:w}),v&&v(),c.iterateNone)return w??b;if(!w)return b;if(i.iterateIn){for(const n in t){const s={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(i,s,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),s=getEncapsulatedValue(r,t,n),c=s&&s.value;hasConstructorOf(c,TypesonPromise)?a.push([r,c,Boolean(o),i,w,n,i.type]):s&&(void 0!==c||\"substitute\"in s)&&setOwnEnumerable(w,n,c)})}v&&v({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(i,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),s=e&&e.value;hasConstructorOf(s,TypesonPromise)?a.push([r,s,Boolean(o),i,w,n,i.type]):e&&(void 0!==s||\"substitute\"in e)&&setOwnEnumerable(w,n,s)})}),v&&v({endIterateOwn:!0,end:!0});if(i.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(i,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(o),i,a,l);hasConstructorOf(e,TypesonPromise)?a.push([n,e,Boolean(o),i,w,r,i.type]):void 0!==e&&setOwnEnumerable(w,r,e)})}v&&v({endIterateUnsetNumeric:!0,end:!0})}return w},replace=(e,t,n,r,s,o,i)=>{const c=s?this.plainObjectReplacers:this.nonplainObjectReplacers;let y=c.length;for(;y--;){const s=c[y];if(s.test(t,n)){const{type:c}=s;if(Object.hasOwn(this.revivers,c)){const t=p[e];p[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(a||!s.replaceAsync)&&!s.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,h&&\"readonly\",n,r,o,c);let y;if(i&&i({replacing:!0}),a||!s.replaceAsync){if(void 0===s.replace)throw new TypeError(\"Missing replacer\");y=s.replace(t,n)}else y=s.replaceAsync(t,n);return _encapsulate(e,y,h&&\"readonly\",n,r,o,c)}}return t},b=_encapsulate(\"\",e,h,t??{},l);if(l.length)return a&&c.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(b,l)).then(finish);if(!a&&c.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return a&&c.stringification?[finish(b)]:a?finish(b):Promise.resolve(finish(b))}encapsulateSync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!0})}encapsulateAsync(e,t,n){return this.encapsulate(e,t,{throwOnBadSyncType:!0,...n,sync:!1})}revive(e,t){const o={sync:!0,...this.options,...t},{sync:i}=o;function finishRevival(e){if(i)return e;if(o.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return Promise.resolve(e)}if(!e||\"object\"!=typeof e||Array.isArray(e))return finishRevival(e);let c=e.$types;if(!0===c)return finishRevival(e.$);if(!c||\"object\"!=typeof c||Array.isArray(c))return finishRevival(e);const a=[],p=Object.create(null),y={};let u=!0;c.$&&isPlainObject(c.$)&&(e=e.$,c=c.$,u=!1);const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(i&&!(\"revive\"in n))return t;if(!i&&n.reviveAsync)return n.reviveAsync(t,y);if(n.revive)return n.revive(t,y);throw new Error(\"Missing reviver\")},l=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const h=(()=>{if(!c)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(c).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete c[e])})}),t.length)return t.sort(nestedPathsFirst),t.reduce(function reducer(t,{keypath:n,type:r}){if(isThenable(t))return t.then(e=>reducer(e,{keypath:n,type:r}));let s=getByKeyPath(e,n,!0);if(s=executeReviver(r,s),hasConstructorOf(s,TypesonPromise))return s.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const o=setAtKeyPath(e,n,s,!0);o===s&&(e=o)},void 0)})();let f;return hasConstructorOf(h,TypesonPromise)?f=h.then(()=>e):(f=function _revive(e,t,o,y,h){if(u&&\"$types\"===e)return;const f=l.length,d=r(c,e)?c[e]:void 0,b=s(t);if(b||isPlainObject(t)){const s=b?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],o??s,s,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(s,n,void 0):void 0!==e&&setOwnEnumerable(s,n,e),e);hasConstructorOf(r,TypesonPromise)?l.push(r.then(e=>set(e))):set(r)}),t=s;a.length;){const[[e,t,n,s]]=a,o=r(p,t),i=o?p[t]:getByKeyPath(e,t,!0);if(!o&&void 0===i)break;setOwnEnumerable(n,s,i),a.shift()}}if(!d)return p[e]=t,t;if(\"#\"===d){const e=t.slice(1),n=r(p,e),s=n?p[e]:getByKeyPath(o,e,!0);return n||void 0!==s||a.push([o,e,y,h]),s}const applyType=t=>{const n=[].concat(d).reduce(function reducer(e,t){if(hasConstructorOf(e,TypesonPromise))return e.then(e=>reducer(e,t));if(\"string\"!=typeof t)throw new TypeError(\"Bad type JSON\");return executeReviver(t,e)},t);return hasConstructorOf(n,TypesonPromise)?n.then(t=>(p[e]=t,t)):(p[e]=n,n)};return!i&&l.length>f?TypesonPromise.all(l.slice(f)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),l.length&&(f=TypesonPromise.resolve(f).then(e=>TypesonPromise.all([e,...l])).then(([e])=>e))),isThenable(f)?i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(f,TypesonPromise)?f.p.then(checkUndefined):f:!i&&o.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():i?checkUndefined(f):Promise.resolve(checkUndefined(f))}reviveSync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!0})}reviveAsync(e,t){return this.revive(e,{throwOnBadSyncType:!0,...t,sync:!1})}register(e,t){const r=t??{},reg=e=>{s(e)?e.forEach(e=>{reg(e)}):n(e).forEach(t=>{if(\"#\"===t)throw new TypeError(\"# cannot be used as a type name as it is reserved for cyclic objects\");if(i.includes(t))throw new TypeError(\"Plain JSON object types are reserved as type names\");let n=e[t];if([this.plainObjectReplacers,this.nonplainObjectReplacers].forEach(e=>{const n=e.findIndex(e=>e.type===t);-1!==n&&e.splice(n,1)}),delete this.revivers[t],delete this.types[t],\"function\"==typeof n){const e=n;n={test:t=>t&&t.constructor===e,replace:e=>({...e}),revive:t=>Object.assign(Object.create(e.prototype),t)}}else if(s(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const o={type:t,test:n.test.bind(n)};n.replace&&(o.replace=n.replace.bind(n)),n.replaceAsync&&(o.replaceAsync=n.replaceAsync.bind(n));const c=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(c,0,o):this.nonplainObjectReplacers.splice(c,0,o),n.revive||n.reviveAsync){const e={};n.revive&&(e.revive=n.revive.bind(n)),n.reviveAsync&&(e.reviveAsync=n.reviveAsync.bind(n)),this.revivers[t]=[e,{plain:n.testPlainObjects}]}this.types[t]=n})};return[].concat(e).forEach(e=>{reg(e)}),this}}class Undefined{}Undefined.__typeson__type__=\"TypesonUndefined\";const i=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{i as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\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 (rexp.unicodeSets ? 'v' : '') +\n (rexp.hasIndices ? 'd' : '') +\n (rexp.dotAll ? 's' : '')\n };\n },\n revive ({source, flags}) { return new RegExp(source, flags); }\n }\n};\n\nexport default regexp;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","regexp","test","x","toString","call","slice","replace","rexp","source","flags","global","ignoreCase","multiline","sticky","unicode","unicodeSets","hasIndices","dotAll","revive","_ref","RegExp"],"mappings":"+aAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,UAAEF,EAAeO,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAeV,EAAeW,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGb,EAAeW,UAAUG,KAAK,SAASZ,EAAEa,GAAE,IAAAC,EAAAZ,KAAC,OAAO,IAAIJ,EAAe,SAACiB,EAAEC,GAAKF,EAAKX,EAAES,KAAK,SAASC,GAAGE,EAAEf,EAAEA,EAAEa,GAAGA,EAAE,GAAE,MAAO,SAASb,GAAG,OAAOa,EAAEA,EAAEb,GAAGI,QAAQa,OAAOjB,EAAE,GAAGY,KAAKG,EAAEC,EAAE,EAAE,EAAElB,EAAeW,gBAAgB,SAAST,GAAG,OAAOE,KAAKU,UAAK,EAAOZ,EAAE,EAAEF,EAAeoB,QAAQ,SAASlB,GAAG,OAAO,IAAIF,EAAe,SAAAe,GAAIA,EAAEb,EAAE,EAAE,EAAEF,EAAemB,OAAO,SAASjB,GAAG,OAAO,IAAIF,EAAe,SAACe,EAAEE,GAAKA,EAAEf,EAAE,EAAE,EAAEF,EAAeqB,IAAI,SAASnB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQe,IAAInB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAewB,KAAK,SAAStB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQkB,KAAKtB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAAEjB,EAAeyB,WAAW,SAASvB,GAAG,OAAO,IAAIF,EAAe,SAASe,EAAEE,GAAGX,QAAQmB,WAAWvB,EAAEoB,IAAI,SAAApB,GAAC,OAAEA,SAAAA,EAAGqB,aAAa,sBAAsBrB,EAAEqB,aAAa,mBAAmBrB,EAAEqB,YAAYhB,kBAAkBL,EAAEG,EAAEH,CAAC,IAAGY,KAAKC,EAAEE,EAAE,EAAE,EAKujShB,aAAA,SAAAyB,YAAAvB,gBAAAC,KAAAsB,UAAA,GAAYnB,kBAAkB,mBCAv1U,CACXoB,OAAQ,CACJC,KAAI,SAAJA,KAAMC,GAAK,MAA0B,WDP83C,SAASjB,YAAYV,GAAG,OAAOO,OAAOE,UAAUmB,SAASC,KAAK7B,GAAG8B,MAAM,KAAK,CCO79CpB,CAAYiB,EAAiB,EAC/CI,QAAO,SAAPA,QAASC,GACL,MAAO,CACHC,OAAQD,EAAKC,OACbC,OAAQF,EAAKG,OAAS,IAAM,KACvBH,EAAKI,WAAa,IAAM,KACxBJ,EAAKK,UAAY,IAAM,KACvBL,EAAKM,OAAS,IAAM,KACpBN,EAAKO,QAAU,IAAM,KACrBP,EAAKQ,YAAc,IAAM,KACzBR,EAAKS,WAAa,IAAM,KACxBT,EAAKU,OAAS,IAAM,IAEjC,EACAC,OAAM,SAANA,OAAMC,GAAmB,IAAhBX,IAAAA,OAAQC,IAAAA,MAAU,OAAO,IAAIW,OAAOZ,EAAQC,EAAQ","x_google_ignoreList":[0]}