seroval 1.0.0 → 1.0.3

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.
@@ -1,3 +1,3 @@
1
- var C=(i=>(i[i.AggregateError=1]="AggregateError",i[i.ArrowFunction=2]="ArrowFunction",i[i.ErrorPrototypeStack=4]="ErrorPrototypeStack",i[i.ObjectAssign=8]="ObjectAssign",i[i.BigIntTypedArray=16]="BigIntTypedArray",i))(C||{});function f(n,e){if(!n)throw e}function nr(n){switch(n){case'"':return'\\"';case"\\":return"\\\\";case`
2
- `:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case" ":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return}}function d(n){let e="",r=0,t;for(let s=0,i=n.length;s<i;s++)t=nr(n[s]),t&&(e+=n.slice(r,s)+t,r=s+1);return r===0?e=n:e+=n.slice(r),e}function sr(n){switch(n){case"\\\\":return"\\";case'\\"':return'"';case"\\n":return`
3
- `;case"\\r":return"\r";case"\\b":return"\b";case"\\t":return" ";case"\\f":return"\f";case"\\x3C":return"<";case"\\u2028":return"\u2028";case"\\u2029":return"\u2029";default:return n}}function S(n){return n.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,sr)}var x="__SEROVAL_REFS__",K="$R",q=`self.${K}`;function ir(n){return n==null?`${q}=${q}||[]`:`(${q}=${q}||{})["${d(n)}"]=[]`}var Ie=new Map,A=new Map;function or(n,e){return Ie.set(e,n),A.set(n,e),e}function Z(n){return Ie.has(n)}function ar(n){return A.has(n)}function Ce(n){return f(Z(n),new Error("Missing reference id")),Ie.get(n)}function Oe(n){return f(ar(n),new Error("Missing reference for id:"+n)),A.get(n)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,x,{value:A,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,x,{value:A,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,x,{value:A,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,x,{value:A,configurable:!0,writable:!1,enumerable:!1});function wr(n){return n}function ze(n,e){for(let r=0,t=e.length;r<t;r++){let s=e[r];n.has(s)||(n.add(s),s.extends&&ze(n,s.extends))}}function c(n){if(n){let e=new Set;return ze(e,n),[...e]}}var{toString:lr}=Object.prototype,p=class extends Error{constructor(r){super('Unsupported type "'+lr.call(r)+'"');this.value=r}};var ke={0:"Symbol.asyncIterator",1:"Symbol.hasInstance",2:"Symbol.isConcatSpreadable",3:"Symbol.iterator",4:"Symbol.match",5:"Symbol.matchAll",6:"Symbol.replace",7:"Symbol.search",8:"Symbol.species",9:"Symbol.split",10:"Symbol.toPrimitive",11:"Symbol.toStringTag",12:"Symbol.unscopables"},L={[Symbol.asyncIterator]:0,[Symbol.hasInstance]:1,[Symbol.isConcatSpreadable]:2,[Symbol.iterator]:3,[Symbol.match]:4,[Symbol.matchAll]:5,[Symbol.replace]:6,[Symbol.search]:7,[Symbol.species]:8,[Symbol.split]:9,[Symbol.toPrimitive]:10,[Symbol.toStringTag]:11,[Symbol.unscopables]:12},Te={0:Symbol.asyncIterator,1:Symbol.hasInstance,2:Symbol.isConcatSpreadable,3:Symbol.iterator,4:Symbol.match,5:Symbol.matchAll,6:Symbol.replace,7:Symbol.search,8:Symbol.species,9:Symbol.split,10:Symbol.toPrimitive,11:Symbol.toStringTag,12:Symbol.unscopables},Fe={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},Ve={2:!0,3:!1,1:void 0,0:null,4:-0,5:1/0,6:-1/0,7:NaN};var X={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},De={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function y(n){return{t:2,i:void 0,s:n,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}var v=y(2),N=y(3),Q=y(1),ee=y(0),Be=y(4),je=y(5),Me=y(6),_e=y(7);function re(n){return n instanceof EvalError?1:n instanceof RangeError?2:n instanceof ReferenceError?3:n instanceof SyntaxError?4:n instanceof TypeError?5:n instanceof URIError?6:0}function ur(n){let e=X[re(n)];return n.name!==e?{name:n.name}:n.constructor.name!==e?{name:n.constructor.name}:{}}function O(n,e){let r=ur(n),t=Object.getOwnPropertyNames(n);for(let s=0,i=t.length,o;s<i;s++)o=t[s],o!=="name"&&o!=="message"&&(o==="stack"?e&4&&(r=r||{},r[o]=n[o]):(r=r||{},r[o]=n[o]));return r}function te(n){return Object.isFrozen(n)?3:Object.isSealed(n)?2:Object.isExtensible(n)?0:1}function ne(n){switch(n){case 1/0:return je;case-1/0:return Me}return n!==n?_e:Object.is(n,-0)?Be:{t:0,i:void 0,s:n,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function b(n){return{t:1,i:void 0,s:d(n),l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function se(n){return{t:3,i:void 0,s:""+n,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function We(n){return{t:4,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function ie(n,e){return{t:5,i:n,s:e.toISOString(),l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,f:void 0,a:void 0,b:void 0,o:void 0}}function oe(n,e){return{t:6,i:n,s:void 0,l:void 0,c:d(e.source),m:e.flags,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function ae(n,e){let r=new Uint8Array(e),t=r.length,s=new Array(t);for(let i=0;i<t;i++)s[i]=r[i];return{t:19,i:n,s,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function Ke(n,e){return f(e in L,new Error("Only well-known symbols are supported.")),{t:17,i:n,s:L[e],l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function Ee(n,e){return{t:18,i:n,s:d(Ce(e)),l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function z(n,e,r){return{t:25,i:n,s:r,l:void 0,c:d(e),m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function le(n,e,r){return{t:9,i:n,s:void 0,l:e.length,c:void 0,m:void 0,p:void 0,e:void 0,a:r,f:void 0,b:void 0,o:te(e)}}function ue(n,e){return{t:21,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function de(n,e,r){return{t:15,i:n,s:void 0,l:e.length,c:e.constructor.name,m:void 0,p:void 0,e:void 0,a:void 0,f:r,b:e.byteOffset,o:void 0}}function ce(n,e,r){return{t:16,i:n,s:void 0,l:e.length,c:e.constructor.name,m:void 0,p:void 0,e:void 0,a:void 0,f:r,b:e.byteOffset,o:void 0}}function fe(n,e,r){return{t:20,i:n,s:void 0,l:e.byteLength,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:r,b:e.byteOffset,o:void 0}}function pe(n,e,r){return{t:13,i:n,s:re(e),l:void 0,c:void 0,m:d(e.message),p:r,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function me(n,e,r){return{t:14,i:n,s:re(e),l:void 0,c:void 0,m:d(e.message),p:r,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function ge(n,e,r){return{t:7,i:n,s:void 0,l:e,c:void 0,m:void 0,p:void 0,e:void 0,a:r,f:void 0,b:void 0,o:void 0}}function k(n,e){return{t:28,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[n,e],f:void 0,b:void 0,o:void 0}}function T(n,e){return{t:30,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[n,e],f:void 0,b:void 0,o:void 0}}function F(n,e,r){return{t:31,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:r,f:e,b:void 0,o:void 0}}function Se(n,e){return{t:32,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function he(n,e){return{t:33,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function ye(n,e){return{t:34,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function V(n){let e=[],r=-1,t=-1,s=n[Symbol.iterator]();for(;;)try{let i=s.next();if(e.push(i.value),i.done){t=e.length-1;break}}catch(i){r=e.length,e.push(i)}return{v:e,t:r,d:t}}function Le(n){return()=>{let e=0;return{[Symbol.iterator](){return this},next(){if(e>n.d)return{done:!0,value:void 0};let r=e++,t=n.v[r];if(r===n.t)throw t;return{done:r===n.d,value:t}}}}}var Je={},Ye={};var Ge={0:{},1:{},2:{},3:{},4:{}};var D=class{constructor(e){this.marked=new Set;this.plugins=e.plugins,this.features=31^(e.disabledFeatures||0),this.refs=e.refs||new Map}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}getIndexedValue(e){let r=this.refs.get(e);if(r!=null)return this.markRef(r),{type:1,value:We(r)};let t=this.refs.size;return this.refs.set(e,t),{type:0,value:t}}getReference(e){let r=this.getIndexedValue(e);return r.type===1?r:Z(e)?{type:2,value:Ee(r.value,e)}:r}getStrictReference(e){f(Z(e),new Error("Cannot serialize "+typeof e+" without reference ID."));let r=this.getIndexedValue(e);return r.type===1?r.value:Ee(r.value,e)}parseFunction(e){return this.getStrictReference(e)}parseWellKnownSymbol(e){let r=this.getReference(e);return r.type!==0?r.value:(f(e in L,new Error("Cannot serialized unsupported symbol.")),Ke(r.value,e))}parseSpecialReference(e){let r=this.getIndexedValue(Ge[e]);return r.type===1?r.value:{t:26,i:r.value,s:e,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}parseIteratorFactory(){let e=this.getIndexedValue(Je);return e.type===1?e.value:{t:27,i:e.value,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:this.parseWellKnownSymbol(Symbol.iterator),b:void 0,o:void 0}}parseAsyncIteratorFactory(){let e=this.getIndexedValue(Ye);return e.type===1?e.value:{t:29,i:e.value,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[this.parseSpecialReference(1),this.parseWellKnownSymbol(Symbol.asyncIterator)],f:void 0,b:void 0,o:void 0}}createObjectNode(e,r,t,s){return{t:t?11:10,i:e,s:void 0,l:void 0,c:void 0,m:void 0,p:s,e:void 0,a:void 0,f:void 0,b:void 0,o:te(r)}}createMapNode(e,r,t,s){return{t:8,i:e,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:{k:r,v:t,s},a:void 0,f:this.parseSpecialReference(0),b:void 0,o:void 0}}};async function Re(n){try{return[1,await n]}catch(e){return[0,e]}}function J(){let n,e;return{promise:new Promise((r,t)=>{n=r,e=t}),resolve(r){n(r)},reject(r){e(r)}}}function Ne(n){return"__SEROVAL_STREAM__"in n}function B(){let n=new Set,e=[],r=!0,t=!1;function s(a){for(let l of n.keys())l.next(a)}function i(a){for(let l of n.keys())l.throw(a)}function o(a){for(let l of n.keys())l.return(a)}return{__SEROVAL_STREAM__:!0,on(a){r&&n.add(a);for(let l=0,u=e.length;l<u;l++){let g=e[l];l===u-1?t?a.return(g):a.throw(g):a.next(g)}return()=>{r&&n.delete(a)}},next(a){r&&(e.push(a),s(a))},throw(a){r&&(e.push(a),i(a),r=!1,t=!1,n.clear())},return(a){r&&(e.push(a),o(a),r=!1,t=!0,n.clear())}}}function be(n){let e=B(),r=n[Symbol.asyncIterator]();async function t(){try{let s=await r.next();s.done?e.return(s.value):(e.next(s.value),await t())}catch(s){e.throw(s)}}return t().catch(()=>{}),e}function He(n){return()=>{let e=[],r=[],t=0,s=-1,i=!1;function o(){for(let l=0,u=r.length;l<u;l++)r[l].resolve({done:!0,value:void 0})}n.on({next(l){let u=r.shift();u&&u.resolve({done:!1,value:l}),e.push(l)},throw(l){let u=r.shift();u&&u.reject(l),o(),s=e.length,e.push(l),i=!0},return(l){let u=r.shift();u&&u.resolve({done:!0,value:l}),o(),s=e.length,e.push(l)}});function a(){let l=t++,u=e[l];if(l!==s)return{done:!1,value:u};if(i)throw u;return{done:!0,value:u}}return{[Symbol.asyncIterator](){return this},async next(){if(s===-1){let l=t++;if(l>=e.length){let u=J();return r.push(u),await u.promise}return{done:!1,value:e[l]}}return t>s?{done:!0,value:void 0}:a()}}}}var I=class extends D{async parseItems(e){let r=[];for(let t=0,s=e.length;t<s;t++)t in e&&(r[t]=await this.parse(e[t]));return r}async parseArray(e,r){return le(e,r,await this.parseItems(r))}async parseProperties(e){let r=Object.entries(e),t=[],s=[];for(let o=0,a=r.length;o<a;o++)t.push(d(r[o][0])),s.push(await this.parse(r[o][1]));let i=Symbol.iterator;return i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(k(this.parseIteratorFactory(),await this.parse(V(e))))),i=Symbol.asyncIterator,i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(T(this.parseAsyncIteratorFactory(),await this.parse(be(e))))),i=Symbol.toStringTag,i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(b(e[i]))),i=Symbol.isConcatSpreadable,i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(e[i]?v:N)),{k:t,v:s,s:t.length}}async parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,await this.parseProperties(r))}async parseBoxed(e,r){return ue(e,await this.parse(r.valueOf()))}async parseTypedArray(e,r){return de(e,r,await this.parse(r.buffer))}async parseBigIntTypedArray(e,r){return ce(e,r,await this.parse(r.buffer))}async parseDataView(e,r){return fe(e,r,await this.parse(r.buffer))}async parseError(e,r){let t=O(r,this.features);return pe(e,r,t?await this.parseProperties(t):void 0)}async parseAggregateError(e,r){let t=O(r,this.features);return me(e,r,t?await this.parseProperties(t):void 0)}async parseMap(e,r){let t=[],s=[];for(let[i,o]of r.entries())t.push(await this.parse(i)),s.push(await this.parse(o));return this.createMapNode(e,t,s,r.size)}async parseSet(e,r){let t=[];for(let s of r.keys())t.push(await this.parse(s));return ge(e,r.size,t)}async parsePromise(e,r){let[t,s]=await Re(r);return{t:12,i:e,s:t,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:await this.parse(s),b:void 0,o:void 0}}async parsePlugin(e,r){let t=this.plugins;if(t)for(let s=0,i=t.length;s<i;s++){let o=t[s];if(o.parse.async&&o.test(r))return z(e,o.tag,await o.parse.async(r,this,{id:e}))}}async parseStream(e,r){return F(e,this.parseSpecialReference(4),await new Promise((t,s)=>{let i=[],o=r.on({next:a=>{this.markRef(e),this.parse(a).then(l=>{i.push(Se(e,l))},l=>{s(l),o()})},throw:a=>{this.markRef(e),this.parse(a).then(l=>{i.push(he(e,l)),t(i),o()},l=>{s(l),o()})},return:a=>{this.markRef(e),this.parse(a).then(l=>{i.push(ye(e,l)),t(i),o()},l=>{s(l),o()})}})}))}async parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Ne(r))return this.parseStream(e,r);let t=await this.parsePlugin(e,r);if(t)return t;let s=r.constructor;switch(s){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return ie(e,r);case RegExp:return oe(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return ae(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(s===Promise||r instanceof Promise)return this.parsePromise(e,r);let i=this.features;if(i&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(i&1&&typeof AggregateError!="undefined"&&(s===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!s);throw new p(r)}async parse(e){switch(typeof e){case"boolean":return e?v:N;case"undefined":return Q;case"string":return b(e);case"number":return ne(e);case"bigint":return se(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?await this.parseObject(r.value,e):r.value}return ee}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new p(e)}}};var j=class extends I{constructor(){super(...arguments);this.mode="vanilla"}};function $e(n){switch(n){case"Int8Array":return Int8Array;case"Int16Array":return Int16Array;case"Int32Array":return Int32Array;case"Uint8Array":return Uint8Array;case"Uint16Array":return Uint16Array;case"Uint32Array":return Uint32Array;case"Uint8ClampedArray":return Uint8ClampedArray;case"Float32Array":return Float32Array;case"Float64Array":return Float64Array;case"BigInt64Array":return BigInt64Array;case"BigUint64Array":return BigUint64Array;default:throw new Error(`Unknown TypedArray "${n}"`)}}function qe(n,e){switch(e){case 3:return Object.freeze(n);case 1:return Object.preventExtensions(n);case 2:return Object.seal(n);default:return n}}var E=class{constructor(e){this.plugins=e.plugins,this.refs=e.refs||new Map}deserializeReference(e){return this.assignIndexedValue(e.i,Oe(S(e.s)))}deserializeArray(e){let r=e.l,t=this.assignIndexedValue(e.i,new Array(r)),s;for(let i=0;i<r;i++)s=e.a[i],s&&(t[i]=this.deserialize(s));return qe(t,e.o),t}deserializeProperties(e,r){let t=e.s;if(t){let s=e.k,i=e.v;for(let o=0,a;o<t;o++)a=s[o],typeof a=="string"?r[S(a)]=this.deserialize(i[o]):r[this.deserialize(a)]=this.deserialize(i[o])}return r}deserializeObject(e){let r=this.assignIndexedValue(e.i,e.t===10?{}:Object.create(null));return this.deserializeProperties(e.p,r),qe(r,e.o),r}deserializeDate(e){return this.assignIndexedValue(e.i,new Date(e.s))}deserializeRegExp(e){return this.assignIndexedValue(e.i,new RegExp(S(e.c),e.m))}deserializeSet(e){let r=this.assignIndexedValue(e.i,new Set),t=e.a;for(let s=0,i=e.l;s<i;s++)r.add(this.deserialize(t[s]));return r}deserializeMap(e){let r=this.assignIndexedValue(e.i,new Map),t=e.e.k,s=e.e.v;for(let i=0,o=e.e.s;i<o;i++)r.set(this.deserialize(t[i]),this.deserialize(s[i]));return r}deserializeArrayBuffer(e){let r=new Uint8Array(e.s);return this.assignIndexedValue(e.i,r.buffer)}deserializeTypedArray(e){let r=$e(e.c),t=this.deserialize(e.f);return this.assignIndexedValue(e.i,new r(t,e.b,e.l))}deserializeDataView(e){let r=this.deserialize(e.f);return this.assignIndexedValue(e.i,new DataView(r,e.b,e.l))}deserializeDictionary(e,r){if(e.p){let t=this.deserializeProperties(e.p,{});Object.assign(r,t)}return r}deserializeAggregateError(e){let r=this.assignIndexedValue(e.i,new AggregateError([],S(e.m)));return this.deserializeDictionary(e,r)}deserializeError(e){let r=De[e.s],t=this.assignIndexedValue(e.i,new r(S(e.m)));return this.deserializeDictionary(e,t)}deserializePromise(e){let r=J(),t=this.assignIndexedValue(e.i,r),s=this.deserialize(e.f);return e.s?r.resolve(s):r.reject(s),t.promise}deserializeBoxed(e){return this.assignIndexedValue(e.i,Object(this.deserialize(e.f)))}deserializePlugin(e){let r=this.plugins;if(r){let t=S(e.c);for(let s=0,i=r.length;s<i;s++){let o=r[s];if(o.tag===t)return this.assignIndexedValue(e.i,o.deserialize(e.s,this,{id:e.i}))}}throw new Error('Missing plugin for tag "'+e.c+'".')}deserializePromiseConstructor(e){return this.assignIndexedValue(e.i,J()).promise}deserializePromiseResolve(e){let r=this.refs.get(e.i);f(r,new Error("Missing Promise instance.")),r.resolve(this.deserialize(e.a[1]))}deserializePromiseReject(e){let r=this.refs.get(e.i);f(r,new Error("Missing Promise instance.")),r.reject(this.deserialize(e.a[1]))}deserializeIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return Le(r)}deserializeAsyncIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return He(r)}deserializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,B()),t=e.a.length;if(t)for(let s=0;s<t;s++)this.deserialize(e.a[s]);return r}deserializeStreamNext(e){let r=this.refs.get(e.i);f(r,new Error("Missing Stream instance.")),r.next(this.deserialize(e.f))}deserializeStreamThrow(e){let r=this.refs.get(e.i);f(r,new Error("Missing Stream instance.")),r.throw(this.deserialize(e.f))}deserializeStreamReturn(e){let r=this.refs.get(e.i);f(r,new Error("Missing Stream instance.")),r.return(this.deserialize(e.f))}deserializeIteratorFactory(e){this.deserialize(e.f)}deserializeAsyncIteratorFactory(e){this.deserialize(e.a[1])}deserialize(e){switch(e.t){case 2:return Ve[e.s];case 0:return e.s;case 1:return S(e.s);case 3:return BigInt(e.s);case 4:return this.refs.get(e.i);case 18:return this.deserializeReference(e);case 9:return this.deserializeArray(e);case 10:case 11:return this.deserializeObject(e);case 5:return this.deserializeDate(e);case 6:return this.deserializeRegExp(e);case 7:return this.deserializeSet(e);case 8:return this.deserializeMap(e);case 19:return this.deserializeArrayBuffer(e);case 16:case 15:return this.deserializeTypedArray(e);case 20:return this.deserializeDataView(e);case 14:return this.deserializeAggregateError(e);case 13:return this.deserializeError(e);case 12:return this.deserializePromise(e);case 17:return Te[e.s];case 21:return this.deserializeBoxed(e);case 25:return this.deserializePlugin(e);case 22:return this.deserializePromiseConstructor(e);case 23:return this.deserializePromiseResolve(e);case 24:return this.deserializePromiseReject(e);case 28:return this.deserializeIteratorFactoryInstance(e);case 30:return this.deserializeAsyncIteratorFactoryInstance(e);case 31:return this.deserializeStreamConstructor(e);case 32:return this.deserializeStreamNext(e);case 33:return this.deserializeStreamThrow(e);case 34:return this.deserializeStreamReturn(e);case 27:return this.deserializeIteratorFactory(e);case 29:return this.deserializeAsyncIteratorFactory(e);default:throw new Error("invariant")}}};var Y=class extends E{constructor(r){super(r);this.mode="vanilla";this.marked=new Set(r.markedRefs)}assignIndexedValue(r,t){return this.marked.has(r)&&this.refs.set(r,t),t}};var cr=/^[$A-Z_][0-9A-Z_$]*$/i;function we(n){let e=n[0];return(e==="$"||e==="_"||e>="A"&&e<="Z"||e>="a"&&e<="z")&&cr.test(n)}function G(n){switch(n.t){case"index":return n.s+"="+n.v;case"set":return n.s+".set("+n.k+","+n.v+")";case"add":return n.s+".add("+n.v+")";case"delete":return n.s+".delete("+n.k+")";default:return""}}function fr(n){let e=[],r=n[0];for(let t=1,s=n.length,i,o=r;t<s;t++)i=n[t],i.t==="index"&&i.v===o.v?r={t:"index",s:i.s,k:void 0,v:G(r)}:i.t==="set"&&i.s===o.s?r={t:"set",s:G(r),k:i.k,v:i.v}:i.t==="add"&&i.s===o.s?r={t:"add",s:G(r),k:void 0,v:i.v}:i.t==="delete"&&i.s===o.s?r={t:"delete",s:G(r),k:i.k,v:void 0}:(e.push(r),r=i),o=i;return e.push(r),e}function Ze(n){if(n.length){let e="",r=fr(n);for(let t=0,s=r.length;t<s;t++)e+=G(r[t])+",";return e}}var pr="Object.create(null)",mr="new Set",gr="new Map",Sr="Promise.resolve",hr="Promise.reject",yr={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:void 0},R=class{constructor(e){this.stack=[];this.flags=[];this.assignments=[];this.plugins=e.plugins,this.features=e.features,this.marked=new Set(e.markedRefs)}createFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+r:"function("+e.join(",")+"){return "+r+"}"}createEffectfulFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}pushObjectFlag(e,r){e!==0&&(this.markRef(r),this.flags.push({type:e,value:this.getRefParam(r)}))}resolveFlags(){let e="";for(let r=0,t=this.flags,s=t.length;r<s;r++){let i=t[r];e+=yr[i.type]+"("+i.value+"),"}return e}resolvePatches(){let e=Ze(this.assignments),r=this.resolveFlags();return e?r?e+r:e:r}createAssignment(e,r){this.assignments.push({t:"index",s:e,k:void 0,v:r})}createAddAssignment(e,r){this.assignments.push({t:"add",s:this.getRefParam(e),k:void 0,v:r})}createSetAssignment(e,r,t){this.assignments.push({t:"set",s:this.getRefParam(e),k:r,v:t})}createDeleteAssignment(e,r){this.assignments.push({t:"delete",s:this.getRefParam(e),k:r,v:void 0})}createArrayAssign(e,r,t){this.createAssignment(this.getRefParam(e)+"["+r+"]",t)}createObjectAssign(e,r,t){this.createAssignment(this.getRefParam(e)+"."+r,t)}isIndexedValueInStack(e){return e.t===4&&this.stack.includes(e.i)}serializeReference(e){return this.assignIndexedValue(e.i,x+'.get("'+e.s+'")')}serializeArrayItem(e,r,t){return r?this.isIndexedValueInStack(r)?(this.markRef(e),this.createArrayAssign(e,t,this.getRefParam(r.i)),""):this.serialize(r):""}serializeArray(e){let r=e.i;if(e.l){this.stack.push(r);let t=e.a,s=this.serializeArrayItem(r,t[0],0),i=s==="";for(let o=1,a=e.l,l;o<a;o++)l=this.serializeArrayItem(r,t[o],o),s+=","+l,i=l==="";return this.stack.pop(),this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(r,"["+s+(i?",]":"]"))}return this.assignIndexedValue(r,"[]")}serializeProperty(e,r,t){if(typeof r=="string"){let s=Number(r),i=s>=0||we(r);if(this.isIndexedValueInStack(t)){let o=this.getRefParam(t.i);return this.markRef(e.i),i&&s!==s?this.createObjectAssign(e.i,r,o):this.createArrayAssign(e.i,i?r:'"'+r+'"',o),""}return(i?r:'"'+r+'"')+":"+this.serialize(t)}return"["+this.serialize(r)+"]:"+this.serialize(t)}serializeProperties(e,r){let t=r.s;if(t){this.stack.push(e.i);let s=r.k,i=r.v,o=this.serializeProperty(e,s[0],i[0]);for(let a=1,l=o;a<t;a++)l=this.serializeProperty(e,s[a],i[a]),o+=(l&&o&&",")+l;return this.stack.pop(),"{"+o+"}"}return"{}"}serializeObject(e){return this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(e.i,this.serializeProperties(e,e.p))}serializeWithObjectAssign(e,r,t){let s=this.serializeProperties(e,r);return s!=="{}"?"Object.assign("+t+","+s+")":t}serializeStringKeyAssignment(e,r,t,s){let i=this.serialize(s),o=Number(t),a=o>=0||we(t);if(this.isIndexedValueInStack(s))a&&o!==o?this.createObjectAssign(e.i,t,i):this.createArrayAssign(e.i,a?t:'"'+t+'"',i);else{let l=this.assignments;this.assignments=r,a?this.createObjectAssign(e.i,t,i):this.createArrayAssign(e.i,a?t:'"'+t+'"',i),this.assignments=l}}serializeAssignment(e,r,t,s){if(typeof t=="string")this.serializeStringKeyAssignment(e,r,t,s);else{let i=this.stack;this.stack=[];let o=this.serialize(s);this.stack=i;let a=this.assignments;this.assignments=r,this.createArrayAssign(e.i,this.serialize(t),o),this.assignments=a}}serializeAssignments(e,r){let t=r.s;if(t){this.stack.push(e.i);let s=[],i=r.k,o=r.v;for(let a=0;a<t;a++)this.serializeAssignment(e,s,i[a],o[a]);return this.stack.pop(),Ze(s)}}serializeDictionary(e,r){if(e.p)if(this.features&8)r=this.serializeWithObjectAssign(e,e.p,r);else{this.markRef(e.i);let t=this.serializeAssignments(e,e.p);if(t)return"("+this.assignIndexedValue(e.i,r)+","+t+this.getRefParam(e.i)+")"}return this.assignIndexedValue(e.i,r)}serializeNullConstructor(e){return this.pushObjectFlag(e.o,e.i),this.serializeDictionary(e,pr)}serializeDate(e){return this.assignIndexedValue(e.i,'new Date("'+e.s+'")')}serializeRegExp(e){return this.assignIndexedValue(e.i,"/"+e.c+"/"+e.m)}serializeSetItem(e,r){return this.isIndexedValueInStack(r)?(this.markRef(e),this.createAddAssignment(e,this.getRefParam(r.i)),""):this.serialize(r)}serializeSet(e){let r=mr,t=e.l,s=e.i;if(t){let i=e.a;this.stack.push(s);let o=this.serializeSetItem(s,i[0]);for(let a=1,l=o;a<t;a++)l=this.serializeSetItem(s,i[a]),o+=(l&&o&&",")+l;this.stack.pop(),o&&(r+="(["+o+"])")}return this.assignIndexedValue(s,r)}serializeMapEntry(e,r,t,s){if(this.isIndexedValueInStack(r)){let i=this.getRefParam(r.i);if(this.markRef(e),this.isIndexedValueInStack(t)){let a=this.getRefParam(t.i);return this.createSetAssignment(e,i,a),""}if(t.t!==4&&t.i!=null&&this.isMarked(t.i)){let a="("+this.serialize(t)+",["+s+","+s+"])";return this.createSetAssignment(e,i,this.getRefParam(t.i)),this.createDeleteAssignment(e,s),a}let o=this.stack;return this.stack=[],this.createSetAssignment(e,i,this.serialize(t)),this.stack=o,""}if(this.isIndexedValueInStack(t)){let i=this.getRefParam(t.i);if(this.markRef(e),r.t!==4&&r.i!=null&&this.isMarked(r.i)){let a="("+this.serialize(r)+",["+s+","+s+"])";return this.createSetAssignment(e,this.getRefParam(r.i),i),this.createDeleteAssignment(e,s),a}let o=this.stack;return this.stack=[],this.createSetAssignment(e,this.serialize(r),i),this.stack=o,""}return"["+this.serialize(r)+","+this.serialize(t)+"]"}serializeMap(e){let r=gr,t=e.e.s,s=e.i,i=e.f,o=this.getRefParam(i.i);if(t){let a=e.e.k,l=e.e.v;this.stack.push(s);let u=this.serializeMapEntry(s,a[0],l[0],o);for(let g=1,Ae=u;g<t;g++)Ae=this.serializeMapEntry(s,a[g],l[g],o),u+=(Ae&&u&&",")+Ae;this.stack.pop(),u&&(r+="(["+u+"])")}return i.t===26&&(this.markRef(i.i),r="("+this.serialize(i)+","+r+")"),this.assignIndexedValue(s,r)}serializeArrayBuffer(e){let r="new Uint8Array(",t=e.s,s=t.length;if(s){r+="["+t[0];for(let i=1;i<s;i++)r+=","+t[i];r+="]"}return this.assignIndexedValue(e.i,r+").buffer")}serializeTypedArray(e){return this.assignIndexedValue(e.i,"new "+e.c+"("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeDataView(e){return this.assignIndexedValue(e.i,"new DataView("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeAggregateError(e){let r=e.i;this.stack.push(r);let t='new AggregateError([],"'+e.m+'")';return this.stack.pop(),this.serializeDictionary(e,t)}serializeError(e){return this.serializeDictionary(e,"new "+X[e.s]+'("'+e.m+'")')}serializePromise(e){let r,t=e.f,s=e.i,i=e.s?Sr:hr;if(this.isIndexedValueInStack(t)){let o=this.getRefParam(t.i);r=i+(e.s?"().then("+this.createFunction([],o)+")":"().catch("+this.createEffectfulFunction([],"throw "+o)+")")}else{this.stack.push(s);let o=this.serialize(t);this.stack.pop(),r=i+"("+o+")"}return this.assignIndexedValue(s,r)}serializeWellKnownSymbol(e){return this.assignIndexedValue(e.i,ke[e.s])}serializeFormDataEntry(e,r,t){return this.getRefParam(e)+'.append("'+r+'",'+this.serialize(t)+")"}serializeBoxed(e){return this.assignIndexedValue(e.i,"Object("+this.serialize(e.f)+")")}serializePlugin(e){let r=this.plugins;if(r)for(let t=0,s=r.length;t<s;t++){let i=r[t];if(i.tag===e.c)return this.assignIndexedValue(e.i,i.serialize(e.s,this,{id:e.i}))}throw new Error('Missing plugin for tag "'+e.c+'".')}getConstructor(e){let r=this.serialize(e);return r===this.getRefParam(e.i)?r:"("+r+")"}serializePromiseConstructor(e){return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()")}serializePromiseResolve(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializePromiseReject(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializeSpecialReferenceValue(e){switch(e){case 0:return"[]";case 1:return this.createFunction(["s","f","p"],"((p=new Promise("+this.createEffectfulFunction(["a","b"],"s=a,f=b")+")).s=s,p.f=f,p)");case 2:return this.createEffectfulFunction(["p","d"],'p.s(d),p.status="success",p.value=d;delete p.s;delete p.f');case 3:return this.createEffectfulFunction(["p","d"],'p.f(d),p.status="failure",p.value=d;delete p.s;delete p.f');case 4:return this.createFunction(["b","a","s","l","p","f","e","n"],"(b=[],a=!0,s=!1,l=[],s=0,f="+this.createEffectfulFunction(["v","m","x"],"for(x=0;x<s;x++)l[x]&&l[x][m](v)")+",n="+this.createEffectfulFunction(["o","x","z","c"],'for(x=0,z=b.length;x<z;x++)(c=b[x],x===z-1?o[s?"return":"throw"](c):o.next(c))')+",e="+this.createFunction(["o","t"],"(a&&(l[t=p++]=o),n(o),"+this.createEffectfulFunction([],"a&&(l[t]=void 0)")+")")+",{__SEROVAL_STREAM__:!0,on:"+this.createFunction(["o"],"e(o)")+",next:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"next"))')+",throw:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"throw"),a=s=!1,l.length=0)')+",return:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"return"),a=!1,s=!0,l.length=0)')+"})");default:return""}}serializeSpecialReference(e){return this.assignIndexedValue(e.i,this.serializeSpecialReferenceValue(e.s))}serializeIteratorFactory(e){let r="",t=!1;return e.f.t!==4&&(this.markRef(e.f.i),r="("+this.serialize(e.f)+",",t=!0),r+=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["i","c","d","t"],"(i=0,t={["+this.getRefParam(e.f.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction([],"if(i>s.d)return{done:!0,value:void 0};if(d=s.v[c=i++],c===s.t)throw d;return{done:c===s.d,value:d}")+"})"))),t&&(r+=")"),r}serializeIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeAsyncIteratorFactory(e){let r=e.a[0],t=e.a[1],s="";r.t!==4&&(this.markRef(r.i),s+="("+this.serialize(r)),t.t!==4&&(this.markRef(t.i),s+=(s?",":"(")+this.serialize(t)),s&&(s+=",");let i=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["b","c","p","d","e","t","f"],"(b=[],c=0,p=[],d=-1,e=!1,f="+this.createEffectfulFunction(["i","l"],"for(i=0,l=p.length;i<l;i++)p[i].s({done:!0,value:void 0})")+",s.on({next:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!1,value:v});b.push(v)")+",throw:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.f(v);f(),d=b.length,e=!0,b.push(v)")+",return:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!0,value:v});f(),d=b.length,b.push(v)")+"}),t={["+this.getRefParam(t.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction(["i","t","v"],"if(d===-1){return((i=c++)>=b.length)?(p.push(t="+this.getRefParam(r.i)+"()),t):{done:!0,value:b[i]}}if(c>d)return{done:!0,value:void 0};if(v=b[i=c++],i!==d)return{done:!1,value:v};if(e)throw v;return{done:!0,value:v}")+"})")));return s?s+i+")":i}serializeAsyncIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()"),t=e.a.length;if(t){let s=this.serialize(e.a[0]);for(let i=1;i<t;i++)s+=","+this.serialize(e.a[i]);return"("+r+","+s+","+this.getRefParam(e.i)+")"}return r}serializeStreamNext(e){return this.getRefParam(e.i)+".next("+this.serialize(e.f)+")"}serializeStreamThrow(e){return this.getRefParam(e.i)+".throw("+this.serialize(e.f)+")"}serializeStreamReturn(e){return this.getRefParam(e.i)+".return("+this.serialize(e.f)+")"}serialize(e){switch(e.t){case 2:return Fe[e.s];case 0:return""+e.s;case 1:return'"'+e.s+'"';case 3:return e.s+"n";case 4:return this.getRefParam(e.i);case 18:return this.serializeReference(e);case 9:return this.serializeArray(e);case 10:return this.serializeObject(e);case 11:return this.serializeNullConstructor(e);case 5:return this.serializeDate(e);case 6:return this.serializeRegExp(e);case 7:return this.serializeSet(e);case 8:return this.serializeMap(e);case 19:return this.serializeArrayBuffer(e);case 16:case 15:return this.serializeTypedArray(e);case 20:return this.serializeDataView(e);case 14:return this.serializeAggregateError(e);case 13:return this.serializeError(e);case 12:return this.serializePromise(e);case 17:return this.serializeWellKnownSymbol(e);case 21:return this.serializeBoxed(e);case 22:return this.serializePromiseConstructor(e);case 23:return this.serializePromiseResolve(e);case 24:return this.serializePromiseReject(e);case 25:return this.serializePlugin(e);case 26:return this.serializeSpecialReference(e);case 27:return this.serializeIteratorFactory(e);case 28:return this.serializeIteratorFactoryInstance(e);case 29:return this.serializeAsyncIteratorFactory(e);case 30:return this.serializeAsyncIteratorFactoryInstance(e);case 31:return this.serializeStreamConstructor(e);case 32:return this.serializeStreamNext(e);case 33:return this.serializeStreamThrow(e);case 34:return this.serializeStreamReturn(e);default:throw new Error("invariant")}}};var er="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Xe=er.length,rr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Qe=rr.length;function Pe(n){let e=n%Xe,r=er[e];for(n=(n-e)/Xe;n>0;)e=n%Qe,r+=rr[e],n=(n-e)/Qe;return r}var w=class extends R{constructor(){super(...arguments);this.mode="vanilla";this.valid=new Map;this.vars=[]}getRefParam(r){let t=this.valid.get(r);t==null&&(t=this.valid.size,this.valid.set(r,t));let s=this.vars[t];return s==null&&(s=Pe(t),this.vars[t]=s),s}assignIndexedValue(r,t){return this.isMarked(r)?this.getRefParam(r)+"="+t:t}serializePromiseConstructor(r){throw new Error('Unsupported node type "'+r.t+'".')}serializePromiseResolve(r){throw new Error('Unsupported node type "'+r.t+'".')}serializePromiseReject(r){throw new Error('Unsupported node type "'+r.t+'".')}serializeTop(r){let t=this.serialize(r);if(r.i!=null&&this.vars.length){let s=this.resolvePatches(),i=t;if(s){let o=this.getRefParam(r.i);i=t+","+s+o,t.startsWith(o+"=")||(i=o+"="+i)}return"("+this.createFunction(this.vars,"("+i+")")+")()"}return r.t===10?"("+t+")":t}};var m=class extends D{parseItems(e){let r=[];for(let t=0,s=e.length;t<s;t++)t in e&&(r[t]=this.parse(e[t]));return r}parseArray(e,r){return le(e,r,this.parseItems(r))}parseProperties(e){let r=Object.entries(e),t=[],s=[];for(let o=0,a=r.length;o<a;o++)t.push(d(r[o][0])),s.push(this.parse(r[o][1]));let i=Symbol.iterator;return i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(k(this.parseIteratorFactory(),this.parse(V(e))))),i=Symbol.asyncIterator,i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(T(this.parseAsyncIteratorFactory(),this.parse(B())))),i=Symbol.toStringTag,i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(b(e[i]))),i=Symbol.isConcatSpreadable,i in e&&(t.push(this.parseWellKnownSymbol(i)),s.push(e[i]?v:N)),{k:t,v:s,s:t.length}}parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,this.parseProperties(r))}parseBoxed(e,r){return ue(e,this.parse(r.valueOf()))}parseTypedArray(e,r){return de(e,r,this.parse(r.buffer))}parseBigIntTypedArray(e,r){return ce(e,r,this.parse(r.buffer))}parseDataView(e,r){return fe(e,r,this.parse(r.buffer))}parseError(e,r){let t=O(r,this.features);return pe(e,r,t?this.parseProperties(t):void 0)}parseAggregateError(e,r){let t=O(r,this.features);return me(e,r,t?this.parseProperties(t):void 0)}parseMap(e,r){let t=[],s=[];for(let[i,o]of r.entries())t.push(this.parse(i)),s.push(this.parse(o));return this.createMapNode(e,t,s,r.size)}parseSet(e,r){let t=[];for(let s of r.keys())t.push(this.parse(s));return ge(e,r.size,t)}parsePlugin(e,r){let t=this.plugins;if(t)for(let s=0,i=t.length;s<i;s++){let o=t[s];if(o.parse.sync&&o.test(r))return z(e,o.tag,o.parse.sync(r,this,{id:e}))}}parseStream(e,r){return F(e,this.parseSpecialReference(4),[])}parsePromise(e,r){return{t:22,i:e,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:this.parseSpecialReference(1),b:void 0,o:void 0}}parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Ne(r))return this.parseStream(e,r);let t=this.parsePlugin(e,r);if(t)return t;let s=r.constructor;switch(s){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return ie(e,r);case RegExp:return oe(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return ae(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(s===Promise||r instanceof Promise)return this.parsePromise(e,r);let i=this.features;if(i&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(i&1&&typeof AggregateError!="undefined"&&(s===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!s);throw new p(r)}parse(e){switch(typeof e){case"boolean":return e?v:N;case"undefined":return Q;case"string":return b(e);case"number":return ne(e);case"bigint":return se(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?this.parseObject(r.value,e):r.value}return ee}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new p(e)}}};var M=class extends m{constructor(){super(...arguments);this.mode="vanilla"}};function pn(n,e={}){let r=c(e.plugins),t=new M({plugins:r,disabledFeatures:e.disabledFeatures}),s=t.parse(n);return new w({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(s)}async function mn(n,e={}){let r=c(e.plugins),t=new j({plugins:r,disabledFeatures:e.disabledFeatures}),s=await t.parse(n);return new w({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(s)}function gn(n){return(0,eval)(n)}function Sn(n,e={}){let r=c(e.plugins),t=new M({plugins:r,disabledFeatures:e.disabledFeatures});return{t:t.parse(n),f:t.features,m:Array.from(t.marked)}}async function hn(n,e={}){let r=c(e.plugins),t=new j({plugins:r,disabledFeatures:e.disabledFeatures});return{t:await t.parse(n),f:t.features,m:Array.from(t.marked)}}function yn(n,e={}){let r=c(e.plugins);return new w({plugins:r,features:n.f,markedRefs:n.m}).serializeTop(n.t)}function vn(n,e={}){let r=c(e.plugins);return new Y({plugins:r,markedRefs:n.m}).deserialize(n.t)}var _=class extends I{constructor(){super(...arguments);this.mode="cross"}};var H=class extends E{constructor(){super(...arguments);this.mode="cross"}assignIndexedValue(r,t){return this.refs.has(r)||this.refs.set(r,t),t}};var P=class extends R{constructor(r){super(r);this.mode="cross";this.scopeId=r.scopeId}getRefParam(r){return K+"["+r+"]"}assignIndexedValue(r,t){return this.getRefParam(r)+"="+t}serializeTop(r){let t=this.serialize(r),s=r.i;if(s==null)return t;let i=this.resolvePatches(),o=this.getRefParam(s),a=this.scopeId==null?"":K,l=i?t+","+i+o:t;if(a==="")return i?"("+l+")":l;let u=this.scopeId==null?"()":"("+K+'["'+d(this.scopeId)+'"])';return"("+this.createFunction([a],l)+")"+u}};var $=class extends m{constructor(r){super(r);this.alive=!0;this.pending=0;this.initial=!0;this.buffer=[];this.onParseCallback=r.onParse,this.onErrorCallback=r.onError,this.onDoneCallback=r.onDone}onParseInternal(r,t){try{this.onParseCallback(r,t)}catch(s){this.onError(s)}}flush(){for(let r=0,t=this.buffer.length;r<t;r++)this.onParseInternal(this.buffer[r],!1)}onParse(r){this.initial?this.buffer.push(r):this.onParseInternal(r,!1)}onError(r){if(this.onErrorCallback)this.onErrorCallback(r);else throw r}onDone(){this.onDoneCallback&&this.onDoneCallback()}pushPendingState(){this.pending++}popPendingState(){--this.pending<=0&&this.onDone()}parseProperties(r){let t=Object.entries(r),s=[],i=[];for(let a=0,l=t.length;a<l;a++)s.push(d(t[a][0])),i.push(this.parse(t[a][1]));let o=Symbol.iterator;return o in r&&(s.push(this.parseWellKnownSymbol(o)),i.push(k(this.parseIteratorFactory(),this.parse(V(r))))),o=Symbol.asyncIterator,o in r&&(s.push(this.parseWellKnownSymbol(o)),i.push(T(this.parseAsyncIteratorFactory(),this.parse(be(r))))),o=Symbol.toStringTag,o in r&&(s.push(this.parseWellKnownSymbol(o)),i.push(b(r[o]))),o=Symbol.isConcatSpreadable,o in r&&(s.push(this.parseWellKnownSymbol(o)),i.push(r[o]?v:N)),{k:s,v:i,s:s.length}}parsePromise(r,t){return t.then(s=>{let i=this.parseWithError(s);i&&this.onParse({t:23,i:r,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[this.parseSpecialReference(2),i],f:void 0,b:void 0,o:void 0}),this.popPendingState()},s=>{if(this.alive){let i=this.parseWithError(s);i&&this.onParse({t:24,i:r,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[this.parseSpecialReference(3),i],f:void 0,b:void 0,o:void 0})}this.popPendingState()}),this.pushPendingState(),{t:22,i:r,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:this.parseSpecialReference(1),b:void 0,o:void 0}}parsePlugin(r,t){let s=this.plugins;if(s)for(let i=0,o=s.length;i<o;i++){let a=s[i];if(a.parse.stream&&a.test(t))return z(r,a.tag,a.parse.stream(t,this,{id:r}))}}parseStream(r,t){let s=F(r,this.parseSpecialReference(4),[]);return this.pushPendingState(),t.on({next:i=>{if(this.alive){let o=this.parseWithError(i);o&&this.onParse(Se(r,o))}},throw:i=>{if(this.alive){let o=this.parseWithError(i);o&&this.onParse(he(r,o))}this.popPendingState()},return:i=>{if(this.alive){let o=this.parseWithError(i);o&&this.onParse(ye(r,o))}this.popPendingState()}}),s}parseWithError(r){try{return this.parse(r)}catch(t){this.onError(t);return}}start(r){let t=this.parseWithError(r);t&&(this.onParseInternal(t,!0),this.initial=!1,this.flush(),this.pending<=0&&this.destroy())}destroy(){this.alive&&(this.onDone(),this.alive=!1)}isAlive(){return this.alive}};var U=class extends ${constructor(){super(...arguments);this.mode="cross"}};var W=class extends m{constructor(){super(...arguments);this.mode="cross"}};function Hn(n,e={}){let r=c(e.plugins),t=new W({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),s=t.parse(n);return new P({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(s)}async function $n(n,e={}){let r=c(e.plugins),t=new _({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),s=await t.parse(n);return new P({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(s)}function qn(n,e={}){let r=c(e.plugins);return new W({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(n)}async function Zn(n,e={}){let r=c(e.plugins);return await new _({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(n)}function tr(n,e){let r=c(e.plugins),t=new U({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse(s,i){let o=new P({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}),a;try{a=o.serializeTop(s)}catch(l){e.onError&&e.onError(l);return}e.onSerialize(a,i)},onError:e.onError,onDone:e.onDone});return t.start(n),()=>{t.destroy()}}function Xn(n,e){let r=c(e.plugins),t=new U({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse:e.onParse,onError:e.onError,onDone:e.onDone});return t.start(n),()=>{t.destroy()}}function Qn(n,e){let r=c(e.plugins);return new H({plugins:r,refs:e.refs}).deserialize(n)}var xe=class{constructor(e){this.options=e;this.alive=!0;this.flushed=!1;this.done=!1;this.pending=0;this.cleanups=[];this.refs=new Map;this.keys=new Set;this.ids=0;this.plugins=c(e.plugins)}write(e,r){this.alive&&!this.flushed&&(this.pending++,this.keys.add(e),this.cleanups.push(tr(r,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(t,s)=>{this.alive&&this.options.onData(s?this.options.globalIdentifier+'["'+d(e)+'"]='+t:t)},onDone:()=>{this.alive&&(this.pending--,this.pending<=0&&this.flushed&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}})))}getNextID(){for(;this.keys.has(""+this.ids);)this.ids++;return""+this.ids}push(e){let r=this.getNextID();return this.write(r,e),r}flush(){this.alive&&(this.flushed=!0,this.pending<=0&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}close(){if(this.alive){for(let e=0,r=this.cleanups.length;e<r;e++)this.cleanups[e]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};export{C as Feature,xe as Serializer,yn as compileJSON,wr as createPlugin,or as createReference,B as createStream,Hn as crossSerialize,$n as crossSerializeAsync,tr as crossSerializeStream,gn as deserialize,Qn as fromCrossJSON,vn as fromJSON,ir as getCrossReferenceHeader,c as resolvePlugins,pn as serialize,mn as serializeAsync,qn as toCrossJSON,Zn as toCrossJSONAsync,Xn as toCrossJSONStream,Sn as toJSON,hn as toJSONAsync};
1
+ var C=(o=>(o[o.AggregateError=1]="AggregateError",o[o.ArrowFunction=2]="ArrowFunction",o[o.ErrorPrototypeStack=4]="ErrorPrototypeStack",o[o.ObjectAssign=8]="ObjectAssign",o[o.BigIntTypedArray=16]="BigIntTypedArray",o))(C||{});function f(n,e){if(!n)throw e}function nr(n){switch(n){case'"':return'\\"';case"\\":return"\\\\";case`
2
+ `:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case" ":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return}}function u(n){let e="",r=0,t;for(let s=0,o=n.length;s<o;s++)t=nr(n[s]),t&&(e+=n.slice(r,s)+t,r=s+1);return r===0?e=n:e+=n.slice(r),e}function sr(n){switch(n){case"\\\\":return"\\";case'\\"':return'"';case"\\n":return`
3
+ `;case"\\r":return"\r";case"\\b":return"\b";case"\\t":return" ";case"\\f":return"\f";case"\\x3C":return"<";case"\\u2028":return"\u2028";case"\\u2029":return"\u2029";default:return n}}function S(n){return n.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,sr)}var b="__SEROVAL_REFS__",K="$R",q=`self.${K}`;function or(n){return n==null?`${q}=${q}||[]`:`(${q}=${q}||{})["${u(n)}"]=[]`}var Ie=new Map,x=new Map;function ir(n,e){return Ie.set(e,n),x.set(n,e),e}function Z(n){return Ie.has(n)}function ar(n){return x.has(n)}function Ce(n){return f(Z(n),new Error("Missing reference id")),Ie.get(n)}function Oe(n){return f(ar(n),new Error("Missing reference for id:"+n)),x.get(n)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,b,{value:x,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,b,{value:x,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,b,{value:x,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,b,{value:x,configurable:!0,writable:!1,enumerable:!1});function wr(n){return n}function ze(n,e){for(let r=0,t=e.length;r<t;r++){let s=e[r];n.has(s)||(n.add(s),s.extends&&ze(n,s.extends))}}function c(n){if(n){let e=new Set;return ze(e,n),[...e]}}var{toString:lr}=Object.prototype,p=class extends Error{constructor(r){super('Unsupported type "'+lr.call(r)+'"');this.value=r}};var Te={0:"Symbol.asyncIterator",1:"Symbol.hasInstance",2:"Symbol.isConcatSpreadable",3:"Symbol.iterator",4:"Symbol.match",5:"Symbol.matchAll",6:"Symbol.replace",7:"Symbol.search",8:"Symbol.species",9:"Symbol.split",10:"Symbol.toPrimitive",11:"Symbol.toStringTag",12:"Symbol.unscopables"},L={[Symbol.asyncIterator]:0,[Symbol.hasInstance]:1,[Symbol.isConcatSpreadable]:2,[Symbol.iterator]:3,[Symbol.match]:4,[Symbol.matchAll]:5,[Symbol.replace]:6,[Symbol.search]:7,[Symbol.species]:8,[Symbol.split]:9,[Symbol.toPrimitive]:10,[Symbol.toStringTag]:11,[Symbol.unscopables]:12},ke={0:Symbol.asyncIterator,1:Symbol.hasInstance,2:Symbol.isConcatSpreadable,3:Symbol.iterator,4:Symbol.match,5:Symbol.matchAll,6:Symbol.replace,7:Symbol.search,8:Symbol.species,9:Symbol.split,10:Symbol.toPrimitive,11:Symbol.toStringTag,12:Symbol.unscopables},Fe={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},De={2:!0,3:!1,1:void 0,0:null,4:-0,5:1/0,6:-1/0,7:NaN};var X={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},Ve={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function h(n){return{t:2,i:void 0,s:n,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}var y=h(2),v=h(3),Q=h(1),ee=h(0),Be=h(4),je=h(5),Me=h(6),_e=h(7);function re(n){return n instanceof EvalError?1:n instanceof RangeError?2:n instanceof ReferenceError?3:n instanceof SyntaxError?4:n instanceof TypeError?5:n instanceof URIError?6:0}function dr(n){let e=X[re(n)];return n.name!==e?{name:n.name}:n.constructor.name!==e?{name:n.constructor.name}:{}}function O(n,e){let r=dr(n),t=Object.getOwnPropertyNames(n);for(let s=0,o=t.length,i;s<o;s++)i=t[s],i!=="name"&&i!=="message"&&(i==="stack"?e&4&&(r=r||{},r[i]=n[i]):(r=r||{},r[i]=n[i]));return r}function te(n){return Object.isFrozen(n)?3:Object.isSealed(n)?2:Object.isExtensible(n)?0:1}function ne(n){switch(n){case 1/0:return je;case-1/0:return Me}return n!==n?_e:Object.is(n,-0)?Be:{t:0,i:void 0,s:n,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function N(n){return{t:1,i:void 0,s:u(n),l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function se(n){return{t:3,i:void 0,s:""+n,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function We(n){return{t:4,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function oe(n,e){return{t:5,i:n,s:e.toISOString(),l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,f:void 0,a:void 0,b:void 0,o:void 0}}function ie(n,e){return{t:6,i:n,s:void 0,l:void 0,c:u(e.source),m:e.flags,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function ae(n,e){let r=new Uint8Array(e),t=r.length,s=new Array(t);for(let o=0;o<t;o++)s[o]=r[o];return{t:19,i:n,s,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function Ke(n,e){return f(e in L,new Error("Only well-known symbols are supported.")),{t:17,i:n,s:L[e],l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function Ee(n,e){return{t:18,i:n,s:u(Ce(e)),l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function z(n,e,r){return{t:25,i:n,s:r,l:void 0,c:u(e),m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function le(n,e,r){return{t:9,i:n,s:void 0,l:e.length,c:void 0,m:void 0,p:void 0,e:void 0,a:r,f:void 0,b:void 0,o:te(e)}}function de(n,e){return{t:21,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function ue(n,e,r){return{t:15,i:n,s:void 0,l:e.length,c:e.constructor.name,m:void 0,p:void 0,e:void 0,a:void 0,f:r,b:e.byteOffset,o:void 0}}function ce(n,e,r){return{t:16,i:n,s:void 0,l:e.length,c:e.constructor.name,m:void 0,p:void 0,e:void 0,a:void 0,f:r,b:e.byteOffset,o:void 0}}function fe(n,e,r){return{t:20,i:n,s:void 0,l:e.byteLength,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:r,b:e.byteOffset,o:void 0}}function pe(n,e,r){return{t:13,i:n,s:re(e),l:void 0,c:void 0,m:u(e.message),p:r,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function me(n,e,r){return{t:14,i:n,s:re(e),l:void 0,c:void 0,m:u(e.message),p:r,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function ge(n,e,r){return{t:7,i:n,s:void 0,l:e,c:void 0,m:void 0,p:void 0,e:void 0,a:r,f:void 0,b:void 0,o:void 0}}function T(n,e){return{t:28,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[n,e],f:void 0,b:void 0,o:void 0}}function k(n,e){return{t:30,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[n,e],f:void 0,b:void 0,o:void 0}}function F(n,e,r){return{t:31,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:r,f:e,b:void 0,o:void 0}}function Se(n,e){return{t:32,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function he(n,e){return{t:33,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function ye(n,e){return{t:34,i:n,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:e,b:void 0,o:void 0}}function D(n){let e=[],r=-1,t=-1,s=n[Symbol.iterator]();for(;;)try{let o=s.next();if(e.push(o.value),o.done){t=e.length-1;break}}catch(o){r=e.length,e.push(o)}return{v:e,t:r,d:t}}function Le(n){return()=>{let e=0;return{[Symbol.iterator](){return this},next(){if(e>n.d)return{done:!0,value:void 0};let r=e++,t=n.v[r];if(r===n.t)throw t;return{done:r===n.d,value:t}}}}}var Je={},Ye={};var Ge={0:{},1:{},2:{},3:{},4:{}};var V=class{constructor(e){this.marked=new Set;this.plugins=e.plugins,this.features=31^(e.disabledFeatures||0),this.refs=e.refs||new Map}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}getIndexedValue(e){let r=this.refs.get(e);if(r!=null)return this.markRef(r),{type:1,value:We(r)};let t=this.refs.size;return this.refs.set(e,t),{type:0,value:t}}getReference(e){let r=this.getIndexedValue(e);return r.type===1?r:Z(e)?{type:2,value:Ee(r.value,e)}:r}getStrictReference(e){f(Z(e),new Error("Cannot serialize "+typeof e+" without reference ID."));let r=this.getIndexedValue(e);return r.type===1?r.value:Ee(r.value,e)}parseFunction(e){return this.getStrictReference(e)}parseWellKnownSymbol(e){let r=this.getReference(e);return r.type!==0?r.value:(f(e in L,new Error("Cannot serialized unsupported symbol.")),Ke(r.value,e))}parseSpecialReference(e){let r=this.getIndexedValue(Ge[e]);return r.type===1?r.value:{t:26,i:r.value,s:e,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}parseIteratorFactory(){let e=this.getIndexedValue(Je);return e.type===1?e.value:{t:27,i:e.value,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:this.parseWellKnownSymbol(Symbol.iterator),b:void 0,o:void 0}}parseAsyncIteratorFactory(){let e=this.getIndexedValue(Ye);return e.type===1?e.value:{t:29,i:e.value,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[this.parseSpecialReference(1),this.parseWellKnownSymbol(Symbol.asyncIterator)],f:void 0,b:void 0,o:void 0}}createObjectNode(e,r,t,s){return{t:t?11:10,i:e,s:void 0,l:void 0,c:void 0,m:void 0,p:s,e:void 0,a:void 0,f:void 0,b:void 0,o:te(r)}}createMapNode(e,r,t,s){return{t:8,i:e,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:{k:r,v:t,s},a:void 0,f:this.parseSpecialReference(0),b:void 0,o:void 0}}createPromiseConstructorNode(e){return{t:22,i:e,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:this.parseSpecialReference(1),b:void 0,o:void 0}}};async function Re(n){try{return[1,await n]}catch(e){return[0,e]}}function J(){let n,e;return{promise:new Promise((r,t)=>{n=r,e=t}),resolve(r){n(r)},reject(r){e(r)}}}function Ne(n){return"__SEROVAL_STREAM__"in n}function B(){let n=new Set,e=[],r=!0,t=!1;function s(a){for(let l of n.keys())l.next(a)}function o(a){for(let l of n.keys())l.throw(a)}function i(a){for(let l of n.keys())l.return(a)}return{__SEROVAL_STREAM__:!0,on(a){r&&n.add(a);for(let l=0,d=e.length;l<d;l++){let g=e[l];l===d-1?t?a.return(g):a.throw(g):a.next(g)}return()=>{r&&n.delete(a)}},next(a){r&&(e.push(a),s(a))},throw(a){r&&(e.push(a),o(a),r=!1,t=!1,n.clear())},return(a){r&&(e.push(a),i(a),r=!1,t=!0,n.clear())}}}function be(n){let e=B(),r=n[Symbol.asyncIterator]();async function t(){try{let s=await r.next();s.done?e.return(s.value):(e.next(s.value),await t())}catch(s){e.throw(s)}}return t().catch(()=>{}),e}function He(n){return()=>{let e=[],r=[],t=0,s=-1,o=!1;function i(){for(let l=0,d=r.length;l<d;l++)r[l].resolve({done:!0,value:void 0})}n.on({next(l){let d=r.shift();d&&d.resolve({done:!1,value:l}),e.push(l)},throw(l){let d=r.shift();d&&d.reject(l),i(),s=e.length,e.push(l),o=!0},return(l){let d=r.shift();d&&d.resolve({done:!0,value:l}),i(),s=e.length,e.push(l)}});function a(){let l=t++,d=e[l];if(l!==s)return{done:!1,value:d};if(o)throw d;return{done:!0,value:d}}return{[Symbol.asyncIterator](){return this},async next(){if(s===-1){let l=t++;if(l>=e.length){let d=J();return r.push(d),await d.promise}return{done:!1,value:e[l]}}return t>s?{done:!0,value:void 0}:a()}}}}var I=class extends V{async parseItems(e){let r=[];for(let t=0,s=e.length;t<s;t++)t in e&&(r[t]=await this.parse(e[t]));return r}async parseArray(e,r){return le(e,r,await this.parseItems(r))}async parseProperties(e){let r=Object.entries(e),t=[],s=[];for(let i=0,a=r.length;i<a;i++)t.push(u(r[i][0])),s.push(await this.parse(r[i][1]));let o=Symbol.iterator;return o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(T(this.parseIteratorFactory(),await this.parse(D(e))))),o=Symbol.asyncIterator,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(k(this.parseAsyncIteratorFactory(),await this.parse(be(e))))),o=Symbol.toStringTag,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(N(e[o]))),o=Symbol.isConcatSpreadable,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(e[o]?y:v)),{k:t,v:s,s:t.length}}async parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,await this.parseProperties(r))}async parseBoxed(e,r){return de(e,await this.parse(r.valueOf()))}async parseTypedArray(e,r){return ue(e,r,await this.parse(r.buffer))}async parseBigIntTypedArray(e,r){return ce(e,r,await this.parse(r.buffer))}async parseDataView(e,r){return fe(e,r,await this.parse(r.buffer))}async parseError(e,r){let t=O(r,this.features);return pe(e,r,t?await this.parseProperties(t):void 0)}async parseAggregateError(e,r){let t=O(r,this.features);return me(e,r,t?await this.parseProperties(t):void 0)}async parseMap(e,r){let t=[],s=[];for(let[o,i]of r.entries())t.push(await this.parse(o)),s.push(await this.parse(i));return this.createMapNode(e,t,s,r.size)}async parseSet(e,r){let t=[];for(let s of r.keys())t.push(await this.parse(s));return ge(e,r.size,t)}async parsePromise(e,r){let[t,s]=await Re(r);return{t:12,i:e,s:t,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:void 0,f:await this.parse(s),b:void 0,o:void 0}}async parsePlugin(e,r){let t=this.plugins;if(t)for(let s=0,o=t.length;s<o;s++){let i=t[s];if(i.parse.async&&i.test(r))return z(e,i.tag,await i.parse.async(r,this,{id:e}))}}async parseStream(e,r){return F(e,this.parseSpecialReference(4),await new Promise((t,s)=>{let o=[],i=r.on({next:a=>{this.markRef(e),this.parse(a).then(l=>{o.push(Se(e,l))},l=>{s(l),i()})},throw:a=>{this.markRef(e),this.parse(a).then(l=>{o.push(he(e,l)),t(o),i()},l=>{s(l),i()})},return:a=>{this.markRef(e),this.parse(a).then(l=>{o.push(ye(e,l)),t(o),i()},l=>{s(l),i()})}})}))}async parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Ne(r))return this.parseStream(e,r);let t=await this.parsePlugin(e,r);if(t)return t;let s=r.constructor;switch(s){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return oe(e,r);case RegExp:return ie(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return ae(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(s===Promise||r instanceof Promise)return this.parsePromise(e,r);let o=this.features;if(o&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(o&1&&typeof AggregateError!="undefined"&&(s===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!s);throw new p(r)}async parse(e){switch(typeof e){case"boolean":return e?y:v;case"undefined":return Q;case"string":return N(e);case"number":return ne(e);case"bigint":return se(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?await this.parseObject(r.value,e):r.value}return ee}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new p(e)}}};var j=class extends I{constructor(){super(...arguments);this.mode="vanilla"}};function $e(n){switch(n){case"Int8Array":return Int8Array;case"Int16Array":return Int16Array;case"Int32Array":return Int32Array;case"Uint8Array":return Uint8Array;case"Uint16Array":return Uint16Array;case"Uint32Array":return Uint32Array;case"Uint8ClampedArray":return Uint8ClampedArray;case"Float32Array":return Float32Array;case"Float64Array":return Float64Array;case"BigInt64Array":return BigInt64Array;case"BigUint64Array":return BigUint64Array;default:throw new Error(`Unknown TypedArray "${n}"`)}}function qe(n,e){switch(e){case 3:return Object.freeze(n);case 1:return Object.preventExtensions(n);case 2:return Object.seal(n);default:return n}}var E=class{constructor(e){this.plugins=e.plugins,this.refs=e.refs||new Map}deserializeReference(e){return this.assignIndexedValue(e.i,Oe(S(e.s)))}deserializeArray(e){let r=e.l,t=this.assignIndexedValue(e.i,new Array(r)),s;for(let o=0;o<r;o++)s=e.a[o],s&&(t[o]=this.deserialize(s));return qe(t,e.o),t}deserializeProperties(e,r){let t=e.s;if(t){let s=e.k,o=e.v;for(let i=0,a;i<t;i++)a=s[i],typeof a=="string"?r[S(a)]=this.deserialize(o[i]):r[this.deserialize(a)]=this.deserialize(o[i])}return r}deserializeObject(e){let r=this.assignIndexedValue(e.i,e.t===10?{}:Object.create(null));return this.deserializeProperties(e.p,r),qe(r,e.o),r}deserializeDate(e){return this.assignIndexedValue(e.i,new Date(e.s))}deserializeRegExp(e){return this.assignIndexedValue(e.i,new RegExp(S(e.c),e.m))}deserializeSet(e){let r=this.assignIndexedValue(e.i,new Set),t=e.a;for(let s=0,o=e.l;s<o;s++)r.add(this.deserialize(t[s]));return r}deserializeMap(e){let r=this.assignIndexedValue(e.i,new Map),t=e.e.k,s=e.e.v;for(let o=0,i=e.e.s;o<i;o++)r.set(this.deserialize(t[o]),this.deserialize(s[o]));return r}deserializeArrayBuffer(e){let r=new Uint8Array(e.s);return this.assignIndexedValue(e.i,r.buffer)}deserializeTypedArray(e){let r=$e(e.c),t=this.deserialize(e.f);return this.assignIndexedValue(e.i,new r(t,e.b,e.l))}deserializeDataView(e){let r=this.deserialize(e.f);return this.assignIndexedValue(e.i,new DataView(r,e.b,e.l))}deserializeDictionary(e,r){if(e.p){let t=this.deserializeProperties(e.p,{});Object.assign(r,t)}return r}deserializeAggregateError(e){let r=this.assignIndexedValue(e.i,new AggregateError([],S(e.m)));return this.deserializeDictionary(e,r)}deserializeError(e){let r=Ve[e.s],t=this.assignIndexedValue(e.i,new r(S(e.m)));return this.deserializeDictionary(e,t)}deserializePromise(e){let r=J(),t=this.assignIndexedValue(e.i,r),s=this.deserialize(e.f);return e.s?r.resolve(s):r.reject(s),t.promise}deserializeBoxed(e){return this.assignIndexedValue(e.i,Object(this.deserialize(e.f)))}deserializePlugin(e){let r=this.plugins;if(r){let t=S(e.c);for(let s=0,o=r.length;s<o;s++){let i=r[s];if(i.tag===t)return this.assignIndexedValue(e.i,i.deserialize(e.s,this,{id:e.i}))}}throw new Error('Missing plugin for tag "'+e.c+'".')}deserializePromiseConstructor(e){return this.assignIndexedValue(e.i,J()).promise}deserializePromiseResolve(e){let r=this.refs.get(e.i);f(r,new Error("Missing Promise instance.")),r.resolve(this.deserialize(e.a[1]))}deserializePromiseReject(e){let r=this.refs.get(e.i);f(r,new Error("Missing Promise instance.")),r.reject(this.deserialize(e.a[1]))}deserializeIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return Le(r)}deserializeAsyncIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return He(r)}deserializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,B()),t=e.a.length;if(t)for(let s=0;s<t;s++)this.deserialize(e.a[s]);return r}deserializeStreamNext(e){let r=this.refs.get(e.i);f(r,new Error("Missing Stream instance.")),r.next(this.deserialize(e.f))}deserializeStreamThrow(e){let r=this.refs.get(e.i);f(r,new Error("Missing Stream instance.")),r.throw(this.deserialize(e.f))}deserializeStreamReturn(e){let r=this.refs.get(e.i);f(r,new Error("Missing Stream instance.")),r.return(this.deserialize(e.f))}deserializeIteratorFactory(e){this.deserialize(e.f)}deserializeAsyncIteratorFactory(e){this.deserialize(e.a[1])}deserialize(e){switch(e.t){case 2:return De[e.s];case 0:return e.s;case 1:return S(e.s);case 3:return BigInt(e.s);case 4:return this.refs.get(e.i);case 18:return this.deserializeReference(e);case 9:return this.deserializeArray(e);case 10:case 11:return this.deserializeObject(e);case 5:return this.deserializeDate(e);case 6:return this.deserializeRegExp(e);case 7:return this.deserializeSet(e);case 8:return this.deserializeMap(e);case 19:return this.deserializeArrayBuffer(e);case 16:case 15:return this.deserializeTypedArray(e);case 20:return this.deserializeDataView(e);case 14:return this.deserializeAggregateError(e);case 13:return this.deserializeError(e);case 12:return this.deserializePromise(e);case 17:return ke[e.s];case 21:return this.deserializeBoxed(e);case 25:return this.deserializePlugin(e);case 22:return this.deserializePromiseConstructor(e);case 23:return this.deserializePromiseResolve(e);case 24:return this.deserializePromiseReject(e);case 28:return this.deserializeIteratorFactoryInstance(e);case 30:return this.deserializeAsyncIteratorFactoryInstance(e);case 31:return this.deserializeStreamConstructor(e);case 32:return this.deserializeStreamNext(e);case 33:return this.deserializeStreamThrow(e);case 34:return this.deserializeStreamReturn(e);case 27:return this.deserializeIteratorFactory(e);case 29:return this.deserializeAsyncIteratorFactory(e);default:throw new Error("invariant")}}};var Y=class extends E{constructor(r){super(r);this.mode="vanilla";this.marked=new Set(r.markedRefs)}assignIndexedValue(r,t){return this.marked.has(r)&&this.refs.set(r,t),t}};var cr=/^[$A-Z_][0-9A-Z_$]*$/i;function we(n){let e=n[0];return(e==="$"||e==="_"||e>="A"&&e<="Z"||e>="a"&&e<="z")&&cr.test(n)}function G(n){switch(n.t){case 0:return n.s+"="+n.v;case 2:return n.s+".set("+n.k+","+n.v+")";case 1:return n.s+".add("+n.v+")";case 3:return n.s+".delete("+n.k+")"}}function fr(n){let e=[],r=n[0];for(let t=1,s=n.length,o,i=r;t<s;t++)o=n[t],o.t===0&&o.v===i.v?r={t:0,s:o.s,k:void 0,v:G(r)}:o.t===2&&o.s===i.s?r={t:2,s:G(r),k:o.k,v:o.v}:o.t===1&&o.s===i.s?r={t:1,s:G(r),k:void 0,v:o.v}:o.t===3&&o.s===i.s?r={t:3,s:G(r),k:o.k,v:void 0}:(e.push(r),r=o),i=o;return e.push(r),e}function Ze(n){if(n.length){let e="",r=fr(n);for(let t=0,s=r.length;t<s;t++)e+=G(r[t])+",";return e}}var pr="Object.create(null)",mr="new Set",gr="new Map",Sr="Promise.resolve",hr="Promise.reject",yr={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:void 0},R=class{constructor(e){this.stack=[];this.flags=[];this.assignments=[];this.plugins=e.plugins,this.features=e.features,this.marked=new Set(e.markedRefs)}createFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+r:"function("+e.join(",")+"){return "+r+"}"}createEffectfulFunction(e,r){return this.features&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}markRef(e){this.marked.add(e)}isMarked(e){return this.marked.has(e)}pushObjectFlag(e,r){e!==0&&(this.markRef(r),this.flags.push({type:e,value:this.getRefParam(r)}))}resolveFlags(){let e="";for(let r=0,t=this.flags,s=t.length;r<s;r++){let o=t[r];e+=yr[o.type]+"("+o.value+"),"}return e}resolvePatches(){let e=Ze(this.assignments),r=this.resolveFlags();return e?r?e+r:e:r}createAssignment(e,r){this.assignments.push({t:0,s:e,k:void 0,v:r})}createAddAssignment(e,r){this.assignments.push({t:1,s:this.getRefParam(e),k:void 0,v:r})}createSetAssignment(e,r,t){this.assignments.push({t:2,s:this.getRefParam(e),k:r,v:t})}createDeleteAssignment(e,r){this.assignments.push({t:3,s:this.getRefParam(e),k:r,v:void 0})}createArrayAssign(e,r,t){this.createAssignment(this.getRefParam(e)+"["+r+"]",t)}createObjectAssign(e,r,t){this.createAssignment(this.getRefParam(e)+"."+r,t)}isIndexedValueInStack(e){return e.t===4&&this.stack.includes(e.i)}serializeReference(e){return this.assignIndexedValue(e.i,b+'.get("'+e.s+'")')}serializeArrayItem(e,r,t){return r?this.isIndexedValueInStack(r)?(this.markRef(e),this.createArrayAssign(e,t,this.getRefParam(r.i)),""):this.serialize(r):""}serializeArray(e){let r=e.i;if(e.l){this.stack.push(r);let t=e.a,s=this.serializeArrayItem(r,t[0],0),o=s==="";for(let i=1,a=e.l,l;i<a;i++)l=this.serializeArrayItem(r,t[i],i),s+=","+l,o=l==="";return this.stack.pop(),this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(r,"["+s+(o?",]":"]"))}return this.assignIndexedValue(r,"[]")}serializeProperty(e,r,t){if(typeof r=="string"){let s=Number(r),o=s>=0&&s.toString()===r||we(r);if(this.isIndexedValueInStack(t)){let i=this.getRefParam(t.i);return this.markRef(e.i),o&&s!==s?this.createObjectAssign(e.i,r,i):this.createArrayAssign(e.i,o?r:'"'+r+'"',i),""}return(o?r:'"'+r+'"')+":"+this.serialize(t)}return"["+this.serialize(r)+"]:"+this.serialize(t)}serializeProperties(e,r){let t=r.s;if(t){let s=r.k,o=r.v;this.stack.push(e.i);let i=this.serializeProperty(e,s[0],o[0]);for(let a=1,l=i;a<t;a++)l=this.serializeProperty(e,s[a],o[a]),i+=(l&&i&&",")+l;return this.stack.pop(),"{"+i+"}"}return"{}"}serializeObject(e){return this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(e.i,this.serializeProperties(e,e.p))}serializeWithObjectAssign(e,r,t){let s=this.serializeProperties(e,r);return s!=="{}"?"Object.assign("+t+","+s+")":t}serializeStringKeyAssignment(e,r,t,s){let o=this.serialize(s),i=Number(t),a=i>=0&&i.toString()===t||we(t);if(this.isIndexedValueInStack(s))a&&i!==i?this.createObjectAssign(e.i,t,o):this.createArrayAssign(e.i,a?t:'"'+t+'"',o);else{let l=this.assignments;this.assignments=r,a&&i!==i?this.createObjectAssign(e.i,t,o):this.createArrayAssign(e.i,a?t:'"'+t+'"',o),this.assignments=l}}serializeAssignment(e,r,t,s){if(typeof t=="string")this.serializeStringKeyAssignment(e,r,t,s);else{let o=this.stack;this.stack=[];let i=this.serialize(s);this.stack=o;let a=this.assignments;this.assignments=r,this.createArrayAssign(e.i,this.serialize(t),i),this.assignments=a}}serializeAssignments(e,r){let t=r.s;if(t){let s=[],o=r.k,i=r.v;this.stack.push(e.i);for(let a=0;a<t;a++)this.serializeAssignment(e,s,o[a],i[a]);return this.stack.pop(),Ze(s)}}serializeDictionary(e,r){if(e.p)if(this.features&8)r=this.serializeWithObjectAssign(e,e.p,r);else{this.markRef(e.i);let t=this.serializeAssignments(e,e.p);if(t)return"("+this.assignIndexedValue(e.i,r)+","+t+this.getRefParam(e.i)+")"}return this.assignIndexedValue(e.i,r)}serializeNullConstructor(e){return this.pushObjectFlag(e.o,e.i),this.serializeDictionary(e,pr)}serializeDate(e){return this.assignIndexedValue(e.i,'new Date("'+e.s+'")')}serializeRegExp(e){return this.assignIndexedValue(e.i,"/"+e.c+"/"+e.m)}serializeSetItem(e,r){return this.isIndexedValueInStack(r)?(this.markRef(e),this.createAddAssignment(e,this.getRefParam(r.i)),""):this.serialize(r)}serializeSet(e){let r=mr,t=e.l,s=e.i;if(t){let o=e.a;this.stack.push(s);let i=this.serializeSetItem(s,o[0]);for(let a=1,l=i;a<t;a++)l=this.serializeSetItem(s,o[a]),i+=(l&&i&&",")+l;this.stack.pop(),i&&(r+="(["+i+"])")}return this.assignIndexedValue(s,r)}serializeMapEntry(e,r,t,s){if(this.isIndexedValueInStack(r)){let o=this.getRefParam(r.i);if(this.markRef(e),this.isIndexedValueInStack(t)){let a=this.getRefParam(t.i);return this.createSetAssignment(e,o,a),""}if(t.t!==4&&t.i!=null&&this.isMarked(t.i)){let a="("+this.serialize(t)+",["+s+","+s+"])";return this.createSetAssignment(e,o,this.getRefParam(t.i)),this.createDeleteAssignment(e,s),a}let i=this.stack;return this.stack=[],this.createSetAssignment(e,o,this.serialize(t)),this.stack=i,""}if(this.isIndexedValueInStack(t)){let o=this.getRefParam(t.i);if(this.markRef(e),r.t!==4&&r.i!=null&&this.isMarked(r.i)){let a="("+this.serialize(r)+",["+s+","+s+"])";return this.createSetAssignment(e,this.getRefParam(r.i),o),this.createDeleteAssignment(e,s),a}let i=this.stack;return this.stack=[],this.createSetAssignment(e,this.serialize(r),o),this.stack=i,""}return"["+this.serialize(r)+","+this.serialize(t)+"]"}serializeMap(e){let r=gr,t=e.e.s,s=e.i,o=e.f,i=this.getRefParam(o.i);if(t){let a=e.e.k,l=e.e.v;this.stack.push(s);let d=this.serializeMapEntry(s,a[0],l[0],i);for(let g=1,Ae=d;g<t;g++)Ae=this.serializeMapEntry(s,a[g],l[g],i),d+=(Ae&&d&&",")+Ae;this.stack.pop(),d&&(r+="(["+d+"])")}return o.t===26&&(this.markRef(o.i),r="("+this.serialize(o)+","+r+")"),this.assignIndexedValue(s,r)}serializeArrayBuffer(e){let r="new Uint8Array(",t=e.s,s=t.length;if(s){r+="["+t[0];for(let o=1;o<s;o++)r+=","+t[o];r+="]"}return this.assignIndexedValue(e.i,r+").buffer")}serializeTypedArray(e){return this.assignIndexedValue(e.i,"new "+e.c+"("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeDataView(e){return this.assignIndexedValue(e.i,"new DataView("+this.serialize(e.f)+","+e.b+","+e.l+")")}serializeAggregateError(e){let r=e.i;this.stack.push(r);let t=this.serializeDictionary(e,'new AggregateError([],"'+e.m+'")');return this.stack.pop(),t}serializeError(e){return this.serializeDictionary(e,"new "+X[e.s]+'("'+e.m+'")')}serializePromise(e){let r,t=e.f,s=e.i,o=e.s?Sr:hr;if(this.isIndexedValueInStack(t)){let i=this.getRefParam(t.i);r=o+(e.s?"().then("+this.createFunction([],i)+")":"().catch("+this.createEffectfulFunction([],"throw "+i)+")")}else{this.stack.push(s);let i=this.serialize(t);this.stack.pop(),r=o+"("+i+")"}return this.assignIndexedValue(s,r)}serializeWellKnownSymbol(e){return this.assignIndexedValue(e.i,Te[e.s])}serializeBoxed(e){return this.assignIndexedValue(e.i,"Object("+this.serialize(e.f)+")")}serializePlugin(e){let r=this.plugins;if(r)for(let t=0,s=r.length;t<s;t++){let o=r[t];if(o.tag===e.c)return this.assignIndexedValue(e.i,o.serialize(e.s,this,{id:e.i}))}throw new Error('Missing plugin for tag "'+e.c+'".')}getConstructor(e){let r=this.serialize(e);return r===this.getRefParam(e.i)?r:"("+r+")"}serializePromiseConstructor(e){return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()")}serializePromiseResolve(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializePromiseReject(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serializeSpecialReferenceValue(e){switch(e){case 0:return"[]";case 1:return this.createFunction(["s","f","p"],"((p=new Promise("+this.createEffectfulFunction(["a","b"],"s=a,f=b")+")).s=s,p.f=f,p)");case 2:return this.createEffectfulFunction(["p","d"],'p.s(d),p.status="success",p.value=d;delete p.s;delete p.f');case 3:return this.createEffectfulFunction(["p","d"],'p.f(d),p.status="failure",p.value=d;delete p.s;delete p.f');case 4:return this.createFunction(["b","a","s","l","p","f","e","n"],"(b=[],a=!0,s=!1,l=[],p=0,f="+this.createEffectfulFunction(["v","m","x"],"for(x=0;x<p;x++)l[x]&&l[x][m](v)")+",n="+this.createEffectfulFunction(["o","x","z","c"],'for(x=0,z=b.length;x<z;x++)(c=b[x],x===z-1?o[s?"return":"throw"](c):o.next(c))')+",e="+this.createFunction(["o","t"],"(a&&(l[t=p++]=o),n(o),"+this.createEffectfulFunction([],"a&&(l[t]=void 0)")+")")+",{__SEROVAL_STREAM__:!0,on:"+this.createFunction(["o"],"e(o)")+",next:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"next"))')+",throw:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"throw"),a=s=!1,l.length=0)')+",return:"+this.createEffectfulFunction(["v"],'a&&(b.push(v),f(v,"return"),a=!1,s=!0,l.length=0)')+"})");default:return""}}serializeSpecialReference(e){return this.assignIndexedValue(e.i,this.serializeSpecialReferenceValue(e.s))}serializeIteratorFactory(e){let r="",t=!1;return e.f.t!==4&&(this.markRef(e.f.i),r="("+this.serialize(e.f)+",",t=!0),r+=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["i","c","d","t"],"(i=0,t={["+this.getRefParam(e.f.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction([],"if(i>s.d)return{done:!0,value:void 0};if(d=s.v[c=i++],c===s.t)throw d;return{done:c===s.d,value:d}")+"})"))),t&&(r+=")"),r}serializeIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeAsyncIteratorFactory(e){let r=e.a[0],t=e.a[1],s="";r.t!==4&&(this.markRef(r.i),s+="("+this.serialize(r)),t.t!==4&&(this.markRef(t.i),s+=(s?",":"(")+this.serialize(t)),s&&(s+=",");let o=this.assignIndexedValue(e.i,this.createFunction(["s"],this.createFunction(["b","c","p","d","e","t","f"],"(b=[],c=0,p=[],d=-1,e=!1,f="+this.createEffectfulFunction(["i","l"],"for(i=0,l=p.length;i<l;i++)p[i].s({done:!0,value:void 0})")+",s.on({next:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!1,value:v});b.push(v)")+",throw:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.f(v);f(),d=b.length,e=!0,b.push(v)")+",return:"+this.createEffectfulFunction(["v","t"],"if(t=p.shift())t.s({done:!0,value:v});f(),d=b.length,b.push(v)")+"}),t={["+this.getRefParam(t.i)+"]:"+this.createFunction([],"t")+",next:"+this.createEffectfulFunction(["i","t","v"],"if(d===-1){return((i=c++)>=b.length)?(p.push(t="+this.getRefParam(r.i)+"()),t):{done:!0,value:b[i]}}if(c>d)return{done:!0,value:void 0};if(v=b[i=c++],i!==d)return{done:!1,value:v};if(e)throw v;return{done:!0,value:v}")+"})")));return s?s+o+")":o}serializeAsyncIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()"),t=e.a.length;if(t){let s=this.serialize(e.a[0]);for(let o=1;o<t;o++)s+=","+this.serialize(e.a[o]);return"("+r+","+s+","+this.getRefParam(e.i)+")"}return r}serializeStreamNext(e){return this.getRefParam(e.i)+".next("+this.serialize(e.f)+")"}serializeStreamThrow(e){return this.getRefParam(e.i)+".throw("+this.serialize(e.f)+")"}serializeStreamReturn(e){return this.getRefParam(e.i)+".return("+this.serialize(e.f)+")"}serialize(e){switch(e.t){case 2:return Fe[e.s];case 0:return""+e.s;case 1:return'"'+e.s+'"';case 3:return e.s+"n";case 4:return this.getRefParam(e.i);case 18:return this.serializeReference(e);case 9:return this.serializeArray(e);case 10:return this.serializeObject(e);case 11:return this.serializeNullConstructor(e);case 5:return this.serializeDate(e);case 6:return this.serializeRegExp(e);case 7:return this.serializeSet(e);case 8:return this.serializeMap(e);case 19:return this.serializeArrayBuffer(e);case 16:case 15:return this.serializeTypedArray(e);case 20:return this.serializeDataView(e);case 14:return this.serializeAggregateError(e);case 13:return this.serializeError(e);case 12:return this.serializePromise(e);case 17:return this.serializeWellKnownSymbol(e);case 21:return this.serializeBoxed(e);case 22:return this.serializePromiseConstructor(e);case 23:return this.serializePromiseResolve(e);case 24:return this.serializePromiseReject(e);case 25:return this.serializePlugin(e);case 26:return this.serializeSpecialReference(e);case 27:return this.serializeIteratorFactory(e);case 28:return this.serializeIteratorFactoryInstance(e);case 29:return this.serializeAsyncIteratorFactory(e);case 30:return this.serializeAsyncIteratorFactoryInstance(e);case 31:return this.serializeStreamConstructor(e);case 32:return this.serializeStreamNext(e);case 33:return this.serializeStreamThrow(e);case 34:return this.serializeStreamReturn(e);default:throw new Error("invariant")}}};var er="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Xe=er.length,rr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Qe=rr.length;function Pe(n){let e=n%Xe,r=er[e];for(n=(n-e)/Xe;n>0;)e=n%Qe,r+=rr[e],n=(n-e)/Qe;return r}var w=class extends R{constructor(){super(...arguments);this.mode="vanilla";this.valid=new Map;this.vars=[]}getRefParam(r){let t=this.valid.get(r);t==null&&(t=this.valid.size,this.valid.set(r,t));let s=this.vars[t];return s==null&&(s=Pe(t),this.vars[t]=s),s}assignIndexedValue(r,t){return this.isMarked(r)?this.getRefParam(r)+"="+t:t}serializePromiseConstructor(r){throw new Error('Unsupported node type "'+r.t+'".')}serializePromiseResolve(r){throw new Error('Unsupported node type "'+r.t+'".')}serializePromiseReject(r){throw new Error('Unsupported node type "'+r.t+'".')}serializeTop(r){let t=this.serialize(r);if(r.i!=null&&this.vars.length){let s=this.resolvePatches(),o=t;if(s){let i=this.getRefParam(r.i);o=t+","+s+i,t.startsWith(i+"=")||(o=i+"="+o)}return"("+this.createFunction(this.vars,"("+o+")")+")()"}return r.t===10?"("+t+")":t}};var m=class extends V{parseItems(e){let r=[];for(let t=0,s=e.length;t<s;t++)t in e&&(r[t]=this.parse(e[t]));return r}parseArray(e,r){return le(e,r,this.parseItems(r))}parseProperties(e){let r=Object.entries(e),t=[],s=[];for(let i=0,a=r.length;i<a;i++)t.push(u(r[i][0])),s.push(this.parse(r[i][1]));let o=Symbol.iterator;return o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(T(this.parseIteratorFactory(),this.parse(D(e))))),o=Symbol.asyncIterator,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(k(this.parseAsyncIteratorFactory(),this.parse(B())))),o=Symbol.toStringTag,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(N(e[o]))),o=Symbol.isConcatSpreadable,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(e[o]?y:v)),{k:t,v:s,s:t.length}}parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,this.parseProperties(r))}parseBoxed(e,r){return de(e,this.parse(r.valueOf()))}parseTypedArray(e,r){return ue(e,r,this.parse(r.buffer))}parseBigIntTypedArray(e,r){return ce(e,r,this.parse(r.buffer))}parseDataView(e,r){return fe(e,r,this.parse(r.buffer))}parseError(e,r){let t=O(r,this.features);return pe(e,r,t?this.parseProperties(t):void 0)}parseAggregateError(e,r){let t=O(r,this.features);return me(e,r,t?this.parseProperties(t):void 0)}parseMap(e,r){let t=[],s=[];for(let[o,i]of r.entries())t.push(this.parse(o)),s.push(this.parse(i));return this.createMapNode(e,t,s,r.size)}parseSet(e,r){let t=[];for(let s of r.keys())t.push(this.parse(s));return ge(e,r.size,t)}parsePlugin(e,r){let t=this.plugins;if(t)for(let s=0,o=t.length;s<o;s++){let i=t[s];if(i.parse.sync&&i.test(r))return z(e,i.tag,i.parse.sync(r,this,{id:e}))}}parseStream(e,r){return F(e,this.parseSpecialReference(4),[])}parsePromise(e,r){return this.createPromiseConstructorNode(e)}parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Ne(r))return this.parseStream(e,r);let t=this.parsePlugin(e,r);if(t)return t;let s=r.constructor;switch(s){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return oe(e,r);case RegExp:return ie(e,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.parseError(e,r);case Number:case Boolean:case String:case BigInt:return this.parseBoxed(e,r);case ArrayBuffer:return ae(e,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return this.parseTypedArray(e,r);case DataView:return this.parseDataView(e,r);case Map:return this.parseMap(e,r);case Set:return this.parseSet(e,r);default:break}if(s===Promise||r instanceof Promise)return this.parsePromise(e,r);let o=this.features;if(o&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(o&1&&typeof AggregateError!="undefined"&&(s===AggregateError||r instanceof AggregateError))return this.parseAggregateError(e,r);if(r instanceof Error)return this.parseError(e,r);if(Symbol.iterator in r||Symbol.asyncIterator in r)return this.parsePlainObject(e,r,!!s);throw new p(r)}parse(e){switch(typeof e){case"boolean":return e?y:v;case"undefined":return Q;case"string":return N(e);case"number":return ne(e);case"bigint":return se(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?this.parseObject(r.value,e):r.value}return ee}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new p(e)}}};var M=class extends m{constructor(){super(...arguments);this.mode="vanilla"}};function fn(n,e={}){let r=c(e.plugins),t=new M({plugins:r,disabledFeatures:e.disabledFeatures}),s=t.parse(n);return new w({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(s)}async function pn(n,e={}){let r=c(e.plugins),t=new j({plugins:r,disabledFeatures:e.disabledFeatures}),s=await t.parse(n);return new w({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(s)}function mn(n){return(0,eval)(n)}function gn(n,e={}){let r=c(e.plugins),t=new M({plugins:r,disabledFeatures:e.disabledFeatures});return{t:t.parse(n),f:t.features,m:Array.from(t.marked)}}async function Sn(n,e={}){let r=c(e.plugins),t=new j({plugins:r,disabledFeatures:e.disabledFeatures});return{t:await t.parse(n),f:t.features,m:Array.from(t.marked)}}function hn(n,e={}){let r=c(e.plugins);return new w({plugins:r,features:n.f,markedRefs:n.m}).serializeTop(n.t)}function yn(n,e={}){let r=c(e.plugins);return new Y({plugins:r,markedRefs:n.m}).deserialize(n.t)}var _=class extends I{constructor(){super(...arguments);this.mode="cross"}};var H=class extends E{constructor(){super(...arguments);this.mode="cross"}assignIndexedValue(r,t){return this.refs.has(r)||this.refs.set(r,t),t}};var P=class extends R{constructor(r){super(r);this.mode="cross";this.scopeId=r.scopeId}getRefParam(r){return K+"["+r+"]"}assignIndexedValue(r,t){return this.getRefParam(r)+"="+t}serializeTop(r){let t=this.serialize(r),s=r.i;if(s==null)return t;let o=this.resolvePatches(),i=this.getRefParam(s),a=this.scopeId==null?"":K,l=o?t+","+o+i:t;if(a==="")return o?"("+l+")":l;let d=this.scopeId==null?"()":"("+K+'["'+u(this.scopeId)+'"])';return"("+this.createFunction([a],l)+")"+d}};var $=class extends m{constructor(r){super(r);this.alive=!0;this.pending=0;this.initial=!0;this.buffer=[];this.onParseCallback=r.onParse,this.onErrorCallback=r.onError,this.onDoneCallback=r.onDone}onParseInternal(r,t){try{this.onParseCallback(r,t)}catch(s){this.onError(s)}}flush(){for(let r=0,t=this.buffer.length;r<t;r++)this.onParseInternal(this.buffer[r],!1)}onParse(r){this.initial?this.buffer.push(r):this.onParseInternal(r,!1)}onError(r){if(this.onErrorCallback)this.onErrorCallback(r);else throw r}onDone(){this.onDoneCallback&&this.onDoneCallback()}pushPendingState(){this.pending++}popPendingState(){--this.pending<=0&&this.onDone()}parseProperties(r){let t=Object.entries(r),s=[],o=[];for(let a=0,l=t.length;a<l;a++)s.push(u(t[a][0])),o.push(this.parse(t[a][1]));let i=Symbol.iterator;return i in r&&(s.push(this.parseWellKnownSymbol(i)),o.push(T(this.parseIteratorFactory(),this.parse(D(r))))),i=Symbol.asyncIterator,i in r&&(s.push(this.parseWellKnownSymbol(i)),o.push(k(this.parseAsyncIteratorFactory(),this.parse(be(r))))),i=Symbol.toStringTag,i in r&&(s.push(this.parseWellKnownSymbol(i)),o.push(N(r[i]))),i=Symbol.isConcatSpreadable,i in r&&(s.push(this.parseWellKnownSymbol(i)),o.push(r[i]?y:v)),{k:s,v:o,s:s.length}}parsePromise(r,t){return t.then(s=>{let o=this.parseWithError(s);o&&this.onParse({t:23,i:r,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[this.parseSpecialReference(2),o],f:void 0,b:void 0,o:void 0}),this.popPendingState()},s=>{if(this.alive){let o=this.parseWithError(s);o&&this.onParse({t:24,i:r,s:void 0,l:void 0,c:void 0,m:void 0,p:void 0,e:void 0,a:[this.parseSpecialReference(3),o],f:void 0,b:void 0,o:void 0})}this.popPendingState()}),this.pushPendingState(),this.createPromiseConstructorNode(r)}parsePlugin(r,t){let s=this.plugins;if(s)for(let o=0,i=s.length;o<i;o++){let a=s[o];if(a.parse.stream&&a.test(t))return z(r,a.tag,a.parse.stream(t,this,{id:r}))}}parseStream(r,t){let s=F(r,this.parseSpecialReference(4),[]);return this.pushPendingState(),t.on({next:o=>{if(this.alive){let i=this.parseWithError(o);i&&this.onParse(Se(r,i))}},throw:o=>{if(this.alive){let i=this.parseWithError(o);i&&this.onParse(he(r,i))}this.popPendingState()},return:o=>{if(this.alive){let i=this.parseWithError(o);i&&this.onParse(ye(r,i))}this.popPendingState()}}),s}parseWithError(r){try{return this.parse(r)}catch(t){this.onError(t);return}}start(r){let t=this.parseWithError(r);t&&(this.onParseInternal(t,!0),this.initial=!1,this.flush(),this.pending<=0&&this.destroy())}destroy(){this.alive&&(this.onDone(),this.alive=!1)}isAlive(){return this.alive}};var U=class extends ${constructor(){super(...arguments);this.mode="cross"}};var W=class extends m{constructor(){super(...arguments);this.mode="cross"}};function Gn(n,e={}){let r=c(e.plugins),t=new W({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),s=t.parse(n);return new P({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(s)}async function Hn(n,e={}){let r=c(e.plugins),t=new _({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),s=await t.parse(n);return new P({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(s)}function $n(n,e={}){let r=c(e.plugins);return new W({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(n)}async function qn(n,e={}){let r=c(e.plugins);return await new _({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(n)}function tr(n,e){let r=c(e.plugins),t=new U({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse(s,o){let i=new P({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}),a;try{a=i.serializeTop(s)}catch(l){e.onError&&e.onError(l);return}e.onSerialize(a,o)},onError:e.onError,onDone:e.onDone});return t.start(n),()=>{t.destroy()}}function Zn(n,e){let r=c(e.plugins),t=new U({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse:e.onParse,onError:e.onError,onDone:e.onDone});return t.start(n),()=>{t.destroy()}}function Xn(n,e){let r=c(e.plugins);return new H({plugins:r,refs:e.refs}).deserialize(n)}var xe=class{constructor(e){this.options=e;this.alive=!0;this.flushed=!1;this.done=!1;this.pending=0;this.cleanups=[];this.refs=new Map;this.keys=new Set;this.ids=0;this.plugins=c(e.plugins)}write(e,r){this.alive&&!this.flushed&&(this.pending++,this.keys.add(e),this.cleanups.push(tr(r,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(t,s)=>{this.alive&&this.options.onData(s?this.options.globalIdentifier+'["'+u(e)+'"]='+t:t)},onDone:()=>{this.alive&&(this.pending--,this.pending<=0&&this.flushed&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}})))}getNextID(){for(;this.keys.has(""+this.ids);)this.ids++;return""+this.ids}push(e){let r=this.getNextID();return this.write(r,e),r}flush(){this.alive&&(this.flushed=!0,this.pending<=0&&!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0))}close(){if(this.alive){for(let e=0,r=this.cleanups.length;e<r;e++)this.cleanups[e]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};export{C as Feature,xe as Serializer,hn as compileJSON,wr as createPlugin,ir as createReference,B as createStream,Gn as crossSerialize,Hn as crossSerializeAsync,tr as crossSerializeStream,mn as deserialize,Xn as fromCrossJSON,yn as fromJSON,or as getCrossReferenceHeader,c as resolvePlugins,fn as serialize,pn as serializeAsync,$n as toCrossJSON,qn as toCrossJSONAsync,Zn as toCrossJSONStream,gn as toJSON,Sn as toJSONAsync};
@@ -1 +1 @@
1
- {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/stream.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,qBAAqB,MAAM,QAAQ,CAAC;AAI3C,OAAO,KAAK,EACV,WAAW,EAEX,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,8BACf,SAAQ,4BAA4B;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,uBAAwB,SAAQ,qBAAqB;IAEjF,OAAO,CAAC,KAAK,CAAQ;IAGrB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,eAAe,CAAgD;IAEvE,OAAO,CAAC,eAAe,CAAC,CAA2B;IAEnD,OAAO,CAAC,cAAc,CAAC,CAAa;gBAExB,OAAO,EAAE,8BAA8B;IAOnD,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,eAAe,CACvB,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAC3C,uBAAuB;IAoD1B,SAAS,CAAC,YAAY,CACpB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GACxB,6BAA6B;IAoEhC,SAAS,CAAC,WAAW,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,iBAAiB,GAAG,SAAS;IAmBhC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW;IAsCxE,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAc1B;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf,OAAO,IAAI,OAAO;CAGnB"}
1
+ {"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/stream.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,qBAAqB,MAAM,QAAQ,CAAC;AAI3C,OAAO,KAAK,EACV,WAAW,EAEX,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,MAAM,WAAW,8BACf,SAAQ,4BAA4B;IACpC,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,uBAAwB,SAAQ,qBAAqB;IAEjF,OAAO,CAAC,KAAK,CAAQ;IAGrB,OAAO,CAAC,OAAO,CAAK;IAEpB,OAAO,CAAC,eAAe,CAAgD;IAEvE,OAAO,CAAC,eAAe,CAAC,CAA2B;IAEnD,OAAO,CAAC,cAAc,CAAC,CAAa;gBAExB,OAAO,EAAE,8BAA8B;IAOnD,OAAO,CAAC,OAAO,CAAQ;IAEvB,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,eAAe;IAMvB,SAAS,CAAC,eAAe,CACvB,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAC3C,uBAAuB;IAoD1B,SAAS,CAAC,YAAY,CACpB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GACxB,6BAA6B;IAuDhC,SAAS,CAAC,WAAW,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,iBAAiB,GAAG,SAAS;IAmBhC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW;IAsCxE,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI;IAc1B;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf,OAAO,IAAI,OAAO;CAGnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/sync.ts"],"names":[],"mappings":"AA8BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EAEjB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,cAAc,GAAG,iBAAiB,GAAG,0BAA0B,CAAC;AAErE,MAAM,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAEpE,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qBAAsB,SAAQ,iBAAiB;IAC3E,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE;IAUvD,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB;IAItE,SAAS,CAAC,eAAe,CACvB,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAC3C,uBAAuB;IAgD1B,SAAS,CAAC,gBAAgB,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,OAAO,GACb,cAAc;IASjB,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAInE,SAAS,CAAC,eAAe,CACvB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,eAAe,GACvB,qBAAqB;IAIxB,SAAS,CAAC,qBAAqB,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,2BAA2B;IAI9B,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,mBAAmB;IAI3E,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,gBAAgB;IASlE,SAAS,CAAC,mBAAmB,CAC3B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,GACtB,yBAAyB;IAS5B,SAAS,CAAC,QAAQ,CAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAC7B,cAAc;IAUjB,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,cAAc;IAQrE,SAAS,CAAC,WAAW,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,iBAAiB,GAAG,SAAS;IAmBhC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW;IAQzE,SAAS,CAAC,YAAY,CACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GACzB,6BAA6B;IAiBhC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW;IAqG/D,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW;CA6BlC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/sync.ts"],"names":[],"mappings":"AA6BA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAG9C,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EAEjB,uBAAuB,EACvB,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,yBAAyB,EACzB,qBAAqB,EACrB,2BAA2B,EAC3B,mBAAmB,EACnB,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AAEjC,KAAK,cAAc,GAAG,iBAAiB,GAAG,0BAA0B,CAAC;AAErE,MAAM,MAAM,4BAA4B,GAAG,wBAAwB,CAAC;AAEpE,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,qBAAsB,SAAQ,iBAAiB;IAC3E,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE;IAUvD,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,gBAAgB;IAItE,SAAS,CAAC,eAAe,CACvB,UAAU,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,GAC3C,uBAAuB;IAgD1B,SAAS,CAAC,gBAAgB,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,OAAO,GACb,cAAc;IASjB,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,gBAAgB;IAInE,SAAS,CAAC,eAAe,CACvB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,eAAe,GACvB,qBAAqB;IAIxB,SAAS,CAAC,qBAAqB,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,GAC7B,2BAA2B;IAI9B,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,mBAAmB;IAI3E,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,gBAAgB;IASlE,SAAS,CAAC,mBAAmB,CAC3B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,GACtB,yBAAyB;IAS5B,SAAS,CAAC,QAAQ,CAChB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,GAC7B,cAAc;IAUjB,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,cAAc;IAQrE,SAAS,CAAC,WAAW,CACnB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,GACf,iBAAiB,GAAG,SAAS;IAmBhC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,WAAW;IAQzE,SAAS,CAAC,YAAY,CACpB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,GACzB,6BAA6B;IAIhC,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW;IAqG/D,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW;CA6BlC"}
@@ -1,20 +1,25 @@
1
1
  import type { Plugin, PluginAccessOptions, SerovalMode } from '../plugin';
2
2
  import { SpecialReference } from '../special-reference';
3
- import type { SerovalAsyncIteratorFactoryNode, SerovalIndexedValueNode, SerovalIteratorFactoryNode, SerovalMapNode, SerovalNode, SerovalNullConstructorNode, SerovalObjectNode, SerovalObjectRecordNode, SerovalReferenceNode, SerovalSpecialReferenceNode, SerovalWKSymbolNode } from '../types';
3
+ import type { SerovalAsyncIteratorFactoryNode, SerovalIndexedValueNode, SerovalIteratorFactoryNode, SerovalMapNode, SerovalNode, SerovalNullConstructorNode, SerovalObjectNode, SerovalObjectRecordNode, SerovalPromiseConstructorNode, SerovalReferenceNode, SerovalSpecialReferenceNode, SerovalWKSymbolNode } from '../types';
4
4
  export interface BaseParserContextOptions extends PluginAccessOptions {
5
5
  disabledFeatures?: number;
6
6
  refs?: Map<unknown, number>;
7
7
  }
8
+ declare const enum NodeType {
9
+ Fresh = 0,
10
+ Indexed = 1,
11
+ Referenced = 2
12
+ }
8
13
  interface FreshNode {
9
- type: 0;
14
+ type: NodeType.Fresh;
10
15
  value: number;
11
16
  }
12
17
  interface IndexedNode {
13
- type: 1;
18
+ type: NodeType.Indexed;
14
19
  value: SerovalIndexedValueNode;
15
20
  }
16
21
  interface ReferencedNode {
17
- type: 2;
22
+ type: NodeType.Referenced;
18
23
  value: SerovalReferenceNode;
19
24
  }
20
25
  type ObjectNode = FreshNode | IndexedNode | ReferencedNode;
@@ -37,6 +42,7 @@ export declare abstract class BaseParserContext implements PluginAccessOptions {
37
42
  protected parseAsyncIteratorFactory(): SerovalIndexedValueNode | SerovalAsyncIteratorFactoryNode;
38
43
  protected createObjectNode(id: number, current: Record<string, unknown>, empty: boolean, record: SerovalObjectRecordNode): SerovalObjectNode | SerovalNullConstructorNode;
39
44
  protected createMapNode(id: number, k: SerovalNode[], v: SerovalNode[], s: number): SerovalMapNode;
45
+ protected createPromiseConstructorNode(id: number): SerovalPromiseConstructorNode;
40
46
  }
41
47
  export {};
42
48
  //# sourceMappingURL=parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/parser.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE1E,OAAO,EACL,gBAAgB,EAIjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,+BAA+B,EAC/B,uBAAuB,EACvB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,UAAU,SAAS;IACjB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,WAAW;IACnB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,UAAU,cAAc;IACtB,IAAI,EAAE,CAAC,CAAC;IACR,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAED,KAAK,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,cAAc,CAAC;AAE3D,8BAAsB,iBAAkB,YAAW,mBAAmB;IACpE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAEpC,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,cAAqB;IAE3B,IAAI,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;gBAE7B,OAAO,EAAE,wBAAwB;IAM7C,SAAS,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAInC,SAAS,CAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIvC,SAAS,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,GAAG,WAAW;IAiBjE,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,UAAU;IAcjD,SAAS,CAAC,kBAAkB,CAAC,CAAC,EAC5B,OAAO,EAAE,CAAC,GACT,uBAAuB,GAAG,oBAAoB;IAcjD,SAAS,CAAC,aAAa,CACrB,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GACvC,WAAW;IAId,SAAS,CAAC,oBAAoB,CAC5B,OAAO,EAAE,MAAM,GACd,uBAAuB,GAAG,mBAAmB,GAAG,oBAAoB;IAYvE,SAAS,CAAC,qBAAqB,CAC7B,GAAG,EAAE,gBAAgB,GACpB,uBAAuB,GAAG,2BAA2B;IAqBxD,SAAS,CAAC,oBAAoB,IAC1B,uBAAuB,GACvB,0BAA0B;IAqB9B,SAAS,CAAC,yBAAyB,IAC/B,uBAAuB,GACvB,+BAA+B;IAwBnC,SAAS,CAAC,gBAAgB,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,uBAAuB,GAC9B,iBAAiB,GAAG,0BAA0B;IAiBjD,SAAS,CAAC,aAAa,CACrB,EAAE,EAAE,MAAM,EACV,CAAC,EAAE,WAAW,EAAE,EAChB,CAAC,EAAE,WAAW,EAAE,EAChB,CAAC,EAAE,MAAM,GACR,cAAc;CAgBlB"}
1
+ {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/parser.ts"],"names":[],"mappings":"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"}
@@ -1,26 +1,32 @@
1
1
  import { SerovalObjectFlags } from '../constants';
2
2
  import type { Plugin, PluginAccessOptions, SerovalMode } from '../plugin';
3
3
  import type { SerovalArrayNode, SerovalNode, SerovalObjectRecordKey, SerovalObjectRecordNode, SerovalReferenceNode, SerovalObjectNode, SerovalNullConstructorNode, SerovalRegExpNode, SerovalDateNode, SerovalSetNode, SerovalMapNode, SerovalArrayBufferNode, SerovalTypedArrayNode, SerovalBigIntTypedArrayNode, SerovalDataViewNode, SerovalAggregateErrorNode, SerovalErrorNode, SerovalPromiseNode, SerovalWKSymbolNode, SerovalBoxedNode, SerovalPluginNode, SerovalPromiseConstructorNode, SerovalPromiseResolveNode, SerovalPromiseRejectNode, SerovalIteratorFactoryInstanceNode, SerovalIteratorFactoryNode, SerovalAsyncIteratorFactoryInstanceNode, SerovalAsyncIteratorFactoryNode, SerovalSpecialReferenceNode, SerovalStreamConstructorNode, SerovalStreamNextNode, SerovalStreamThrowNode, SerovalStreamReturnNode } from '../types';
4
+ declare const enum AssignmentType {
5
+ Index = 0,
6
+ Add = 1,
7
+ Set = 2,
8
+ Delete = 3
9
+ }
4
10
  interface IndexAssignment {
5
- t: 'index';
11
+ t: AssignmentType.Index;
6
12
  s: string;
7
13
  k: undefined;
8
14
  v: string;
9
15
  }
10
16
  interface SetAssignment {
11
- t: 'set';
17
+ t: AssignmentType.Set;
12
18
  s: string;
13
19
  k: string;
14
20
  v: string;
15
21
  }
16
22
  interface AddAssignment {
17
- t: 'add';
23
+ t: AssignmentType.Add;
18
24
  s: string;
19
25
  k: undefined;
20
26
  v: string;
21
27
  }
22
28
  interface DeleteAssignment {
23
- t: 'delete';
29
+ t: AssignmentType.Delete;
24
30
  s: string;
25
31
  k: string;
26
32
  v: undefined;
@@ -130,7 +136,6 @@ export default abstract class BaseSerializerContext implements PluginAccessOptio
130
136
  protected serializeError(node: SerovalErrorNode): string;
131
137
  protected serializePromise(node: SerovalPromiseNode): string;
132
138
  protected serializeWellKnownSymbol(node: SerovalWKSymbolNode): string;
133
- protected serializeFormDataEntry(id: number, key: string, value: SerovalNode): string;
134
139
  protected serializeBoxed(node: SerovalBoxedNode): string;
135
140
  protected serializePlugin(node: SerovalPluginNode): string;
136
141
  private getConstructor;
@@ -1 +1 @@
1
- {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/serializer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/serializer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "seroval",
3
3
  "type": "module",
4
- "version": "1.0.0",
4
+ "version": "1.0.3",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -66,5 +66,5 @@
66
66
  "typesVersions": {
67
67
  "*": {}
68
68
  },
69
- "gitHead": "db187214170c2bf94312e28717031ec9dec3b999"
69
+ "gitHead": "08e62b976bedcb016b64907c366410aa165968fc"
70
70
  }
@@ -211,20 +211,7 @@ export default abstract class BaseStreamParserContext extends BaseSyncParserCont
211
211
  },
212
212
  );
213
213
  this.pushPendingState();
214
- return {
215
- t: SerovalNodeType.PromiseConstructor,
216
- i: id,
217
- s: undefined,
218
- l: undefined,
219
- c: undefined,
220
- m: undefined,
221
- p: undefined,
222
- e: undefined,
223
- a: undefined,
224
- f: this.parseSpecialReference(SpecialReference.PromiseConstructor),
225
- b: undefined,
226
- o: undefined,
227
- };
214
+ return this.createPromiseConstructorNode(id);
228
215
  }
229
216
 
230
217
  protected parsePlugin(
@@ -20,7 +20,6 @@ import {
20
20
  createTypedArrayNode,
21
21
  } from '../../base-primitives';
22
22
  import { Feature } from '../../compat';
23
- import { SerovalNodeType } from '../../constants';
24
23
  import {
25
24
  FALSE_NODE,
26
25
  NULL_NODE,
@@ -238,20 +237,7 @@ export default abstract class BaseSyncParserContext extends BaseParserContext {
238
237
  id: number,
239
238
  _current: Promise<unknown>,
240
239
  ): SerovalPromiseConstructorNode {
241
- return {
242
- t: SerovalNodeType.PromiseConstructor,
243
- i: id,
244
- s: undefined,
245
- l: undefined,
246
- c: undefined,
247
- m: undefined,
248
- p: undefined,
249
- e: undefined,
250
- a: undefined,
251
- f: this.parseSpecialReference(SpecialReference.PromiseConstructor),
252
- b: undefined,
253
- o: undefined,
254
- };
240
+ return this.createPromiseConstructorNode(id);
255
241
  }
256
242
 
257
243
  protected parseObject(id: number, current: object): SerovalNode {
@@ -24,6 +24,7 @@ import type {
24
24
  SerovalNullConstructorNode,
25
25
  SerovalObjectNode,
26
26
  SerovalObjectRecordNode,
27
+ SerovalPromiseConstructorNode,
27
28
  SerovalReferenceNode,
28
29
  SerovalSpecialReferenceNode,
29
30
  SerovalWKSymbolNode,
@@ -35,18 +36,24 @@ export interface BaseParserContextOptions extends PluginAccessOptions {
35
36
  refs?: Map<unknown, number>;
36
37
  }
37
38
 
39
+ const enum NodeType {
40
+ Fresh = 0,
41
+ Indexed = 1,
42
+ Referenced = 2,
43
+ }
44
+
38
45
  interface FreshNode {
39
- type: 0;
46
+ type: NodeType.Fresh;
40
47
  value: number;
41
48
  }
42
49
 
43
50
  interface IndexedNode {
44
- type: 1;
51
+ type: NodeType.Indexed;
45
52
  value: SerovalIndexedValueNode;
46
53
  }
47
54
 
48
55
  interface ReferencedNode {
49
- type: 2;
56
+ type: NodeType.Referenced;
50
57
  value: SerovalReferenceNode;
51
58
  }
52
59
 
@@ -82,26 +89,26 @@ export abstract class BaseParserContext implements PluginAccessOptions {
82
89
  if (registeredId != null) {
83
90
  this.markRef(registeredId);
84
91
  return {
85
- type: 1,
92
+ type: NodeType.Indexed,
86
93
  value: createIndexedValueNode(registeredId),
87
94
  };
88
95
  }
89
96
  const id = this.refs.size;
90
97
  this.refs.set(current, id);
91
98
  return {
92
- type: 0,
99
+ type: NodeType.Fresh,
93
100
  value: id,
94
101
  };
95
102
  }
96
103
 
97
104
  protected getReference<T>(current: T): ObjectNode {
98
105
  const indexed = this.getIndexedValue(current);
99
- if (indexed.type === 1) {
106
+ if (indexed.type === NodeType.Indexed) {
100
107
  return indexed;
101
108
  }
102
109
  if (hasReferenceID(current)) {
103
110
  return {
104
- type: 2,
111
+ type: NodeType.Referenced,
105
112
  value: createReferenceNode(indexed.value, current),
106
113
  };
107
114
  }
@@ -118,7 +125,7 @@ export abstract class BaseParserContext implements PluginAccessOptions {
118
125
  ),
119
126
  );
120
127
  const result = this.getIndexedValue(current);
121
- if (result.type === 1) {
128
+ if (result.type === NodeType.Indexed) {
122
129
  return result.value;
123
130
  }
124
131
  return createReferenceNode(result.value, current);
@@ -134,7 +141,7 @@ export abstract class BaseParserContext implements PluginAccessOptions {
134
141
  current: symbol,
135
142
  ): SerovalIndexedValueNode | SerovalWKSymbolNode | SerovalReferenceNode {
136
143
  const ref = this.getReference(current);
137
- if (ref.type !== 0) {
144
+ if (ref.type !== NodeType.Fresh) {
138
145
  return ref.value;
139
146
  }
140
147
  assert(
@@ -148,7 +155,7 @@ export abstract class BaseParserContext implements PluginAccessOptions {
148
155
  ref: SpecialReference,
149
156
  ): SerovalIndexedValueNode | SerovalSpecialReferenceNode {
150
157
  const result = this.getIndexedValue(SPECIAL_REFS[ref]);
151
- if (result.type === 1) {
158
+ if (result.type === NodeType.Indexed) {
152
159
  return result.value;
153
160
  }
154
161
  return {
@@ -171,7 +178,7 @@ export abstract class BaseParserContext implements PluginAccessOptions {
171
178
  | SerovalIndexedValueNode
172
179
  | SerovalIteratorFactoryNode {
173
180
  const result = this.getIndexedValue(ITERATOR);
174
- if (result.type === 1) {
181
+ if (result.type === NodeType.Indexed) {
175
182
  return result.value;
176
183
  }
177
184
  return {
@@ -194,7 +201,7 @@ export abstract class BaseParserContext implements PluginAccessOptions {
194
201
  | SerovalIndexedValueNode
195
202
  | SerovalAsyncIteratorFactoryNode {
196
203
  const result = this.getIndexedValue(ASYNC_ITERATOR);
197
- if (result.type === 1) {
204
+ if (result.type === NodeType.Indexed) {
198
205
  return result.value;
199
206
  }
200
207
  return {
@@ -259,4 +266,23 @@ export abstract class BaseParserContext implements PluginAccessOptions {
259
266
  o: undefined,
260
267
  };
261
268
  }
269
+
270
+ protected createPromiseConstructorNode(
271
+ id: number,
272
+ ): SerovalPromiseConstructorNode {
273
+ return {
274
+ t: SerovalNodeType.PromiseConstructor,
275
+ i: id,
276
+ s: undefined,
277
+ l: undefined,
278
+ c: undefined,
279
+ m: undefined,
280
+ p: undefined,
281
+ e: undefined,
282
+ a: undefined,
283
+ f: this.parseSpecialReference(SpecialReference.PromiseConstructor),
284
+ b: undefined,
285
+ o: undefined,
286
+ };
287
+ }
262
288
  }