typeson-registry 14.2.2 → 14.4.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 (65) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +26 -3
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.min.js +2 -2
  6. package/dist/index.min.js.map +1 -1
  7. package/dist/index.umd.cjs +367 -251
  8. package/dist/index.umd.cjs.map +1 -1
  9. package/dist/index.umd.min.cjs +2 -2
  10. package/dist/index.umd.min.cjs.map +1 -1
  11. package/dist/polyfills/DOMMatrix.d.ts +2 -2
  12. package/dist/polyfills/DOMMatrix.d.ts.map +1 -1
  13. package/dist/polyfills/DOMMatrixReadOnly.d.ts +2 -2
  14. package/dist/polyfills/DOMMatrixReadOnly.d.ts.map +1 -1
  15. package/dist/presets/builtin.umd.cjs.map +1 -1
  16. package/dist/presets/postmessage.umd.cjs.map +1 -1
  17. package/dist/presets/socketio.umd.cjs.map +1 -1
  18. package/dist/presets/structured-cloning-for-storage.d.ts +6 -0
  19. package/dist/presets/structured-cloning-for-storage.d.ts.map +1 -0
  20. package/dist/presets/structured-cloning-for-storage.umd.cjs +4 -0
  21. package/dist/presets/structured-cloning-for-storage.umd.cjs.map +1 -0
  22. package/dist/presets/structured-cloning-throwing.umd.cjs.map +1 -1
  23. package/dist/presets/structured-cloning.umd.cjs.map +1 -1
  24. package/dist/presets/undef.umd.cjs.map +1 -1
  25. package/dist/presets/universal.umd.cjs.map +1 -1
  26. package/dist/types/arraybuffer.umd.cjs.map +1 -1
  27. package/dist/types/audiodata.umd.cjs.map +1 -1
  28. package/dist/types/bigint-object.umd.cjs.map +1 -1
  29. package/dist/types/blob.umd.cjs.map +1 -1
  30. package/dist/types/cryptokey.umd.cjs.map +1 -1
  31. package/dist/types/dataview.umd.cjs.map +1 -1
  32. package/dist/types/date.umd.cjs.map +1 -1
  33. package/dist/types/domexception.umd.cjs.map +1 -1
  34. package/dist/types/dommatrix.umd.cjs.map +1 -1
  35. package/dist/types/dompoint.umd.cjs.map +1 -1
  36. package/dist/types/domquad.umd.cjs.map +1 -1
  37. package/dist/types/domrect.umd.cjs.map +1 -1
  38. package/dist/types/encodedaudiochunk.umd.cjs.map +1 -1
  39. package/dist/types/encodedvideochunk.umd.cjs.map +1 -1
  40. package/dist/types/error.umd.cjs.map +1 -1
  41. package/dist/types/errors.umd.cjs.map +1 -1
  42. package/dist/types/file.umd.cjs.map +1 -1
  43. package/dist/types/filelist.umd.cjs.map +1 -1
  44. package/dist/types/imagebitmap.umd.cjs.map +1 -1
  45. package/dist/types/imagedata.umd.cjs.map +1 -1
  46. package/dist/types/intl-types.umd.cjs.map +1 -1
  47. package/dist/types/map.umd.cjs.map +1 -1
  48. package/dist/types/nonbuiltin-ignore.umd.cjs.map +1 -1
  49. package/dist/types/primitive-objects.umd.cjs.map +1 -1
  50. package/dist/types/promise.umd.cjs.map +1 -1
  51. package/dist/types/quotaexceedederror.umd.cjs.map +1 -1
  52. package/dist/types/regexp.umd.cjs.map +1 -1
  53. package/dist/types/set.umd.cjs.map +1 -1
  54. package/dist/types/typed-arrays-socketio.umd.cjs.map +1 -1
  55. package/dist/types/typed-arrays.umd.cjs.map +1 -1
  56. package/dist/types/undef.umd.cjs.map +1 -1
  57. package/dist/types/user-object.umd.cjs.map +1 -1
  58. package/dist/types/videoframe.umd.cjs.map +1 -1
  59. package/dist/types/webtransporterror.umd.cjs.map +1 -1
  60. package/package.json +7 -7
  61. package/polyfills/DOMMatrix.js +2 -2
  62. package/polyfills/DOMMatrixReadOnly.js +2 -2
  63. package/polyfills/index.cjs +6 -4
  64. package/polyfills/index.cjs.map +1 -1
  65. package/polyfills/index.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"audiodata.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/audiodata.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","/* globals AudioData -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst audiodata = {\n audiodata: {\n test (x) {\n return toStringTag(x) === 'AudioData';\n },\n replace (audioData) {\n const {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp\n } = audioData;\n\n // 2. Determine plane layout based on audio format\n const isPlanar = format.endsWith('-planar');\n const numPlanes = isPlanar ? numberOfChannels : 1;\n\n // 3. Per the AudioData API, planes are laid out back-to-back\n // within a single buffer, so compute their sizes up front\n const planeSizes = [];\n let totalSize = 0;\n for (let i = 0; i < numPlanes; i++) {\n const size = audioData.allocationSize({planeIndex: i});\n planeSizes.push(size);\n totalSize += size;\n }\n\n // 4. Copy the raw binary data out of each plane into its slot\n const data = new ArrayBuffer(totalSize);\n let offset = 0;\n for (let i = 0; i < numPlanes; i++) {\n const planeView = new Uint8Array(data, offset, planeSizes[i]);\n audioData.copyTo(planeView, {planeIndex: i});\n offset += planeSizes[i];\n }\n\n // 5. Return a clean, serializable manifest\n return {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data\n };\n },\n revive ({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp, data\n }) {\n return new AudioData({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default audiodata;\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","audiodata","test","x","toString","call","slice","replace","audioData","format","sampleRate","numberOfFrames","numberOfChannels","timestamp","numPlanes","endsWith","planeSizes","totalSize","i","size","allocationSize","planeIndex","push","data","ArrayBuffer","offset","planeView","Uint8Array","copyTo","revive","_ref","AudioData"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"audiodata.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.3.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/audiodata.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 o=t(n);if(!o)return null===r;const s=e(o,\"constructor\")&&o.constructor;return\"function\"!=typeof s?null===r:r===s||(null!==r&&Function.prototype.toString.call(s)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof s.__typeson__type__&&s.__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 o=n.indexOf(\".\"),s=unescapeKeyPathComponent(-1===o?n:n.slice(0,o));if(!r||e(t,s)){if(-1!==o){const e=t[s];return void 0===e?void 0:getByKeyPath(e,n.slice(o+1),r)}return t[s]}}function setAtKeyPath(t,n,r,o){if(\"\"===n)return r;let s=t,i=n;for(;;){if(!s||\"object\"!=typeof s)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 s[c]=r,t;if(o&&!e(s,c))throw new TypeError(\"Invalid property\");s=s[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:o}=Array,s=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"iterateSymbols\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}const i=[\"asyncIterator\",\"hasInstance\",\"isConcatSpreadable\",\"iterator\",\"match\",\"matchAll\",\"replace\",\"search\",\"species\",\"split\",\"toPrimitive\",\"toStringTag\",\"unscopables\"];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={},this.symbolsByName=Object.create(null),this.symbolsByValue=new Map;const t=e?.symbols;t&&Object.entries(t).forEach(([e,t])=>{if(\"symbol\"!=typeof t)throw new TypeError(\"Non-symbol value supplied for `symbols` entry: \"+e);this.symbolsByName[e]=t,this.symbolsByValue.set(t,e)})}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const s=this.encapsulate(e,null,r);return o(s)?JSON.stringify(s[0],t,n):s.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,c){const a={sync:!0,...this.options,...c},{sync:y}=a,l={},p={},u=[],h=[],f=[],b=!(\"cyclic\"in a)||a.cyclic,{encapsulateObserver:d,encapsulateError:m}=a,finish=e=>{const t=Object.values(l);if(a.iterateNone)return t.length?t[0]:getJSONType(e);if(a.returnTypeNames)return!!t.length&&[...new Set(t)];const n=Object.keys(p).length>0,o=isObject(e)&&(r(e,\"$types\")||r(e,\"$symbolKeys\"));return n||t.length?(!o&&e&&isPlainObject(e)?t.length&&(e.$types=l):e={$:e,$types:{$:l}},n&&(e.$symbolKeys=p)):o&&(e={$:e,$types:!0}),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=[],[o]=t.splice(0,1),[s,,i,c,a,y,l]=o,p=_encapsulate(s,n,i,c,r,!0,l),u=hasConstructorOf(p,TypesonPromise);if(s&&u){return setOwnEnumerable(a,y,await p.p),checkPromises(e,r)}return s?setOwnEnumerable(a,y,p):e=u?p.p:p,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=s.map(t=>{const n=e[t];return delete e[t],n});n(),s.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,s,c,y,f,b)=>{let v,O={};const w=d?function(n){const r=b??c.type??getJSONType(t);d(Object.assign(n??O,{keypath:e,value:t,cyclic:s,stateObj:c,promisesData:y,resolvingTypesonPromise:f,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(s),c,y,f)}}catch(r){if(!m)throw r;const o=b??c.type??getJSONType(t),s=m({keypath:e,error:r,parent:t,key:n,stateObj:c,type:o});if(!s)throw r;if(\"substitute\"in s)return{value:s.substitute,substitute:!0};if(s.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=c.replaced?t:replace(e,t,c,y,!1,f,w),v!==t&&(O={replaced:v})):v=t,w&&w(),v;if(null===t)return w&&w(),t;if(s&&t&&\"object\"==typeof t&&!c.iterateIn&&!c.iterateUnsetNumeric){const n=u.indexOf(t);if(-1!==n)return l[e]=\"#\",w&&w({cyclicKeypath:h[n]}),\"#\"+h[n];!0===s&&(u.push(t),h.push(e))}const g=isPlainObject(t),T=o(t),P=(g||T)&&(!this.plainObjectReplacers.length||c.replaced)||c.iterateIn?t:replace(e,t,c,y,g||T,null,w);let j;if(P!==t?(v=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(y.push([e,t,s,c,void 0,void 0,c.type]),v=t):T&&\"object\"!==c.iterateIn||\"array\"===c.iterateIn?(j=new Array(t.length),O={clone:j}):!g&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==c.iterateIn?v=t:(j={},c.addLength&&(j.length=t.length),O={clone:j}),w&&w(),a.iterateNone)return j??v;if(!j)return v;if(c.iterateIn){for(const n in t){const o={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(c,o,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),o=getEncapsulatedValue(r,t,n),i=o&&o.value;hasConstructorOf(i,TypesonPromise)?y.push([r,i,Boolean(s),c,j,n,c.type]):o&&(void 0!==i||\"substitute\"in o)&&setOwnEnumerable(j,n,i)})}w&&w({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),o=e&&e.value;hasConstructorOf(o,TypesonPromise)?y.push([r,o,Boolean(s),c,j,n,c.type]):e&&(void 0!==o||\"substitute\"in e)&&setOwnEnumerable(j,n,o)})}),w&&w({endIterateOwn:!0,end:!0}),(c.iterateSymbols||a.iterateSymbols)&&(Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e)).forEach(n=>{const r=function resolveSymbolIdentity(e,t){const n=Symbol.keyFor(e);if(void 0!==n)return{for:n};const r=i.find(t=>Symbol[t]===e);if(r)return{wellKnown:r};const o=t.get(e);return void 0!==o?{registered:o}:null}(n,this.symbolsByValue);if(!r){if(a.throwOnUnregisteredSymbol)throw new TypeError(\"Cannot serialize a Symbol-keyed property whose Symbol has no portable identity (not global, not well-known, and not in the `symbols` option): \"+String(n));return}const o=p[e]??=[],l={key:r};o.push(l);const u=o.length-1,h=`$symbolKeys.${escapeKeyPathComponent(e)}.${String(u)}.value`,f={value:t[n]};_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(h,f,\"value\"),t=e&&e.value;hasConstructorOf(t,TypesonPromise)?y.push([h,t,Boolean(s),c,l,\"value\",c.type]):e&&(void 0!==t||\"substitute\"in e)&&setOwnEnumerable(l,\"value\",t)})}),w&&w({endIterateSymbols:!0,end:!0}));if(c.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(c,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(s),c,y,f);hasConstructorOf(e,TypesonPromise)?y.push([n,e,Boolean(s),c,j,r,c.type]):void 0!==e&&setOwnEnumerable(j,r,e)})}w&&w({endIterateUnsetNumeric:!0,end:!0})}return j},replace=(e,t,n,r,o,s,i)=>{const c=o?this.plainObjectReplacers:this.nonplainObjectReplacers;let a=c.length;for(;a--;){const o=c[a];if(o.test(t,n)){const{type:c}=o;if(Object.hasOwn(this.revivers,c)){const t=l[e];l[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(y||!o.replaceAsync)&&!o.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,b&&\"readonly\",n,r,s,c);let a;if(i&&i({replacing:!0}),y||!o.replaceAsync){if(void 0===o.replace)throw new TypeError(\"Missing replacer\");a=o.replace(t,n)}else a=o.replaceAsync(t,n);return _encapsulate(e,a,b&&\"readonly\",n,r,s,c)}}return t},v=_encapsulate(\"\",e,b,t??{},f);if(f.length)return y&&a.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,f)).then(finish);if(!y&&a.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return y&&a.stringification?[finish(v)]:y?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 s={sync:!0,...this.options,...t},{sync:c}=s;function finishRevival(e){if(c)return e;if(s.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 a=e.$types;if(!0===a)return finishRevival(e.$);const y=e.$symbolKeys;let l=void 0!==y;if(!a||\"object\"!=typeof a||Array.isArray(a)){if(!y)return finishRevival(e);a={}}const p=[],u=Object.create(null),h={};let f=!0;a.$&&isPlainObject(a.$)&&(e=e.$,a=a.$,f=!1,l=!1,void 0!==y&&isObject(e)&&!r(e,\"$symbolKeys\")&&(e.$symbolKeys=y,l=!0));const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(c&&!(\"revive\"in n))return t;if(!c&&n.reviveAsync)return n.reviveAsync(t,h);if(n.revive)return n.revive(t,h);throw new Error(\"Missing reviver\")},b=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const reHomeSymbolKeys=e=>{if(!isObject(e))return;const t=l?e.$symbolKeys:y;t&&(Object.entries(t).forEach(([t,n])=>{const o=getByKeyPath(e,t,!0);isObject(o)&&n.forEach(e=>{if(!r(e,\"value\"))return;const t=function resolveSymbolFromIdentity(e,t){if(\"for\"in e)return Symbol.for(e.for);if(\"wellKnown\"in e){const t=i.find(t=>t===e.wellKnown);if(!t)throw new Error(\"Unknown well-known Symbol: \"+e.wellKnown);return Symbol[t]}if(!r(t,e.registered))throw new Error(\"Unregistered symbol: \"+e.registered);return t[e.registered]}(e.key,this.symbolsByName),n=checkUndefined(e.value);e.descriptor?Object.defineProperty(o,t,{configurable:!0,enumerable:!0,writable:!0,...e.descriptor,value:n}):o[t]=n})}),l&&delete e.$symbolKeys)},d=(()=>{if(!a)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(a).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete a[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 o=getByKeyPath(e,n,!0);if(o=executeReviver(r,o),hasConstructorOf(o,TypesonPromise))return o.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const s=setAtKeyPath(e,n,o,!0);s===o&&(e=s)},void 0)})();let m;return hasConstructorOf(d,TypesonPromise)?m=d.then(()=>e):(m=function _revive(e,t,s,i,y){if(f&&\"$types\"===e)return;const l=b.length,h=r(a,e)?a[e]:void 0,d=o(t);if(d||isPlainObject(t)){const o=d?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],s??o,o,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(o,n,void 0):void 0!==e&&setOwnEnumerable(o,n,e),e);hasConstructorOf(r,TypesonPromise)?b.push(r.then(e=>set(e))):set(r)}),t=o;p.length;){const[[e,t,n,o]]=p,s=r(u,t),i=s?u[t]:getByKeyPath(e,t,!0);if(!s&&void 0===i)break;setOwnEnumerable(n,o,i),p.shift()}}if(!h)return u[e]=t,t;if(\"#\"===h){const e=t.slice(1),n=r(u,e),o=n?u[e]:getByKeyPath(s,e,!0);return n||void 0!==o||p.push([s,e,i,y]),o}const applyType=t=>{const n=[].concat(h).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=>(u[e]=t,t)):(u[e]=n,n)};return!c&&b.length>l?TypesonPromise.all(b.slice(l)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),b.length&&(m=TypesonPromise.resolve(m).then(e=>TypesonPromise.all([e,...b])).then(([e])=>e))),y&&(isThenable(m)?m=m.then(e=>(reHomeSymbolKeys(e),e)):reHomeSymbolKeys(m)),isThenable(m)?c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(m,TypesonPromise)?m.p.then(checkUndefined):m:!c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():c?checkUndefined(m):Promise.resolve(checkUndefined(m))}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=>{o(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(c.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(o(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const s={type:t,test:n.test.bind(n)};n.replace&&(s.replace=n.replace.bind(n)),n.replaceAsync&&(s.replaceAsync=n.replaceAsync.bind(n));const i=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(i,0,s):this.nonplainObjectReplacers.splice(i,0,s),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 c=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{c as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","/* globals AudioData -- Polyfills */\nimport {toStringTag} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst audiodata = {\n audiodata: {\n test (x) {\n return toStringTag(x) === 'AudioData';\n },\n replace (audioData) {\n const {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp\n } = audioData;\n\n // 2. Determine plane layout based on audio format\n const isPlanar = format.endsWith('-planar');\n const numPlanes = isPlanar ? numberOfChannels : 1;\n\n // 3. Per the AudioData API, planes are laid out back-to-back\n // within a single buffer, so compute their sizes up front\n const planeSizes = [];\n let totalSize = 0;\n for (let i = 0; i < numPlanes; i++) {\n const size = audioData.allocationSize({planeIndex: i});\n planeSizes.push(size);\n totalSize += size;\n }\n\n // 4. Copy the raw binary data out of each plane into its slot\n const data = new ArrayBuffer(totalSize);\n let offset = 0;\n for (let i = 0; i < numPlanes; i++) {\n const planeView = new Uint8Array(data, offset, planeSizes[i]);\n audioData.copyTo(planeView, {planeIndex: i});\n offset += planeSizes[i];\n }\n\n // 5. Return a clean, serializable manifest\n return {\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data\n };\n },\n revive ({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp, data\n }) {\n return new AudioData({\n format, sampleRate, numberOfFrames, numberOfChannels,\n timestamp,\n data: new Uint8Array(data)\n });\n }\n }\n};\n\nexport default audiodata;\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","audiodata","test","x","toString","call","slice","replace","audioData","format","sampleRate","numberOfFrames","numberOfChannels","timestamp","numPlanes","endsWith","planeSizes","totalSize","i","size","allocationSize","planeIndex","push","data","ArrayBuffer","offset","planeView","Uint8Array","copyTo","revive","_ref","AudioData"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"bigint-object.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/bigint-object.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 {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst bigintObject = {\n bigintObject: {\n test (x) {\n return typeof x === 'object' && hasConstructorOf(x, BigInt);\n },\n replace: String,\n revive (s) {\n return new Object(BigInt(/** @type {string} */ (s)));\n }\n }\n};\n\nexport default bigintObject;\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","hasOwn","getPrototypeOf","Undefined","bigintObject","test","x","_typeof","hasConstructorOf","s","o","Function","toString","call","BigInt","replace","String","revive"],"mappings":"6qBAAMA,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,EAAO,IAAQf,EAAGO,OAAViB,OAAiBX,EAAEN,OAAOkB,sBAKqhS1B,aAAA,SAAA2B,YAAAzB,gBAAAC,KAAAwB,UAAA,GAAYrB,kBAAkB,mBCAj1U,CACjBsB,aAAc,CACVC,KAAI,SAAJA,KAAMC,GACF,MAAoB,WAAbC,QAAOD,IDR89C,SAASE,iBAAiBhB,EAAEC,GAAG,IAAID,GAAG,kBAAiBA,GAAE,OAAM,EAAG,IAAMiB,EAAEnB,EAAEE,GAAG,IAAIiB,EAAE,OAAO,OAAOhB,EAAE,IAAMiB,EAAEjC,EAAEgC,EAAE,gBAAgBA,EAAEX,YAAY,MAAM,mBAAmBY,EAAE,OAAOjB,EAAEA,IAAIiB,GAAI,OAAOjB,GAAGkB,SAASzB,UAAU0B,SAASC,KAAKH,KAAKC,SAASzB,UAAU0B,SAASC,KAAKpB,IAAI,mBAAmBA,GAAG,iBAAiBiB,EAAE5B,mBAAmB4B,EAAE5B,oBAAoBW,EAAEX,iBAAkB,CCQl0D0B,CAAiBF,EAAGQ,OACxD,EACAC,QAASC,OACTC,OAAM,SAANA,OAAQR,GACJ,OAAO,IAAIzB,OAAO8B,OAA8BL,GACpD","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"bigint-object.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.3.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/bigint-object.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 o=t(n);if(!o)return null===r;const s=e(o,\"constructor\")&&o.constructor;return\"function\"!=typeof s?null===r:r===s||(null!==r&&Function.prototype.toString.call(s)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof s.__typeson__type__&&s.__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 o=n.indexOf(\".\"),s=unescapeKeyPathComponent(-1===o?n:n.slice(0,o));if(!r||e(t,s)){if(-1!==o){const e=t[s];return void 0===e?void 0:getByKeyPath(e,n.slice(o+1),r)}return t[s]}}function setAtKeyPath(t,n,r,o){if(\"\"===n)return r;let s=t,i=n;for(;;){if(!s||\"object\"!=typeof s)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 s[c]=r,t;if(o&&!e(s,c))throw new TypeError(\"Invalid property\");s=s[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:o}=Array,s=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"iterateSymbols\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}const i=[\"asyncIterator\",\"hasInstance\",\"isConcatSpreadable\",\"iterator\",\"match\",\"matchAll\",\"replace\",\"search\",\"species\",\"split\",\"toPrimitive\",\"toStringTag\",\"unscopables\"];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={},this.symbolsByName=Object.create(null),this.symbolsByValue=new Map;const t=e?.symbols;t&&Object.entries(t).forEach(([e,t])=>{if(\"symbol\"!=typeof t)throw new TypeError(\"Non-symbol value supplied for `symbols` entry: \"+e);this.symbolsByName[e]=t,this.symbolsByValue.set(t,e)})}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const s=this.encapsulate(e,null,r);return o(s)?JSON.stringify(s[0],t,n):s.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,c){const a={sync:!0,...this.options,...c},{sync:y}=a,l={},p={},u=[],h=[],f=[],b=!(\"cyclic\"in a)||a.cyclic,{encapsulateObserver:d,encapsulateError:m}=a,finish=e=>{const t=Object.values(l);if(a.iterateNone)return t.length?t[0]:getJSONType(e);if(a.returnTypeNames)return!!t.length&&[...new Set(t)];const n=Object.keys(p).length>0,o=isObject(e)&&(r(e,\"$types\")||r(e,\"$symbolKeys\"));return n||t.length?(!o&&e&&isPlainObject(e)?t.length&&(e.$types=l):e={$:e,$types:{$:l}},n&&(e.$symbolKeys=p)):o&&(e={$:e,$types:!0}),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=[],[o]=t.splice(0,1),[s,,i,c,a,y,l]=o,p=_encapsulate(s,n,i,c,r,!0,l),u=hasConstructorOf(p,TypesonPromise);if(s&&u){return setOwnEnumerable(a,y,await p.p),checkPromises(e,r)}return s?setOwnEnumerable(a,y,p):e=u?p.p:p,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=s.map(t=>{const n=e[t];return delete e[t],n});n(),s.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,s,c,y,f,b)=>{let v,O={};const w=d?function(n){const r=b??c.type??getJSONType(t);d(Object.assign(n??O,{keypath:e,value:t,cyclic:s,stateObj:c,promisesData:y,resolvingTypesonPromise:f,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(s),c,y,f)}}catch(r){if(!m)throw r;const o=b??c.type??getJSONType(t),s=m({keypath:e,error:r,parent:t,key:n,stateObj:c,type:o});if(!s)throw r;if(\"substitute\"in s)return{value:s.substitute,substitute:!0};if(s.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=c.replaced?t:replace(e,t,c,y,!1,f,w),v!==t&&(O={replaced:v})):v=t,w&&w(),v;if(null===t)return w&&w(),t;if(s&&t&&\"object\"==typeof t&&!c.iterateIn&&!c.iterateUnsetNumeric){const n=u.indexOf(t);if(-1!==n)return l[e]=\"#\",w&&w({cyclicKeypath:h[n]}),\"#\"+h[n];!0===s&&(u.push(t),h.push(e))}const g=isPlainObject(t),T=o(t),P=(g||T)&&(!this.plainObjectReplacers.length||c.replaced)||c.iterateIn?t:replace(e,t,c,y,g||T,null,w);let j;if(P!==t?(v=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(y.push([e,t,s,c,void 0,void 0,c.type]),v=t):T&&\"object\"!==c.iterateIn||\"array\"===c.iterateIn?(j=new Array(t.length),O={clone:j}):!g&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==c.iterateIn?v=t:(j={},c.addLength&&(j.length=t.length),O={clone:j}),w&&w(),a.iterateNone)return j??v;if(!j)return v;if(c.iterateIn){for(const n in t){const o={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(c,o,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),o=getEncapsulatedValue(r,t,n),i=o&&o.value;hasConstructorOf(i,TypesonPromise)?y.push([r,i,Boolean(s),c,j,n,c.type]):o&&(void 0!==i||\"substitute\"in o)&&setOwnEnumerable(j,n,i)})}w&&w({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),o=e&&e.value;hasConstructorOf(o,TypesonPromise)?y.push([r,o,Boolean(s),c,j,n,c.type]):e&&(void 0!==o||\"substitute\"in e)&&setOwnEnumerable(j,n,o)})}),w&&w({endIterateOwn:!0,end:!0}),(c.iterateSymbols||a.iterateSymbols)&&(Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e)).forEach(n=>{const r=function resolveSymbolIdentity(e,t){const n=Symbol.keyFor(e);if(void 0!==n)return{for:n};const r=i.find(t=>Symbol[t]===e);if(r)return{wellKnown:r};const o=t.get(e);return void 0!==o?{registered:o}:null}(n,this.symbolsByValue);if(!r){if(a.throwOnUnregisteredSymbol)throw new TypeError(\"Cannot serialize a Symbol-keyed property whose Symbol has no portable identity (not global, not well-known, and not in the `symbols` option): \"+String(n));return}const o=p[e]??=[],l={key:r};o.push(l);const u=o.length-1,h=`$symbolKeys.${escapeKeyPathComponent(e)}.${String(u)}.value`,f={value:t[n]};_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(h,f,\"value\"),t=e&&e.value;hasConstructorOf(t,TypesonPromise)?y.push([h,t,Boolean(s),c,l,\"value\",c.type]):e&&(void 0!==t||\"substitute\"in e)&&setOwnEnumerable(l,\"value\",t)})}),w&&w({endIterateSymbols:!0,end:!0}));if(c.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(c,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(s),c,y,f);hasConstructorOf(e,TypesonPromise)?y.push([n,e,Boolean(s),c,j,r,c.type]):void 0!==e&&setOwnEnumerable(j,r,e)})}w&&w({endIterateUnsetNumeric:!0,end:!0})}return j},replace=(e,t,n,r,o,s,i)=>{const c=o?this.plainObjectReplacers:this.nonplainObjectReplacers;let a=c.length;for(;a--;){const o=c[a];if(o.test(t,n)){const{type:c}=o;if(Object.hasOwn(this.revivers,c)){const t=l[e];l[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(y||!o.replaceAsync)&&!o.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,b&&\"readonly\",n,r,s,c);let a;if(i&&i({replacing:!0}),y||!o.replaceAsync){if(void 0===o.replace)throw new TypeError(\"Missing replacer\");a=o.replace(t,n)}else a=o.replaceAsync(t,n);return _encapsulate(e,a,b&&\"readonly\",n,r,s,c)}}return t},v=_encapsulate(\"\",e,b,t??{},f);if(f.length)return y&&a.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,f)).then(finish);if(!y&&a.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return y&&a.stringification?[finish(v)]:y?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 s={sync:!0,...this.options,...t},{sync:c}=s;function finishRevival(e){if(c)return e;if(s.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 a=e.$types;if(!0===a)return finishRevival(e.$);const y=e.$symbolKeys;let l=void 0!==y;if(!a||\"object\"!=typeof a||Array.isArray(a)){if(!y)return finishRevival(e);a={}}const p=[],u=Object.create(null),h={};let f=!0;a.$&&isPlainObject(a.$)&&(e=e.$,a=a.$,f=!1,l=!1,void 0!==y&&isObject(e)&&!r(e,\"$symbolKeys\")&&(e.$symbolKeys=y,l=!0));const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(c&&!(\"revive\"in n))return t;if(!c&&n.reviveAsync)return n.reviveAsync(t,h);if(n.revive)return n.revive(t,h);throw new Error(\"Missing reviver\")},b=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const reHomeSymbolKeys=e=>{if(!isObject(e))return;const t=l?e.$symbolKeys:y;t&&(Object.entries(t).forEach(([t,n])=>{const o=getByKeyPath(e,t,!0);isObject(o)&&n.forEach(e=>{if(!r(e,\"value\"))return;const t=function resolveSymbolFromIdentity(e,t){if(\"for\"in e)return Symbol.for(e.for);if(\"wellKnown\"in e){const t=i.find(t=>t===e.wellKnown);if(!t)throw new Error(\"Unknown well-known Symbol: \"+e.wellKnown);return Symbol[t]}if(!r(t,e.registered))throw new Error(\"Unregistered symbol: \"+e.registered);return t[e.registered]}(e.key,this.symbolsByName),n=checkUndefined(e.value);e.descriptor?Object.defineProperty(o,t,{configurable:!0,enumerable:!0,writable:!0,...e.descriptor,value:n}):o[t]=n})}),l&&delete e.$symbolKeys)},d=(()=>{if(!a)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(a).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete a[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 o=getByKeyPath(e,n,!0);if(o=executeReviver(r,o),hasConstructorOf(o,TypesonPromise))return o.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const s=setAtKeyPath(e,n,o,!0);s===o&&(e=s)},void 0)})();let m;return hasConstructorOf(d,TypesonPromise)?m=d.then(()=>e):(m=function _revive(e,t,s,i,y){if(f&&\"$types\"===e)return;const l=b.length,h=r(a,e)?a[e]:void 0,d=o(t);if(d||isPlainObject(t)){const o=d?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],s??o,o,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(o,n,void 0):void 0!==e&&setOwnEnumerable(o,n,e),e);hasConstructorOf(r,TypesonPromise)?b.push(r.then(e=>set(e))):set(r)}),t=o;p.length;){const[[e,t,n,o]]=p,s=r(u,t),i=s?u[t]:getByKeyPath(e,t,!0);if(!s&&void 0===i)break;setOwnEnumerable(n,o,i),p.shift()}}if(!h)return u[e]=t,t;if(\"#\"===h){const e=t.slice(1),n=r(u,e),o=n?u[e]:getByKeyPath(s,e,!0);return n||void 0!==o||p.push([s,e,i,y]),o}const applyType=t=>{const n=[].concat(h).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=>(u[e]=t,t)):(u[e]=n,n)};return!c&&b.length>l?TypesonPromise.all(b.slice(l)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),b.length&&(m=TypesonPromise.resolve(m).then(e=>TypesonPromise.all([e,...b])).then(([e])=>e))),y&&(isThenable(m)?m=m.then(e=>(reHomeSymbolKeys(e),e)):reHomeSymbolKeys(m)),isThenable(m)?c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(m,TypesonPromise)?m.p.then(checkUndefined):m:!c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():c?checkUndefined(m):Promise.resolve(checkUndefined(m))}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=>{o(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(c.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(o(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const s={type:t,test:n.test.bind(n)};n.replace&&(s.replace=n.replace.bind(n)),n.replaceAsync&&(s.replaceAsync=n.replaceAsync.bind(n));const i=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(i,0,s):this.nonplainObjectReplacers.splice(i,0,s),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 c=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{c as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","import {hasConstructorOf} from 'typeson';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst bigintObject = {\n bigintObject: {\n test (x) {\n return typeof x === 'object' && hasConstructorOf(x, BigInt);\n },\n replace: String,\n revive (s) {\n return new Object(BigInt(/** @type {string} */ (s)));\n }\n }\n};\n\nexport default bigintObject;\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","hasOwn","getPrototypeOf","Undefined","bigintObject","test","x","_typeof","hasConstructorOf","o","s","Function","toString","call","BigInt","replace","String","revive"],"mappings":"6qBAAMA,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,EAAO,IAAQf,EAAGO,OAAViB,OAAiBX,EAAEN,OAAOkB,sBAK+7W1B,aAAA,SAAA2B,YAAAzB,gBAAAC,KAAAwB,UAAA,GAAYrB,kBAAkB,mBCA3vZ,CACjBsB,aAAc,CACVC,KAAI,SAAJA,KAAMC,GACF,MAAoB,WAAbC,QAAOD,IDR89C,SAASE,iBAAiBhB,EAAEC,GAAG,IAAID,GAAG,kBAAiBA,GAAE,OAAM,EAAG,IAAMiB,EAAEnB,EAAEE,GAAG,IAAIiB,EAAE,OAAO,OAAOhB,EAAE,IAAMiB,EAAEjC,EAAEgC,EAAE,gBAAgBA,EAAEX,YAAY,MAAM,mBAAmBY,EAAE,OAAOjB,EAAEA,IAAIiB,GAAI,OAAOjB,GAAGkB,SAASzB,UAAU0B,SAASC,KAAKH,KAAKC,SAASzB,UAAU0B,SAASC,KAAKpB,IAAI,mBAAmBA,GAAG,iBAAiBiB,EAAE5B,mBAAmB4B,EAAE5B,oBAAoBW,EAAEX,iBAAkB,CCQl0D0B,CAAiBF,EAAGQ,OACxD,EACAC,QAASC,OACTC,OAAM,SAANA,OAAQP,GACJ,OAAO,IAAI1B,OAAO8B,OAA8BJ,GACpD","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"blob.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../utils/stringArrayBuffer.js","../../types/blob.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","/**\n * Not currently in use internally, but provided for parity.\n * @param {ArrayBuffer} buf\n * @returns {string}\n */\nfunction arraybuffer2string (buf) {\n return new Uint8Array(buf).reduce(\n (s, byte) => s + String.fromCodePoint(byte), ''\n );\n}\n\n/**\n *\n * @param {string} str\n * @returns {ArrayBuffer}\n */\nfunction string2arraybuffer (str) {\n /*\n // UTF-8 approaches\n const utf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(utf8.length);\n for (let i = 0; i < utf8.length; i++) {\n arr[i] = utf8.charCodeAt(i);\n }\n return arr.buffer;\n\n const utf8 = [];\n for (let i = 0; i < str.length; i++) {\n let charcode = str.charCodeAt(i);\n if (charcode < 0x80) utf8.push(charcode);\n else if (charcode < 0x800) {\n utf8.push(0xc0 | (charcode >> 6),\n 0x80 | (charcode & 0x3f));\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n utf8.push(0xe0 | (charcode >> 12),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n // surrogate pair\n } else {\n i++;\n // UTF-16 encodes 0x10000-0x10FFFF by\n // subtracting 0x10000 and splitting the\n // 20 bits of 0x0-0xFFFFF into two halves\n charcode = 0x10000 + (((charcode & 0x3ff) << 10) |\n (str.charCodeAt(i) & 0x3ff));\n utf8.push(0xf0 | (charcode >> 18),\n 0x80 | ((charcode >> 12) & 0x3f),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n }\n }\n return utf8;\n */\n /*\n // Working UTF-16 options (equivalents)\n const buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char\n const bufView = new Uint16Array(buf);\n for (let i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n */\n\n const array = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-code-point -- Iterating char. codes\n array[i] = str.charCodeAt(i); // & 0xff;\n }\n return array.buffer;\n}\nexport {arraybuffer2string, string2arraybuffer};\n","/* globals XMLHttpRequest, FileReader -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\nimport {\n string2arraybuffer, arraybuffer2string\n} from '../utils/stringArrayBuffer.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst blob = {\n blob: {\n test (x) { return toStringTag(x) === 'Blob'; },\n replace (b) { // Sync\n const req = new XMLHttpRequest();\n req.overrideMimeType('text/plain; charset=x-user-defined');\n req.open('GET', URL.createObjectURL(b), false); // Sync\n req.send();\n\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad Blob access: ' + req.status);\n }\n return {\n type: b.type,\n stringContents: req.responseText\n };\n },\n revive (obj) {\n const {\n type, stringContents\n } = /** @type {{type: string, stringContents: string}} */ (obj);\n return new Blob([string2arraybuffer(stringContents)], {type});\n },\n replaceAsync (b) {\n return new TypesonPromise((resolve, reject) => {\n /*\n if (b.isClosed) { // On MDN, but not in https://w3c.github.io/FileAPI/#dfn-Blob\n reject(new Error('The Blob is closed'));\n return;\n }\n */\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n resolve({\n type: b.type,\n stringContents: arraybuffer2string(\n /** @type {ArrayBuffer} */ (reader.result)\n )\n });\n });\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods -- Too new?\n reader.readAsArrayBuffer(b);\n });\n }\n }\n};\n\nexport default blob;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","string2arraybuffer","str","array","Uint8Array","length","i","charCodeAt","buffer","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","blob","test","x","toString","call","slice","replace","b","req","XMLHttpRequest","overrideMimeType","open","URL","createObjectURL","send","status","Error","type","stringContents","responseText","revive","obj","Blob","replaceAsync","reader","FileReader","addEventListener","buf","result","reduce","s","byte","String","fromCodePoint","error","readAsArrayBuffer"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"blob.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.3.0/node_modules/typeson/dist/typeson.esm.min.js","../../utils/stringArrayBuffer.js","../../types/blob.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 o=t(n);if(!o)return null===r;const s=e(o,\"constructor\")&&o.constructor;return\"function\"!=typeof s?null===r:r===s||(null!==r&&Function.prototype.toString.call(s)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof s.__typeson__type__&&s.__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 o=n.indexOf(\".\"),s=unescapeKeyPathComponent(-1===o?n:n.slice(0,o));if(!r||e(t,s)){if(-1!==o){const e=t[s];return void 0===e?void 0:getByKeyPath(e,n.slice(o+1),r)}return t[s]}}function setAtKeyPath(t,n,r,o){if(\"\"===n)return r;let s=t,i=n;for(;;){if(!s||\"object\"!=typeof s)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 s[c]=r,t;if(o&&!e(s,c))throw new TypeError(\"Invalid property\");s=s[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:o}=Array,s=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"iterateSymbols\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}const i=[\"asyncIterator\",\"hasInstance\",\"isConcatSpreadable\",\"iterator\",\"match\",\"matchAll\",\"replace\",\"search\",\"species\",\"split\",\"toPrimitive\",\"toStringTag\",\"unscopables\"];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={},this.symbolsByName=Object.create(null),this.symbolsByValue=new Map;const t=e?.symbols;t&&Object.entries(t).forEach(([e,t])=>{if(\"symbol\"!=typeof t)throw new TypeError(\"Non-symbol value supplied for `symbols` entry: \"+e);this.symbolsByName[e]=t,this.symbolsByValue.set(t,e)})}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const s=this.encapsulate(e,null,r);return o(s)?JSON.stringify(s[0],t,n):s.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,c){const a={sync:!0,...this.options,...c},{sync:y}=a,l={},p={},u=[],h=[],f=[],b=!(\"cyclic\"in a)||a.cyclic,{encapsulateObserver:d,encapsulateError:m}=a,finish=e=>{const t=Object.values(l);if(a.iterateNone)return t.length?t[0]:getJSONType(e);if(a.returnTypeNames)return!!t.length&&[...new Set(t)];const n=Object.keys(p).length>0,o=isObject(e)&&(r(e,\"$types\")||r(e,\"$symbolKeys\"));return n||t.length?(!o&&e&&isPlainObject(e)?t.length&&(e.$types=l):e={$:e,$types:{$:l}},n&&(e.$symbolKeys=p)):o&&(e={$:e,$types:!0}),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=[],[o]=t.splice(0,1),[s,,i,c,a,y,l]=o,p=_encapsulate(s,n,i,c,r,!0,l),u=hasConstructorOf(p,TypesonPromise);if(s&&u){return setOwnEnumerable(a,y,await p.p),checkPromises(e,r)}return s?setOwnEnumerable(a,y,p):e=u?p.p:p,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=s.map(t=>{const n=e[t];return delete e[t],n});n(),s.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,s,c,y,f,b)=>{let v,O={};const w=d?function(n){const r=b??c.type??getJSONType(t);d(Object.assign(n??O,{keypath:e,value:t,cyclic:s,stateObj:c,promisesData:y,resolvingTypesonPromise:f,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(s),c,y,f)}}catch(r){if(!m)throw r;const o=b??c.type??getJSONType(t),s=m({keypath:e,error:r,parent:t,key:n,stateObj:c,type:o});if(!s)throw r;if(\"substitute\"in s)return{value:s.substitute,substitute:!0};if(s.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=c.replaced?t:replace(e,t,c,y,!1,f,w),v!==t&&(O={replaced:v})):v=t,w&&w(),v;if(null===t)return w&&w(),t;if(s&&t&&\"object\"==typeof t&&!c.iterateIn&&!c.iterateUnsetNumeric){const n=u.indexOf(t);if(-1!==n)return l[e]=\"#\",w&&w({cyclicKeypath:h[n]}),\"#\"+h[n];!0===s&&(u.push(t),h.push(e))}const g=isPlainObject(t),T=o(t),P=(g||T)&&(!this.plainObjectReplacers.length||c.replaced)||c.iterateIn?t:replace(e,t,c,y,g||T,null,w);let j;if(P!==t?(v=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(y.push([e,t,s,c,void 0,void 0,c.type]),v=t):T&&\"object\"!==c.iterateIn||\"array\"===c.iterateIn?(j=new Array(t.length),O={clone:j}):!g&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==c.iterateIn?v=t:(j={},c.addLength&&(j.length=t.length),O={clone:j}),w&&w(),a.iterateNone)return j??v;if(!j)return v;if(c.iterateIn){for(const n in t){const o={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(c,o,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),o=getEncapsulatedValue(r,t,n),i=o&&o.value;hasConstructorOf(i,TypesonPromise)?y.push([r,i,Boolean(s),c,j,n,c.type]):o&&(void 0!==i||\"substitute\"in o)&&setOwnEnumerable(j,n,i)})}w&&w({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),o=e&&e.value;hasConstructorOf(o,TypesonPromise)?y.push([r,o,Boolean(s),c,j,n,c.type]):e&&(void 0!==o||\"substitute\"in e)&&setOwnEnumerable(j,n,o)})}),w&&w({endIterateOwn:!0,end:!0}),(c.iterateSymbols||a.iterateSymbols)&&(Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e)).forEach(n=>{const r=function resolveSymbolIdentity(e,t){const n=Symbol.keyFor(e);if(void 0!==n)return{for:n};const r=i.find(t=>Symbol[t]===e);if(r)return{wellKnown:r};const o=t.get(e);return void 0!==o?{registered:o}:null}(n,this.symbolsByValue);if(!r){if(a.throwOnUnregisteredSymbol)throw new TypeError(\"Cannot serialize a Symbol-keyed property whose Symbol has no portable identity (not global, not well-known, and not in the `symbols` option): \"+String(n));return}const o=p[e]??=[],l={key:r};o.push(l);const u=o.length-1,h=`$symbolKeys.${escapeKeyPathComponent(e)}.${String(u)}.value`,f={value:t[n]};_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(h,f,\"value\"),t=e&&e.value;hasConstructorOf(t,TypesonPromise)?y.push([h,t,Boolean(s),c,l,\"value\",c.type]):e&&(void 0!==t||\"substitute\"in e)&&setOwnEnumerable(l,\"value\",t)})}),w&&w({endIterateSymbols:!0,end:!0}));if(c.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(c,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(s),c,y,f);hasConstructorOf(e,TypesonPromise)?y.push([n,e,Boolean(s),c,j,r,c.type]):void 0!==e&&setOwnEnumerable(j,r,e)})}w&&w({endIterateUnsetNumeric:!0,end:!0})}return j},replace=(e,t,n,r,o,s,i)=>{const c=o?this.plainObjectReplacers:this.nonplainObjectReplacers;let a=c.length;for(;a--;){const o=c[a];if(o.test(t,n)){const{type:c}=o;if(Object.hasOwn(this.revivers,c)){const t=l[e];l[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(y||!o.replaceAsync)&&!o.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,b&&\"readonly\",n,r,s,c);let a;if(i&&i({replacing:!0}),y||!o.replaceAsync){if(void 0===o.replace)throw new TypeError(\"Missing replacer\");a=o.replace(t,n)}else a=o.replaceAsync(t,n);return _encapsulate(e,a,b&&\"readonly\",n,r,s,c)}}return t},v=_encapsulate(\"\",e,b,t??{},f);if(f.length)return y&&a.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,f)).then(finish);if(!y&&a.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return y&&a.stringification?[finish(v)]:y?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 s={sync:!0,...this.options,...t},{sync:c}=s;function finishRevival(e){if(c)return e;if(s.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 a=e.$types;if(!0===a)return finishRevival(e.$);const y=e.$symbolKeys;let l=void 0!==y;if(!a||\"object\"!=typeof a||Array.isArray(a)){if(!y)return finishRevival(e);a={}}const p=[],u=Object.create(null),h={};let f=!0;a.$&&isPlainObject(a.$)&&(e=e.$,a=a.$,f=!1,l=!1,void 0!==y&&isObject(e)&&!r(e,\"$symbolKeys\")&&(e.$symbolKeys=y,l=!0));const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(c&&!(\"revive\"in n))return t;if(!c&&n.reviveAsync)return n.reviveAsync(t,h);if(n.revive)return n.revive(t,h);throw new Error(\"Missing reviver\")},b=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const reHomeSymbolKeys=e=>{if(!isObject(e))return;const t=l?e.$symbolKeys:y;t&&(Object.entries(t).forEach(([t,n])=>{const o=getByKeyPath(e,t,!0);isObject(o)&&n.forEach(e=>{if(!r(e,\"value\"))return;const t=function resolveSymbolFromIdentity(e,t){if(\"for\"in e)return Symbol.for(e.for);if(\"wellKnown\"in e){const t=i.find(t=>t===e.wellKnown);if(!t)throw new Error(\"Unknown well-known Symbol: \"+e.wellKnown);return Symbol[t]}if(!r(t,e.registered))throw new Error(\"Unregistered symbol: \"+e.registered);return t[e.registered]}(e.key,this.symbolsByName),n=checkUndefined(e.value);e.descriptor?Object.defineProperty(o,t,{configurable:!0,enumerable:!0,writable:!0,...e.descriptor,value:n}):o[t]=n})}),l&&delete e.$symbolKeys)},d=(()=>{if(!a)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(a).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete a[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 o=getByKeyPath(e,n,!0);if(o=executeReviver(r,o),hasConstructorOf(o,TypesonPromise))return o.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const s=setAtKeyPath(e,n,o,!0);s===o&&(e=s)},void 0)})();let m;return hasConstructorOf(d,TypesonPromise)?m=d.then(()=>e):(m=function _revive(e,t,s,i,y){if(f&&\"$types\"===e)return;const l=b.length,h=r(a,e)?a[e]:void 0,d=o(t);if(d||isPlainObject(t)){const o=d?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],s??o,o,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(o,n,void 0):void 0!==e&&setOwnEnumerable(o,n,e),e);hasConstructorOf(r,TypesonPromise)?b.push(r.then(e=>set(e))):set(r)}),t=o;p.length;){const[[e,t,n,o]]=p,s=r(u,t),i=s?u[t]:getByKeyPath(e,t,!0);if(!s&&void 0===i)break;setOwnEnumerable(n,o,i),p.shift()}}if(!h)return u[e]=t,t;if(\"#\"===h){const e=t.slice(1),n=r(u,e),o=n?u[e]:getByKeyPath(s,e,!0);return n||void 0!==o||p.push([s,e,i,y]),o}const applyType=t=>{const n=[].concat(h).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=>(u[e]=t,t)):(u[e]=n,n)};return!c&&b.length>l?TypesonPromise.all(b.slice(l)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),b.length&&(m=TypesonPromise.resolve(m).then(e=>TypesonPromise.all([e,...b])).then(([e])=>e))),y&&(isThenable(m)?m=m.then(e=>(reHomeSymbolKeys(e),e)):reHomeSymbolKeys(m)),isThenable(m)?c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(m,TypesonPromise)?m.p.then(checkUndefined):m:!c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():c?checkUndefined(m):Promise.resolve(checkUndefined(m))}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=>{o(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(c.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(o(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const s={type:t,test:n.test.bind(n)};n.replace&&(s.replace=n.replace.bind(n)),n.replaceAsync&&(s.replaceAsync=n.replaceAsync.bind(n));const i=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(i,0,s):this.nonplainObjectReplacers.splice(i,0,s),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 c=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{c as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","/**\n * Not currently in use internally, but provided for parity.\n * @param {ArrayBuffer} buf\n * @returns {string}\n */\nfunction arraybuffer2string (buf) {\n return new Uint8Array(buf).reduce(\n (s, byte) => s + String.fromCodePoint(byte), ''\n );\n}\n\n/**\n *\n * @param {string} str\n * @returns {ArrayBuffer}\n */\nfunction string2arraybuffer (str) {\n /*\n // UTF-8 approaches\n const utf8 = unescape(encodeURIComponent(str));\n const arr = new Uint8Array(utf8.length);\n for (let i = 0; i < utf8.length; i++) {\n arr[i] = utf8.charCodeAt(i);\n }\n return arr.buffer;\n\n const utf8 = [];\n for (let i = 0; i < str.length; i++) {\n let charcode = str.charCodeAt(i);\n if (charcode < 0x80) utf8.push(charcode);\n else if (charcode < 0x800) {\n utf8.push(0xc0 | (charcode >> 6),\n 0x80 | (charcode & 0x3f));\n } else if (charcode < 0xd800 || charcode >= 0xe000) {\n utf8.push(0xe0 | (charcode >> 12),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n // surrogate pair\n } else {\n i++;\n // UTF-16 encodes 0x10000-0x10FFFF by\n // subtracting 0x10000 and splitting the\n // 20 bits of 0x0-0xFFFFF into two halves\n charcode = 0x10000 + (((charcode & 0x3ff) << 10) |\n (str.charCodeAt(i) & 0x3ff));\n utf8.push(0xf0 | (charcode >> 18),\n 0x80 | ((charcode >> 12) & 0x3f),\n 0x80 | ((charcode >> 6) & 0x3f),\n 0x80 | (charcode & 0x3f));\n }\n }\n return utf8;\n */\n /*\n // Working UTF-16 options (equivalents)\n const buf = new ArrayBuffer(str.length * 2); // 2 bytes for each char\n const bufView = new Uint16Array(buf);\n for (let i = 0, strLen = str.length; i < strLen; i++) {\n bufView[i] = str.charCodeAt(i);\n }\n return buf;\n */\n\n const array = new Uint8Array(str.length);\n for (let i = 0; i < str.length; i++) {\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-code-point -- Iterating char. codes\n array[i] = str.charCodeAt(i); // & 0xff;\n }\n return array.buffer;\n}\nexport {arraybuffer2string, string2arraybuffer};\n","/* globals XMLHttpRequest, FileReader -- Polyfills */\nimport {TypesonPromise, toStringTag} from 'typeson';\nimport {\n string2arraybuffer, arraybuffer2string\n} from '../utils/stringArrayBuffer.js';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst blob = {\n blob: {\n test (x) { return toStringTag(x) === 'Blob'; },\n replace (b) { // Sync\n const req = new XMLHttpRequest();\n req.overrideMimeType('text/plain; charset=x-user-defined');\n req.open('GET', URL.createObjectURL(b), false); // Sync\n req.send();\n\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n if (req.status !== 200 && req.status !== 0) {\n throw new Error('Bad Blob access: ' + req.status);\n }\n return {\n type: b.type,\n stringContents: req.responseText\n };\n },\n revive (obj) {\n const {\n type, stringContents\n } = /** @type {{type: string, stringContents: string}} */ (obj);\n return new Blob([string2arraybuffer(stringContents)], {type});\n },\n replaceAsync (b) {\n return new TypesonPromise((resolve, reject) => {\n /*\n if (b.isClosed) { // On MDN, but not in https://w3c.github.io/FileAPI/#dfn-Blob\n reject(new Error('The Blob is closed'));\n return;\n }\n */\n const reader = new FileReader();\n reader.addEventListener('load', () => {\n resolve({\n type: b.type,\n stringContents: arraybuffer2string(\n /** @type {ArrayBuffer} */ (reader.result)\n )\n });\n });\n // Seems not feasible to accurately simulate\n /* c8 ignore next 3 */\n reader.addEventListener('error', () => {\n reject(reader.error);\n });\n // eslint-disable-next-line @stylistic/max-len -- Long\n // eslint-disable-next-line unicorn/prefer-blob-reading-methods -- Too new?\n reader.readAsArrayBuffer(b);\n });\n }\n }\n};\n\nexport default blob;\n"],"names":["TypesonPromise","_createClass","e","_classCallCheck","this","p","Promise","string2arraybuffer","str","array","Uint8Array","length","i","charCodeAt","buffer","__typeson__type__","Symbol","Object","defineProperty","prototype","toStringTag","get","then","t","_this","n","r","reject","resolve","all","map","constructor","race","allSettled","Undefined","blob","test","x","toString","call","slice","replace","b","req","XMLHttpRequest","overrideMimeType","open","URL","createObjectURL","send","status","Error","type","stringContents","responseText","revive","obj","Blob","replaceAsync","reader","FileReader","addEventListener","buf","result","reduce","s","byte","String","fromCodePoint","error","readAsArrayBuffer"],"mappings":"6aAAMA,EAAcC,aAAC,SAAAD,eAAYE,GAAEC,gBAAAC,KAAAJ,gBAACI,KAAKC,EAAE,IAAIC,QAAQJ,EAAE,GCgBzD,SAASK,mBAAoBC,GAgDzB,IADA,IAAMC,EAAQ,IAAIC,WAAWF,EAAIG,QACxBC,EAAI,EAAGA,EAAIJ,EAAIG,OAAQC,IAG5BH,EAAMG,GAAKJ,EAAIK,WAAWD,GAE9B,OAAOH,EAAMK,MACjB,QDtE2Dd,EAAee,kBAAkB,iBAAiB,oBAAoBC,QAAQC,OAAOC,eAAelB,EAAemB,UAAUH,OAAOI,YAAY,CAACC,IAAI,SAAJA,MAAG,MAAK,gBAAgB,IAAGrB,EAAemB,UAAUG,KAAK,SAASpB,EAAEqB,GAAE,IAAAC,EAAApB,KAAC,OAAO,IAAIJ,EAAe,SAACyB,EAAEC,GAAKF,EAAKnB,EAAEiB,KAAK,SAASC,GAAGE,EAAEvB,EAAEA,EAAEqB,GAAGA,EAAE,GAAE,MAAO,SAASrB,GAAG,OAAOqB,EAAEA,EAAErB,GAAGI,QAAQqB,OAAOzB,EAAE,GAAGoB,KAAKG,EAAEC,EAAE,EAAE,EAAE1B,EAAemB,gBAAgB,SAASjB,GAAG,OAAOE,KAAKkB,UAAK,EAAOpB,EAAE,EAAEF,EAAe4B,QAAQ,SAAS1B,GAAG,OAAO,IAAIF,EAAe,SAAAuB,GAAIA,EAAErB,EAAE,EAAE,EAAEF,EAAe2B,OAAO,SAASzB,GAAG,OAAO,IAAIF,EAAe,SAACuB,EAAEE,GAAKA,EAAEvB,EAAE,EAAE,EAAEF,EAAe6B,IAAI,SAAS3B,GAAG,OAAO,IAAIF,EAAe,SAASuB,EAAEE,GAAGnB,QAAQuB,IAAI3B,EAAE4B,IAAI,SAAA5B,GAAC,OAAEA,SAAAA,EAAG6B,aAAa,sBAAsB7B,EAAE6B,aAAa,mBAAmB7B,EAAE6B,YAAYhB,kBAAkBb,EAAEG,EAAEH,CAAC,IAAGoB,KAAKC,EAAEE,EAAE,EAAE,EAAEzB,EAAegC,KAAK,SAAS9B,GAAG,OAAO,IAAIF,EAAe,SAASuB,EAAEE,GAAGnB,QAAQ0B,KAAK9B,EAAE4B,IAAI,SAAA5B,GAAC,OAAEA,SAAAA,EAAG6B,aAAa,sBAAsB7B,EAAE6B,aAAa,mBAAmB7B,EAAE6B,YAAYhB,kBAAkBb,EAAEG,EAAEH,CAAC,IAAGoB,KAAKC,EAAEE,EAAE,EAAE,EAAEzB,EAAeiC,WAAW,SAAS/B,GAAG,OAAO,IAAIF,EAAe,SAASuB,EAAEE,GAAGnB,QAAQ2B,WAAW/B,EAAE4B,IAAI,SAAA5B,GAAC,OAAEA,SAAAA,EAAG6B,aAAa,sBAAsB7B,EAAE6B,aAAa,mBAAmB7B,EAAE6B,YAAYhB,kBAAkBb,EAAEG,EAAEH,CAAC,IAAGoB,KAAKC,EAAEE,EAAE,EAAE,EAKi+WxB,aAAA,SAAAiC,YAAA/B,gBAAAC,KAAA8B,UAAA,GAAYnB,kBAAkB,mBEInwZ,CACToB,KAAM,CACFC,KAAI,SAAJA,KAAMC,GAAK,MAA0B,SFX83C,SAASjB,YAAYlB,GAAG,OAAOe,OAAOE,UAAUmB,SAASC,KAAKrC,GAAGsC,MAAM,KAAK,CEW79CpB,CAAYiB,EAAe,EAC7CI,QAAO,SAAPA,QAASC,GACL,IAAMC,EAAM,IAAIC,eAOhB,GANAD,EAAIE,iBAAiB,sCACrBF,EAAIG,KAAK,MAAOC,IAAIC,gBAAgBN,IAAI,GACxCC,EAAIM,OAIe,MAAfN,EAAIO,QAAiC,IAAfP,EAAIO,OAC1B,MAAM,IAAIC,MAAM,oBAAsBR,EAAIO,QAE9C,MAAO,CACHE,KAAMV,EAAEU,KACRC,eAAgBV,EAAIW,aAE5B,EACAC,OAAM,SAANA,OAAQC,GACJ,IACIJ,EAAI,EAAJA,KAAMC,EAAc,EAAdA,eAEV,OAAO,IAAII,KAAK,CAAClD,mBAAmB8C,IAAkB,CAACD,KAAAA,GAC3D,EACAM,aAAY,SAAZA,aAAchB,GACV,OAAO,IAAI1C,EAAe,SAAC4B,EAASD,GAOhC,IAAMgC,EAAS,IAAIC,WACnBD,EAAOE,iBAAiB,OAAQ,WDtChD,IAA6BC,ECuCTlC,EAAQ,CACJwB,KAAMV,EAAEU,KACRC,gBDzCKS,EC0C2BH,EAAOI,ODzCpD,IAAIrD,WAAWoD,GAAKE,OACvB,SAACC,EAAGC,GAAI,OAAKD,EAAIE,OAAOC,cAAcF,EAAK,EAAE,MC2CrC,GAGAP,EAAOE,iBAAiB,QAAS,WAC7BlC,EAAOgC,EAAOU,MAClB,GAGAV,EAAOW,kBAAkB5B,EAC7B,EACJ","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"cryptokey.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/cryptokey.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 cryptokey = {\n cryptokey: {\n test (x) {\n return toStringTag(x) === 'CryptoKey' && x.extractable;\n },\n replaceAsync (\n /** @type {CryptoKey} */\n key\n ) {\n return new TypesonPromise(async (resolve, reject) => {\n /** @type {JsonWebKey} */\n let jwk;\n try {\n jwk = await crypto.subtle.exportKey('jwk', key);\n // Our format should be valid and our key extractable\n /* c8 ignore next 4 */\n } catch (err) {\n reject(err);\n return;\n }\n resolve({\n jwk,\n algorithm: key.algorithm,\n usages: key.usages\n });\n });\n },\n revive (obj) {\n const {\n jwk, algorithm, usages\n } = /**\n * @type {{\n * jwk: JsonWebKey,\n * algorithm: KeyAlgorithm,\n * usages: KeyUsage[]\n * }}\n */ (obj);\n\n return crypto.subtle.importKey(\n 'jwk', jwk, algorithm, true, usages\n );\n }\n }\n};\n\nexport default cryptokey;\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","cryptokey","test","x","toString","call","slice","extractable","replaceAsync","key","_ref","_asyncToGenerator","_regenerator","m","_callee","jwk","_t","w","_context","crypto","subtle","exportKey","v","a","algorithm","usages","_x","_x2","apply","arguments","revive","obj","importKey"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"cryptokey.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.3.0/node_modules/typeson/dist/typeson.esm.min.js","../../types/cryptokey.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 o=t(n);if(!o)return null===r;const s=e(o,\"constructor\")&&o.constructor;return\"function\"!=typeof s?null===r:r===s||(null!==r&&Function.prototype.toString.call(s)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof s.__typeson__type__&&s.__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 o=n.indexOf(\".\"),s=unescapeKeyPathComponent(-1===o?n:n.slice(0,o));if(!r||e(t,s)){if(-1!==o){const e=t[s];return void 0===e?void 0:getByKeyPath(e,n.slice(o+1),r)}return t[s]}}function setAtKeyPath(t,n,r,o){if(\"\"===n)return r;let s=t,i=n;for(;;){if(!s||\"object\"!=typeof s)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 s[c]=r,t;if(o&&!e(s,c))throw new TypeError(\"Invalid property\");s=s[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:o}=Array,s=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"iterateSymbols\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}const i=[\"asyncIterator\",\"hasInstance\",\"isConcatSpreadable\",\"iterator\",\"match\",\"matchAll\",\"replace\",\"search\",\"species\",\"split\",\"toPrimitive\",\"toStringTag\",\"unscopables\"];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={},this.symbolsByName=Object.create(null),this.symbolsByValue=new Map;const t=e?.symbols;t&&Object.entries(t).forEach(([e,t])=>{if(\"symbol\"!=typeof t)throw new TypeError(\"Non-symbol value supplied for `symbols` entry: \"+e);this.symbolsByName[e]=t,this.symbolsByValue.set(t,e)})}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const s=this.encapsulate(e,null,r);return o(s)?JSON.stringify(s[0],t,n):s.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,c){const a={sync:!0,...this.options,...c},{sync:y}=a,l={},p={},u=[],h=[],f=[],b=!(\"cyclic\"in a)||a.cyclic,{encapsulateObserver:d,encapsulateError:m}=a,finish=e=>{const t=Object.values(l);if(a.iterateNone)return t.length?t[0]:getJSONType(e);if(a.returnTypeNames)return!!t.length&&[...new Set(t)];const n=Object.keys(p).length>0,o=isObject(e)&&(r(e,\"$types\")||r(e,\"$symbolKeys\"));return n||t.length?(!o&&e&&isPlainObject(e)?t.length&&(e.$types=l):e={$:e,$types:{$:l}},n&&(e.$symbolKeys=p)):o&&(e={$:e,$types:!0}),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=[],[o]=t.splice(0,1),[s,,i,c,a,y,l]=o,p=_encapsulate(s,n,i,c,r,!0,l),u=hasConstructorOf(p,TypesonPromise);if(s&&u){return setOwnEnumerable(a,y,await p.p),checkPromises(e,r)}return s?setOwnEnumerable(a,y,p):e=u?p.p:p,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=s.map(t=>{const n=e[t];return delete e[t],n});n(),s.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,s,c,y,f,b)=>{let v,O={};const w=d?function(n){const r=b??c.type??getJSONType(t);d(Object.assign(n??O,{keypath:e,value:t,cyclic:s,stateObj:c,promisesData:y,resolvingTypesonPromise:f,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(s),c,y,f)}}catch(r){if(!m)throw r;const o=b??c.type??getJSONType(t),s=m({keypath:e,error:r,parent:t,key:n,stateObj:c,type:o});if(!s)throw r;if(\"substitute\"in s)return{value:s.substitute,substitute:!0};if(s.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=c.replaced?t:replace(e,t,c,y,!1,f,w),v!==t&&(O={replaced:v})):v=t,w&&w(),v;if(null===t)return w&&w(),t;if(s&&t&&\"object\"==typeof t&&!c.iterateIn&&!c.iterateUnsetNumeric){const n=u.indexOf(t);if(-1!==n)return l[e]=\"#\",w&&w({cyclicKeypath:h[n]}),\"#\"+h[n];!0===s&&(u.push(t),h.push(e))}const g=isPlainObject(t),T=o(t),P=(g||T)&&(!this.plainObjectReplacers.length||c.replaced)||c.iterateIn?t:replace(e,t,c,y,g||T,null,w);let j;if(P!==t?(v=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(y.push([e,t,s,c,void 0,void 0,c.type]),v=t):T&&\"object\"!==c.iterateIn||\"array\"===c.iterateIn?(j=new Array(t.length),O={clone:j}):!g&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==c.iterateIn?v=t:(j={},c.addLength&&(j.length=t.length),O={clone:j}),w&&w(),a.iterateNone)return j??v;if(!j)return v;if(c.iterateIn){for(const n in t){const o={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(c,o,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),o=getEncapsulatedValue(r,t,n),i=o&&o.value;hasConstructorOf(i,TypesonPromise)?y.push([r,i,Boolean(s),c,j,n,c.type]):o&&(void 0!==i||\"substitute\"in o)&&setOwnEnumerable(j,n,i)})}w&&w({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),o=e&&e.value;hasConstructorOf(o,TypesonPromise)?y.push([r,o,Boolean(s),c,j,n,c.type]):e&&(void 0!==o||\"substitute\"in e)&&setOwnEnumerable(j,n,o)})}),w&&w({endIterateOwn:!0,end:!0}),(c.iterateSymbols||a.iterateSymbols)&&(Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e)).forEach(n=>{const r=function resolveSymbolIdentity(e,t){const n=Symbol.keyFor(e);if(void 0!==n)return{for:n};const r=i.find(t=>Symbol[t]===e);if(r)return{wellKnown:r};const o=t.get(e);return void 0!==o?{registered:o}:null}(n,this.symbolsByValue);if(!r){if(a.throwOnUnregisteredSymbol)throw new TypeError(\"Cannot serialize a Symbol-keyed property whose Symbol has no portable identity (not global, not well-known, and not in the `symbols` option): \"+String(n));return}const o=p[e]??=[],l={key:r};o.push(l);const u=o.length-1,h=`$symbolKeys.${escapeKeyPathComponent(e)}.${String(u)}.value`,f={value:t[n]};_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(h,f,\"value\"),t=e&&e.value;hasConstructorOf(t,TypesonPromise)?y.push([h,t,Boolean(s),c,l,\"value\",c.type]):e&&(void 0!==t||\"substitute\"in e)&&setOwnEnumerable(l,\"value\",t)})}),w&&w({endIterateSymbols:!0,end:!0}));if(c.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(c,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(s),c,y,f);hasConstructorOf(e,TypesonPromise)?y.push([n,e,Boolean(s),c,j,r,c.type]):void 0!==e&&setOwnEnumerable(j,r,e)})}w&&w({endIterateUnsetNumeric:!0,end:!0})}return j},replace=(e,t,n,r,o,s,i)=>{const c=o?this.plainObjectReplacers:this.nonplainObjectReplacers;let a=c.length;for(;a--;){const o=c[a];if(o.test(t,n)){const{type:c}=o;if(Object.hasOwn(this.revivers,c)){const t=l[e];l[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(y||!o.replaceAsync)&&!o.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,b&&\"readonly\",n,r,s,c);let a;if(i&&i({replacing:!0}),y||!o.replaceAsync){if(void 0===o.replace)throw new TypeError(\"Missing replacer\");a=o.replace(t,n)}else a=o.replaceAsync(t,n);return _encapsulate(e,a,b&&\"readonly\",n,r,s,c)}}return t},v=_encapsulate(\"\",e,b,t??{},f);if(f.length)return y&&a.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,f)).then(finish);if(!y&&a.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return y&&a.stringification?[finish(v)]:y?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 s={sync:!0,...this.options,...t},{sync:c}=s;function finishRevival(e){if(c)return e;if(s.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 a=e.$types;if(!0===a)return finishRevival(e.$);const y=e.$symbolKeys;let l=void 0!==y;if(!a||\"object\"!=typeof a||Array.isArray(a)){if(!y)return finishRevival(e);a={}}const p=[],u=Object.create(null),h={};let f=!0;a.$&&isPlainObject(a.$)&&(e=e.$,a=a.$,f=!1,l=!1,void 0!==y&&isObject(e)&&!r(e,\"$symbolKeys\")&&(e.$symbolKeys=y,l=!0));const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(c&&!(\"revive\"in n))return t;if(!c&&n.reviveAsync)return n.reviveAsync(t,h);if(n.revive)return n.revive(t,h);throw new Error(\"Missing reviver\")},b=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const reHomeSymbolKeys=e=>{if(!isObject(e))return;const t=l?e.$symbolKeys:y;t&&(Object.entries(t).forEach(([t,n])=>{const o=getByKeyPath(e,t,!0);isObject(o)&&n.forEach(e=>{if(!r(e,\"value\"))return;const t=function resolveSymbolFromIdentity(e,t){if(\"for\"in e)return Symbol.for(e.for);if(\"wellKnown\"in e){const t=i.find(t=>t===e.wellKnown);if(!t)throw new Error(\"Unknown well-known Symbol: \"+e.wellKnown);return Symbol[t]}if(!r(t,e.registered))throw new Error(\"Unregistered symbol: \"+e.registered);return t[e.registered]}(e.key,this.symbolsByName),n=checkUndefined(e.value);e.descriptor?Object.defineProperty(o,t,{configurable:!0,enumerable:!0,writable:!0,...e.descriptor,value:n}):o[t]=n})}),l&&delete e.$symbolKeys)},d=(()=>{if(!a)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(a).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete a[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 o=getByKeyPath(e,n,!0);if(o=executeReviver(r,o),hasConstructorOf(o,TypesonPromise))return o.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const s=setAtKeyPath(e,n,o,!0);s===o&&(e=s)},void 0)})();let m;return hasConstructorOf(d,TypesonPromise)?m=d.then(()=>e):(m=function _revive(e,t,s,i,y){if(f&&\"$types\"===e)return;const l=b.length,h=r(a,e)?a[e]:void 0,d=o(t);if(d||isPlainObject(t)){const o=d?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],s??o,o,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(o,n,void 0):void 0!==e&&setOwnEnumerable(o,n,e),e);hasConstructorOf(r,TypesonPromise)?b.push(r.then(e=>set(e))):set(r)}),t=o;p.length;){const[[e,t,n,o]]=p,s=r(u,t),i=s?u[t]:getByKeyPath(e,t,!0);if(!s&&void 0===i)break;setOwnEnumerable(n,o,i),p.shift()}}if(!h)return u[e]=t,t;if(\"#\"===h){const e=t.slice(1),n=r(u,e),o=n?u[e]:getByKeyPath(s,e,!0);return n||void 0!==o||p.push([s,e,i,y]),o}const applyType=t=>{const n=[].concat(h).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=>(u[e]=t,t)):(u[e]=n,n)};return!c&&b.length>l?TypesonPromise.all(b.slice(l)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),b.length&&(m=TypesonPromise.resolve(m).then(e=>TypesonPromise.all([e,...b])).then(([e])=>e))),y&&(isThenable(m)?m=m.then(e=>(reHomeSymbolKeys(e),e)):reHomeSymbolKeys(m)),isThenable(m)?c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(m,TypesonPromise)?m.p.then(checkUndefined):m:!c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():c?checkUndefined(m):Promise.resolve(checkUndefined(m))}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=>{o(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(c.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(o(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const s={type:t,test:n.test.bind(n)};n.replace&&(s.replace=n.replace.bind(n)),n.replaceAsync&&(s.replaceAsync=n.replaceAsync.bind(n));const i=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(i,0,s):this.nonplainObjectReplacers.splice(i,0,s),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 c=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{c 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 cryptokey = {\n cryptokey: {\n test (x) {\n return toStringTag(x) === 'CryptoKey' && x.extractable;\n },\n replaceAsync (\n /** @type {CryptoKey} */\n key\n ) {\n return new TypesonPromise(async (resolve, reject) => {\n /** @type {JsonWebKey} */\n let jwk;\n try {\n jwk = await crypto.subtle.exportKey('jwk', key);\n // Our format should be valid and our key extractable\n /* c8 ignore next 4 */\n } catch (err) {\n reject(err);\n return;\n }\n resolve({\n jwk,\n algorithm: key.algorithm,\n usages: key.usages\n });\n });\n },\n revive (obj) {\n const {\n jwk, algorithm, usages\n } = /**\n * @type {{\n * jwk: JsonWebKey,\n * algorithm: KeyAlgorithm,\n * usages: KeyUsage[]\n * }}\n */ (obj);\n\n return crypto.subtle.importKey(\n 'jwk', jwk, algorithm, true, usages\n );\n }\n }\n};\n\nexport default cryptokey;\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","cryptokey","test","x","toString","call","slice","extractable","replaceAsync","key","_ref","_asyncToGenerator","_regenerator","m","_callee","jwk","_t","w","_context","crypto","subtle","exportKey","v","a","algorithm","usages","_x","_x2","apply","arguments","revive","obj","importKey"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1 +1 @@
1
- {"version":3,"file":"dataview.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.2.0/node_modules/typeson/dist/typeson.esm.min.js","../../node_modules/.pnpm/base64-arraybuffer-es6@3.1.0/node_modules/base64-arraybuffer-es6/dist/base64-arraybuffer-es.js","../../types/dataview.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","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2017-2023 Brett Zamir, 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\n/**\n * @typedef {number} Integer\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[/** @type {number} */chars.codePointAt(i)] = i;\n}\n\n/**\n * @param {ArrayBuffer} arraybuffer\n * @param {Integer} [byteOffset]\n * @param {Integer} [lngth]\n * @returns {string}\n */\nvar encode = function encode(arraybuffer, byteOffset, lngth) {\n if (lngth === null || lngth === undefined) {\n lngth = arraybuffer.byteLength; // Needed for Safari\n }\n\n var bytes = new Uint8Array(arraybuffer, byteOffset || 0,\n // Default needed for Safari\n lngth);\n var len = bytes.length;\n var base64 = '';\n for (var _i = 0; _i < len; _i += 3) {\n base64 += chars[bytes[_i] >> 2];\n base64 += chars[(bytes[_i] & 3) << 4 | bytes[_i + 1] >> 4];\n base64 += chars[(bytes[_i + 1] & 15) << 2 | bytes[_i + 2] >> 6];\n base64 += chars[bytes[_i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.slice(0, -1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.slice(0, -2) + '==';\n }\n return base64;\n};\n\n/**\n * @param {string} base64\n * @param {{\n * maxByteLength: number\n * }} [options]\n * @returns {ArrayBuffer}\n */\nvar decode = function decode(base64, options) {\n var len = base64.length;\n if (len % 4) {\n throw new Error('Bad base64 length: not divisible by four');\n }\n var bufferLength = base64.length * 0.75;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n // @ts-expect-error Second argument is not yet standard\n var arraybuffer = new ArrayBuffer(bufferLength, options),\n bytes = new Uint8Array(arraybuffer);\n for (var _i2 = 0; _i2 < len; _i2 += 4) {\n // We know the result will not be undefined, as we have a text\n // length divisible by four\n encoded1 = lookup[/** @type {number} */base64.codePointAt(_i2)];\n encoded2 = lookup[/** @type {number} */base64.codePointAt(_i2 + 1)];\n encoded3 = lookup[/** @type {number} */base64.codePointAt(_i2 + 2)];\n encoded4 = lookup[/** @type {number} */base64.codePointAt(_i2 + 3)];\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return arraybuffer;\n};\n\nexport { decode, encode };\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dataview = {\n dataview: {\n test (x) { return toStringTag(x) === 'DataView'; },\n replace (\n {buffer, byteOffset, byteLength},\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index !== -1) {\n return {index, byteOffset, byteLength};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n maxByteLength: buffer.maxByteLength,\n resizable: buffer.resizable,\n byteOffset,\n byteLength\n };\n },\n revive (\n b64Obj,\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {\n byteOffset, byteLength, encoded, index, maxByteLength,\n resizable\n } = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(\n encoded,\n resizable\n ? {maxByteLength}\n : maxByteLength\n );\n stateObj.buffers.push(buffer);\n }\n return new DataView(buffer, byteOffset, byteLength);\n }\n }\n};\n\nexport default dataview;\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","chars","lookup","Uint8Array","i","codePointAt","encode","arraybuffer","byteOffset","lngth","byteLength","bytes","len","length","base64","_i","slice","dataview","test","x","toString","call","replace","_ref","stateObj","buffer","buffers","index","indexOf","push","encoded","maxByteLength","resizable","revive","b64Obj","decode","options","Error","encoded1","encoded2","encoded3","encoded4","bufferLength","ArrayBuffer","_i2","DataView"],"mappings":"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","x_google_ignoreList":[0,1]}
1
+ {"version":3,"file":"dataview.umd.cjs","sources":["../../node_modules/.pnpm/typeson@10.3.0/node_modules/typeson/dist/typeson.esm.min.js","../../node_modules/.pnpm/base64-arraybuffer-es6@3.1.0/node_modules/base64-arraybuffer-es6/dist/base64-arraybuffer-es.js","../../types/dataview.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 o=t(n);if(!o)return null===r;const s=e(o,\"constructor\")&&o.constructor;return\"function\"!=typeof s?null===r:r===s||(null!==r&&Function.prototype.toString.call(s)===Function.prototype.toString.call(r)||\"function\"==typeof r&&\"string\"==typeof s.__typeson__type__&&s.__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 o=n.indexOf(\".\"),s=unescapeKeyPathComponent(-1===o?n:n.slice(0,o));if(!r||e(t,s)){if(-1!==o){const e=t[s];return void 0===e?void 0:getByKeyPath(e,n.slice(o+1),r)}return t[s]}}function setAtKeyPath(t,n,r,o){if(\"\"===n)return r;let s=t,i=n;for(;;){if(!s||\"object\"!=typeof s)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 s[c]=r,t;if(o&&!e(s,c))throw new TypeError(\"Invalid property\");s=s[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:o}=Array,s=[\"type\",\"replaced\",\"iterateIn\",\"iterateUnsetNumeric\",\"iterateSymbols\",\"addLength\"];function setOwnEnumerable(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0})}const i=[\"asyncIterator\",\"hasInstance\",\"isConcatSpreadable\",\"iterator\",\"match\",\"matchAll\",\"replace\",\"search\",\"species\",\"split\",\"toPrimitive\",\"toStringTag\",\"unscopables\"];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={},this.symbolsByName=Object.create(null),this.symbolsByValue=new Map;const t=e?.symbols;t&&Object.entries(t).forEach(([e,t])=>{if(\"symbol\"!=typeof t)throw new TypeError(\"Non-symbol value supplied for `symbols` entry: \"+e);this.symbolsByName[e]=t,this.symbolsByValue.set(t,e)})}stringify(e,t,n,r){r={...this.options,...r,stringification:!0};const s=this.encapsulate(e,null,r);return o(s)?JSON.stringify(s[0],t,n):s.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,c){const a={sync:!0,...this.options,...c},{sync:y}=a,l={},p={},u=[],h=[],f=[],b=!(\"cyclic\"in a)||a.cyclic,{encapsulateObserver:d,encapsulateError:m}=a,finish=e=>{const t=Object.values(l);if(a.iterateNone)return t.length?t[0]:getJSONType(e);if(a.returnTypeNames)return!!t.length&&[...new Set(t)];const n=Object.keys(p).length>0,o=isObject(e)&&(r(e,\"$types\")||r(e,\"$symbolKeys\"));return n||t.length?(!o&&e&&isPlainObject(e)?t.length&&(e.$types=l):e={$:e,$types:{$:l}},n&&(e.$symbolKeys=p)):o&&(e={$:e,$types:!0}),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=[],[o]=t.splice(0,1),[s,,i,c,a,y,l]=o,p=_encapsulate(s,n,i,c,r,!0,l),u=hasConstructorOf(p,TypesonPromise);if(s&&u){return setOwnEnumerable(a,y,await p.p),checkPromises(e,r)}return s?setOwnEnumerable(a,y,p):e=u?p.p:p,checkPromises(e,r)})),e},_adaptBuiltinStateObjectProperties=(e,t,n)=>{Object.assign(e,t);const r=s.map(t=>{const n=e[t];return delete e[t],n});n(),s.forEach((t,n)=>{e[t]=r[n]})},_encapsulate=(e,t,s,c,y,f,b)=>{let v,O={};const w=d?function(n){const r=b??c.type??getJSONType(t);d(Object.assign(n??O,{keypath:e,value:t,cyclic:s,stateObj:c,promisesData:y,resolvingTypesonPromise:f,awaitingTypesonPromise:hasConstructorOf(t,TypesonPromise)},{type:r}))}:null,getEncapsulatedValue=(e,t,n)=>{try{return{value:_encapsulate(e,t[n],Boolean(s),c,y,f)}}catch(r){if(!m)throw r;const o=b??c.type??getJSONType(t),s=m({keypath:e,error:r,parent:t,key:n,stateObj:c,type:o});if(!s)throw r;if(\"substitute\"in s)return{value:s.substitute,substitute:!0};if(s.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=c.replaced?t:replace(e,t,c,y,!1,f,w),v!==t&&(O={replaced:v})):v=t,w&&w(),v;if(null===t)return w&&w(),t;if(s&&t&&\"object\"==typeof t&&!c.iterateIn&&!c.iterateUnsetNumeric){const n=u.indexOf(t);if(-1!==n)return l[e]=\"#\",w&&w({cyclicKeypath:h[n]}),\"#\"+h[n];!0===s&&(u.push(t),h.push(e))}const g=isPlainObject(t),T=o(t),P=(g||T)&&(!this.plainObjectReplacers.length||c.replaced)||c.iterateIn?t:replace(e,t,c,y,g||T,null,w);let j;if(P!==t?(v=P,O={replaced:P}):\"\"===e&&hasConstructorOf(t,TypesonPromise)?(y.push([e,t,s,c,void 0,void 0,c.type]),v=t):T&&\"object\"!==c.iterateIn||\"array\"===c.iterateIn?(j=new Array(t.length),O={clone:j}):!g&&(\"object\"!=typeof t||\"toJSON\"in t||hasConstructorOf(t,TypesonPromise)||hasConstructorOf(t,Promise)||hasConstructorOf(t,ArrayBuffer))&&\"object\"!==c.iterateIn?v=t:(j={},c.addLength&&(j.length=t.length),O={clone:j}),w&&w(),a.iterateNone)return j??v;if(!j)return v;if(c.iterateIn){for(const n in t){const o={ownKeys:r(t,n)};_adaptBuiltinStateObjectProperties(c,o,()=>{const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n),o=getEncapsulatedValue(r,t,n),i=o&&o.value;hasConstructorOf(i,TypesonPromise)?y.push([r,i,Boolean(s),c,j,n,c.type]):o&&(void 0!==i||\"substitute\"in o)&&setOwnEnumerable(j,n,i)})}w&&w({endIterateIn:!0,end:!0})}else n(t).forEach(function(n){const r=e+(e?\".\":\"\")+escapeKeyPathComponent(n);_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(r,t,n),o=e&&e.value;hasConstructorOf(o,TypesonPromise)?y.push([r,o,Boolean(s),c,j,n,c.type]):e&&(void 0!==o||\"substitute\"in e)&&setOwnEnumerable(j,n,o)})}),w&&w({endIterateOwn:!0,end:!0}),(c.iterateSymbols||a.iterateSymbols)&&(Object.getOwnPropertySymbols(t).filter(e=>Object.prototype.propertyIsEnumerable.call(t,e)).forEach(n=>{const r=function resolveSymbolIdentity(e,t){const n=Symbol.keyFor(e);if(void 0!==n)return{for:n};const r=i.find(t=>Symbol[t]===e);if(r)return{wellKnown:r};const o=t.get(e);return void 0!==o?{registered:o}:null}(n,this.symbolsByValue);if(!r){if(a.throwOnUnregisteredSymbol)throw new TypeError(\"Cannot serialize a Symbol-keyed property whose Symbol has no portable identity (not global, not well-known, and not in the `symbols` option): \"+String(n));return}const o=p[e]??=[],l={key:r};o.push(l);const u=o.length-1,h=`$symbolKeys.${escapeKeyPathComponent(e)}.${String(u)}.value`,f={value:t[n]};_adaptBuiltinStateObjectProperties(c,{ownKeys:!0},()=>{const e=getEncapsulatedValue(h,f,\"value\"),t=e&&e.value;hasConstructorOf(t,TypesonPromise)?y.push([h,t,Boolean(s),c,l,\"value\",c.type]):e&&(void 0!==t||\"substitute\"in e)&&setOwnEnumerable(l,\"value\",t)})}),w&&w({endIterateSymbols:!0,end:!0}));if(c.iterateUnsetNumeric){const n=t.length;for(let r=0;r<n;r++){if(r in t)continue;const n=`${e}${e?\".\":\"\"}${String(r)}`;_adaptBuiltinStateObjectProperties(c,{ownKeys:!1},()=>{const e=_encapsulate(n,void 0,Boolean(s),c,y,f);hasConstructorOf(e,TypesonPromise)?y.push([n,e,Boolean(s),c,j,r,c.type]):void 0!==e&&setOwnEnumerable(j,r,e)})}w&&w({endIterateUnsetNumeric:!0,end:!0})}return j},replace=(e,t,n,r,o,s,i)=>{const c=o?this.plainObjectReplacers:this.nonplainObjectReplacers;let a=c.length;for(;a--;){const o=c[a];if(o.test(t,n)){const{type:c}=o;if(Object.hasOwn(this.revivers,c)){const t=l[e];l[e]=t?[c].concat(t):c}if(Object.assign(n,{type:c,replaced:!0}),(y||!o.replaceAsync)&&!o.replace)return i&&i({typeDetected:!0}),_encapsulate(e,t,b&&\"readonly\",n,r,s,c);let a;if(i&&i({replacing:!0}),y||!o.replaceAsync){if(void 0===o.replace)throw new TypeError(\"Missing replacer\");a=o.replace(t,n)}else a=o.replaceAsync(t,n);return _encapsulate(e,a,b&&\"readonly\",n,r,s,c)}}return t},v=_encapsulate(\"\",e,b,t??{},f);if(f.length)return y&&a.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():Promise.resolve(checkPromises(v,f)).then(finish);if(!y&&a.throwOnBadSyncType)throw new TypeError(\"Async method requested but sync result obtained\");return y&&a.stringification?[finish(v)]:y?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 s={sync:!0,...this.options,...t},{sync:c}=s;function finishRevival(e){if(c)return e;if(s.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 a=e.$types;if(!0===a)return finishRevival(e.$);const y=e.$symbolKeys;let l=void 0!==y;if(!a||\"object\"!=typeof a||Array.isArray(a)){if(!y)return finishRevival(e);a={}}const p=[],u=Object.create(null),h={};let f=!0;a.$&&isPlainObject(a.$)&&(e=e.$,a=a.$,f=!1,l=!1,void 0!==y&&isObject(e)&&!r(e,\"$symbolKeys\")&&(e.$symbolKeys=y,l=!0));const executeReviver=(e,t)=>{const[n]=this.revivers[e]??[];if(!n)throw new Error(\"Unregistered type: \"+e);if(c&&!(\"revive\"in n))return t;if(!c&&n.reviveAsync)return n.reviveAsync(t,h);if(n.revive)return n.revive(t,h);throw new Error(\"Missing reviver\")},b=[];function checkUndefined(e){return hasConstructorOf(e,Undefined)?void 0:e}const reHomeSymbolKeys=e=>{if(!isObject(e))return;const t=l?e.$symbolKeys:y;t&&(Object.entries(t).forEach(([t,n])=>{const o=getByKeyPath(e,t,!0);isObject(o)&&n.forEach(e=>{if(!r(e,\"value\"))return;const t=function resolveSymbolFromIdentity(e,t){if(\"for\"in e)return Symbol.for(e.for);if(\"wellKnown\"in e){const t=i.find(t=>t===e.wellKnown);if(!t)throw new Error(\"Unknown well-known Symbol: \"+e.wellKnown);return Symbol[t]}if(!r(t,e.registered))throw new Error(\"Unregistered symbol: \"+e.registered);return t[e.registered]}(e.key,this.symbolsByName),n=checkUndefined(e.value);e.descriptor?Object.defineProperty(o,t,{configurable:!0,enumerable:!0,writable:!0,...e.descriptor,value:n}):o[t]=n})}),l&&delete e.$symbolKeys)},d=(()=>{if(!a)throw new Error(\"Found bad `types`\");const t=[];if(Object.entries(a).forEach(([e,n])=>{\"#\"!==n&&[].concat(n).forEach(n=>{const[,{plain:r}]=this.revivers[n]??[null,{}];r&&(t.push({keypath:e,type:n}),delete a[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 o=getByKeyPath(e,n,!0);if(o=executeReviver(r,o),hasConstructorOf(o,TypesonPromise))return o.then(t=>{const r=setAtKeyPath(e,n,t,!0);r===t&&(e=r)});const s=setAtKeyPath(e,n,o,!0);s===o&&(e=s)},void 0)})();let m;return hasConstructorOf(d,TypesonPromise)?m=d.then(()=>e):(m=function _revive(e,t,s,i,y){if(f&&\"$types\"===e)return;const l=b.length,h=r(a,e)?a[e]:void 0,d=o(t);if(d||isPlainObject(t)){const o=d?new Array(t.length):{};for(n(t).forEach(n=>{const r=_revive(e+(e?\".\":\"\")+escapeKeyPathComponent(n),t[n],s??o,o,n),set=e=>(hasConstructorOf(e,Undefined)?setOwnEnumerable(o,n,void 0):void 0!==e&&setOwnEnumerable(o,n,e),e);hasConstructorOf(r,TypesonPromise)?b.push(r.then(e=>set(e))):set(r)}),t=o;p.length;){const[[e,t,n,o]]=p,s=r(u,t),i=s?u[t]:getByKeyPath(e,t,!0);if(!s&&void 0===i)break;setOwnEnumerable(n,o,i),p.shift()}}if(!h)return u[e]=t,t;if(\"#\"===h){const e=t.slice(1),n=r(u,e),o=n?u[e]:getByKeyPath(s,e,!0);return n||void 0!==o||p.push([s,e,i,y]),o}const applyType=t=>{const n=[].concat(h).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=>(u[e]=t,t)):(u[e]=n,n)};return!c&&b.length>l?TypesonPromise.all(b.slice(l)).then(()=>applyType(t)):applyType(t)}(\"\",e,null),b.length&&(m=TypesonPromise.resolve(m).then(e=>TypesonPromise.all([e,...b])).then(([e])=>e))),y&&(isThenable(m)?m=m.then(e=>(reHomeSymbolKeys(e),e)):reHomeSymbolKeys(m)),isThenable(m)?c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Sync method requested but async result obtained\")})():hasConstructorOf(m,TypesonPromise)?m.p.then(checkUndefined):m:!c&&s.throwOnBadSyncType?(()=>{throw new TypeError(\"Async method requested but sync result obtained\")})():c?checkUndefined(m):Promise.resolve(checkUndefined(m))}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=>{o(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(c.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(o(n)){const[e,t,r]=n;n={test:e,replace:t,revive:r}}if(!n?.test)return;const s={type:t,test:n.test.bind(n)};n.replace&&(s.replace=n.replace.bind(n)),n.replaceAsync&&(s.replaceAsync=n.replaceAsync.bind(n));const i=\"number\"==typeof r.fallback?r.fallback:r.fallback?0:1/0;if(n.testPlainObjects?this.plainObjectReplacers.splice(i,0,s):this.nonplainObjectReplacers.splice(i,0,s),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 c=[\"null\",\"boolean\",\"number\",\"string\",\"array\",\"object\"];export{c as JSON_TYPES,Typeson,TypesonPromise,Undefined,escapeKeyPathComponent,getByKeyPath,getJSONType,hasConstructorOf,isObject,isPlainObject,isThenable,isUserObject,setAtKeyPath,toStringTag,unescapeKeyPathComponent};\n","/*\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2017-2023 Brett Zamir, 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n */\n\n/**\n * @typedef {number} Integer\n */\n\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[/** @type {number} */chars.codePointAt(i)] = i;\n}\n\n/**\n * @param {ArrayBuffer} arraybuffer\n * @param {Integer} [byteOffset]\n * @param {Integer} [lngth]\n * @returns {string}\n */\nvar encode = function encode(arraybuffer, byteOffset, lngth) {\n if (lngth === null || lngth === undefined) {\n lngth = arraybuffer.byteLength; // Needed for Safari\n }\n\n var bytes = new Uint8Array(arraybuffer, byteOffset || 0,\n // Default needed for Safari\n lngth);\n var len = bytes.length;\n var base64 = '';\n for (var _i = 0; _i < len; _i += 3) {\n base64 += chars[bytes[_i] >> 2];\n base64 += chars[(bytes[_i] & 3) << 4 | bytes[_i + 1] >> 4];\n base64 += chars[(bytes[_i + 1] & 15) << 2 | bytes[_i + 2] >> 6];\n base64 += chars[bytes[_i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.slice(0, -1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.slice(0, -2) + '==';\n }\n return base64;\n};\n\n/**\n * @param {string} base64\n * @param {{\n * maxByteLength: number\n * }} [options]\n * @returns {ArrayBuffer}\n */\nvar decode = function decode(base64, options) {\n var len = base64.length;\n if (len % 4) {\n throw new Error('Bad base64 length: not divisible by four');\n }\n var bufferLength = base64.length * 0.75;\n var p = 0;\n var encoded1, encoded2, encoded3, encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n // @ts-expect-error Second argument is not yet standard\n var arraybuffer = new ArrayBuffer(bufferLength, options),\n bytes = new Uint8Array(arraybuffer);\n for (var _i2 = 0; _i2 < len; _i2 += 4) {\n // We know the result will not be undefined, as we have a text\n // length divisible by four\n encoded1 = lookup[/** @type {number} */base64.codePointAt(_i2)];\n encoded2 = lookup[/** @type {number} */base64.codePointAt(_i2 + 1)];\n encoded3 = lookup[/** @type {number} */base64.codePointAt(_i2 + 2)];\n encoded4 = lookup[/** @type {number} */base64.codePointAt(_i2 + 3)];\n bytes[p++] = encoded1 << 2 | encoded2 >> 4;\n bytes[p++] = (encoded2 & 15) << 4 | encoded3 >> 2;\n bytes[p++] = (encoded3 & 3) << 6 | encoded4 & 63;\n }\n return arraybuffer;\n};\n\nexport { decode, encode };\n","import {toStringTag} from 'typeson';\nimport {encode, decode} from 'base64-arraybuffer-es6';\n\n/**\n * @type {import('typeson').TypeSpecSet}\n */\nconst dataview = {\n dataview: {\n test (x) { return toStringTag(x) === 'DataView'; },\n replace (\n {buffer, byteOffset, byteLength},\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const index = stateObj.buffers.indexOf(buffer);\n if (index !== -1) {\n return {index, byteOffset, byteLength};\n }\n stateObj.buffers.push(buffer);\n return {\n encoded: encode(buffer),\n maxByteLength: buffer.maxByteLength,\n resizable: buffer.resizable,\n byteOffset,\n byteLength\n };\n },\n revive (\n b64Obj,\n /**\n * @type {import('typeson').StateObject & {\n * buffers?: ArrayBuffer[]\n * }}\n */\n stateObj\n ) {\n if (!stateObj.buffers) {\n stateObj.buffers = [];\n }\n const {\n byteOffset, byteLength, encoded, index, maxByteLength,\n resizable\n } = b64Obj;\n let buffer;\n if ('index' in b64Obj) {\n buffer = stateObj.buffers[index];\n } else {\n buffer = decode(\n encoded,\n resizable\n ? {maxByteLength}\n : maxByteLength\n );\n stateObj.buffers.push(buffer);\n }\n return new DataView(buffer, byteOffset, byteLength);\n }\n }\n};\n\nexport default dataview;\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","chars","lookup","Uint8Array","i","codePointAt","encode","arraybuffer","byteOffset","lngth","byteLength","bytes","len","length","base64","_i","slice","dataview","test","x","toString","call","replace","_ref","stateObj","buffer","buffers","index","indexOf","push","encoded","maxByteLength","resizable","revive","b64Obj","decode","options","Error","encoded1","encoded2","encoded3","encoded4","bufferLength","ArrayBuffer","_i2","DataView"],"mappings":"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","x_google_ignoreList":[0,1]}