seroval 1.1.1 → 1.2.1
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.
- package/dist/cjs/development/index.cjs +728 -523
- package/dist/cjs/development/index.cjs.map +3 -3
- package/dist/cjs/production/index.cjs +7 -7
- package/dist/esm/development/index.mjs +728 -523
- package/dist/esm/development/index.mjs.map +3 -3
- package/dist/esm/production/index.mjs +7 -7
- package/dist/types/core/abort-signal.d.ts +2 -0
- package/dist/types/core/abort-signal.d.ts.map +1 -0
- package/dist/types/core/base-primitives.d.ts +2 -1
- package/dist/types/core/base-primitives.d.ts.map +1 -1
- package/dist/types/core/compat.d.ts +3 -2
- package/dist/types/core/compat.d.ts.map +1 -1
- package/dist/types/core/constants.d.ts +5 -1
- package/dist/types/core/constants.d.ts.map +1 -1
- package/dist/types/core/context/deserializer.d.ts +3 -0
- package/dist/types/core/context/deserializer.d.ts.map +1 -1
- package/dist/types/core/context/parser/async.d.ts +3 -0
- package/dist/types/core/context/parser/async.d.ts.map +1 -1
- package/dist/types/core/context/parser/stream.d.ts +3 -1
- package/dist/types/core/context/parser/stream.d.ts.map +1 -1
- package/dist/types/core/context/parser/sync.d.ts +4 -1
- package/dist/types/core/context/parser/sync.d.ts.map +1 -1
- package/dist/types/core/context/parser.d.ts +9 -10
- package/dist/types/core/context/parser.d.ts.map +1 -1
- package/dist/types/core/context/serializer.d.ts +4 -1
- package/dist/types/core/context/serializer.d.ts.map +1 -1
- package/dist/types/core/cross/index.d.ts.map +1 -1
- package/dist/types/core/literals.d.ts.map +1 -1
- package/dist/types/core/node.d.ts +8 -0
- package/dist/types/core/node.d.ts.map +1 -0
- package/dist/types/core/special-reference.d.ts +6 -1
- package/dist/types/core/special-reference.d.ts.map +1 -1
- package/dist/types/core/tree/serializer.d.ts +2 -1
- package/dist/types/core/tree/serializer.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +20 -2
- package/dist/types/core/types.d.ts.map +1 -1
- package/dist/types/core/utils/iterator-to-sequence.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/core/abort-signal.ts +19 -0
- package/src/core/base-primitives.ts +359 -337
- package/src/core/compat.ts +2 -1
- package/src/core/constants.ts +5 -0
- package/src/core/context/deserializer.ts +34 -1
- package/src/core/context/parser/async.ts +75 -22
- package/src/core/context/parser/stream.ts +91 -37
- package/src/core/context/parser/sync.ts +61 -7
- package/src/core/context/parser.ts +121 -117
- package/src/core/context/serializer.ts +55 -9
- package/src/core/cross/index.ts +2 -6
- package/src/core/literals.ts +16 -15
- package/src/core/node.ts +40 -0
- package/src/core/special-reference.ts +7 -0
- package/src/core/tree/serializer.ts +7 -0
- package/src/core/types.ts +32 -2
- package/src/core/utils/iterator-to-sequence.ts +3 -1
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
var
|
|
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
|
|
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
|
|
1
|
+
var F=(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[i.AbortSignal=32]="AbortSignal",i))(F||{});function yr(o){switch(o){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 p(o){let e="",r=0,s;for(let n=0,a=o.length;n<a;n++)s=yr(o[n]),s&&(e+=o.slice(r,n)+s,r=n+1);return r===0?e=o:e+=o.slice(r),e}function vr(o){switch(o){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 o}}function N(o){return o.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,vr)}var E="__SEROVAL_REFS__",Z="$R",oe=`self.${Z}`;function br(o){return o==null?`${oe}=${oe}||[]`:`(${oe}=${oe}||{})["${p(o)}"]=[]`}function m(o,e){if(!o)throw e}var De=new Map,R=new Map;function Nr(o,e){return De.set(e,o),R.set(o,e),e}function Be(o){return De.has(o)}function Ar(o){return R.has(o)}function Le(o){return m(Be(o),new ne(o)),De.get(o)}function We(o){return m(Ar(o),new ae(o)),R.get(o)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,E,{value:R,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,E,{value:R,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,E,{value:R,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,E,{value:R,configurable:!0,writable:!1,enumerable:!1});function Yr(o){return o}function Ke(o,e){for(let r=0,s=e.length;r<s;r++){let n=e[r];o.has(n)||(o.add(n),n.extends&&Ke(o,n.extends))}}function f(o){if(o){let e=new Set;return Ke(e,o),[...e]}}function xr(o){o(this.reason)}function Ir(o){this.addEventListener("abort",xr.bind(this,o),{once:!0})}function Je(o){return new Promise(Ir.bind(o))}var Ye={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"},ie={[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},$e={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},Ge={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},qe={2:!0,3:!1,1:void 0,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var le={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},He={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError},t=void 0;function u(o,e,r,s,n,a,i,l,c,d,h,H){return{t:o,i:e,s:r,l:s,c:n,m:a,p:i,e:l,a:c,f:d,b:h,o:H}}function A(o){return u(2,t,o,t,t,t,t,t,t,t,t,t)}var x=A(2),I=A(3),ce=A(1),ue=A(0),Ze=A(4),Xe=A(5),Qe=A(6),er=A(7);function de(o){return o instanceof EvalError?1:o instanceof RangeError?2:o instanceof ReferenceError?3:o instanceof SyntaxError?4:o instanceof TypeError?5:o instanceof URIError?6:0}function wr(o){let e=le[de(o)];return o.name!==e?{name:o.name}:o.constructor.name!==e?{name:o.constructor.name}:{}}function V(o,e){let r=wr(o),s=Object.getOwnPropertyNames(o);for(let n=0,a=s.length,i;n<a;n++)i=s[n],i!=="name"&&i!=="message"&&(i==="stack"?e&4&&(r=r||{},r[i]=o[i]):(r=r||{},r[i]=o[i]));return r}function pe(o){return Object.isFrozen(o)?3:Object.isSealed(o)?2:Object.isExtensible(o)?0:1}function fe(o){switch(o){case Number.POSITIVE_INFINITY:return Xe;case Number.NEGATIVE_INFINITY:return Qe}return o!==o?er:Object.is(o,-0)?Ze:u(0,t,o,t,t,t,t,t,t,t,t,t)}function w(o){return u(1,t,p(o),t,t,t,t,t,t,t,t,t)}function me(o){return u(3,t,""+o,t,t,t,t,t,t,t,t,t)}function tr(o){return u(4,o,t,t,t,t,t,t,t,t,t,t)}function Se(o,e){return u(5,o,e.toISOString(),t,t,t,t,t,t,t,t,t)}function ge(o,e){return u(6,o,t,t,p(e.source),e.flags,t,t,t,t,t,t)}function he(o,e){let r=new Uint8Array(e),s=r.length,n=new Array(s);for(let a=0;a<s;a++)n[a]=r[a];return u(19,o,n,t,t,t,t,t,t,t,t,t)}function sr(o,e){return u(17,o,ie[e],t,t,t,t,t,t,t,t,t)}function or(o,e){return u(18,o,p(Le(e)),t,t,t,t,t,t,t,t,t)}function D(o,e,r){return u(25,o,r,t,p(e),t,t,t,t,t,t,t)}function ye(o,e,r){return u(9,o,t,e.length,t,t,t,t,r,t,t,pe(e))}function ve(o,e){return u(21,o,t,t,t,t,t,t,t,e,t,t)}function be(o,e,r){return u(15,o,t,e.length,e.constructor.name,t,t,t,t,r,e.byteOffset,t)}function Ne(o,e,r){return u(16,o,t,e.length,e.constructor.name,t,t,t,t,r,e.byteOffset,t)}function Ae(o,e,r){return u(20,o,t,e.byteLength,t,t,t,t,t,r,e.byteOffset,t)}function xe(o,e,r){return u(13,o,de(e),t,t,p(e.message),r,t,t,t,t,t)}function Ie(o,e,r){return u(14,o,de(e),t,t,p(e.message),r,t,t,t,t,t)}function we(o,e,r){return u(7,o,t,e,t,t,t,t,r,t,t,t)}function B(o,e){return u(28,t,t,t,t,t,t,t,[o,e],t,t,t)}function j(o,e){return u(30,t,t,t,t,t,t,t,[o,e],t,t,t)}function _(o,e,r){return u(31,o,t,t,t,t,t,t,r,e,t,t)}function Ee(o,e){return u(32,o,t,t,t,t,t,t,t,e,t,t)}function Re(o,e){return u(33,o,t,t,t,t,t,t,t,e,t,t)}function Pe(o,e){return u(34,o,t,t,t,t,t,t,t,e,t,t)}var{toString:je}=Object.prototype;function Er(o,e){return e instanceof Error?`Seroval caught an error during the ${o} process.
|
|
4
4
|
|
|
5
5
|
${e.name}
|
|
6
6
|
${e.message}
|
|
7
7
|
|
|
8
8
|
- For more information, please check the "cause" property of this error.
|
|
9
|
-
- If you believe this is an error in Seroval, please submit an issue at https://github.com/lxsmnsyc/seroval/issues/new`:`Seroval caught an error during the ${
|
|
9
|
+
- If you believe this is an error in Seroval, please submit an issue at https://github.com/lxsmnsyc/seroval/issues/new`:`Seroval caught an error during the ${o} process.
|
|
10
10
|
|
|
11
|
-
"${
|
|
11
|
+
"${je.call(e)}"
|
|
12
12
|
|
|
13
|
-
For more information, please check the "cause" property of this error.`}var
|
|
13
|
+
For more information, please check the "cause" property of this error.`}var X=class extends Error{constructor(r,s){super(Er(r,s));this.cause=s}},M=class extends X{constructor(e){super("parsing",e)}},Ce=class extends X{constructor(e){super("serialization",e)}},ze=class extends X{constructor(e){super("deserialization",e)}},S=class extends Error{constructor(r){super(`The value ${je.call(r)} of type "${typeof r}" cannot be parsed/serialized.
|
|
14
14
|
|
|
15
15
|
There are few workarounds for this problem:
|
|
16
16
|
- Transform the value in a way that it can be serialized.
|
|
17
|
-
- If the reference is present on multiple runtimes (isomorphic), you can use the Reference API to map the references.`);this.value=r}},m=class extends Error{constructor(e){super('Unsupported node type "'+e.t+'".')}},_=class extends Error{constructor(e){super('Missing plugin for tag "'+e+'".')}},A=class extends Error{constructor(e){super('Missing "'+e+'" instance.')}},ne=class extends Error{constructor(r){super('Missing reference for the value "'+Be.call(r)+'" of type "'+typeof r+'"');this.value=r}},se=class extends Error{constructor(e){super('Missing reference for id "'+d(e)+'"')}},Oe=class extends Error{constructor(e){super('Unknown TypedArray "'+e+'"')}};var E=class{constructor(e,r){this.value=e;this.replacement=r}};var tr={},nr={};var sr={0:{},1:{},2:{},3:{},4:{}};function H(){let n,e;return{promise:new Promise((r,t)=>{n=r,e=t}),resolve(r){n(r)},reject(r){e(r)}}}function Ce(n){return"__SEROVAL_STREAM__"in n}function M(){let n=new Set,e=[],r=!0,t=!0;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,u=e.length;l<u;l++){let S=e[l];l===u-1&&!r?t?a.return(S):a.throw(S):a.next(S)}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 ze(n){let e=M(),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 or(n){return()=>{let e=[],r=[],t=0,s=-1,o=!1;function i(){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),i(),s=e.length,e.push(l),o=!0},return(l){let u=r.shift();u&&u.resolve({done:!0,value:l}),i(),s=e.length,e.push(l)}});function a(){let l=t++,u=e[l];if(l!==s)return{done:!1,value:u};if(o)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=H();return r.push(u),await u.promise}return{done:!1,value:e[l]}}return t>s?{done:!0,value:void 0}:a()}}}}function U(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 ir(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}}}}}async function je(n){try{return[1,await n]}catch(e){return[0,e]}}var W=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:er(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:te(e)?{type:2,value:De(r.value,e)}:r}getStrictReference(e){f(te(e),new p(e));let r=this.getIndexedValue(e);return r.type===1?r.value:De(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 oe,new p(e)),rr(r.value,e))}parseSpecialReference(e){let r=this.getIndexedValue(sr[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(tr);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(nr);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:de(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}}};var w=class extends W{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 Se(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(d(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(V(this.parseIteratorFactory(),await this.parse(U(e))))),o=Symbol.asyncIterator,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(D(this.parseAsyncIteratorFactory(),await this.parse(ze(e))))),o=Symbol.toStringTag,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(x(e[o]))),o=Symbol.isConcatSpreadable,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(e[o]?N:b)),{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 he(e,await this.parse(r.valueOf()))}async parseTypedArray(e,r){return ye(e,r,await this.parse(r.buffer))}async parseBigIntTypedArray(e,r){return ve(e,r,await this.parse(r.buffer))}async parseDataView(e,r){return Ne(e,r,await this.parse(r.buffer))}async parseError(e,r){let t=k(r,this.features);return be(e,r,t?await this.parseProperties(t):void 0)}async parseAggregateError(e,r){let t=k(r,this.features);return xe(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 Ae(e,r.size,t)}async parsePromise(e,r){let[t,s]=await je(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 F(e,i.tag,await i.parse.async(r,this,{id:e}))}}async parseStream(e,r){return B(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(Ie(e,l))},l=>{s(l),i()})},throw:a=>{this.markRef(e),this.parse(a).then(l=>{o.push(Re(e,l)),t(o),i()},l=>{s(l),i()})},return:a=>{this.markRef(e),this.parse(a).then(l=>{o.push(Ee(e,l)),t(o),i()},l=>{s(l),i()})}})}))}async parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Ce(r))return this.parseStream(e,r);let t=r.constructor;if(t===E)return this.parse(r.replacement);let s=await this.parsePlugin(e,r);if(s)return s;switch(t){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return pe(e,r);case RegExp:return me(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 ge(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(t===Promise||r instanceof Promise)return this.parsePromise(e,r);let o=this.features;if(o&16)switch(t){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(o&1&&typeof AggregateError!="undefined"&&(t===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,!!t);throw new p(r)}async parse(e){try{switch(typeof e){case"boolean":return e?N:b;case"undefined":return ae;case"string":return x(e);case"number":return ce(e);case"bigint":return fe(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?await this.parseObject(r.value,e):r.value}return le}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new p(e)}}catch(r){throw new j(r)}}};var K=class extends w{constructor(){super(...arguments);this.mode="cross"}};function ar(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 Oe(n)}}function lr(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 P=class{constructor(e){this.plugins=e.plugins,this.refs=e.refs||new Map}deserializeReference(e){return this.assignIndexedValue(e.i,We(h(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 lr(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[h(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),lr(r,e.o),r}deserializeDate(e){return this.assignIndexedValue(e.i,new Date(e.s))}deserializeRegExp(e){return this.assignIndexedValue(e.i,new RegExp(h(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=ar(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([],h(e.m)));return this.deserializeDictionary(e,r)}deserializeError(e){let r=Ge[e.s],t=this.assignIndexedValue(e.i,new r(h(e.m)));return this.deserializeDictionary(e,t)}deserializePromise(e){let r=H(),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=h(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 _(e.c)}deserializePromiseConstructor(e){return this.assignIndexedValue(e.i,H()).promise}deserializePromiseResolve(e){let r=this.refs.get(e.i);f(r,new A("Promise")),r.resolve(this.deserialize(e.a[1]))}deserializePromiseReject(e){let r=this.refs.get(e.i);f(r,new A("Promise")),r.reject(this.deserialize(e.a[1]))}deserializeIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return ir(r)}deserializeAsyncIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return or(r)}deserializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,M()),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 A("Stream")),r.next(this.deserialize(e.f))}deserializeStreamThrow(e){let r=this.refs.get(e.i);f(r,new A("Stream")),r.throw(this.deserialize(e.f))}deserializeStreamReturn(e){let r=this.refs.get(e.i);f(r,new A("Stream")),r.return(this.deserialize(e.f))}deserializeIteratorFactory(e){this.deserialize(e.f)}deserializeAsyncIteratorFactory(e){this.deserialize(e.a[1])}deserialize(e){try{switch(e.t){case 2:return $e[e.s];case 0:return e.s;case 1:return h(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 Je[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 m(e)}}catch(r){throw new Pe(r)}}};var Z=class extends P{constructor(){super(...arguments);this.mode="cross"}assignIndexedValue(r,t){return this.refs.has(r)||this.refs.set(r,t),t}};var Ar=/^[$A-Z_][0-9A-Z_$]*$/i;function _e(n){let e=n[0];return(e==="$"||e==="_"||e>="A"&&e<="Z"||e>="a"&&e<="z")&&Ar.test(n)}function X(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 Ir(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:X(r)}:o.t===2&&o.s===i.s?r={t:2,s:X(r),k:o.k,v:o.v}:o.t===1&&o.s===i.s?r={t:1,s:X(r),k:void 0,v:o.v}:o.t===3&&o.s===i.s?r={t:3,s:X(r),k:o.k,v:void 0}:(e.push(r),r=o),i=o;return e.push(r),e}function ur(n){if(n.length){let e="",r=Ir(n);for(let t=0,s=r.length;t<s;t++)e+=X(r[t])+",";return e}}var Rr="Object.create(null)",Er="new Set",wr="new Map",Pr="Promise.resolve",Or="Promise.reject",Cr={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:void 0},O=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.startsWith("{")?"("+r+")":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+=Cr[o.type]+"("+o.value+"),"}return e}resolvePatches(){let e=ur(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,I+'.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||_e(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||_e(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(),ur(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,Rr)}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=Er,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=wr,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 u=this.serializeMapEntry(s,a[0],l[0],i);for(let S=1,Fe=u;S<t;S++)Fe=this.serializeMapEntry(s,a[S],l[S],i),u+=(Fe&&u&&",")+Fe;this.stack.pop(),u&&(r+="(["+u+"])")}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 "+ie[e.s]+'("'+e.m+'")')}serializePromise(e){let r,t=e.f,s=e.i,o=e.s?Pr:Or;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,Le[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 _(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],(!a&&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:!1,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){try{switch(e.t){case 2:return Ye[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 m(e)}}catch(r){throw new we(r)}}};var C=class extends O{constructor(r){super(r);this.mode="cross";this.scopeId=r.scopeId}getRefParam(r){return G+"["+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?"":G,l=o?"("+t+","+o+i+")":t;if(a==="")return r.t===10&&!o?"("+l+")":l;let u=this.scopeId==null?"()":"("+G+'["'+d(this.scopeId)+'"])';return"("+this.createFunction([a],l)+")"+u}};var g=class extends W{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 Se(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(d(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(V(this.parseIteratorFactory(),this.parse(U(e))))),o=Symbol.asyncIterator,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(D(this.parseAsyncIteratorFactory(),this.parse(M())))),o=Symbol.toStringTag,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(x(e[o]))),o=Symbol.isConcatSpreadable,o in e&&(t.push(this.parseWellKnownSymbol(o)),s.push(e[o]?N:b)),{k:t,v:s,s:t.length}}parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,this.parseProperties(r))}parseBoxed(e,r){return he(e,this.parse(r.valueOf()))}parseTypedArray(e,r){return ye(e,r,this.parse(r.buffer))}parseBigIntTypedArray(e,r){return ve(e,r,this.parse(r.buffer))}parseDataView(e,r){return Ne(e,r,this.parse(r.buffer))}parseError(e,r){let t=k(r,this.features);return be(e,r,t?this.parseProperties(t):void 0)}parseAggregateError(e,r){let t=k(r,this.features);return xe(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 Ae(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 F(e,i.tag,i.parse.sync(r,this,{id:e}))}}parseStream(e,r){return B(e,this.parseSpecialReference(4),[])}parsePromise(e,r){return this.createPromiseConstructorNode(e)}parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Ce(r))return this.parseStream(e,r);let t=r.constructor;if(t===E)return this.parse(r.replacement);let s=this.parsePlugin(e,r);if(s)return s;switch(t){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return pe(e,r);case RegExp:return me(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 ge(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(t===Promise||r instanceof Promise)return this.parsePromise(e,r);let o=this.features;if(o&16)switch(t){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(o&1&&typeof AggregateError!="undefined"&&(t===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,!!t);throw new p(r)}parse(e){try{switch(typeof e){case"boolean":return e?N:b;case"undefined":return ae;case"string":return x(e);case"number":return ce(e);case"bigint":return fe(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?this.parseObject(r.value,e):r.value}return le}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new p(e)}}catch(r){throw new j(r)}}};var Q=class extends g{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(d(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(V(this.parseIteratorFactory(),this.parse(U(r))))),i=Symbol.asyncIterator,i in r&&(s.push(this.parseWellKnownSymbol(i)),o.push(D(this.parseAsyncIteratorFactory(),this.parse(ze(r))))),i=Symbol.toStringTag,i in r&&(s.push(this.parseWellKnownSymbol(i)),o.push(x(r[i]))),i=Symbol.isConcatSpreadable,i in r&&(s.push(this.parseWellKnownSymbol(i)),o.push(r[i]?N:b)),{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 F(r,a.tag,a.parse.stream(t,this,{id:r}))}}parseStream(r,t){let s=B(r,this.parseSpecialReference(4),[]);return this.pushPendingState(),t.on({next:o=>{if(this.alive){let i=this.parseWithError(o);i&&this.onParse(Ie(r,i))}},throw:o=>{if(this.alive){let i=this.parseWithError(o);i&&this.onParse(Re(r,i))}this.popPendingState()},return:o=>{if(this.alive){let i=this.parseWithError(o);i&&this.onParse(Ee(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 L=class extends Q{constructor(){super(...arguments);this.mode="cross"}};var J=class extends g{constructor(){super(...arguments);this.mode="cross"}};function Ln(n,e={}){let r=c(e.plugins),t=new J({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),s=t.parse(n);return new C({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(s)}async function Jn(n,e={}){let r=c(e.plugins),t=new K({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),s=await t.parse(n);return new C({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(s)}function Yn(n,e={}){let r=c(e.plugins);return new J({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(n)}async function $n(n,e={}){let r=c(e.plugins);return await new K({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(n)}function dr(n,e){let r=c(e.plugins),t=new L({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse(s,o){let i=new C({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 Gn(n,e){let r=c(e.plugins),t=new L({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 Z({plugins:r,refs:e.refs}).deserialize(n)}var Y=class extends w{constructor(){super(...arguments);this.mode="vanilla"}};var ee=class extends P{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 pr="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",cr=pr.length,mr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",fr=mr.length;function Me(n){let e=n%cr,r=pr[e];for(n=(n-e)/cr;n>0;)e=n%fr,r+=mr[e],n=(n-e)/fr;return r}var z=class extends O{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=Me(t),this.vars[t]=s),s}assignIndexedValue(r,t){return this.isMarked(r)?this.getRefParam(r)+"="+t:t}serializePromiseConstructor(r){throw new m(r)}serializePromiseResolve(r){throw new m(r)}serializePromiseReject(r){throw new m(r)}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),o="("+o+")"}return"("+this.createFunction(this.vars,o)+")()"}return r.t===10?"("+t+")":t}};var $=class extends g{constructor(){super(...arguments);this.mode="vanilla"}};function ms(n,e={}){let r=c(e.plugins),t=new $({plugins:r,disabledFeatures:e.disabledFeatures}),s=t.parse(n);return new z({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(s)}async function gs(n,e={}){let r=c(e.plugins),t=new Y({plugins:r,disabledFeatures:e.disabledFeatures}),s=await t.parse(n);return new z({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(s)}function Ss(n){return(0,eval)(n)}function hs(n,e={}){let r=c(e.plugins),t=new $({plugins:r,disabledFeatures:e.disabledFeatures});return{t:t.parse(n),f:t.features,m:Array.from(t.marked)}}async function ys(n,e={}){let r=c(e.plugins),t=new Y({plugins:r,disabledFeatures:e.disabledFeatures});return{t:await t.parse(n),f:t.features,m:Array.from(t.marked)}}function vs(n,e={}){let r=c(e.plugins);return new z({plugins:r,features:n.f,markedRefs:n.m}).serializeTop(n.t)}function Ns(n,e={}){let r=c(e.plugins);return new ee({plugins:r,markedRefs:n.m}).deserialize(n.t)}var ke=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(dr(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{T as Feature,E as OpaqueReference,ke as Serializer,Pe as SerovalDeserializationError,q as SerovalError,A as SerovalMissingInstanceError,_ as SerovalMissingPluginError,ne as SerovalMissingReferenceError,se as SerovalMissingReferenceForIdError,j as SerovalParserError,we as SerovalSerializationError,Oe as SerovalUnknownTypedArrayError,m as SerovalUnsupportedNodeError,p as SerovalUnsupportedTypeError,vs as compileJSON,Mr as createPlugin,yr as createReference,M as createStream,Ln as crossSerialize,Jn as crossSerializeAsync,dr as crossSerializeStream,Ss as deserialize,qn as fromCrossJSON,Ns as fromJSON,hr as getCrossReferenceHeader,c as resolvePlugins,ms as serialize,gs as serializeAsync,Yn as toCrossJSON,$n as toCrossJSONAsync,Gn as toCrossJSONStream,hs as toJSON,ys as toJSONAsync};
|
|
17
|
+
- If the reference is present on multiple runtimes (isomorphic), you can use the Reference API to map the references.`);this.value=r}},g=class extends Error{constructor(e){super('Unsupported node type "'+e.t+'".')}},U=class extends Error{constructor(e){super('Missing plugin for tag "'+e+'".')}},v=class extends Error{constructor(e){super('Missing "'+e+'" instance.')}},ne=class extends Error{constructor(r){super('Missing reference for the value "'+je.call(r)+'" of type "'+typeof r+'"');this.value=r}},ae=class extends Error{constructor(e){super('Missing reference for id "'+p(e)+'"')}},Oe=class extends Error{constructor(e){super('Unknown TypedArray "'+e+'"')}};var P=class{constructor(e,r){this.value=e;this.replacement=r}};var nr={},ar={};var ir={0:{},1:{},2:{},3:{},4:{},5:{},6:{}};function Q(){let o,e;return{promise:new Promise((r,s)=>{o=r,e=s}),resolve(r){o(r)},reject(r){e(r)}}}function Te(o){return"__SEROVAL_STREAM__"in o}function L(){let o=new Set,e=[],r=!0,s=!0;function n(l){for(let c of o.keys())c.next(l)}function a(l){for(let c of o.keys())c.throw(l)}function i(l){for(let c of o.keys())c.return(l)}return{__SEROVAL_STREAM__:!0,on(l){r&&o.add(l);for(let c=0,d=e.length;c<d;c++){let h=e[c];c===d-1&&!r?s?l.return(h):l.throw(h):l.next(h)}return()=>{r&&o.delete(l)}},next(l){r&&(e.push(l),n(l))},throw(l){r&&(e.push(l),a(l),r=!1,s=!1,o.clear())},return(l){r&&(e.push(l),i(l),r=!1,s=!0,o.clear())}}}function ke(o){let e=L(),r=o[Symbol.asyncIterator]();async function s(){try{let n=await r.next();n.done?e.return(n.value):(e.next(n.value),await s())}catch(n){e.throw(n)}}return s().catch(()=>{}),e}function lr(o){return()=>{let e=[],r=[],s=0,n=-1,a=!1;function i(){for(let c=0,d=r.length;c<d;c++)r[c].resolve({done:!0,value:void 0})}o.on({next(c){let d=r.shift();d&&d.resolve({done:!1,value:c}),e.push(c)},throw(c){let d=r.shift();d&&d.reject(c),i(),n=e.length,e.push(c),a=!0},return(c){let d=r.shift();d&&d.resolve({done:!0,value:c}),i(),n=e.length,e.push(c)}});function l(){let c=s++,d=e[c];if(c!==n)return{done:!1,value:d};if(a)throw d;return{done:!0,value:d}}return{[Symbol.asyncIterator](){return this},async next(){if(n===-1){let c=s++;if(c>=e.length){let d=Q();return r.push(d),await d.promise}return{done:!1,value:e[c]}}return s>n?{done:!0,value:void 0}:l()}}}}function W(o){let e=[],r=-1,s=-1,n=o[Symbol.iterator]();for(;;)try{let a=n.next();if(e.push(a.value),a.done){s=e.length-1;break}}catch(a){r=e.length,e.push(a)}return{v:e,t:r,d:s}}function cr(o){return()=>{let e=0;return{[Symbol.iterator](){return this},next(){if(e>o.d)return{done:!0,value:t};let r=e++,s=o.v[r];if(r===o.t)throw s;return{done:r===o.d,value:s}}}}}async function _e(o){try{return[1,await o]}catch(e){return[0,e]}}var K=class{constructor(e){this.marked=new Set;this.plugins=e.plugins,this.features=47^(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:tr(r)};let s=this.refs.size;return this.refs.set(e,s),{type:0,value:s}}getReference(e){let r=this.getIndexedValue(e);return r.type===1?r:Be(e)?{type:2,value:or(r.value,e)}:r}parseWellKnownSymbol(e){let r=this.getReference(e);return r.type!==0?r.value:(m(e in ie,new S(e)),sr(r.value,e))}parseSpecialReference(e){let r=this.getIndexedValue(ir[e]);return r.type===1?r.value:u(26,r.value,e,t,t,t,t,t,t,t,t,t)}parseIteratorFactory(){let e=this.getIndexedValue(nr);return e.type===1?e.value:u(27,e.value,t,t,t,t,t,t,t,this.parseWellKnownSymbol(Symbol.iterator),t,t)}parseAsyncIteratorFactory(){let e=this.getIndexedValue(ar);return e.type===1?e.value:u(29,e.value,t,t,t,t,t,t,[this.parseSpecialReference(1),this.parseWellKnownSymbol(Symbol.asyncIterator)],t,t,t)}createObjectNode(e,r,s,n){return u(s?11:10,e,t,t,t,t,n,t,t,t,t,pe(r))}createMapNode(e,r,s,n){return u(8,e,t,t,t,t,t,{k:r,v:s,s:n},t,this.parseSpecialReference(0),t,t)}createPromiseConstructorNode(e){return u(22,e,t,t,t,t,t,t,t,this.parseSpecialReference(1),t,t)}createAbortSignalConstructorNode(e){return u(35,e,t,t,t,t,t,t,t,this.parseSpecialReference(5),t,t)}};var C=class extends K{async parseItems(e){let r=[];for(let s=0,n=e.length;s<n;s++)s in e&&(r[s]=await this.parse(e[s]));return r}async parseArray(e,r){return ye(e,r,await this.parseItems(r))}async parseProperties(e){let r=Object.entries(e),s=[],n=[];for(let i=0,l=r.length;i<l;i++)s.push(p(r[i][0])),n.push(await this.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(B(this.parseIteratorFactory(),await this.parse(W(e))))),a=Symbol.asyncIterator,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(j(this.parseAsyncIteratorFactory(),await this.parse(ke(e))))),a=Symbol.toStringTag,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(e[a]?x:I)),{k:s,v:n,s:s.length}}async parsePlainObject(e,r,s){return this.createObjectNode(e,r,s,await this.parseProperties(r))}async parseBoxed(e,r){return ve(e,await this.parse(r.valueOf()))}async parseTypedArray(e,r){return be(e,r,await this.parse(r.buffer))}async parseBigIntTypedArray(e,r){return Ne(e,r,await this.parse(r.buffer))}async parseDataView(e,r){return Ae(e,r,await this.parse(r.buffer))}async parseError(e,r){let s=V(r,this.features);return xe(e,r,s?await this.parseProperties(s):t)}async parseAggregateError(e,r){let s=V(r,this.features);return Ie(e,r,s?await this.parseProperties(s):t)}async parseMap(e,r){let s=[],n=[];for(let[a,i]of r.entries())s.push(await this.parse(a)),n.push(await this.parse(i));return this.createMapNode(e,s,n,r.size)}async parseSet(e,r){let s=[];for(let n of r.keys())s.push(await this.parse(n));return we(e,r.size,s)}async parsePromise(e,r){let[s,n]=await _e(r);return u(12,e,s,t,t,t,t,t,t,await this.parse(n),t,t)}async parsePlugin(e,r){let s=this.plugins;if(s)for(let n=0,a=s.length;n<a;n++){let i=s[n];if(i.parse.async&&i.test(r))return D(e,i.tag,await i.parse.async(r,this,{id:e}))}return t}async parseStream(e,r){return _(e,this.parseSpecialReference(4),await new Promise((s,n)=>{let a=[],i=r.on({next:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Ee(e,c))},c=>{n(c),i()})},throw:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Re(e,c)),s(a),i()},c=>{n(c),i()})},return:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Pe(e,c)),s(a),i()},c=>{n(c),i()})}})}))}async parseAbortSignalSync(e,r){return u(37,e,t,t,t,t,t,t,t,await this.parse(r.reason),t,t)}async parseAbortSignal(e,r){return r.aborted||await Je(r),this.parseAbortSignalSync(e,r)}async parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Te(r))return this.parseStream(e,r);let s=r.constructor;if(s===P)return this.parse(r.replacement);let n=await this.parsePlugin(e,r);if(n)return n;switch(s){case Object:return this.parsePlainObject(e,r,!1);case t:return this.parsePlainObject(e,r,!0);case Date:return Se(e,r);case RegExp:return ge(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 he(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 a=this.features;if(a&32&&typeof AbortSignal!="undefined"&&s===AbortSignal)return this.parseAbortSignal(e,r);if(a&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&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 S(r)}async parseFunction(e){let r=this.getReference(e);if(r.type!==0)return r.value;let s=await this.parsePlugin(r.value,e);if(s)return s;throw new S(e)}async parse(e){try{switch(typeof e){case"boolean":return e?x:I;case"undefined":return ce;case"string":return w(e);case"number":return fe(e);case"bigint":return me(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?await this.parseObject(r.value,e):r.value}return ue}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new S(e)}}catch(r){throw new M(r)}}};var J=class extends C{constructor(){super(...arguments);this.mode="cross"}};function ur(o){switch(o){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 Oe(o)}}function dr(o,e){switch(e){case 3:return Object.freeze(o);case 1:return Object.preventExtensions(o);case 2:return Object.seal(o);default:return o}}var z=class{constructor(e){this.plugins=e.plugins,this.refs=e.refs||new Map}deserializeReference(e){return this.assignIndexedValue(e.i,We(N(e.s)))}deserializeArray(e){let r=e.l,s=this.assignIndexedValue(e.i,new Array(r)),n;for(let a=0;a<r;a++)n=e.a[a],n&&(s[a]=this.deserialize(n));return dr(s,e.o),s}deserializeProperties(e,r){let s=e.s;if(s){let n=e.k,a=e.v;for(let i=0,l;i<s;i++)l=n[i],typeof l=="string"?r[N(l)]=this.deserialize(a[i]):r[this.deserialize(l)]=this.deserialize(a[i])}return r}deserializeObject(e){let r=this.assignIndexedValue(e.i,e.t===10?{}:Object.create(null));return this.deserializeProperties(e.p,r),dr(r,e.o),r}deserializeDate(e){return this.assignIndexedValue(e.i,new Date(e.s))}deserializeRegExp(e){return this.assignIndexedValue(e.i,new RegExp(N(e.c),e.m))}deserializeSet(e){let r=this.assignIndexedValue(e.i,new Set),s=e.a;for(let n=0,a=e.l;n<a;n++)r.add(this.deserialize(s[n]));return r}deserializeMap(e){let r=this.assignIndexedValue(e.i,new Map),s=e.e.k,n=e.e.v;for(let a=0,i=e.e.s;a<i;a++)r.set(this.deserialize(s[a]),this.deserialize(n[a]));return r}deserializeArrayBuffer(e){let r=new Uint8Array(e.s);return this.assignIndexedValue(e.i,r.buffer)}deserializeTypedArray(e){let r=ur(e.c),s=this.deserialize(e.f);return this.assignIndexedValue(e.i,new r(s,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 s=this.deserializeProperties(e.p,{});Object.assign(r,s)}return r}deserializeAggregateError(e){let r=this.assignIndexedValue(e.i,new AggregateError([],N(e.m)));return this.deserializeDictionary(e,r)}deserializeError(e){let r=He[e.s],s=this.assignIndexedValue(e.i,new r(N(e.m)));return this.deserializeDictionary(e,s)}deserializePromise(e){let r=Q(),s=this.assignIndexedValue(e.i,r),n=this.deserialize(e.f);return e.s?r.resolve(n):r.reject(n),s.promise}deserializeBoxed(e){return this.assignIndexedValue(e.i,Object(this.deserialize(e.f)))}deserializePlugin(e){let r=this.plugins;if(r){let s=N(e.c);for(let n=0,a=r.length;n<a;n++){let i=r[n];if(i.tag===s)return this.assignIndexedValue(e.i,i.deserialize(e.s,this,{id:e.i}))}}throw new U(e.c)}deserializePromiseConstructor(e){return this.assignIndexedValue(e.i,Q()).promise}deserializePromiseResolve(e){let r=this.refs.get(e.i);m(r,new v("Promise")),r.resolve(this.deserialize(e.a[1]))}deserializePromiseReject(e){let r=this.refs.get(e.i);m(r,new v("Promise")),r.reject(this.deserialize(e.a[1]))}deserializeIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return cr(r)}deserializeAsyncIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return lr(r)}deserializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,L()),s=e.a.length;if(s)for(let n=0;n<s;n++)this.deserialize(e.a[n]);return r}deserializeStreamNext(e){let r=this.refs.get(e.i);m(r,new v("Stream")),r.next(this.deserialize(e.f))}deserializeStreamThrow(e){let r=this.refs.get(e.i);m(r,new v("Stream")),r.throw(this.deserialize(e.f))}deserializeStreamReturn(e){let r=this.refs.get(e.i);m(r,new v("Stream")),r.return(this.deserialize(e.f))}deserializeIteratorFactory(e){this.deserialize(e.f)}deserializeAsyncIteratorFactory(e){this.deserialize(e.a[1])}deserializeAbortSignalConstructor(e){return this.assignIndexedValue(e.i,new AbortController).signal}deserializeAbortSignalAbort(e){let r=this.refs.get(e.i);m(r,new v("AbortSignal")),r.abort(this.deserialize(e.a[1]))}deserializeAbortSignalSync(e){return this.assignIndexedValue(e.i,AbortSignal.abort(this.deserialize(e.f)))}deserialize(e){try{switch(e.t){case 2:return qe[e.s];case 0:return e.s;case 1:return N(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 $e[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);case 36:return this.deserializeAbortSignalAbort(e);case 35:return this.deserializeAbortSignalConstructor(e);case 37:return this.deserializeAbortSignalSync(e);default:throw new g(e)}}catch(r){throw new ze(r)}}};var ee=class extends z{constructor(){super(...arguments);this.mode="cross"}assignIndexedValue(r,s){return this.refs.has(r)||this.refs.set(r,s),s}};var Cr=/^[$A-Z_][0-9A-Z_$]*$/i;function Me(o){let e=o[0];return(e==="$"||e==="_"||e>="A"&&e<="Z"||e>="a"&&e<="z")&&Cr.test(o)}function re(o){switch(o.t){case 0:return o.s+"="+o.v;case 2:return o.s+".set("+o.k+","+o.v+")";case 1:return o.s+".add("+o.v+")";case 3:return o.s+".delete("+o.k+")"}}function zr(o){let e=[],r=o[0];for(let s=1,n=o.length,a,i=r;s<n;s++)a=o[s],a.t===0&&a.v===i.v?r={t:0,s:a.s,k:t,v:re(r)}:a.t===2&&a.s===i.s?r={t:2,s:re(r),k:a.k,v:a.v}:a.t===1&&a.s===i.s?r={t:1,s:re(r),k:t,v:a.v}:a.t===3&&a.s===i.s?r={t:3,s:re(r),k:a.k,v:t}:(e.push(r),r=a),i=a;return e.push(r),e}function pr(o){if(o.length){let e="",r=zr(o);for(let s=0,n=r.length;s<n;s++)e+=re(r[s])+",";return e}return t}var Or="Object.create(null)",Tr="new Set",kr="new Map",Fr="Promise.resolve",Vr="Promise.reject",Dr={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:t},O=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.startsWith("{")?"("+r+")":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,s=this.flags,n=s.length;r<n;r++){let a=s[r];e+=Dr[a.type]+"("+a.value+"),"}return e}resolvePatches(){let e=pr(this.assignments),r=this.resolveFlags();return e?r?e+r:e:r}createAssignment(e,r){this.assignments.push({t:0,s:e,k:t,v:r})}createAddAssignment(e,r){this.assignments.push({t:1,s:this.getRefParam(e),k:t,v:r})}createSetAssignment(e,r,s){this.assignments.push({t:2,s:this.getRefParam(e),k:r,v:s})}createDeleteAssignment(e,r){this.assignments.push({t:3,s:this.getRefParam(e),k:r,v:t})}createArrayAssign(e,r,s){this.createAssignment(this.getRefParam(e)+"["+r+"]",s)}createObjectAssign(e,r,s){this.createAssignment(this.getRefParam(e)+"."+r,s)}isIndexedValueInStack(e){return e.t===4&&this.stack.includes(e.i)}serializeReference(e){return this.assignIndexedValue(e.i,E+'.get("'+e.s+'")')}serializeArrayItem(e,r,s){return r?this.isIndexedValueInStack(r)?(this.markRef(e),this.createArrayAssign(e,s,this.getRefParam(r.i)),""):this.serialize(r):""}serializeArray(e){let r=e.i;if(e.l){this.stack.push(r);let s=e.a,n=this.serializeArrayItem(r,s[0],0),a=n==="";for(let i=1,l=e.l,c;i<l;i++)c=this.serializeArrayItem(r,s[i],i),n+=","+c,a=c==="";return this.stack.pop(),this.pushObjectFlag(e.o,e.i),this.assignIndexedValue(r,"["+n+(a?",]":"]"))}return this.assignIndexedValue(r,"[]")}serializeProperty(e,r,s){if(typeof r=="string"){let n=Number(r),a=n>=0&&n.toString()===r||Me(r);if(this.isIndexedValueInStack(s)){let i=this.getRefParam(s.i);return this.markRef(e.i),a&&n!==n?this.createObjectAssign(e.i,r,i):this.createArrayAssign(e.i,a?r:'"'+r+'"',i),""}return(a?r:'"'+r+'"')+":"+this.serialize(s)}return"["+this.serialize(r)+"]:"+this.serialize(s)}serializeProperties(e,r){let s=r.s;if(s){let n=r.k,a=r.v;this.stack.push(e.i);let i=this.serializeProperty(e,n[0],a[0]);for(let l=1,c=i;l<s;l++)c=this.serializeProperty(e,n[l],a[l]),i+=(c&&i&&",")+c;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,s){let n=this.serializeProperties(e,r);return n!=="{}"?"Object.assign("+s+","+n+")":s}serializeStringKeyAssignment(e,r,s,n){let a=this.serialize(n),i=Number(s),l=i>=0&&i.toString()===s||Me(s);if(this.isIndexedValueInStack(n))l&&i!==i?this.createObjectAssign(e.i,s,a):this.createArrayAssign(e.i,l?s:'"'+s+'"',a);else{let c=this.assignments;this.assignments=r,l&&i!==i?this.createObjectAssign(e.i,s,a):this.createArrayAssign(e.i,l?s:'"'+s+'"',a),this.assignments=c}}serializeAssignment(e,r,s,n){if(typeof s=="string")this.serializeStringKeyAssignment(e,r,s,n);else{let a=this.stack;this.stack=[];let i=this.serialize(n);this.stack=a;let l=this.assignments;this.assignments=r,this.createArrayAssign(e.i,this.serialize(s),i),this.assignments=l}}serializeAssignments(e,r){let s=r.s;if(s){let n=[],a=r.k,i=r.v;this.stack.push(e.i);for(let l=0;l<s;l++)this.serializeAssignment(e,n,a[l],i[l]);return this.stack.pop(),pr(n)}return t}serializeDictionary(e,r){if(e.p)if(this.features&8)r=this.serializeWithObjectAssign(e,e.p,r);else{this.markRef(e.i);let s=this.serializeAssignments(e,e.p);if(s)return"("+this.assignIndexedValue(e.i,r)+","+s+this.getRefParam(e.i)+")"}return this.assignIndexedValue(e.i,r)}serializeNullConstructor(e){return this.pushObjectFlag(e.o,e.i),this.serializeDictionary(e,Or)}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=Tr,s=e.l,n=e.i;if(s){let a=e.a;this.stack.push(n);let i=this.serializeSetItem(n,a[0]);for(let l=1,c=i;l<s;l++)c=this.serializeSetItem(n,a[l]),i+=(c&&i&&",")+c;this.stack.pop(),i&&(r+="(["+i+"])")}return this.assignIndexedValue(n,r)}serializeMapEntry(e,r,s,n){if(this.isIndexedValueInStack(r)){let a=this.getRefParam(r.i);if(this.markRef(e),this.isIndexedValueInStack(s)){let l=this.getRefParam(s.i);return this.createSetAssignment(e,a,l),""}if(s.t!==4&&s.i!=null&&this.isMarked(s.i)){let l="("+this.serialize(s)+",["+n+","+n+"])";return this.createSetAssignment(e,a,this.getRefParam(s.i)),this.createDeleteAssignment(e,n),l}let i=this.stack;return this.stack=[],this.createSetAssignment(e,a,this.serialize(s)),this.stack=i,""}if(this.isIndexedValueInStack(s)){let a=this.getRefParam(s.i);if(this.markRef(e),r.t!==4&&r.i!=null&&this.isMarked(r.i)){let l="("+this.serialize(r)+",["+n+","+n+"])";return this.createSetAssignment(e,this.getRefParam(r.i),a),this.createDeleteAssignment(e,n),l}let i=this.stack;return this.stack=[],this.createSetAssignment(e,this.serialize(r),a),this.stack=i,""}return"["+this.serialize(r)+","+this.serialize(s)+"]"}serializeMap(e){let r=kr,s=e.e.s,n=e.i,a=e.f,i=this.getRefParam(a.i);if(s){let l=e.e.k,c=e.e.v;this.stack.push(n);let d=this.serializeMapEntry(n,l[0],c[0],i);for(let h=1,H=d;h<s;h++)H=this.serializeMapEntry(n,l[h],c[h],i),d+=(H&&d&&",")+H;this.stack.pop(),d&&(r+="(["+d+"])")}return a.t===26&&(this.markRef(a.i),r="("+this.serialize(a)+","+r+")"),this.assignIndexedValue(n,r)}serializeArrayBuffer(e){let r="new Uint8Array(",s=e.s,n=s.length;if(n){r+="["+s[0];for(let a=1;a<n;a++)r+=","+s[a];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 s=this.serializeDictionary(e,'new AggregateError([],"'+e.m+'")');return this.stack.pop(),s}serializeError(e){return this.serializeDictionary(e,"new "+le[e.s]+'("'+e.m+'")')}serializePromise(e){let r,s=e.f,n=e.i,a=e.s?Fr:Vr;if(this.isIndexedValueInStack(s)){let i=this.getRefParam(s.i);r=a+(e.s?"().then("+this.createFunction([],i)+")":"().catch("+this.createEffectfulFunction([],"throw "+i)+")")}else{this.stack.push(n);let i=this.serialize(s);this.stack.pop(),r=a+"("+i+")"}return this.assignIndexedValue(n,r)}serializeWellKnownSymbol(e){return this.assignIndexedValue(e.i,Ye[e.s])}serializeBoxed(e){return this.assignIndexedValue(e.i,"Object("+this.serialize(e.f)+")")}serializePlugin(e){let r=this.plugins;if(r)for(let s=0,n=r.length;s<n;s++){let a=r[s];if(a.tag===e.c)return this.assignIndexedValue(e.i,a.serialize(e.s,this,{id:e.i}))}throw new U(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],(!a&&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)')+"})");case 5:return this.createFunction(["a","s"],"((s=(a=new AbortController).signal).a=a,s)");case 6:return this.createEffectfulFunction(["s","r"],"s.a.abort(r);delete s.a");default:return""}}serializeSpecialReference(e){return this.assignIndexedValue(e.i,this.serializeSpecialReferenceValue(e.s))}serializeIteratorFactory(e){let r="",s=!1;return e.f.t!==4&&(this.markRef(e.f.i),r="("+this.serialize(e.f)+",",s=!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}")+"})"))),s&&(r+=")"),r}serializeIteratorFactoryInstance(e){return this.getConstructor(e.a[0])+"("+this.serialize(e.a[1])+")"}serializeAsyncIteratorFactory(e){let r=e.a[0],s=e.a[1],n="";r.t!==4&&(this.markRef(r.i),n+="("+this.serialize(r)),s.t!==4&&(this.markRef(s.i),n+=(n?",":"(")+this.serialize(s)),n&&(n+=",");let a=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(s.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:!1,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 n?n+a+")":a}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)+"()"),s=e.a.length;if(s){let n=this.serialize(e.a[0]);for(let a=1;a<s;a++)n+=","+this.serialize(e.a[a]);return"("+r+","+n+","+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)+")"}serializeAbortSignalSync(e){return this.assignIndexedValue(e.i,"AbortSignal.abort("+this.serialize(e.f)+")")}serializeAbortSignalConstructor(e){return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"()")}serializeAbortSignalAbort(e){return this.getConstructor(e.a[0])+"("+this.getRefParam(e.i)+","+this.serialize(e.a[1])+")"}serialize(e){try{switch(e.t){case 2:return Ge[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);case 36:return this.serializeAbortSignalAbort(e);case 35:return this.serializeAbortSignalConstructor(e);case 37:return this.serializeAbortSignalSync(e);default:throw new g(e)}}catch(r){throw new Ce(r)}}};var T=class extends O{constructor(r){super(r);this.mode="cross";this.scopeId=r.scopeId}getRefParam(r){return Z+"["+r+"]"}assignIndexedValue(r,s){return this.getRefParam(r)+"="+s}serializeTop(r){let s=this.serialize(r),n=r.i;if(n==null)return s;let a=this.resolvePatches(),i=this.getRefParam(n),l=this.scopeId==null?"":Z,c=a?"("+s+","+a+i+")":s;if(l==="")return r.t===10&&!a?"("+c+")":c;let d=this.scopeId==null?"()":"("+Z+'["'+p(this.scopeId)+'"])';return"("+this.createFunction([l],c)+")"+d}};var b=class extends K{parseItems(e){let r=[];for(let s=0,n=e.length;s<n;s++)s in e&&(r[s]=this.parse(e[s]));return r}parseArray(e,r){return ye(e,r,this.parseItems(r))}parseProperties(e){let r=Object.entries(e),s=[],n=[];for(let i=0,l=r.length;i<l;i++)s.push(p(r[i][0])),n.push(this.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(B(this.parseIteratorFactory(),this.parse(W(e))))),a=Symbol.asyncIterator,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(j(this.parseAsyncIteratorFactory(),this.parse(L())))),a=Symbol.toStringTag,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(s.push(this.parseWellKnownSymbol(a)),n.push(e[a]?x:I)),{k:s,v:n,s:s.length}}parsePlainObject(e,r,s){return this.createObjectNode(e,r,s,this.parseProperties(r))}parseBoxed(e,r){return ve(e,this.parse(r.valueOf()))}parseTypedArray(e,r){return be(e,r,this.parse(r.buffer))}parseBigIntTypedArray(e,r){return Ne(e,r,this.parse(r.buffer))}parseDataView(e,r){return Ae(e,r,this.parse(r.buffer))}parseError(e,r){let s=V(r,this.features);return xe(e,r,s?this.parseProperties(s):t)}parseAggregateError(e,r){let s=V(r,this.features);return Ie(e,r,s?this.parseProperties(s):t)}parseMap(e,r){let s=[],n=[];for(let[a,i]of r.entries())s.push(this.parse(a)),n.push(this.parse(i));return this.createMapNode(e,s,n,r.size)}parseSet(e,r){let s=[];for(let n of r.keys())s.push(this.parse(n));return we(e,r.size,s)}parsePlugin(e,r){let s=this.plugins;if(s)for(let n=0,a=s.length;n<a;n++){let i=s[n];if(i.parse.sync&&i.test(r))return D(e,i.tag,i.parse.sync(r,this,{id:e}))}}parseStream(e,r){return _(e,this.parseSpecialReference(4),[])}parsePromise(e,r){return this.createPromiseConstructorNode(e)}parseAbortSignalSync(e,r){return u(37,e,t,t,t,t,t,t,t,this.parse(r.reason),t,t)}parseAbortSignal(e,r){return r.aborted?this.parseAbortSignalSync(e,r):this.createAbortSignalConstructorNode(e)}parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Te(r))return this.parseStream(e,r);let s=r.constructor;if(s===P)return this.parse(r.replacement);let n=this.parsePlugin(e,r);if(n)return n;switch(s){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return Se(e,r);case RegExp:return ge(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 he(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 a=this.features;if(a&32&&typeof AbortSignal!="undefined"&&s===AbortSignal)return this.parseAbortSignal(e,r);if(a&16)switch(s){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&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 S(r)}parseFunction(e){let r=this.getReference(e);if(r.type!==0)return r.value;let s=this.parsePlugin(r.value,e);if(s)return s;throw new S(e)}parse(e){try{switch(typeof e){case"boolean":return e?x:I;case"undefined":return ce;case"string":return w(e);case"number":return fe(e);case"bigint":return me(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?this.parseObject(r.value,e):r.value}return ue}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new S(e)}}catch(r){throw new M(r)}}};var te=class extends b{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,s){try{this.onParseCallback(r,s)}catch(n){this.onError(n)}}flush(){for(let r=0,s=this.buffer.length;r<s;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 s=Object.entries(r),n=[],a=[];for(let l=0,c=s.length;l<c;l++)n.push(p(s[l][0])),a.push(this.parse(s[l][1]));let i=Symbol.iterator;return i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(B(this.parseIteratorFactory(),this.parse(W(r))))),i=Symbol.asyncIterator,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(j(this.parseAsyncIteratorFactory(),this.parse(ke(r))))),i=Symbol.toStringTag,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(w(r[i]))),i=Symbol.isConcatSpreadable,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(r[i]?x:I)),{k:n,v:a,s:n.length}}parsePromise(r,s){return s.then(n=>{let a=this.parseWithError(n);a&&this.onParse(u(23,r,t,t,t,t,t,t,[this.parseSpecialReference(2),a],t,t,t)),this.popPendingState()},n=>{if(this.alive){let a=this.parseWithError(n);a&&this.onParse(u(24,r,t,t,t,t,t,t,[this.parseSpecialReference(3),a],t,t,t))}this.popPendingState()}),this.pushPendingState(),this.createPromiseConstructorNode(r)}parsePlugin(r,s){let n=this.plugins;if(n)for(let a=0,i=n.length;a<i;a++){let l=n[a];if(l.parse.stream&&l.test(s))return D(r,l.tag,l.parse.stream(s,this,{id:r}))}return t}parseStream(r,s){let n=_(r,this.parseSpecialReference(4),[]);return this.pushPendingState(),s.on({next:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Ee(r,i))}},throw:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Re(r,i))}this.popPendingState()},return:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Pe(r,i))}this.popPendingState()}}),n}handleAbortSignal(r,s){if(this.alive){let n=this.parseWithError(s.reason);n&&this.onParse(u(36,r,t,t,t,t,t,t,[this.parseSpecialReference(6),n],t,t,t))}this.popPendingState()}parseAbortSignal(r,s){return s.aborted?this.parseAbortSignalSync(r,s):(this.pushPendingState(),s.addEventListener("abort",this.handleAbortSignal.bind(this,r,s),{once:!0}),this.createAbortSignalConstructorNode(r))}parseWithError(r){try{return this.parse(r)}catch(s){return this.onError(s),t}}start(r){let s=this.parseWithError(r);s&&(this.onParseInternal(s,!0),this.initial=!1,this.flush(),this.pending<=0&&this.destroy())}destroy(){this.alive&&(this.onDone(),this.alive=!1)}isAlive(){return this.alive}};var Y=class extends te{constructor(){super(...arguments);this.mode="cross"}};var $=class extends b{constructor(){super(...arguments);this.mode="cross"}};function ao(o,e={}){let r=f(e.plugins),s=new $({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=s.parse(o);return new T({plugins:r,features:s.features,scopeId:e.scopeId,markedRefs:s.marked}).serializeTop(n)}async function io(o,e={}){let r=f(e.plugins),s=new J({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=await s.parse(o);return new T({plugins:r,features:s.features,scopeId:e.scopeId,markedRefs:s.marked}).serializeTop(n)}function lo(o,e={}){let r=f(e.plugins);return new $({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}async function co(o,e={}){let r=f(e.plugins);return await new J({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}function fr(o,e){let r=f(e.plugins),s=new Y({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse(n,a){let i=new T({plugins:r,features:s.features,scopeId:e.scopeId,markedRefs:s.marked}),l;try{l=i.serializeTop(n)}catch(c){e.onError&&e.onError(c);return}e.onSerialize(l,a)},onError:e.onError,onDone:e.onDone});return s.start(o),s.destroy.bind(s)}function uo(o,e){let r=f(e.plugins),s=new Y({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse:e.onParse,onError:e.onError,onDone:e.onDone});return s.start(o),s.destroy.bind(s)}function po(o,e){let r=f(e.plugins);return new ee({plugins:r,refs:e.refs}).deserialize(o)}var G=class extends C{constructor(){super(...arguments);this.mode="vanilla"}};var se=class extends z{constructor(r){super(r);this.mode="vanilla";this.marked=new Set(r.markedRefs)}assignIndexedValue(r,s){return this.marked.has(r)&&this.refs.set(r,s),s}};var gr="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",mr=gr.length,hr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Sr=hr.length;function Ue(o){let e=o%mr,r=gr[e];for(o=(o-e)/mr;o>0;)e=o%Sr,r+=hr[e],o=(o-e)/Sr;return r}var k=class extends O{constructor(){super(...arguments);this.mode="vanilla";this.valid=new Map;this.vars=[]}getRefParam(r){let s=this.valid.get(r);s==null&&(s=this.valid.size,this.valid.set(r,s));let n=this.vars[s];return n==null&&(n=Ue(s),this.vars[s]=n),n}assignIndexedValue(r,s){return this.isMarked(r)?this.getRefParam(r)+"="+s:s}serializePromiseConstructor(r){throw new g(r)}serializePromiseResolve(r){throw new g(r)}serializePromiseReject(r){throw new g(r)}serializeAbortSignalAbort(r){throw new g(r)}serializeTop(r){let s=this.serialize(r);if(r.i!=null&&this.vars.length){let n=this.resolvePatches(),a=s;if(n){let i=this.getRefParam(r.i);a=s+","+n+i,s.startsWith(i+"=")||(a=i+"="+a),a="("+a+")"}return"("+this.createFunction(this.vars,a)+")()"}return r.t===10?"("+s+")":s}};var q=class extends b{constructor(){super(...arguments);this.mode="vanilla"}};function Oo(o,e={}){let r=f(e.plugins),s=new q({plugins:r,disabledFeatures:e.disabledFeatures}),n=s.parse(o);return new k({plugins:r,features:s.features,markedRefs:s.marked}).serializeTop(n)}async function To(o,e={}){let r=f(e.plugins),s=new G({plugins:r,disabledFeatures:e.disabledFeatures}),n=await s.parse(o);return new k({plugins:r,features:s.features,markedRefs:s.marked}).serializeTop(n)}function ko(o){return(0,eval)(o)}function Fo(o,e={}){let r=f(e.plugins),s=new q({plugins:r,disabledFeatures:e.disabledFeatures});return{t:s.parse(o),f:s.features,m:Array.from(s.marked)}}async function Vo(o,e={}){let r=f(e.plugins),s=new G({plugins:r,disabledFeatures:e.disabledFeatures});return{t:await s.parse(o),f:s.features,m:Array.from(s.marked)}}function Do(o,e={}){let r=f(e.plugins);return new k({plugins:r,features:o.f,markedRefs:o.m}).serializeTop(o.t)}function Bo(o,e={}){let r=f(e.plugins);return new se({plugins:r,markedRefs:o.m}).deserialize(o.t)}var Ve=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=f(e.plugins)}write(e,r){this.alive&&!this.flushed&&(this.pending++,this.keys.add(e),this.cleanups.push(fr(r,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(s,n)=>{this.alive&&this.options.onData(n?this.options.globalIdentifier+'["'+p(e)+'"]='+s:s)},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{F as Feature,P as OpaqueReference,Ve as Serializer,ze as SerovalDeserializationError,X as SerovalError,v as SerovalMissingInstanceError,U as SerovalMissingPluginError,ne as SerovalMissingReferenceError,ae as SerovalMissingReferenceForIdError,M as SerovalParserError,Ce as SerovalSerializationError,Oe as SerovalUnknownTypedArrayError,g as SerovalUnsupportedNodeError,S as SerovalUnsupportedTypeError,Do as compileJSON,Yr as createPlugin,Nr as createReference,L as createStream,ao as crossSerialize,io as crossSerializeAsync,fr as crossSerializeStream,ko as deserialize,po as fromCrossJSON,Bo as fromJSON,br as getCrossReferenceHeader,f as resolvePlugins,Oo as serialize,To as serializeAsync,lo as toCrossJSON,co as toCrossJSONAsync,uo as toCrossJSONStream,Fo as toJSON,Vo as toJSONAsync};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abort-signal.d.ts","sourceRoot":"","sources":["../../../src/core/abort-signal.ts"],"names":[],"mappings":"AAgBA,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAEtE"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WellKnownSymbols } from './constants';
|
|
2
|
-
import type { SerovalAggregateErrorNode, SerovalArrayBufferNode, SerovalArrayNode, SerovalAsyncIteratorFactoryInstanceNode, SerovalBigIntNode, SerovalBigIntTypedArrayNode, SerovalBoxedNode, SerovalConstantNode, SerovalDataViewNode, SerovalDateNode, SerovalErrorNode, SerovalIndexedValueNode, SerovalIteratorFactoryInstanceNode, SerovalNode, SerovalNodeWithID, SerovalNumberNode, SerovalObjectRecordNode, SerovalPluginNode, SerovalReferenceNode, SerovalRegExpNode, SerovalSetNode, SerovalStreamConstructorNode, SerovalStreamNextNode, SerovalStreamReturnNode, SerovalStreamThrowNode, SerovalStringNode, SerovalTypedArrayNode, SerovalWKSymbolNode } from './types';
|
|
2
|
+
import type { SerovalAbortSignalSyncNode, SerovalAggregateErrorNode, SerovalArrayBufferNode, SerovalArrayNode, SerovalAsyncIteratorFactoryInstanceNode, SerovalBigIntNode, SerovalBigIntTypedArrayNode, SerovalBoxedNode, SerovalConstantNode, SerovalDataViewNode, SerovalDateNode, SerovalErrorNode, SerovalIndexedValueNode, SerovalIteratorFactoryInstanceNode, SerovalNode, SerovalNodeWithID, SerovalNumberNode, SerovalObjectRecordNode, SerovalPluginNode, SerovalReferenceNode, SerovalRegExpNode, SerovalSetNode, SerovalStreamConstructorNode, SerovalStreamNextNode, SerovalStreamReturnNode, SerovalStreamThrowNode, SerovalStringNode, SerovalTypedArrayNode, SerovalWKSymbolNode } from './types';
|
|
3
3
|
import type { BigIntTypedArrayValue, TypedArrayValue } from './utils/typed-array';
|
|
4
4
|
export declare function createNumberNode(value: number): SerovalConstantNode | SerovalNumberNode;
|
|
5
5
|
export declare function createStringNode(value: string): SerovalStringNode;
|
|
@@ -25,4 +25,5 @@ export declare function createStreamConstructorNode(id: number, factory: Seroval
|
|
|
25
25
|
export declare function createStreamNextNode(id: number, parsed: SerovalNode): SerovalStreamNextNode;
|
|
26
26
|
export declare function createStreamThrowNode(id: number, parsed: SerovalNode): SerovalStreamThrowNode;
|
|
27
27
|
export declare function createStreamReturnNode(id: number, parsed: SerovalNode): SerovalStreamReturnNode;
|
|
28
|
+
export declare function createAbortSignalSyncNode(id: number, parsed: SerovalNode): SerovalAbortSignalSyncNode;
|
|
28
29
|
//# sourceMappingURL=base-primitives.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-primitives.d.ts","sourceRoot":"","sources":["../../../src/core/base-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"base-primitives.d.ts","sourceRoot":"","sources":["../../../src/core/base-primitives.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAWpD,OAAO,KAAK,EACV,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,uCAAuC,EACvC,iBAAiB,EACjB,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,kCAAkC,EAClC,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GACZ,mBAAmB,GAAG,iBAAiB,CA2BzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAejE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAenE;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAe1E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,eAAe,CAezE;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GACd,iBAAiB,CAenB;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,GACnB,sBAAsB,CAqBxB;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,gBAAgB,GACxB,mBAAmB,CAerB;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,CAAC,GACL,oBAAoB,CAetB;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,iBAAiB,CAenB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAAE,EAClB,WAAW,EAAE,WAAW,EAAE,GACzB,gBAAgB,CAelB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,WAAW,GACjB,gBAAgB,CAelB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,WAAW,GAClB,qBAAqB,CAevB;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,WAAW,GAClB,2BAA2B,CAe7B;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,WAAW,GAClB,mBAAmB,CAerB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAC3C,gBAAgB,CAelB;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAC3C,yBAAyB,CAe3B;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,WAAW,EAAE,GACnB,cAAc,CAehB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,WAAW,GACjB,kCAAkC,CAepC;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,WAAW,GACjB,uCAAuC,CAezC;AAED,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,WAAW,EAAE,GACtB,4BAA4B,CAe9B;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAClB,qBAAqB,CAevB;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAClB,sBAAsB,CAexB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAClB,uBAAuB,CAezB;AAED,wBAAgB,yBAAyB,CACvC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAClB,0BAA0B,CAe5B"}
|
|
@@ -8,7 +8,8 @@ export declare const enum Feature {
|
|
|
8
8
|
ArrowFunction = 2,
|
|
9
9
|
ErrorPrototypeStack = 4,
|
|
10
10
|
ObjectAssign = 8,
|
|
11
|
-
BigIntTypedArray = 16
|
|
11
|
+
BigIntTypedArray = 16,
|
|
12
|
+
AbortSignal = 32
|
|
12
13
|
}
|
|
13
|
-
export declare const ALL_ENABLED =
|
|
14
|
+
export declare const ALL_ENABLED = 47;
|
|
14
15
|
//# sourceMappingURL=compat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../src/core/compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,0BAAkB,OAAO;IACvB,cAAc,IAAO;IACrB,aAAa,IAAO;IACpB,mBAAmB,IAAO;IAC1B,YAAY,IAAO;IACnB,gBAAgB,KAAO;
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../src/core/compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,0BAAkB,OAAO;IACvB,cAAc,IAAO;IACrB,aAAa,IAAO;IACpB,mBAAmB,IAAO;IAC1B,YAAY,IAAO;IACnB,gBAAgB,KAAO;IACvB,WAAW,KAAO;CACnB;AAED,eAAO,MAAM,WAAW,KAAO,CAAC"}
|
|
@@ -43,7 +43,10 @@ export declare const enum SerovalNodeType {
|
|
|
43
43
|
StreamConstructor = 31,
|
|
44
44
|
StreamNext = 32,
|
|
45
45
|
StreamThrow = 33,
|
|
46
|
-
StreamReturn = 34
|
|
46
|
+
StreamReturn = 34,
|
|
47
|
+
AbortSignalConstructor = 35,
|
|
48
|
+
AbortSignalAbort = 36,
|
|
49
|
+
AbortSignalSync = 37
|
|
47
50
|
}
|
|
48
51
|
export declare const enum SerovalObjectFlags {
|
|
49
52
|
None = 0,
|
|
@@ -98,5 +101,6 @@ export declare const enum ErrorConstructorTag {
|
|
|
98
101
|
export declare const ERROR_CONSTRUCTOR_STRING: Record<ErrorConstructorTag, string>;
|
|
99
102
|
type ErrorConstructors = ErrorConstructor | EvalErrorConstructor | RangeErrorConstructor | ReferenceErrorConstructor | SyntaxErrorConstructor | TypeErrorConstructor | URIErrorConstructor;
|
|
100
103
|
export declare const ERROR_CONSTRUCTOR: Record<ErrorConstructorTag, ErrorConstructors>;
|
|
104
|
+
export declare const NIL: undefined;
|
|
101
105
|
export {};
|
|
102
106
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,0BAAkB,eAAe;IAC/B,IAAI,IAAI;IACR,SAAS,IAAI;IACb,IAAI,IAAI;IACR,KAAK,IAAI;IACT,OAAO,IAAI;IACX,GAAG,IAAI;IACP,MAAM,IAAI;IACV,GAAG,IAAI;CACR;AAED,0BAAkB,eAAe;IAC/B,MAAM,IAAI;IACV,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,YAAY,IAAI;IAChB,IAAI,IAAI;IACR,MAAM,IAAI;IACV,GAAG,IAAI;IACP,GAAG,IAAI;IACP,KAAK,IAAI;IACT,MAAM,KAAK;IACX,eAAe,KAAK;IACpB,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,cAAc,KAAK;IACnB,UAAU,KAAK;IACf,gBAAgB,KAAK;IACrB,QAAQ,KAAK;IACb,SAAS,KAAK;IACd,WAAW,KAAK;IAChB,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,kBAAkB,KAAK;IACvB,cAAc,KAAK;IACnB,aAAa,KAAK;IAClB,MAAM,KAAK;IACX,gBAAgB,KAAK;IACrB,eAAe,KAAK;IACpB,uBAAuB,KAAK;IAC5B,oBAAoB,KAAK;IACzB,4BAA4B,KAAK;IACjC,iBAAiB,KAAK;IACtB,UAAU,KAAK;IACf,WAAW,KAAK;IAChB,YAAY,KAAK;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,0BAAkB,eAAe;IAC/B,IAAI,IAAI;IACR,SAAS,IAAI;IACb,IAAI,IAAI;IACR,KAAK,IAAI;IACT,OAAO,IAAI;IACX,GAAG,IAAI;IACP,MAAM,IAAI;IACV,GAAG,IAAI;CACR;AAED,0BAAkB,eAAe;IAC/B,MAAM,IAAI;IACV,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,YAAY,IAAI;IAChB,IAAI,IAAI;IACR,MAAM,IAAI;IACV,GAAG,IAAI;IACP,GAAG,IAAI;IACP,KAAK,IAAI;IACT,MAAM,KAAK;IACX,eAAe,KAAK;IACpB,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,cAAc,KAAK;IACnB,UAAU,KAAK;IACf,gBAAgB,KAAK;IACrB,QAAQ,KAAK;IACb,SAAS,KAAK;IACd,WAAW,KAAK;IAChB,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,kBAAkB,KAAK;IACvB,cAAc,KAAK;IACnB,aAAa,KAAK;IAClB,MAAM,KAAK;IACX,gBAAgB,KAAK;IACrB,eAAe,KAAK;IACpB,uBAAuB,KAAK;IAC5B,oBAAoB,KAAK;IACzB,4BAA4B,KAAK;IACjC,iBAAiB,KAAK;IACtB,UAAU,KAAK;IACf,WAAW,KAAK;IAChB,YAAY,KAAK;IACjB,sBAAsB,KAAK;IAC3B,gBAAgB,KAAK;IACrB,eAAe,KAAK;CACrB;AAED,0BAAkB,kBAAkB;IAClC,IAAI,IAAI;IACR,aAAa,IAAI;IACjB,MAAM,IAAI;IACV,MAAM,IAAI;CACX;AAED,0BAAkB,OAAO;IACvB,aAAa,IAAI;IACjB,WAAW,IAAI;IACf,kBAAkB,IAAI;IACtB,QAAQ,IAAI;IACZ,KAAK,IAAI;IACT,QAAQ,IAAI;IACZ,OAAO,IAAI;IACX,MAAM,IAAI;IACV,OAAO,IAAI;IACX,KAAK,IAAI;IACT,WAAW,KAAK;IAChB,WAAW,KAAK;IAChB,WAAW,KAAK;CACjB;AAED,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAcjD,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;CAc1B,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,cAAc,CAAC;AAE3D,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAcxD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAS3D,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,eAAe,EAAE,OAAO,CASzD,CAAC;AAEF,0BAAkB,mBAAmB;IACnC,KAAK,IAAI;IACT,SAAS,IAAI;IACb,UAAU,IAAI;IACd,cAAc,IAAI;IAClB,WAAW,IAAI;IACf,SAAS,IAAI;IACb,QAAQ,IAAI;CACb;AAED,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,mBAAmB,EAAE,MAAM,CAQxE,CAAC;AAEF,KAAK,iBAAiB,GAClB,gBAAgB,GAChB,oBAAoB,GACpB,qBAAqB,GACrB,yBAAyB,GACzB,sBAAsB,GACtB,oBAAoB,GACpB,mBAAmB,CAAC;AAExB,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,CAS1E,CAAC;AAEJ,eAAO,MAAM,GAAG,WAAY,CAAC"}
|
|
@@ -41,6 +41,9 @@ export default abstract class BaseDeserializerContext implements PluginAccessOpt
|
|
|
41
41
|
private deserializeStreamReturn;
|
|
42
42
|
private deserializeIteratorFactory;
|
|
43
43
|
private deserializeAsyncIteratorFactory;
|
|
44
|
+
private deserializeAbortSignalConstructor;
|
|
45
|
+
private deserializeAbortSignalAbort;
|
|
46
|
+
private deserializeAbortSignalSync;
|
|
44
47
|
deserialize(node: SerovalNode): unknown;
|
|
45
48
|
}
|
|
46
49
|
//# sourceMappingURL=deserializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/deserializer.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAK1E,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/deserializer.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAK1E,OAAO,KAAK,EAiBV,WAAW,EAkBZ,MAAM,UAAU,CAAC;AA4BlB,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,uBAC5B,YAAW,mBAAmB;IAE9B,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAEpC;;;OAGG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE3B,OAAO,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC;gBAE7B,OAAO,EAAE,uBAAuB;IAK5C,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;IAEjE,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,gBAAgB;IAiBxB,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,yBAAyB;IAcjC,OAAO,CAAC,gBAAgB;IASxB,OAAO,CAAC,kBAAkB;IAY1B,OAAO,CAAC,gBAAgB;IAIxB,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,6BAA6B;IAMrC,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,wBAAwB;IAOhC,OAAO,CAAC,kCAAkC;IAQ1C,OAAO,CAAC,uCAAuC;IAQ/C,OAAO,CAAC,4BAA4B;IAapC,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,uBAAuB;IAO/B,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,+BAA+B;IAOvC,OAAO,CAAC,iCAAiC;IAMzC,OAAO,CAAC,2BAA2B;IASnC,OAAO,CAAC,0BAA0B;IASlC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO;CAmFxC"}
|
|
@@ -16,7 +16,10 @@ export default abstract class BaseAsyncParserContext extends BaseParserContext {
|
|
|
16
16
|
private parsePromise;
|
|
17
17
|
private parsePlugin;
|
|
18
18
|
private parseStream;
|
|
19
|
+
private parseAbortSignalSync;
|
|
20
|
+
private parseAbortSignal;
|
|
19
21
|
private parseObject;
|
|
22
|
+
protected parseFunction(current: unknown): Promise<SerovalNode>;
|
|
20
23
|
parse<T>(current: T): Promise<SerovalNode>;
|
|
21
24
|
}
|
|
22
25
|
//# sourceMappingURL=async.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/async.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"async.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/async.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EASV,WAAW,EAUZ,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,iBAAiB,EAAkB,MAAM,WAAW,CAAC;AAO9D,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,sBAAuB,SAAQ,iBAAiB;YAC9D,UAAU;YAWV,UAAU;YAOV,eAAe;YAsDf,gBAAgB;YAahB,UAAU;YAOV,eAAe;YAOf,qBAAqB;YAWrB,aAAa;YAOb,UAAU;YAYV,mBAAmB;YAYnB,QAAQ;YAaR,QAAQ;YAWR,YAAY;YAsBZ,WAAW;YAsBX,WAAW;YAuDX,oBAAoB;YAoBpB,gBAAgB;YAWhB,WAAW;cAiHT,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC;IAY/D,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;CAiCjD"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Stream } from '../../stream';
|
|
2
|
-
import type { SerovalNode, SerovalObjectRecordNode, SerovalPluginNode, SerovalPromiseConstructorNode } from '../../types';
|
|
2
|
+
import type { SerovalAbortSignalConstructorNode, SerovalAbortSignalSyncNode, SerovalNode, SerovalObjectRecordNode, SerovalPluginNode, SerovalPromiseConstructorNode } from '../../types';
|
|
3
3
|
import type { BaseSyncParserContextOptions } from './sync';
|
|
4
4
|
import BaseSyncParserContext from './sync';
|
|
5
5
|
export interface BaseStreamParserContextOptions extends BaseSyncParserContextOptions {
|
|
@@ -27,6 +27,8 @@ export default abstract class BaseStreamParserContext extends BaseSyncParserCont
|
|
|
27
27
|
protected parsePromise(id: number, current: Promise<unknown>): SerovalPromiseConstructorNode;
|
|
28
28
|
protected parsePlugin(id: number, current: unknown): SerovalPluginNode | undefined;
|
|
29
29
|
protected parseStream(id: number, current: Stream<unknown>): SerovalNode;
|
|
30
|
+
protected handleAbortSignal(id: number, current: AbortSignal): void;
|
|
31
|
+
protected parseAbortSignal(id: number, current: AbortSignal): SerovalAbortSignalConstructorNode | SerovalAbortSignalSyncNode;
|
|
30
32
|
private parseWithError;
|
|
31
33
|
/**
|
|
32
34
|
* @private
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/stream.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/stream.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EACV,iCAAiC,EACjC,0BAA0B,EAC1B,WAAW,EAEX,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,QAAQ,CAAC;AAC3D,OAAO,qBAAqB,MAAM,QAAQ,CAAC;AAE3C,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;IA2DhC,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,SAAS,CAAC,iBAAiB,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,IAAI;IA4BnE,SAAS,CAAC,gBAAgB,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,GACnB,iCAAiC,GAAG,0BAA0B;IAgBjE,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,5 +1,5 @@
|
|
|
1
1
|
import type { Stream } from '../../stream';
|
|
2
|
-
import type { SerovalAggregateErrorNode, SerovalArrayNode, SerovalBigIntTypedArrayNode, SerovalBoxedNode, SerovalDataViewNode, SerovalErrorNode, SerovalMapNode, SerovalNode, SerovalNullConstructorNode, SerovalObjectNode, SerovalObjectRecordNode, SerovalPluginNode, SerovalPromiseConstructorNode, SerovalSetNode, SerovalTypedArrayNode } from '../../types';
|
|
2
|
+
import type { SerovalAbortSignalConstructorNode, SerovalAbortSignalSyncNode, SerovalAggregateErrorNode, SerovalArrayNode, SerovalBigIntTypedArrayNode, SerovalBoxedNode, SerovalDataViewNode, SerovalErrorNode, SerovalMapNode, SerovalNode, SerovalNullConstructorNode, SerovalObjectNode, SerovalObjectRecordNode, SerovalPluginNode, SerovalPromiseConstructorNode, SerovalSetNode, SerovalTypedArrayNode } from '../../types';
|
|
3
3
|
import type { BigIntTypedArrayValue, TypedArrayValue } from '../../utils/typed-array';
|
|
4
4
|
import type { BaseParserContextOptions } from '../parser';
|
|
5
5
|
import { BaseParserContext } from '../parser';
|
|
@@ -21,7 +21,10 @@ export default abstract class BaseSyncParserContext extends BaseParserContext {
|
|
|
21
21
|
protected parsePlugin(id: number, current: unknown): SerovalPluginNode | undefined;
|
|
22
22
|
protected parseStream(id: number, _current: Stream<unknown>): SerovalNode;
|
|
23
23
|
protected parsePromise(id: number, _current: Promise<unknown>): SerovalPromiseConstructorNode;
|
|
24
|
+
protected parseAbortSignalSync(id: number, current: AbortSignal): SerovalAbortSignalSyncNode;
|
|
25
|
+
protected parseAbortSignal(id: number, current: AbortSignal): SerovalAbortSignalConstructorNode | SerovalAbortSignalSyncNode;
|
|
24
26
|
protected parseObject(id: number, current: object): SerovalNode;
|
|
27
|
+
protected parseFunction(current: unknown): SerovalNode;
|
|
25
28
|
parse<T>(current: T): SerovalNode;
|
|
26
29
|
}
|
|
27
30
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/sync.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../../../../../src/core/context/parser/sync.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAG3C,OAAO,KAAK,EACV,iCAAiC,EACjC,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EAEjB,uBAAuB,EACvB,iBAAiB,EACjB,6BAA6B,EAC7B,cAAc,EACd,qBAAqB,EACtB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAkB,MAAM,WAAW,CAAC;AAE9D,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,oBAAoB,CAC5B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,GACnB,0BAA0B;IAiB7B,SAAS,CAAC,gBAAgB,CACxB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,WAAW,GACnB,iCAAiC,GAAG,0BAA0B;IAQjE,SAAS,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW;IAiH/D,SAAS,CAAC,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,WAAW;IAYtD,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,WAAW;CAkClC"}
|
|
@@ -1,25 +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, SerovalPromiseConstructorNode, SerovalReferenceNode, SerovalSpecialReferenceNode, SerovalWKSymbolNode } from '../types';
|
|
3
|
+
import type { SerovalAbortSignalConstructorNode, 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
|
|
8
|
+
export declare const enum ParserNodeType {
|
|
9
9
|
Fresh = 0,
|
|
10
10
|
Indexed = 1,
|
|
11
11
|
Referenced = 2
|
|
12
12
|
}
|
|
13
|
-
interface FreshNode {
|
|
14
|
-
type:
|
|
13
|
+
export interface FreshNode {
|
|
14
|
+
type: ParserNodeType.Fresh;
|
|
15
15
|
value: number;
|
|
16
16
|
}
|
|
17
|
-
interface IndexedNode {
|
|
18
|
-
type:
|
|
17
|
+
export interface IndexedNode {
|
|
18
|
+
type: ParserNodeType.Indexed;
|
|
19
19
|
value: SerovalIndexedValueNode;
|
|
20
20
|
}
|
|
21
|
-
interface ReferencedNode {
|
|
22
|
-
type:
|
|
21
|
+
export interface ReferencedNode {
|
|
22
|
+
type: ParserNodeType.Referenced;
|
|
23
23
|
value: SerovalReferenceNode;
|
|
24
24
|
}
|
|
25
25
|
type ObjectNode = FreshNode | IndexedNode | ReferencedNode;
|
|
@@ -34,8 +34,6 @@ export declare abstract class BaseParserContext implements PluginAccessOptions {
|
|
|
34
34
|
protected isMarked(id: number): boolean;
|
|
35
35
|
protected getIndexedValue<T>(current: T): FreshNode | IndexedNode;
|
|
36
36
|
protected getReference<T>(current: T): ObjectNode;
|
|
37
|
-
protected getStrictReference<T>(current: T): SerovalIndexedValueNode | SerovalReferenceNode;
|
|
38
|
-
protected parseFunction(current: (...args: unknown[]) => unknown): SerovalNode;
|
|
39
37
|
protected parseWellKnownSymbol(current: symbol): SerovalIndexedValueNode | SerovalWKSymbolNode | SerovalReferenceNode;
|
|
40
38
|
protected parseSpecialReference(ref: SpecialReference): SerovalIndexedValueNode | SerovalSpecialReferenceNode;
|
|
41
39
|
protected parseIteratorFactory(): SerovalIndexedValueNode | SerovalIteratorFactoryNode;
|
|
@@ -43,6 +41,7 @@ export declare abstract class BaseParserContext implements PluginAccessOptions {
|
|
|
43
41
|
protected createObjectNode(id: number, current: Record<string, unknown>, empty: boolean, record: SerovalObjectRecordNode): SerovalObjectNode | SerovalNullConstructorNode;
|
|
44
42
|
protected createMapNode(id: number, k: SerovalNode[], v: SerovalNode[], s: number): SerovalMapNode;
|
|
45
43
|
protected createPromiseConstructorNode(id: number): SerovalPromiseConstructorNode;
|
|
44
|
+
protected createAbortSignalConstructorNode(id: number): SerovalAbortSignalConstructorNode;
|
|
46
45
|
}
|
|
47
46
|
export {};
|
|
48
47
|
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/parser.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/parser.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE1E,OAAO,EAIL,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EACV,iCAAiC,EACjC,+BAA+B,EAC/B,uBAAuB,EACvB,0BAA0B,EAC1B,cAAc,EACd,WAAW,EACX,0BAA0B,EAC1B,iBAAiB,EACjB,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAIlB,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;CAC7B;AAED,0BAAkB,cAAc;IAC9B,KAAK,IAAI;IACT,OAAO,IAAI;IACX,UAAU,IAAI;CACf;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,cAAc,CAAC,KAAK,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC;IAC7B,KAAK,EAAE,uBAAuB,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,cAAc,CAAC,UAAU,CAAC;IAChC,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,oBAAoB,CAC5B,OAAO,EAAE,MAAM,GACd,uBAAuB,GAAG,mBAAmB,GAAG,oBAAoB;IASvE,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;IAiBjB,SAAS,CAAC,4BAA4B,CACpC,EAAE,EAAE,MAAM,GACT,6BAA6B;IAiBhC,SAAS,CAAC,gCAAgC,CACxC,EAAE,EAAE,MAAM,GACT,iCAAiC;CAgBrC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SerovalObjectFlags } from '../constants';
|
|
2
2
|
import type { Plugin, PluginAccessOptions, SerovalMode } from '../plugin';
|
|
3
|
-
import type { SerovalAggregateErrorNode, SerovalArrayBufferNode, SerovalArrayNode, SerovalAsyncIteratorFactoryInstanceNode, SerovalAsyncIteratorFactoryNode, SerovalBigIntTypedArrayNode, SerovalBoxedNode, SerovalDataViewNode, SerovalDateNode, SerovalErrorNode, SerovalIteratorFactoryInstanceNode, SerovalIteratorFactoryNode, SerovalMapNode, SerovalNode, SerovalNullConstructorNode, SerovalObjectNode, SerovalObjectRecordKey, SerovalObjectRecordNode, SerovalPluginNode, SerovalPromiseConstructorNode, SerovalPromiseNode, SerovalPromiseRejectNode, SerovalPromiseResolveNode, SerovalReferenceNode, SerovalRegExpNode, SerovalSetNode, SerovalSpecialReferenceNode, SerovalStreamConstructorNode, SerovalStreamNextNode, SerovalStreamReturnNode, SerovalStreamThrowNode, SerovalTypedArrayNode, SerovalWKSymbolNode } from '../types';
|
|
3
|
+
import type { SerovalAbortSignalAbortNode, SerovalAbortSignalConstructorNode, SerovalAbortSignalSyncNode, SerovalAggregateErrorNode, SerovalArrayBufferNode, SerovalArrayNode, SerovalAsyncIteratorFactoryInstanceNode, SerovalAsyncIteratorFactoryNode, SerovalBigIntTypedArrayNode, SerovalBoxedNode, SerovalDataViewNode, SerovalDateNode, SerovalErrorNode, SerovalIteratorFactoryInstanceNode, SerovalIteratorFactoryNode, SerovalMapNode, SerovalNode, SerovalNullConstructorNode, SerovalObjectNode, SerovalObjectRecordKey, SerovalObjectRecordNode, SerovalPluginNode, SerovalPromiseConstructorNode, SerovalPromiseNode, SerovalPromiseRejectNode, SerovalPromiseResolveNode, SerovalReferenceNode, SerovalRegExpNode, SerovalSetNode, SerovalSpecialReferenceNode, SerovalStreamConstructorNode, SerovalStreamNextNode, SerovalStreamReturnNode, SerovalStreamThrowNode, SerovalTypedArrayNode, SerovalWKSymbolNode } from '../types';
|
|
4
4
|
declare const enum AssignmentType {
|
|
5
5
|
Index = 0,
|
|
6
6
|
Add = 1,
|
|
@@ -152,6 +152,9 @@ export default abstract class BaseSerializerContext implements PluginAccessOptio
|
|
|
152
152
|
protected serializeStreamNext(node: SerovalStreamNextNode): string;
|
|
153
153
|
protected serializeStreamThrow(node: SerovalStreamThrowNode): string;
|
|
154
154
|
protected serializeStreamReturn(node: SerovalStreamReturnNode): string;
|
|
155
|
+
protected serializeAbortSignalSync(node: SerovalAbortSignalSyncNode): string;
|
|
156
|
+
protected serializeAbortSignalConstructor(node: SerovalAbortSignalConstructorNode): string;
|
|
157
|
+
protected serializeAbortSignalAbort(node: SerovalAbortSignalAbortNode): string;
|
|
155
158
|
serialize(node: SerovalNode): string;
|
|
156
159
|
}
|
|
157
160
|
export {};
|