seroval 1.3.1 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/development/index.cjs +2637 -2682
- package/dist/cjs/development/index.cjs.map +4 -4
- package/dist/cjs/production/index.cjs +3 -17
- package/dist/esm/development/index.mjs +2637 -2682
- package/dist/esm/development/index.mjs.map +4 -4
- package/dist/esm/production/index.mjs +3 -17
- package/dist/types/core/base-primitives.d.ts +1 -2
- package/dist/types/core/base-primitives.d.ts.map +1 -1
- package/dist/types/core/compat.d.ts +1 -1
- package/dist/types/core/compat.d.ts.map +1 -1
- package/dist/types/core/constants.d.ts +1 -0
- package/dist/types/core/constants.d.ts.map +1 -1
- package/dist/types/core/constructors.d.ts +54 -0
- package/dist/types/core/constructors.d.ts.map +1 -0
- package/dist/types/core/context/async-parser.d.ts +19 -0
- package/dist/types/core/context/async-parser.d.ts.map +1 -0
- package/dist/types/core/context/deserializer.d.ts +35 -37
- package/dist/types/core/context/deserializer.d.ts.map +1 -1
- package/dist/types/core/context/parser.d.ts +32 -19
- package/dist/types/core/context/parser.d.ts.map +1 -1
- package/dist/types/core/context/serializer.d.ts +38 -99
- package/dist/types/core/context/serializer.d.ts.map +1 -1
- package/dist/types/core/context/sync-parser.d.ts +59 -0
- package/dist/types/core/context/sync-parser.d.ts.map +1 -0
- package/dist/types/core/cross/index.d.ts +12 -13
- package/dist/types/core/cross/index.d.ts.map +1 -1
- package/dist/types/core/errors.d.ts.map +1 -1
- package/dist/types/core/function-string.d.ts +2 -2
- package/dist/types/core/function-string.d.ts.map +1 -1
- package/dist/types/core/plugin.d.ts +13 -11
- package/dist/types/core/plugin.d.ts.map +1 -1
- package/dist/types/core/reference.d.ts.map +1 -1
- package/dist/types/core/special-reference.d.ts +3 -2
- package/dist/types/core/special-reference.d.ts.map +1 -1
- package/dist/types/core/stream.d.ts +1 -2
- package/dist/types/core/stream.d.ts.map +1 -1
- package/dist/types/core/symbols.d.ts +14 -0
- package/dist/types/core/symbols.d.ts.map +1 -0
- package/dist/types/core/tree/index.d.ts +3 -2
- package/dist/types/core/tree/index.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +3 -1
- package/dist/types/core/types.d.ts.map +1 -1
- package/dist/types/core/utils/iterator-to-sequence.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -5
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +17 -19
- package/src/core/base-primitives.ts +0 -27
- package/src/core/compat.ts +2 -1
- package/src/core/constants.ts +28 -26
- package/src/core/constructors.ts +269 -0
- package/src/core/context/async-parser.ts +586 -0
- package/src/core/context/deserializer.ts +504 -307
- package/src/core/context/parser.ts +243 -180
- package/src/core/context/serializer.ts +1058 -827
- package/src/core/context/sync-parser.ts +833 -0
- package/src/core/cross/index.ts +63 -47
- package/src/core/errors.ts +73 -12
- package/src/core/function-string.ts +11 -10
- package/src/core/plugin.ts +20 -11
- package/src/core/reference.ts +8 -5
- package/src/core/special-reference.ts +18 -90
- package/src/core/stream.ts +18 -152
- package/src/core/symbols.ts +18 -0
- package/src/core/tree/index.ts +45 -31
- package/src/core/types.ts +7 -2
- package/src/core/utils/iterator-to-sequence.ts +6 -28
- package/src/index.ts +29 -11
- package/dist/types/core/context/parser/async.d.ts +0 -24
- package/dist/types/core/context/parser/async.d.ts.map +0 -1
- package/dist/types/core/context/parser/stream.d.ts +0 -43
- package/dist/types/core/context/parser/stream.d.ts.map +0 -1
- package/dist/types/core/context/parser/sync.d.ts +0 -30
- package/dist/types/core/context/parser/sync.d.ts.map +0 -1
- package/dist/types/core/cross/async.d.ts +0 -8
- package/dist/types/core/cross/async.d.ts.map +0 -1
- package/dist/types/core/cross/deserializer.d.ts +0 -9
- package/dist/types/core/cross/deserializer.d.ts.map +0 -1
- package/dist/types/core/cross/parser.d.ts +0 -6
- package/dist/types/core/cross/parser.d.ts.map +0 -1
- package/dist/types/core/cross/serializer.d.ts +0 -16
- package/dist/types/core/cross/serializer.d.ts.map +0 -1
- package/dist/types/core/cross/stream.d.ts +0 -8
- package/dist/types/core/cross/stream.d.ts.map +0 -1
- package/dist/types/core/cross/sync.d.ts +0 -8
- package/dist/types/core/cross/sync.d.ts.map +0 -1
- package/dist/types/core/tree/async.d.ts +0 -8
- package/dist/types/core/tree/async.d.ts.map +0 -1
- package/dist/types/core/tree/deserializer.d.ts +0 -13
- package/dist/types/core/tree/deserializer.d.ts.map +0 -1
- package/dist/types/core/tree/serializer.d.ts +0 -29
- package/dist/types/core/tree/serializer.d.ts.map +0 -1
- package/dist/types/core/tree/sync.d.ts +0 -8
- package/dist/types/core/tree/sync.d.ts.map +0 -1
- package/dist/types/core/utils/assert.d.ts +0 -2
- package/dist/types/core/utils/assert.d.ts.map +0 -1
- package/dist/types/core/utils/deferred.d.ts +0 -7
- package/dist/types/core/utils/deferred.d.ts.map +0 -1
- package/src/core/context/parser/async.ts +0 -499
- package/src/core/context/parser/stream.ts +0 -323
- package/src/core/context/parser/sync.ts +0 -408
- package/src/core/cross/async.ts +0 -9
- package/src/core/cross/deserializer.ts +0 -16
- package/src/core/cross/parser.ts +0 -7
- package/src/core/cross/serializer.ts +0 -72
- package/src/core/cross/stream.ts +0 -9
- package/src/core/cross/sync.ts +0 -9
- package/src/core/tree/async.ts +0 -9
- package/src/core/tree/deserializer.ts +0 -26
- package/src/core/tree/serializer.ts +0 -98
- package/src/core/tree/sync.ts +0 -9
- package/src/core/utils/assert.ts +0 -5
- package/src/core/utils/deferred.ts +0 -22
|
@@ -1,17 +1,3 @@
|
|
|
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 o}}function N(o){return o.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,br)}var T="__SEROVAL_REFS__",Q="$R",ae=`self.${Q}`;function xr(o){return o==null?`${ae}=${ae}||[]`:`(${ae}=${ae}||{})["${d(o)}"]=[]`}function f(o,e){if(!o)throw e}var Be=new Map,O=new Map;function Ir(o,e){return Be.set(e,o),O.set(o,e),e}function je(o){return Be.has(o)}function Ar(o){return O.has(o)}function Ke(o){return f(je(o),new ie(o)),Be.get(o)}function Je(o){return f(Ar(o),new le(o)),O.get(o)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,T,{value:O,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,T,{value:O,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,T,{value:O,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,T,{value:O,configurable:!0,writable:!1,enumerable:!1});function Hr(o){return o}function Ye(o,e){for(let r=0,t=e.length;r<t;r++){let n=e[r];o.has(n)||(o.add(n),n.extends&&Ye(o,n.extends))}}function m(o){if(o){let e=new Set;return Ye(e,o),[...e]}}var $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"},ce={[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},Ge={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},qe={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},He={2:!0,3:!1,1:void 0,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var ue={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},Ze={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError},s=void 0;function u(o,e,r,t,n,a,i,l,c,p,h,X){return{t:o,i:e,s:r,l:t,c:n,m:a,p:i,e:l,a:c,f:p,b:h,o:X}}function x(o){return u(2,s,o,s,s,s,s,s,s,s,s,s)}var I=x(2),A=x(3),pe=x(1),de=x(0),Xe=x(4),Qe=x(5),er=x(6),rr=x(7);function me(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=ue[me(o)];return o.name!==e?{name:o.name}:o.constructor.name!==e?{name:o.constructor.name}:{}}function j(o,e){let r=wr(o),t=Object.getOwnPropertyNames(o);for(let n=0,a=t.length,i;n<a;n++)i=t[n],i!=="name"&&i!=="message"&&(i==="stack"?e&4&&(r=r||{},r[i]=o[i]):(r=r||{},r[i]=o[i]));return r}function fe(o){return Object.isFrozen(o)?3:Object.isSealed(o)?2:Object.isExtensible(o)?0:1}function ge(o){switch(o){case Number.POSITIVE_INFINITY:return Qe;case Number.NEGATIVE_INFINITY:return er}return o!==o?rr:Object.is(o,-0)?Xe:u(0,s,o,s,s,s,s,s,s,s,s,s)}function w(o){return u(1,s,d(o),s,s,s,s,s,s,s,s,s)}function Se(o){return u(3,s,""+o,s,s,s,s,s,s,s,s,s)}function sr(o){return u(4,o,s,s,s,s,s,s,s,s,s,s)}function he(o,e){let r=e.valueOf();return u(5,o,r!==r?"":e.toISOString(),s,s,s,s,s,s,s,s,s)}function ye(o,e){return u(6,o,s,s,d(e.source),e.flags,s,s,s,s,s,s)}function ve(o,e){let r=new Uint8Array(e),t=r.length,n=new Array(t);for(let a=0;a<t;a++)n[a]=r[a];return u(19,o,n,s,s,s,s,s,s,s,s,s)}function or(o,e){return u(17,o,ce[e],s,s,s,s,s,s,s,s,s)}function nr(o,e){return u(18,o,d(Ke(e)),s,s,s,s,s,s,s,s,s)}function _(o,e,r){return u(25,o,r,s,d(e),s,s,s,s,s,s,s)}function Ne(o,e,r){return u(9,o,s,e.length,s,s,s,s,r,s,s,fe(e))}function be(o,e){return u(21,o,s,s,s,s,s,s,s,e,s,s)}function xe(o,e,r){return u(15,o,s,e.length,e.constructor.name,s,s,s,s,r,e.byteOffset,s)}function Ie(o,e,r){return u(16,o,s,e.length,e.constructor.name,s,s,s,s,r,e.byteOffset,s)}function Ae(o,e,r){return u(20,o,s,e.byteLength,s,s,s,s,s,r,e.byteOffset,s)}function we(o,e,r){return u(13,o,me(e),s,s,d(e.message),r,s,s,s,s,s)}function Ee(o,e,r){return u(14,o,me(e),s,s,d(e.message),r,s,s,s,s,s)}function Pe(o,e,r){return u(7,o,s,e,s,s,s,s,r,s,s,s)}function M(o,e){return u(28,s,s,s,s,s,s,s,[o,e],s,s,s)}function U(o,e){return u(30,s,s,s,s,s,s,s,[o,e],s,s,s)}function L(o,e,r){return u(31,o,s,s,s,s,s,s,r,e,s,s)}function Re(o,e){return u(32,o,s,s,s,s,s,s,s,e,s,s)}function Te(o,e){return u(33,o,s,s,s,s,s,s,s,e,s,s)}function Oe(o,e){return u(34,o,s,s,s,s,s,s,s,e,s,s)}var{toString:_e}=Object.prototype;function Er(o,e){return e instanceof Error?`Seroval caught an error during the ${o} process.
|
|
4
|
-
|
|
5
|
-
${e.name}
|
|
6
|
-
${e.message}
|
|
7
|
-
|
|
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 ${o} process.
|
|
10
|
-
|
|
11
|
-
"${_e.call(e)}"
|
|
12
|
-
|
|
13
|
-
For more information, please check the "cause" property of this error.`}var ee=class extends Error{constructor(r,t){super(Er(r,t));this.cause=t}},E=class extends ee{constructor(e){super("parsing",e)}},Ce=class extends ee{constructor(e){super("serialization",e)}},ze=class extends ee{constructor(e){super("deserialization",e)}},g=class extends Error{constructor(r){super(`The value ${_e.call(r)} of type "${typeof r}" cannot be parsed/serialized.
|
|
14
|
-
|
|
15
|
-
There are few workarounds for this problem:
|
|
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}},y=class extends Error{constructor(e){super('Unsupported node type "'+e.t+'".')}},W=class extends Error{constructor(e){super('Missing plugin for tag "'+e+'".')}},P=class extends Error{constructor(e){super('Missing "'+e+'" instance.')}},ie=class extends Error{constructor(r){super('Missing reference for the value "'+_e.call(r)+'" of type "'+typeof r+'"');this.value=r}},le=class extends Error{constructor(e){super('Missing reference for id "'+d(e)+'"')}},ke=class extends Error{constructor(e){super('Unknown TypedArray "'+e+'"')}};var C=class{constructor(e,r){this.value=e;this.replacement=r}};function z(o,e,r){return o&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}function S(o,e,r){return o&2?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}var ar={},ir={};var lr={0:{},1:{},2:{},3:{},4:{}};function Pr(o){return z(o,["r"],"(r.p=new Promise("+S(o,["s","f"],"r.s=s,r.f=f")+"))")}function Rr(o){return S(o,["r","d"],"r.s(d),r.p.s=1,r.p.v=d")}function Tr(o){return S(o,["r","d"],"r.f(d),r.p.s=2,r.p.v=d")}function Or(o){return z(o,["b","a","s","l","p","f","e","n"],"(b=[],a=!0,s=!1,l=[],p=0,f="+S(o,["v","m","x"],"for(x=0;x<p;x++)l[x]&&l[x][m](v)")+",n="+S(o,["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="+z(o,["o","t"],"(a&&(l[t=p++]=o),n(o),"+S(o,[],"a&&(l[t]=void 0)")+")")+",{__SEROVAL_STREAM__:!0,on:"+z(o,["o"],"e(o)")+",next:"+S(o,["v"],'a&&(b.push(v),f(v,"next"))')+",throw:"+S(o,["v"],'a&&(b.push(v),f(v,"throw"),a=s=!1,l.length=0)')+",return:"+S(o,["v"],'a&&(b.push(v),f(v,"return"),a=!1,s=!0,l.length=0)')+"})")}function cr(o,e){switch(e){case 0:return"[]";case 1:return Pr(o);case 2:return Rr(o);case 3:return Tr(o);case 4:return Or(o);default:return""}}function re(){let o,e;return{promise:new Promise((r,t)=>{o=r,e=t}),resolve(r){o(r)},reject(r){e(r)}}}function Fe(o){return"__SEROVAL_STREAM__"in o}function K(){let o=new Set,e=[],r=!0,t=!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,p=e.length;c<p;c++){let h=e[c];c===p-1&&!r?t?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,t=!1,o.clear())},return(l){r&&(e.push(l),i(l),r=!1,t=!0,o.clear())}}}function Ve(o){let e=K(),r=o[Symbol.asyncIterator]();async function t(){try{let n=await r.next();n.done?e.return(n.value):(e.next(n.value),await t())}catch(n){e.throw(n)}}return t().catch(()=>{}),e}function ur(o){return()=>{let e=[],r=[],t=0,n=-1,a=!1;function i(){for(let c=0,p=r.length;c<p;c++)r[c].resolve({done:!0,value:void 0})}o.on({next(c){let p=r.shift();p&&p.resolve({done:!1,value:c}),e.push(c)},throw(c){let p=r.shift();p&&p.reject(c),i(),n=e.length,e.push(c),a=!0},return(c){let p=r.shift();p&&p.resolve({done:!0,value:c}),i(),n=e.length,e.push(c)}});function l(){let c=t++,p=e[c];if(c!==n)return{done:!1,value:p};if(a)throw p;return{done:!0,value:p}}return{[Symbol.asyncIterator](){return this},async next(){if(n===-1){let c=t++;if(c>=e.length){let p=re();return r.push(p),await p.promise}return{done:!1,value:e[c]}}return t>n?{done:!0,value:void 0}:l()}}}}function J(o){let e=[],r=-1,t=-1,n=o[Symbol.iterator]();for(;;)try{let a=n.next();if(e.push(a.value),a.done){t=e.length-1;break}}catch(a){r=e.length,e.push(a)}return{v:e,t:r,d:t}}function pr(o){return()=>{let e=0;return{[Symbol.iterator](){return this},next(){if(e>o.d)return{done:!0,value:s};let r=e++,t=o.v[r];if(r===o.t)throw t;return{done:r===o.d,value:t}}}}}async function Me(o){try{return[1,await o]}catch(e){return[0,e]}}var Y=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)}createIndex(e){let r=this.refs.size;return this.refs.set(e,r),r}getIndexedValue(e){let r=this.refs.get(e);return r!=null?(this.markRef(r),{type:1,value:sr(r)}):{type:0,value:this.createIndex(e)}}getReference(e){let r=this.getIndexedValue(e);return r.type===1?r:je(e)?{type:2,value:nr(r.value,e)}:r}parseWellKnownSymbol(e){let r=this.getReference(e);return r.type!==0?r.value:(f(e in ce,new g(e)),or(r.value,e))}parseSpecialReference(e){let r=this.getIndexedValue(lr[e]);return r.type===1?r.value:u(26,r.value,e,s,s,s,s,s,s,s,s,s)}parseIteratorFactory(){let e=this.getIndexedValue(ar);return e.type===1?e.value:u(27,e.value,s,s,s,s,s,s,s,this.parseWellKnownSymbol(Symbol.iterator),s,s)}parseAsyncIteratorFactory(){let e=this.getIndexedValue(ir);return e.type===1?e.value:u(29,e.value,s,s,s,s,s,s,[this.parseSpecialReference(1),this.parseWellKnownSymbol(Symbol.asyncIterator)],s,s,s)}createObjectNode(e,r,t,n){return u(t?11:10,e,s,s,s,s,n,s,s,s,s,fe(r))}createMapNode(e,r,t,n){return u(8,e,s,s,s,s,s,{k:r,v:t,s:n},s,this.parseSpecialReference(0),s,s)}createPromiseConstructorNode(e,r){return u(22,e,r,s,s,s,s,s,s,this.parseSpecialReference(1),s,s)}};var k=class extends Y{async parseItems(e){let r=[];for(let t=0,n=e.length;t<n;t++)t in e&&(r[t]=await this.parseTop(e[t]));return r}async parseArray(e,r){return Ne(e,r,await this.parseItems(r))}async parseProperties(e){let r=Object.entries(e),t=[],n=[];for(let i=0,l=r.length;i<l;i++)t.push(d(r[i][0])),n.push(await this.parseTop(r[i][1]));let a=Symbol.iterator;return a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),await this.parseTop(J(e))))),a=Symbol.asyncIterator,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),await this.parseTop(Ve(e))))),a=Symbol.toStringTag,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(e[a]?I:A)),{k:t,v:n,s:t.length}}async parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,await this.parseProperties(r))}async parseBoxed(e,r){return be(e,await this.parseTop(r.valueOf()))}async parseTypedArray(e,r){return xe(e,r,await this.parseTop(r.buffer))}async parseBigIntTypedArray(e,r){return Ie(e,r,await this.parseTop(r.buffer))}async parseDataView(e,r){return Ae(e,r,await this.parseTop(r.buffer))}async parseError(e,r){let t=j(r,this.features);return we(e,r,t?await this.parseProperties(t):s)}async parseAggregateError(e,r){let t=j(r,this.features);return Ee(e,r,t?await this.parseProperties(t):s)}async parseMap(e,r){let t=[],n=[];for(let[a,i]of r.entries())t.push(await this.parseTop(a)),n.push(await this.parseTop(i));return this.createMapNode(e,t,n,r.size)}async parseSet(e,r){let t=[];for(let n of r.keys())t.push(await this.parseTop(n));return Pe(e,r.size,t)}async parsePromise(e,r){let[t,n]=await Me(r);return u(12,e,t,s,s,s,s,s,s,await this.parseTop(n),s,s)}async parsePlugin(e,r){let t=this.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let i=t[n];if(i.parse.async&&i.test(r))return _(e,i.tag,await i.parse.async(r,this,{id:e}))}return s}async parseStream(e,r){return L(e,this.parseSpecialReference(4),await new Promise((t,n)=>{let a=[],i=r.on({next:l=>{this.markRef(e),this.parseTop(l).then(c=>{a.push(Re(e,c))},c=>{n(c),i()})},throw:l=>{this.markRef(e),this.parseTop(l).then(c=>{a.push(Te(e,c)),t(a),i()},c=>{n(c),i()})},return:l=>{this.markRef(e),this.parseTop(l).then(c=>{a.push(Oe(e,c)),t(a),i()},c=>{n(c),i()})}})}))}async parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Fe(r))return this.parseStream(e,r);let t=r.constructor;if(t===C)return this.parseTop(r.replacement);let n=await this.parsePlugin(e,r);if(n)return n;switch(t){case Object:return this.parsePlainObject(e,r,!1);case s:return this.parsePlainObject(e,r,!0);case Date:return he(e,r);case RegExp:return ye(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 ve(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 a=this.features;if(a&16)switch(t){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&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 g(r)}async parseFunction(e){let r=this.getReference(e);if(r.type!==0)return r.value;let t=await this.parsePlugin(r.value,e);if(t)return t;throw new g(e)}async parseTop(e){switch(typeof e){case"boolean":return e?I:A;case"undefined":return pe;case"string":return w(e);case"number":return ge(e);case"bigint":return Se(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?await this.parseObject(r.value,e):r.value}return de}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new g(e)}}async parse(e){try{return await this.parseTop(e)}catch(r){throw r instanceof E?r:new E(r)}}};var $=class extends k{constructor(){super(...arguments);this.mode="cross"}};function dr(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 ke(o)}}function mr(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 F=class{constructor(e){this.plugins=e.plugins,this.refs=e.refs||new Map}deserializeReference(e){return this.assignIndexedValue(e.i,Je(N(e.s)))}deserializeArray(e){let r=e.l,t=this.assignIndexedValue(e.i,new Array(r)),n;for(let a=0;a<r;a++)n=e.a[a],n&&(t[a]=this.deserialize(n));return mr(t,e.o),t}deserializeProperties(e,r){let t=e.s;if(t){let n=e.k,a=e.v;for(let i=0,l;i<t;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),mr(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),t=e.a;for(let n=0,a=e.l;n<a;n++)r.add(this.deserialize(t[n]));return r}deserializeMap(e){let r=this.assignIndexedValue(e.i,new Map),t=e.e.k,n=e.e.v;for(let a=0,i=e.e.s;a<i;a++)r.set(this.deserialize(t[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=dr(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([],N(e.m)));return this.deserializeDictionary(e,r)}deserializeError(e){let r=Ze[e.s],t=this.assignIndexedValue(e.i,new r(N(e.m)));return this.deserializeDictionary(e,t)}deserializePromise(e){let r=re(),t=this.assignIndexedValue(e.i,r),n=this.deserialize(e.f);return e.s?r.resolve(n):r.reject(n),t.promise}deserializeBoxed(e){return this.assignIndexedValue(e.i,Object(this.deserialize(e.f)))}deserializePlugin(e){let r=this.plugins;if(r){let t=N(e.c);for(let n=0,a=r.length;n<a;n++){let i=r[n];if(i.tag===t)return this.assignIndexedValue(e.i,i.deserialize(e.s,this,{id:e.i}))}}throw new W(e.c)}deserializePromiseConstructor(e){return this.assignIndexedValue(e.i,re()).promise}deserializePromiseResolve(e){let r=this.refs.get(e.i);f(r,new P("Promise")),r.resolve(this.deserialize(e.a[1]))}deserializePromiseReject(e){let r=this.refs.get(e.i);f(r,new P("Promise")),r.reject(this.deserialize(e.a[1]))}deserializeIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return pr(r)}deserializeAsyncIteratorFactoryInstance(e){this.deserialize(e.a[0]);let r=this.deserialize(e.a[1]);return ur(r)}deserializeStreamConstructor(e){let r=this.assignIndexedValue(e.i,K()),t=e.a.length;if(t)for(let n=0;n<t;n++)this.deserialize(e.a[n]);return r}deserializeStreamNext(e){let r=this.refs.get(e.i);f(r,new P("Stream")),r.next(this.deserialize(e.f))}deserializeStreamThrow(e){let r=this.refs.get(e.i);f(r,new P("Stream")),r.throw(this.deserialize(e.f))}deserializeStreamReturn(e){let r=this.refs.get(e.i);f(r,new P("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 He[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 Ge[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 y(e)}}catch(r){throw new ze(r)}}};var te=class extends F{constructor(){super(...arguments);this.mode="cross"}assignIndexedValue(r,t){return this.refs.has(r)||this.refs.set(r,t),t}};var kr=/^[$A-Z_][0-9A-Z_$]*$/i;function Le(o){let e=o[0];return(e==="$"||e==="_"||e>="A"&&e<="Z"||e>="a"&&e<="z")&&kr.test(o)}function se(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 Fr(o){let e=[],r=o[0];for(let t=1,n=o.length,a,i=r;t<n;t++)a=o[t],a.t===0&&a.v===i.v?r={t:0,s:a.s,k:s,v:se(r)}:a.t===2&&a.s===i.s?r={t:2,s:se(r),k:a.k,v:a.v}:a.t===1&&a.s===i.s?r={t:1,s:se(r),k:s,v:a.v}:a.t===3&&a.s===i.s?r={t:3,s:se(r),k:a.k,v:s}:(e.push(r),r=a),i=a;return e.push(r),e}function fr(o){if(o.length){let e="",r=Fr(o);for(let t=0,n=r.length;t<n;t++)e+=se(r[t])+",";return e}return s}var Vr="Object.create(null)",Dr="new Set",Br="new Map",jr="Promise.resolve",_r="Promise.reject",Mr={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:s},V=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 z(this.features,e,r)}createEffectfulFunction(e,r){return S(this.features,e,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,n=t.length;r<n;r++){let a=t[r];e+=Mr[a.type]+"("+a.value+"),"}return e}resolvePatches(){let e=fr(this.assignments),r=this.resolveFlags();return e?r?e+r:e:r}createAssignment(e,r){this.assignments.push({t:0,s:e,k:s,v:r})}createAddAssignment(e,r){this.assignments.push({t:1,s:this.getRefParam(e),k:s,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:s})}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,T+'.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,n=this.serializeArrayItem(r,t[0],0),a=n==="";for(let i=1,l=e.l,c;i<l;i++)c=this.serializeArrayItem(r,t[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,t){if(typeof r=="string"){let n=Number(r),a=n>=0&&n.toString()===r||Le(r);if(this.isIndexedValueInStack(t)){let i=this.getRefParam(t.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(t)}return"["+this.serialize(r)+"]:"+this.serialize(t)}serializeProperties(e,r){let t=r.s;if(t){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<t;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,t){let n=this.serializeProperties(e,r);return n!=="{}"?"Object.assign("+t+","+n+")":t}serializeStringKeyAssignment(e,r,t,n){let a=this.serialize(n),i=Number(t),l=i>=0&&i.toString()===t||Le(t);if(this.isIndexedValueInStack(n))l&&i!==i?this.createObjectAssign(e.i,t,a):this.createArrayAssign(e.i,l?t:'"'+t+'"',a);else{let c=this.assignments;this.assignments=r,l&&i!==i?this.createObjectAssign(e.i,t,a):this.createArrayAssign(e.i,l?t:'"'+t+'"',a),this.assignments=c}}serializeAssignment(e,r,t,n){if(typeof t=="string")this.serializeStringKeyAssignment(e,r,t,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(t),i),this.assignments=l}}serializeAssignments(e,r){let t=r.s;if(t){let n=[],a=r.k,i=r.v;this.stack.push(e.i);for(let l=0;l<t;l++)this.serializeAssignment(e,n,a[l],i[l]);return this.stack.pop(),fr(n)}return 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,Vr)}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=Dr,t=e.l,n=e.i;if(t){let a=e.a;this.stack.push(n);let i=this.serializeSetItem(n,a[0]);for(let l=1,c=i;l<t;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,t,n){if(this.isIndexedValueInStack(r)){let a=this.getRefParam(r.i);if(this.markRef(e),this.isIndexedValueInStack(t)){let l=this.getRefParam(t.i);return this.createSetAssignment(e,a,l),""}if(t.t!==4&&t.i!=null&&this.isMarked(t.i)){let l="("+this.serialize(t)+",["+n+","+n+"])";return this.createSetAssignment(e,a,this.getRefParam(t.i)),this.createDeleteAssignment(e,n),l}let i=this.stack;return this.stack=[],this.createSetAssignment(e,a,this.serialize(t)),this.stack=i,""}if(this.isIndexedValueInStack(t)){let a=this.getRefParam(t.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(t)+"]"}serializeMap(e){let r=Br,t=e.e.s,n=e.i,a=e.f,i=this.getRefParam(a.i);if(t){let l=e.e.k,c=e.e.v;this.stack.push(n);let p=this.serializeMapEntry(n,l[0],c[0],i);for(let h=1,X=p;h<t;h++)X=this.serializeMapEntry(n,l[h],c[h],i),p+=(X&&p&&",")+X;this.stack.pop(),p&&(r+="(["+p+"])")}return a.t===26&&(this.markRef(a.i),r="("+this.serialize(a)+","+r+")"),this.assignIndexedValue(n,r)}serializeArrayBuffer(e){let r="new Uint8Array(",t=e.s,n=t.length;if(n){r+="["+t[0];for(let a=1;a<n;a++)r+=","+t[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 t=this.serializeDictionary(e,'new AggregateError([],"'+e.m+'")');return this.stack.pop(),t}serializeError(e){return this.serializeDictionary(e,"new "+ue[e.s]+'("'+e.m+'")')}serializePromise(e){let r,t=e.f,n=e.i,a=e.s?jr:_r;if(this.isIndexedValueInStack(t)){let i=this.getRefParam(t.i);r=a+(e.s?"().then("+this.createFunction([],i)+")":"().catch("+this.createEffectfulFunction([],"throw "+i)+")")}else{this.stack.push(n);let i=this.serialize(t);this.stack.pop(),r=a+"("+i+")"}return this.assignIndexedValue(n,r)}serializeWellKnownSymbol(e){return this.assignIndexedValue(e.i,$e[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,n=r.length;t<n;t++){let a=r[t];if(a.tag===e.c)return this.assignIndexedValue(e.i,a.serialize(e.s,this,{id:e.i}))}throw new W(e.c)}getConstructor(e){let r=this.serialize(e);return r===this.getRefParam(e.i)?r:"("+r+")"}serializePromiseConstructor(e){let r=this.assignIndexedValue(e.s,"{p:0,s:0,f:0}");return this.assignIndexedValue(e.i,this.getConstructor(e.f)+"("+r+")")}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])+")"}serializeSpecialReference(e){return this.assignIndexedValue(e.i,cr(this.features,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],n="";r.t!==4&&(this.markRef(r.i),n+="("+this.serialize(r)),t.t!==4&&(this.markRef(t.i),n+=(n?",":"(")+this.serialize(t)),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(t.i)+"]:"+this.createFunction([],"t.p")+",next:"+this.createEffectfulFunction(["i","t","v"],"if(d===-1){return((i=c++)>=b.length)?("+this.getRefParam(r.i)+"(t={p:0,s:0,f:0}),p.push(t),t.p):{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)+"()"),t=e.a.length;if(t){let n=this.serialize(e.a[0]);for(let a=1;a<t;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)+")"}serialize(e){try{switch(e.t){case 2:return qe[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 y(e)}}catch(r){throw new Ce(r)}}};var D=class extends V{constructor(r){super(r);this.mode="cross";this.scopeId=r.scopeId}getRefParam(r){return Q+"["+r+"]"}assignIndexedValue(r,t){return this.getRefParam(r)+"="+t}serializeTop(r){let t=this.serialize(r),n=r.i;if(n==null)return t;let a=this.resolvePatches(),i=this.getRefParam(n),l=this.scopeId==null?"":Q,c=a?"("+t+","+a+i+")":t;if(l==="")return r.t===10&&!a?"("+c+")":c;let p=this.scopeId==null?"()":"("+Q+'["'+d(this.scopeId)+'"])';return"("+this.createFunction([l],c)+")"+p}};var v=class extends Y{parseItems(e){let r=[];for(let t=0,n=e.length;t<n;t++)t in e&&(r[t]=this.parseTop(e[t]));return r}parseArray(e,r){return Ne(e,r,this.parseItems(r))}parseProperties(e){let r=Object.entries(e),t=[],n=[];for(let i=0,l=r.length;i<l;i++)t.push(d(r[i][0])),n.push(this.parseTop(r[i][1]));let a=Symbol.iterator;return a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),this.parseTop(J(e))))),a=Symbol.asyncIterator,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),this.parseTop(K())))),a=Symbol.toStringTag,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(w(e[a]))),a=Symbol.isConcatSpreadable,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(e[a]?I:A)),{k:t,v:n,s:t.length}}parsePlainObject(e,r,t){return this.createObjectNode(e,r,t,this.parseProperties(r))}parseBoxed(e,r){return be(e,this.parseTop(r.valueOf()))}parseTypedArray(e,r){return xe(e,r,this.parseTop(r.buffer))}parseBigIntTypedArray(e,r){return Ie(e,r,this.parseTop(r.buffer))}parseDataView(e,r){return Ae(e,r,this.parseTop(r.buffer))}parseError(e,r){let t=j(r,this.features);return we(e,r,t?this.parseProperties(t):s)}parseAggregateError(e,r){let t=j(r,this.features);return Ee(e,r,t?this.parseProperties(t):s)}parseMap(e,r){let t=[],n=[];for(let[a,i]of r.entries())t.push(this.parseTop(a)),n.push(this.parseTop(i));return this.createMapNode(e,t,n,r.size)}parseSet(e,r){let t=[];for(let n of r.keys())t.push(this.parseTop(n));return Pe(e,r.size,t)}parsePlugin(e,r){let t=this.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let i=t[n];if(i.parse.sync&&i.test(r))return _(e,i.tag,i.parse.sync(r,this,{id:e}))}}parseStream(e,r){return L(e,this.parseSpecialReference(4),[])}parsePromise(e,r){return this.createPromiseConstructorNode(e,this.createIndex({}))}parseObject(e,r){if(Array.isArray(r))return this.parseArray(e,r);if(Fe(r))return this.parseStream(e,r);let t=r.constructor;if(t===C)return this.parseTop(r.replacement);let n=this.parsePlugin(e,r);if(n)return n;switch(t){case Object:return this.parsePlainObject(e,r,!1);case void 0:return this.parsePlainObject(e,r,!0);case Date:return he(e,r);case RegExp:return ye(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 ve(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 a=this.features;if(a&16)switch(t){case BigInt64Array:case BigUint64Array:return this.parseBigIntTypedArray(e,r);default:break}if(a&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 g(r)}parseFunction(e){let r=this.getReference(e);if(r.type!==0)return r.value;let t=this.parsePlugin(r.value,e);if(t)return t;throw new g(e)}parseTop(e){switch(typeof e){case"boolean":return e?I:A;case"undefined":return pe;case"string":return w(e);case"number":return ge(e);case"bigint":return Se(e);case"object":{if(e){let r=this.getReference(e);return r.type===0?this.parseObject(r.value,e):r.value}return de}case"symbol":return this.parseWellKnownSymbol(e);case"function":return this.parseFunction(e);default:throw new g(e)}}parse(e){try{return this.parseTop(e)}catch(r){throw r instanceof E?r:new E(r)}}};var oe=class extends v{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(n){this.onError(n)}}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),n=[],a=[];for(let l=0,c=t.length;l<c;l++)n.push(d(t[l][0])),a.push(this.parseTop(t[l][1]));let i=Symbol.iterator;return i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(M(this.parseIteratorFactory(),this.parseTop(J(r))))),i=Symbol.asyncIterator,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(U(this.parseAsyncIteratorFactory(),this.parseTop(Ve(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]?I:A)),{k:n,v:a,s:n.length}}handlePromiseSuccess(r,t){let n=this.parseWithError(t);n&&this.onParse(u(23,r,s,s,s,s,s,s,[this.parseSpecialReference(2),n],s,s,s)),this.popPendingState()}handlePromiseFailure(r,t){if(this.alive){let n=this.parseWithError(t);n&&this.onParse(u(24,r,s,s,s,s,s,s,[this.parseSpecialReference(3),n],s,s,s))}this.popPendingState()}parsePromise(r,t){let n=this.createIndex({});return t.then(this.handlePromiseSuccess.bind(this,n),this.handlePromiseFailure.bind(this,n)),this.pushPendingState(),this.createPromiseConstructorNode(r,n)}parsePlugin(r,t){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(t))return _(r,l.tag,l.parse.stream(t,this,{id:r}))}return s}parseStream(r,t){let n=L(r,this.parseSpecialReference(4),[]);return this.pushPendingState(),t.on({next:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Re(r,i))}},throw:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Te(r,i))}this.popPendingState()},return:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Oe(r,i))}this.popPendingState()}}),n}parseWithError(r){try{return this.parseTop(r)}catch(t){return this.onError(t),s}}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 G=class extends oe{constructor(){super(...arguments);this.mode="cross"}};var q=class extends v{constructor(){super(...arguments);this.mode="cross"}};function po(o,e={}){let r=m(e.plugins),t=new q({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=t.parse(o);return new D({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(n)}async function mo(o,e={}){let r=m(e.plugins),t=new $({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}),n=await t.parse(o);return new D({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.marked}).serializeTop(n)}function fo(o,e={}){let r=m(e.plugins);return new q({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}async function go(o,e={}){let r=m(e.plugins);return await new $({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parse(o)}function gr(o,e){let r=m(e.plugins),t=new G({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse(n,a){let i=new D({plugins:r,features:t.features,scopeId:e.scopeId,markedRefs:t.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 t.start(o),t.destroy.bind(t)}function So(o,e){let r=m(e.plugins),t=new G({plugins:r,refs:e.refs,disabledFeatures:e.disabledFeatures,onParse:e.onParse,onError:e.onError,onDone:e.onDone});return t.start(o),t.destroy.bind(t)}function ho(o,e){let r=m(e.plugins);return new te({plugins:r,refs:e.refs}).deserialize(o)}var H=class extends k{constructor(){super(...arguments);this.mode="vanilla"}};var ne=class extends F{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 yr="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Sr=yr.length,vr="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",hr=vr.length;function We(o){let e=o%Sr,r=yr[e];for(o=(o-e)/Sr;o>0;)e=o%hr,r+=vr[e],o=(o-e)/hr;return r}var B=class extends V{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 n=this.vars[t];return n==null&&(n=We(t),this.vars[t]=n),n}assignIndexedValue(r,t){return this.isMarked(r)?this.getRefParam(r)+"="+t:t}serializePromiseConstructor(r){throw new y(r)}serializePromiseResolve(r){throw new y(r)}serializePromiseReject(r){throw new y(r)}serializeTop(r){let t=this.serialize(r);if(r.i!=null&&this.vars.length){let n=this.resolvePatches(),a=t;if(n){let i=this.getRefParam(r.i);a=t+","+n+i,t.startsWith(i+"=")||(a=i+"="+a),a="("+a+")"}return"("+this.createFunction(this.vars,a)+")()"}return r.t===10?"("+t+")":t}};var Z=class extends v{constructor(){super(...arguments);this.mode="vanilla"}};function Do(o,e={}){let r=m(e.plugins),t=new Z({plugins:r,disabledFeatures:e.disabledFeatures}),n=t.parse(o);return new B({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(n)}async function Bo(o,e={}){let r=m(e.plugins),t=new H({plugins:r,disabledFeatures:e.disabledFeatures}),n=await t.parse(o);return new B({plugins:r,features:t.features,markedRefs:t.marked}).serializeTop(n)}function jo(o){return(0,eval)(o)}function _o(o,e={}){let r=m(e.plugins),t=new Z({plugins:r,disabledFeatures:e.disabledFeatures});return{t:t.parse(o),f:t.features,m:Array.from(t.marked)}}async function Mo(o,e={}){let r=m(e.plugins),t=new H({plugins:r,disabledFeatures:e.disabledFeatures});return{t:await t.parse(o),f:t.features,m:Array.from(t.marked)}}function Uo(o,e={}){let r=m(e.plugins);return new B({plugins:r,features:o.f,markedRefs:o.m}).serializeTop(o.t)}function Lo(o,e={}){let r=m(e.plugins);return new ne({plugins:r,markedRefs:o.m}).deserialize(o.t)}var De=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=m(e.plugins)}write(e,r){this.alive&&!this.flushed&&(this.pending++,this.keys.add(e),this.cleanups.push(gr(r,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(t,n)=>{this.alive&&this.options.onData(n?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{R as Feature,C as OpaqueReference,De as Serializer,ze as SerovalDeserializationError,ee as SerovalError,P as SerovalMissingInstanceError,W as SerovalMissingPluginError,ie as SerovalMissingReferenceError,le as SerovalMissingReferenceForIdError,E as SerovalParserError,Ce as SerovalSerializationError,ke as SerovalUnknownTypedArrayError,y as SerovalUnsupportedNodeError,g as SerovalUnsupportedTypeError,Uo as compileJSON,Hr as createPlugin,Ir as createReference,K as createStream,po as crossSerialize,mo as crossSerializeAsync,gr as crossSerializeStream,jo as deserialize,ho as fromCrossJSON,Lo as fromJSON,xr as getCrossReferenceHeader,m as resolvePlugins,Do as serialize,Bo as serializeAsync,fo as toCrossJSON,go as toCrossJSONAsync,So as toCrossJSONStream,_o as toJSON,Mo as toJSONAsync};
|
|
1
|
+
var K=(s=>(s[s.AggregateError=1]="AggregateError",s[s.ArrowFunction=2]="ArrowFunction",s[s.ErrorPrototypeStack=4]="ErrorPrototypeStack",s[s.ObjectAssign=8]="ObjectAssign",s[s.BigIntTypedArray=16]="BigIntTypedArray",s))(K||{});var b=Symbol.asyncIterator,lr=Symbol.hasInstance,P=Symbol.isConcatSpreadable,A=Symbol.iterator,ur=Symbol.match,cr=Symbol.matchAll,fr=Symbol.replace,Sr=Symbol.search,pr=Symbol.species,dr=Symbol.split,mr=Symbol.toPrimitive,x=Symbol.toStringTag,gr=Symbol.unscopables;var Zr={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={[b]:0,[lr]:1,[P]:2,[A]:3,[ur]:4,[cr]:5,[fr]:6,[Sr]:7,[pr]:8,[dr]:9,[mr]:10,[x]:11,[gr]:12},Jr={0:b,1:lr,2:P,3:A,4:ur,5:cr,6:fr,7:Sr,8:pr,9:dr,10:mr,11:x,12:gr},Hr={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},$r={2:!0,3:!1,1:void 0,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var ye={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},qr={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError},o=void 0;function c(e,r,t,n,a,s,i,l,u,g,S,d){return{t:e,i:r,s:t,l:n,c:a,m:s,p:i,e:l,a:u,f:g,b:S,o:d}}function _(e){return c(2,o,e,o,o,o,o,o,o,o,o,o)}var Z=_(2),J=_(3),Ne=_(1),Ce=_(0),Xr=_(4),Qr=_(5),et=_(6),rt=_(7);function Qt(e){switch(e){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 y(e){let r="",t=0,n;for(let a=0,s=e.length;a<s;a++)n=Qt(e[a]),n&&(r+=e.slice(t,a)+n,t=a+1);return t===0?r=e:r+=e.slice(t),r}function en(e){switch(e){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 e}}function z(e){return e.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,en)}var B="__SEROVAL_REFS__",ie="$R",ve=`self.${ie}`;function rn(e){return e==null?`${ve}=${ve}||[]`:`(${ve}=${ve}||{})["${y(e)}"]=[]`}var yr=new Map,V=new Map;function tn(e,r){return yr.set(r,e),V.set(e,r),r}function Nr(e){return yr.has(e)}function nn(e){return V.has(e)}function tt(e){if(Nr(e))return yr.get(e);throw new be(e)}function nt(e){if(nn(e))return V.get(e);throw new Ae(e)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,B,{value:V,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,B,{value:V,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,B,{value:V,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,B,{value:V,configurable:!0,writable:!1,enumerable:!1});function Re(e){return e instanceof EvalError?1:e instanceof RangeError?2:e instanceof ReferenceError?3:e instanceof SyntaxError?4:e instanceof TypeError?5:e instanceof URIError?6:0}function on(e){let r=ye[Re(e)];return e.name!==r?{name:e.name}:e.constructor.name!==r?{name:e.constructor.name}:{}}function H(e,r){let t=on(e),n=Object.getOwnPropertyNames(e);for(let a=0,s=n.length,i;a<s;a++)i=n[a],i!=="name"&&i!=="message"&&(i==="stack"?r&4&&(t=t||{},t[i]=e[i]):(t=t||{},t[i]=e[i]));return t}function Ie(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:Object.isExtensible(e)?0:1}function Ee(e){switch(e){case Number.POSITIVE_INFINITY:return Qr;case Number.NEGATIVE_INFINITY:return et}return e!==e?rt:Object.is(e,-0)?Xr:c(0,o,e,o,o,o,o,o,o,o,o,o)}function $(e){return c(1,o,y(e),o,o,o,o,o,o,o,o,o)}function Pe(e){return c(3,o,""+e,o,o,o,o,o,o,o,o,o)}function at(e){return c(4,e,o,o,o,o,o,o,o,o,o,o)}function xe(e,r){let t=r.valueOf();return c(5,e,t!==t?"":r.toISOString(),o,o,o,o,o,o,o,o,o)}function Te(e,r){return c(6,e,o,o,y(r.source),r.flags,o,o,o,o,o,o)}function st(e,r){return c(17,e,ge[r],o,o,o,o,o,o,o,o,o)}function it(e,r){return c(18,e,y(tt(r)),o,o,o,o,o,o,o,o,o)}function le(e,r,t){return c(25,e,t,o,y(r),o,o,o,o,o,o,o)}function Oe(e,r,t){return c(9,e,o,r.length,o,o,o,o,t,o,o,Ie(r))}function he(e,r){return c(21,e,o,o,o,o,o,o,o,r,o,o)}function we(e,r,t){return c(15,e,o,r.length,r.constructor.name,o,o,o,o,t,r.byteOffset,o)}function ze(e,r,t){return c(16,e,o,r.length,r.constructor.name,o,o,o,o,t,r.byteOffset,o)}function ke(e,r,t){return c(20,e,o,r.byteLength,o,o,o,o,o,t,r.byteOffset,o)}function _e(e,r,t){return c(13,e,Re(r),o,o,y(r.message),t,o,o,o,o,o)}function De(e,r,t){return c(14,e,Re(r),o,o,y(r.message),t,o,o,o,o,o)}function Fe(e,r,t){return c(7,e,o,r,o,o,o,o,t,o,o,o)}function Be(e,r){return c(28,o,o,o,o,o,o,o,[e,r],o,o,o)}function Ve(e,r){return c(30,o,o,o,o,o,o,o,[e,r],o,o,o)}function Me(e,r,t){return c(31,e,o,o,o,o,o,o,t,r,o,o)}function je(e,r){return c(32,e,o,o,o,o,o,o,o,r,o,o)}function Ue(e,r){return c(33,e,o,o,o,o,o,o,o,r,o,o)}function Le(e,r){return c(34,e,o,o,o,o,o,o,o,r,o,o)}var{toString:Ja}=Object.prototype;var an={parsing:1,serialization:2,deserialization:3};function sn(e){return`Seroval Error (step: ${an[e]})`}var ln=(e,r)=>sn(e),ue=class extends Error{constructor(t,n){super(ln(t,n));this.cause=n}},h=class extends ue{constructor(r){super("parsing",r)}},Cr=class extends ue{constructor(r){super("serialization",r)}},Ye=class extends ue{constructor(r){super("deserialization",r)}};function M(e){return`Seroval Error (specific: ${e})`}var E=class extends Error{constructor(t){super(M(1));this.value=t}},k=class extends Error{constructor(r){super(M(2))}},q=class extends Error{constructor(r){super(M(3))}},D=class extends Error{constructor(r){super(M(4))}},be=class extends Error{constructor(t){super(M(5));this.value=t}},Ae=class extends Error{constructor(r){super(M(6))}},We=class extends Error{constructor(r){super(M(7))}};var j=class{constructor(r,t){this.value=r;this.replacement=t}};var X=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((r,t)=>{e.s=r,e.f=t}),e},un=(e,r)=>{e.s(r),e.p.s=1,e.p.v=r},cn=(e,r)=>{e.f(r),e.p.s=2,e.p.v=r},lt=X.toString(),ut=un.toString(),ct=cn.toString(),vr=()=>{let e=[],r=[],t=!0,n=!1,a=0,s=(u,g,S)=>{for(S=0;S<a;S++)r[S]&&r[S][g](u)},i=(u,g,S,d)=>{for(g=0,S=e.length;g<S;g++)d=e[g],!t&&g===S-1?u[n?"return":"throw"](d):u.next(d)},l=(u,g)=>(t&&(g=a++,r[g]=u),i(u),()=>{t&&(r[g]=r[a],r[a--]=void 0)});return{__SEROVAL_STREAM__:!0,on:u=>l(u),next:u=>{t&&(e.push(u),s(u,"next"))},throw:u=>{t&&(e.push(u),s(u,"throw"),t=!1,n=!1,r.length=0)},return:u=>{t&&(e.push(u),s(u,"return"),t=!1,n=!0,r.length=0)}}},ft=vr.toString(),br=e=>r=>()=>{let t=0,n={[e]:()=>n,next:()=>{if(t>r.d)return{done:!0,value:void 0};let a=t++,s=r.v[a];if(a===r.t)throw s;return{done:a===r.d,value:s}}};return n},St=br.toString(),Ar=(e,r)=>t=>()=>{let n=0,a=-1,s=!1,i=[],l=[],u=(S=0,d=l.length)=>{for(;S<d;S++)l[S].s({done:!0,value:void 0})};t.on({next:S=>{let d=l.shift();d&&d.s({done:!1,value:S}),i.push(S)},throw:S=>{let d=l.shift();d&&d.f(S),u(),a=i.length,s=!0,i.push(S)},return:S=>{let d=l.shift();d&&d.s({done:!0,value:S}),u(),a=i.length,i.push(S)}});let g={[e]:()=>g,next:()=>{if(a===-1){let W=n++;if(W>=i.length){let Gr=r();return l.push(Gr),Gr.p}return{done:!1,value:i[W]}}if(n>a)return{done:!0,value:void 0};let S=n++,d=i[S];if(S!==a)return{done:!1,value:d};if(s)throw d;return{done:!0,value:d}}};return g},pt=Ar.toString(),Rr=(e,r)=>{let t=atob(r),n=new Uint8Array(e);for(let a=0;a<e;a++)n[a]=t.charCodeAt(a);return n.buffer},dt=Rr.toString();var mt={},gt={};var yt={0:{},1:{},2:{},3:{},4:{},5:{}},Nt={0:"[]",1:lt,2:ut,3:ct,4:ft,5:dt};function Ke(e){return"__SEROVAL_STREAM__"in e}function Q(){return vr()}function Ge(e){let r=Q(),t=e[b]();async function n(){try{let a=await t.next();a.done?r.return(a.value):(r.next(a.value),await n())}catch(a){r.throw(a)}}return n().catch(()=>{}),r}var fn=Ar(b,X);function Ct(e){return fn(e)}function Ze(e){let r=[],t=-1,n=-1,a=e[A]();for(;;)try{let s=a.next();if(r.push(s.value),s.done){n=r.length-1;break}}catch(s){t=r.length,r.push(s)}return{v:r,t,d:n}}var Sn=br(A);function vt(e){return Sn(e)}async function Ir(e){try{return[1,await e]}catch(r){return[0,r]}}function ce(e,r){return{plugins:r.plugins,mode:e,marked:new Set,features:31^(r.disabledFeatures||0),refs:r.refs||new Map}}function fe(e,r){e.marked.add(r)}function Er(e,r){let t=e.refs.size;return e.refs.set(r,t),t}function Je(e,r){let t=e.refs.get(r);return t!=null?(fe(e,t),{type:1,value:at(t)}):{type:0,value:Er(e,r)}}function U(e,r){let t=Je(e,r);return t.type===1?t:Nr(r)?{type:2,value:it(t.value,r)}:t}function I(e,r){let t=U(e,r);if(t.type!==0)return t.value;if(r in ge)return st(t.value,r);throw new E(r)}function w(e,r){let t=Je(e,yt[r]);return t.type===1?t.value:c(26,t.value,r,o,o,o,o,o,o,o,o,o)}function He(e){let r=Je(e,mt);return r.type===1?r.value:c(27,r.value,o,o,o,o,o,o,o,I(e,A),o,o)}function $e(e){let r=Je(e,gt);return r.type===1?r.value:c(29,r.value,o,o,o,o,o,o,[w(e,1),I(e,b)],o,o,o)}function qe(e,r,t,n){return c(t?11:10,e,o,o,o,o,n,o,o,o,o,Ie(r))}function Xe(e,r,t,n,a){return c(8,r,o,o,o,o,o,{k:t,v:n,s:a},o,w(e,0),o,o)}function At(e,r,t){return c(22,r,t,o,o,o,o,o,o,w(e,1),o,o)}function Qe(e,r,t){let n=new Uint8Array(t),a=n.length,s="";for(let i=0;i<a;i++)s+=String.fromCharCode(n[i]);return c(19,r,y(btoa(s)),a,o,o,o,o,o,w(e,5),o,o)}function ee(e,r){return{base:ce(e,r),child:void 0}}var xr=class{constructor(r){this._p=r}parse(r){return N(this._p,r)}};async function mn(e,r){let t=[];for(let n=0,a=r.length;n<a;n++)n in r&&(t[n]=await N(e,r[n]));return t}async function gn(e,r,t){return Oe(r,t,await mn(e,t))}async function Tr(e,r){let t=Object.entries(r),n=[],a=[];for(let s=0,i=t.length;s<i;s++)n.push(y(t[s][0])),a.push(await N(e,t[s][1]));return A in r&&(n.push(I(e.base,A)),a.push(Be(He(e.base),await N(e,Ze(r))))),b in r&&(n.push(I(e.base,b)),a.push(Ve($e(e.base),await N(e,Ge(r))))),x in r&&(n.push(I(e.base,x)),a.push($(r[x]))),P in r&&(n.push(I(e.base,P)),a.push(r[P]?Z:J)),{k:n,v:a,s:n.length}}async function Pr(e,r,t,n){return qe(r,t,n,await Tr(e,t))}async function yn(e,r,t){return he(r,await N(e,t.valueOf()))}async function Nn(e,r,t){return we(r,t,await N(e,t.buffer))}async function Cn(e,r,t){return ze(r,t,await N(e,t.buffer))}async function vn(e,r,t){return ke(r,t,await N(e,t.buffer))}async function Rt(e,r,t){let n=H(t,e.base.features);return _e(r,t,n?await Tr(e,n):o)}async function bn(e,r,t){let n=H(t,e.base.features);return De(r,t,n?await Tr(e,n):o)}async function An(e,r,t){let n=[],a=[];for(let[s,i]of t.entries())n.push(await N(e,s)),a.push(await N(e,i));return Xe(e.base,r,n,a,t.size)}async function Rn(e,r,t){let n=[];for(let a of t.keys())n.push(await N(e,a));return Fe(r,t.size,n)}async function It(e,r,t){let n=e.base.plugins;if(n)for(let a=0,s=n.length;a<s;a++){let i=n[a];if(i.parse.async&&i.test(t))return e.child==null&&(e.child=new xr(e)),le(r,i.tag,await i.parse.async(t,e.child,{id:r}))}return o}async function In(e,r,t){let[n,a]=await Ir(t);return c(12,r,n,o,o,o,o,o,o,await N(e,a),o,o)}function En(e,r,t,n){let a=[],s=r.on({next:i=>{fe(this.base,e),N(this,i).then(l=>{a.push(je(e,l))},l=>{n(l),s()})},throw:i=>{fe(this.base,e),N(this,i).then(l=>{a.push(Ue(e,l)),t(a),s()},l=>{n(l),s()})},return:i=>{fe(this.base,e),N(this,i).then(l=>{a.push(Le(e,l)),t(a),s()},l=>{n(l),s()})}})}async function Pn(e,r,t){return Me(r,w(e.base,4),await new Promise(En.bind(e,r,t)))}async function xn(e,r,t){if(Array.isArray(t))return gn(e,r,t);if(Ke(t))return Pn(e,r,t);let n=t.constructor;if(n===j)return N(e,t.replacement);let a=await It(e,r,t);if(a)return a;switch(n){case Object:return Pr(e,r,t,!1);case o:return Pr(e,r,t,!0);case Date:return xe(r,t);case RegExp:return Te(r,t);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return Rt(e,r,t);case Number:case Boolean:case String:case BigInt:return yn(e,r,t);case ArrayBuffer:return Qe(e.base,r,t);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return Nn(e,r,t);case DataView:return vn(e,r,t);case Map:return An(e,r,t);case Set:return Rn(e,r,t);default:break}if(n===Promise||t instanceof Promise)return In(e,r,t);let s=e.base.features;if(s&16)switch(n){case BigInt64Array:case BigUint64Array:return Cn(e,r,t);default:break}if(s&1&&typeof AggregateError!="undefined"&&(n===AggregateError||t instanceof AggregateError))return bn(e,r,t);if(t instanceof Error)return Rt(e,r,t);if(A in t||b in t)return Pr(e,r,t,!!n);throw new E(t)}async function Tn(e,r){let t=U(e.base,r);if(t.type!==0)return t.value;let n=await It(e,t.value,r);if(n)return n;throw new E(r)}async function N(e,r){switch(typeof r){case"boolean":return r?Z:J;case"undefined":return Ne;case"string":return $(r);case"number":return Ee(r);case"bigint":return Pe(r);case"object":{if(r){let t=U(e.base,r);return t.type===0?await xn(e,t.value,r):t.value}return Ce}case"symbol":return I(e.base,r);case"function":return Tn(e,r);default:throw new E(r)}}async function re(e,r){try{return await N(e,r)}catch(t){throw t instanceof h?t:new h(t)}}var te=(t=>(t[t.Vanilla=1]="Vanilla",t[t.Cross=2]="Cross",t))(te||{});function _s(e){return e}function Et(e,r){for(let t=0,n=r.length;t<n;t++){let a=r[t];e.has(a)||(e.add(a),a.extends&&Et(e,a.extends))}}function v(e){if(e){let r=new Set;return Et(r,e),[...r]}}function Pt(e){switch(e){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 We(e)}}function xt(e,r){switch(r){case 3:return Object.freeze(e);case 1:return Object.preventExtensions(e);case 2:return Object.seal(e);default:return e}}function Tt(e,r){return{mode:e,plugins:r.plugins,refs:r.refs||new Map}}function Ot(e){return{mode:1,base:Tt(1,e),child:void 0,state:{marked:new Set(e.markedRefs)}}}function ht(e){return{mode:2,base:Tt(2,e),child:void 0}}var Or=class{constructor(r){this._p=r}deserialize(r){return m(this._p,r)}};function On(e,r,t){return e.state.marked.has(r)&&e.base.refs.set(r,t),t}function hn(e,r,t){return e.base.refs.has(r)||e.base.refs.set(r,t),t}function C(e,r,t){return e.mode===1?On(e,r,t):hn(e,r,t)}function wn(e,r){return C(e,r.i,nt(z(r.s)))}function zn(e,r){let t=r.l,n=C(e,r.i,new Array(t)),a;for(let s=0;s<t;s++)a=r.a[s],a&&(n[s]=m(e,a));return xt(n,r.o),n}function wt(e,r,t){let n=r.s;if(n){let a=r.k,s=r.v;for(let i=0,l;i<n;i++)l=a[i],typeof l=="string"?t[z(l)]=m(e,s[i]):t[m(e,l)]=m(e,s[i])}return t}function kn(e,r){let t=C(e,r.i,r.t===10?{}:Object.create(null));return wt(e,r.p,t),xt(t,r.o),t}function _n(e,r){return C(e,r.i,new Date(r.s))}function Dn(e,r){return C(e,r.i,new RegExp(z(r.c),r.m))}function Fn(e,r){let t=C(e,r.i,new Set),n=r.a;for(let a=0,s=r.l;a<s;a++)t.add(m(e,n[a]));return t}function Bn(e,r){let t=C(e,r.i,new Map),n=r.e.k,a=r.e.v;for(let s=0,i=r.e.s;s<i;s++)t.set(m(e,n[s]),m(e,a[s]));return t}function Vn(e,r){return C(e,r.i,Rr(r.l,z(r.s)))}function Mn(e,r){let t=Pt(r.c),n=m(e,r.f);return C(e,r.i,new t(n,r.b,r.l))}function jn(e,r){let t=m(e,r.f);return C(e,r.i,new DataView(t,r.b,r.l))}function zt(e,r,t){if(r.p){let n=wt(e,r.p,{});Object.assign(t,n)}return t}function Un(e,r){let t=C(e,r.i,new AggregateError([],z(r.m)));return zt(e,r,t)}function Ln(e,r){let t=qr[r.s],n=C(e,r.i,new t(z(r.m)));return zt(e,r,n)}function Yn(e,r){let t=X(),n=C(e,r.i,t.p),a=m(e,r.f);return r.s?t.s(a):t.f(a),n}function Wn(e,r){return C(e,r.i,Object(m(e,r.f)))}function Kn(e,r){let t=e.base.plugins;if(t){let n=z(r.c);for(let a=0,s=t.length;a<s;a++){let i=t[a];if(i.tag===n)return e.child==null&&(e.child=new Or(e)),C(e,r.i,i.deserialize(r.s,e.child,{id:r.i}))}}throw new q(r.c)}function Gn(e,r){return C(e,r.i,C(e,r.s,X()).p)}function Zn(e,r){let t=e.base.refs.get(r.i);if(t){t.s(m(e,r.a[1]));return}throw new D("Promise")}function Jn(e,r){let t=e.base.refs.get(r.i);if(t){t.f(m(e,r.a[1]));return}throw new D("Promise")}function Hn(e,r){m(e,r.a[0]);let t=m(e,r.a[1]);return vt(t)}function $n(e,r){m(e,r.a[0]);let t=m(e,r.a[1]);return Ct(t)}function qn(e,r){let t=C(e,r.i,Q()),n=r.a.length;if(n)for(let a=0;a<n;a++)m(e,r.a[a]);return t}function Xn(e,r){let t=e.base.refs.get(r.i);if(t){t.next(m(e,r.f));return}throw new D("Stream")}function Qn(e,r){let t=e.base.refs.get(r.i);if(t){t.throw(m(e,r.f));return}throw new D("Stream")}function eo(e,r){let t=e.base.refs.get(r.i);if(t){t.return(m(e,r.f));return}throw new D("Stream")}function ro(e,r){m(e,r.f)}function to(e,r){m(e,r.a[1])}function m(e,r){switch(r.t){case 2:return $r[r.s];case 0:return r.s;case 1:return z(r.s);case 3:return BigInt(r.s);case 4:return e.base.refs.get(r.i);case 18:return wn(e,r);case 9:return zn(e,r);case 10:case 11:return kn(e,r);case 5:return _n(e,r);case 6:return Dn(e,r);case 7:return Fn(e,r);case 8:return Bn(e,r);case 19:return Vn(e,r);case 16:case 15:return Mn(e,r);case 20:return jn(e,r);case 14:return Un(e,r);case 13:return Ln(e,r);case 12:return Yn(e,r);case 17:return Jr[r.s];case 21:return Wn(e,r);case 25:return Kn(e,r);case 22:return Gn(e,r);case 23:return Zn(e,r);case 24:return Jn(e,r);case 28:return Hn(e,r);case 30:return $n(e,r);case 31:return qn(e,r);case 32:return Xn(e,r);case 33:return Qn(e,r);case 34:return eo(e,r);case 27:return ro(e,r);case 29:return to(e,r);default:throw new k(r)}}function er(e,r){try{return m(e,r)}catch(t){throw new Ye(t)}}var no=()=>T,oo=no.toString(),kt=/=>/.test(oo);function rr(e,r){return kt?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}function _t(e,r){return kt?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}var Bt="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Dt=Bt.length,Vt="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Ft=Vt.length;function hr(e){let r=e%Dt,t=Bt[r];for(e=(e-r)/Dt;e>0;)r=e%Ft,t+=Vt[r],e=(e-r)/Ft;return t}var ao=/^[$A-Z_][0-9A-Z_$]*$/i;function wr(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&ao.test(e)}function pe(e){switch(e.t){case 0:return e.s+"="+e.v;case 2:return e.s+".set("+e.k+","+e.v+")";case 1:return e.s+".add("+e.v+")";case 3:return e.s+".delete("+e.k+")"}}function so(e){let r=[],t=e[0];for(let n=1,a=e.length,s,i=t;n<a;n++)s=e[n],s.t===0&&s.v===i.v?t={t:0,s:s.s,k:o,v:pe(t)}:s.t===2&&s.s===i.s?t={t:2,s:pe(t),k:s.k,v:s.v}:s.t===1&&s.s===i.s?t={t:1,s:pe(t),k:o,v:s.v}:s.t===3&&s.s===i.s?t={t:3,s:pe(t),k:s.k,v:o}:(r.push(t),t=s),i=s;return r.push(t),r}function Wt(e){if(e.length){let r="",t=so(e);for(let n=0,a=t.length;n<a;n++)r+=pe(t[n])+",";return r}return o}var io="Object.create(null)",lo="new Set",uo="new Map",co="Promise.resolve",fo="Promise.reject",So={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:o};function Kt(e,r){return{mode:e,plugins:r.plugins,features:r.features,marked:new Set(r.markedRefs),stack:[],flags:[],assignments:[]}}function po(){return{valid:new Map,vars:[]}}function tr(e){return{mode:1,base:Kt(1,e),state:po(),child:void 0}}function nr(e){return{mode:2,base:Kt(2,e),state:e,child:void 0}}var zr=class{constructor(r){this._p=r}serialize(r){return f(this._p,r)}};function mo(e,r){let t=e.valid.get(r);t==null&&(t=e.valid.size,e.valid.set(r,t));let n=e.vars[t];return n==null&&(n=hr(t),e.vars[t]=n),n}function go(e){return ie+"["+e+"]"}function p(e,r){return e.mode===1?mo(e.state,r):go(r)}function O(e,r){e.marked.add(r)}function kr(e,r){return e.marked.has(r)}function Dr(e,r,t){r!==0&&(O(e.base,t),e.base.flags.push({type:r,value:p(e,t)}))}function yo(e){let r="";for(let t=0,n=e.flags,a=n.length;t<a;t++){let s=n[t];r+=So[s.type]+"("+s.value+"),"}return r}function Gt(e){let r=Wt(e.assignments),t=yo(e);return r?t?r+t:r:t}function Zt(e,r,t){e.assignments.push({t:0,s:r,k:o,v:t})}function No(e,r,t){e.base.assignments.push({t:1,s:p(e,r),k:o,v:t})}function Se(e,r,t,n){e.base.assignments.push({t:2,s:p(e,r),k:t,v:n})}function Mt(e,r,t){e.base.assignments.push({t:3,s:p(e,r),k:t,v:o})}function de(e,r,t,n){Zt(e.base,p(e,r)+"["+t+"]",n)}function _r(e,r,t,n){Zt(e.base,p(e,r)+"."+t,n)}function F(e,r){return r.t===4&&e.stack.includes(r.i)}function ne(e,r,t){return e.mode===1&&!kr(e.base,r)?t:p(e,r)+"="+t}function Co(e){return B+'.get("'+e.s+'")'}function jt(e,r,t,n){return t?F(e.base,t)?(O(e.base,r),de(e,r,n,p(e,t.i)),""):f(e,t):""}function vo(e,r){let t=r.i;if(r.l){e.base.stack.push(t);let n=r.a,a=jt(e,t,n[0],0),s=a==="";for(let i=1,l=r.l,u;i<l;i++)u=jt(e,t,n[i],i),a+=","+u,s=u==="";return e.base.stack.pop(),Dr(e,r.o,r.i),"["+a+(s?",]":"]")}return"[]"}function Ut(e,r,t,n){if(typeof t=="string"){let a=Number(t),s=a>=0&&a.toString()===t||wr(t);if(F(e.base,n)){let i=p(e,n.i);return O(e.base,r.i),s&&a!==a?_r(e,r.i,t,i):de(e,r.i,s?t:'"'+t+'"',i),""}return(s?t:'"'+t+'"')+":"+f(e,n)}return"["+f(e,t)+"]:"+f(e,n)}function Jt(e,r,t){let n=t.s;if(n){let a=t.k,s=t.v;e.base.stack.push(r.i);let i=Ut(e,r,a[0],s[0]);for(let l=1,u=i;l<n;l++)u=Ut(e,r,a[l],s[l]),i+=(u&&i&&",")+u;return e.base.stack.pop(),"{"+i+"}"}return"{}"}function bo(e,r){return Dr(e,r.o,r.i),Jt(e,r,r.p)}function Ao(e,r,t,n){let a=Jt(e,r,t);return a!=="{}"?"Object.assign("+n+","+a+")":n}function Ro(e,r,t,n,a){let s=e.base,i=f(e,a),l=Number(n),u=l>=0&&l.toString()===n||wr(n);if(F(s,a))u&&l!==l?_r(e,r.i,n,i):de(e,r.i,u?n:'"'+n+'"',i);else{let g=s.assignments;s.assignments=t,u&&l!==l?_r(e,r.i,n,i):de(e,r.i,u?n:'"'+n+'"',i),s.assignments=g}}function Io(e,r,t,n,a){if(typeof n=="string")Ro(e,r,t,n,a);else{let s=e.base,i=s.stack;s.stack=[];let l=f(e,a);s.stack=i;let u=s.assignments;s.assignments=t,de(e,r.i,f(e,n),l),s.assignments=u}}function Eo(e,r,t){let n=t.s;if(n){let a=[],s=t.k,i=t.v;e.base.stack.push(r.i);for(let l=0;l<n;l++)Io(e,r,a,s[l],i[l]);return e.base.stack.pop(),Wt(a)}return o}function Fr(e,r,t){if(r.p){let n=e.base;if(n.features&8)t=Ao(e,r,r.p,t);else{O(n,r.i);let a=Eo(e,r,r.p);if(a)return"("+ne(e,r.i,t)+","+a+p(e,r.i)+")"}}return t}function Po(e,r){return Dr(e,r.o,r.i),Fr(e,r,io)}function xo(e){return'new Date("'+e.s+'")'}function To(e){return"/"+e.c+"/"+e.m}function Lt(e,r,t){let n=e.base;return F(n,t)?(O(n,r),No(e,r,p(e,t.i)),""):f(e,t)}function Oo(e,r){let t=lo,n=r.l,a=r.i;if(n){let s=r.a;e.base.stack.push(a);let i=Lt(e,a,s[0]);for(let l=1,u=i;l<n;l++)u=Lt(e,a,s[l]),i+=(u&&i&&",")+u;e.base.stack.pop(),i&&(t+="(["+i+"])")}return t}function Yt(e,r,t,n,a){let s=e.base;if(F(s,t)){let i=p(e,t.i);if(O(s,r),F(s,n)){let u=p(e,n.i);return Se(e,r,i,u),""}if(n.t!==4&&n.i!=null&&kr(s,n.i)){let u="("+f(e,n)+",["+a+","+a+"])";return Se(e,r,i,p(e,n.i)),Mt(e,r,a),u}let l=s.stack;return s.stack=[],Se(e,r,i,f(e,n)),s.stack=l,""}if(F(s,n)){let i=p(e,n.i);if(O(s,r),t.t!==4&&t.i!=null&&kr(s,t.i)){let u="("+f(e,t)+",["+a+","+a+"])";return Se(e,r,p(e,t.i),i),Mt(e,r,a),u}let l=s.stack;return s.stack=[],Se(e,r,f(e,t),i),s.stack=l,""}return"["+f(e,t)+","+f(e,n)+"]"}function ho(e,r){let t=uo,n=r.e.s,a=r.i,s=r.f,i=p(e,s.i),l=e.base;if(n){let u=r.e.k,g=r.e.v;l.stack.push(a);let S=Yt(e,a,u[0],g[0],i);for(let d=1,W=S;d<n;d++)W=Yt(e,a,u[d],g[d],i),S+=(W&&S&&",")+W;l.stack.pop(),S&&(t+="(["+S+"])")}return s.t===26&&(O(l,s.i),t="("+f(e,s)+","+t+")"),t}function wo(e,r){return L(e,r.f)+"("+r.l+',"'+r.s+'")'}function zo(e,r){return"new "+r.c+"("+f(e,r.f)+","+r.b+","+r.l+")"}function ko(e,r){return"new DataView("+f(e,r.f)+","+r.b+","+r.l+")"}function _o(e,r){let t=r.i;e.base.stack.push(t);let n=Fr(e,r,'new AggregateError([],"'+r.m+'")');return e.base.stack.pop(),n}function Do(e,r){return Fr(e,r,"new "+ye[r.s]+'("'+r.m+'")')}function Fo(e,r){let t,n=r.f,a=r.i,s=r.s?co:fo,i=e.base;if(F(i,n)){let l=p(e,n.i);t=s+(r.s?"().then("+rr([],l)+")":"().catch("+_t([],"throw "+l)+")")}else{i.stack.push(a);let l=f(e,n);i.stack.pop(),t=s+"("+l+")"}return t}function Bo(e,r){return"Object("+f(e,r.f)+")"}function L(e,r){let t=f(e,r);return r.t===4?t:"("+t+")"}function Vo(e,r){if(e.mode===1)throw new k(r);return"("+ne(e,r.s,L(e,r.f)+"()")+").p"}function Mo(e,r){if(e.mode===1)throw new k(r);return L(e,r.a[0])+"("+p(e,r.i)+","+f(e,r.a[1])+")"}function jo(e,r){if(e.mode===1)throw new k(r);return L(e,r.a[0])+"("+p(e,r.i)+","+f(e,r.a[1])+")"}function Uo(e,r){let t=e.base.plugins;if(t)for(let n=0,a=t.length;n<a;n++){let s=t[n];if(s.tag===r.c)return e.child==null&&(e.child=new zr(e)),s.serialize(r.s,e.child,{id:r.i})}throw new q(r.c)}function Lo(e,r){let t="",n=!1;return r.f.t!==4&&(O(e.base,r.f.i),t="("+f(e,r.f)+",",n=!0),t+=ne(e,r.i,"("+St+")("+p(e,r.f.i)+")"),n&&(t+=")"),t}function Yo(e,r){return L(e,r.a[0])+"("+f(e,r.a[1])+")"}function Wo(e,r){let t=r.a[0],n=r.a[1],a=e.base,s="";t.t!==4&&(O(a,t.i),s+="("+f(e,t)),n.t!==4&&(O(a,n.i),s+=(s?",":"(")+f(e,n)),s&&(s+=",");let i=ne(e,r.i,"("+pt+")("+p(e,n.i)+","+p(e,t.i)+")");return s?s+i+")":i}function Ko(e,r){return L(e,r.a[0])+"("+f(e,r.a[1])+")"}function Go(e,r){let t=ne(e,r.i,L(e,r.f)+"()"),n=r.a.length;if(n){let a=f(e,r.a[0]);for(let s=1;s<n;s++)a+=","+f(e,r.a[s]);return"("+t+","+a+","+p(e,r.i)+")"}return t}function Zo(e,r){return p(e,r.i)+".next("+f(e,r.f)+")"}function Jo(e,r){return p(e,r.i)+".throw("+f(e,r.f)+")"}function Ho(e,r){return p(e,r.i)+".return("+f(e,r.f)+")"}function $o(e,r){switch(r.t){case 17:return Zr[r.s];case 18:return Co(r);case 9:return vo(e,r);case 10:return bo(e,r);case 11:return Po(e,r);case 5:return xo(r);case 6:return To(r);case 7:return Oo(e,r);case 8:return ho(e,r);case 19:return wo(e,r);case 16:case 15:return zo(e,r);case 20:return ko(e,r);case 14:return _o(e,r);case 13:return Do(e,r);case 12:return Fo(e,r);case 21:return Bo(e,r);case 22:return Vo(e,r);case 25:return Uo(e,r);case 26:return Nt[r.s];default:throw new k(r)}}function f(e,r){switch(r.t){case 2:return Hr[r.s];case 0:return""+r.s;case 1:return'"'+r.s+'"';case 3:return r.s+"n";case 4:return p(e,r.i);case 23:return Mo(e,r);case 24:return jo(e,r);case 27:return Lo(e,r);case 28:return Yo(e,r);case 29:return Wo(e,r);case 30:return Ko(e,r);case 31:return Go(e,r);case 32:return Zo(e,r);case 33:return Jo(e,r);case 34:return Ho(e,r);default:return ne(e,r.i,$o(e,r))}}function or(e,r){let t=f(e,r);if(r.i!=null&&e.state.vars.length){let n=Gt(e.base),a=t;if(n){let s=p(e,r.i);a=t+","+n+s,t.startsWith(s+"=")||(a=s+"="+a),a="("+a+")"}return"("+rr(e.state.vars,a)+")()"}return r.t===10?"("+t+")":t}function ar(e,r){let t=f(e,r),n=r.i;if(n==null)return t;let a=Gt(e.base),s=p(e,n),i=e.state.scopeId,l=i==null?"":ie,u=a?"("+t+","+a+s+")":t;if(l==="")return r.t===10&&!a?"("+u+")":u;let g=i==null?"()":"("+ie+'["'+y(i)+'"])';return"("+rr([l],u)+")"+g}function ae(e,r){return{type:1,base:ce(e,r),child:void 0}}var Vr=class{constructor(r){this._p=r}parse(r){return R(this._p,r)}},Mr=class{constructor(r){this._p=r}parse(r){return R(this._p,r)}parseWithError(r){return Y(this._p,r)}isAlive(){return this._p.state.alive}pushPendingState(){Wr(this._p)}popPendingState(){me(this._p)}onParse(r){oe(this._p,r)}onError(r){Lr(this._p,r)}};function qo(e){return{alive:!0,pending:0,initial:!0,buffer:[],onParse:e.onParse,onError:e.onError,onDone:e.onDone}}function jr(e){return{type:2,base:ce(2,e),child:void 0,state:qo(e)}}function Xo(e,r){let t=[];for(let n=0,a=r.length;n<a;n++)n in r&&(t[n]=R(e,r[n]));return t}function Qo(e,r,t){return Oe(r,t,Xo(e,t))}function Ur(e,r){let t=Object.entries(r),n=[],a=[];for(let s=0,i=t.length;s<i;s++)n.push(y(t[s][0])),a.push(R(e,t[s][1]));return A in r&&(n.push(I(e.base,A)),a.push(Be(He(e.base),R(e,Ze(r))))),b in r&&(n.push(I(e.base,b)),a.push(Ve($e(e.base),R(e,e.type===1?Q():Ge(r))))),x in r&&(n.push(I(e.base,x)),a.push($(r[x]))),P in r&&(n.push(I(e.base,P)),a.push(r[P]?Z:J)),{k:n,v:a,s:n.length}}function Br(e,r,t,n){return qe(r,t,n,Ur(e,t))}function ea(e,r,t){return he(r,R(e,t.valueOf()))}function ra(e,r,t){return we(r,t,R(e,t.buffer))}function ta(e,r,t){return ze(r,t,R(e,t.buffer))}function na(e,r,t){return ke(r,t,R(e,t.buffer))}function Ht(e,r,t){let n=H(t,e.base.features);return _e(r,t,n?Ur(e,n):o)}function oa(e,r,t){let n=H(t,e.base.features);return De(r,t,n?Ur(e,n):o)}function aa(e,r,t){let n=[],a=[];for(let[s,i]of t.entries())n.push(R(e,s)),a.push(R(e,i));return Xe(e.base,r,n,a,t.size)}function sa(e,r,t){let n=[];for(let a of t.keys())n.push(R(e,a));return Fe(r,t.size,n)}function ia(e,r,t){let n=Me(r,w(e.base,4),[]);return e.type===1||(Wr(e),t.on({next:a=>{if(e.state.alive){let s=Y(e,a);s&&oe(e,je(r,s))}},throw:a=>{if(e.state.alive){let s=Y(e,a);s&&oe(e,Ue(r,s))}me(e)},return:a=>{if(e.state.alive){let s=Y(e,a);s&&oe(e,Le(r,s))}me(e)}})),n}function la(e,r){if(this.state.alive){let t=Y(this,r);t&&oe(this,c(23,e,o,o,o,o,o,o,[w(this.base,2),t],o,o,o)),me(this)}}function ua(e,r){if(this.state.alive){let t=Y(this,r);t&&oe(this,c(24,e,o,o,o,o,o,o,[w(this.base,3),t],o,o,o))}me(this)}function ca(e,r,t){let n=Er(e.base,{});return e.type===2&&(Wr(e),t.then(la.bind(e,n),ua.bind(e,n))),At(e.base,r,n)}function fa(e,r,t,n){for(let a=0,s=n.length;a<s;a++){let i=n[a];if(i.parse.sync&&i.test(t))return e.child==null&&(e.child=new Vr(e)),le(r,i.tag,i.parse.sync(t,e.child,{id:r}))}}function Sa(e,r,t,n){for(let a=0,s=n.length;a<s;a++){let i=n[a];if(i.parse.stream&&i.test(t))return e.child==null&&(e.child=new Mr(e)),le(r,i.tag,i.parse.stream(t,e.child,{id:r}))}}function $t(e,r,t){let n=e.base.plugins;if(n)return e.type===1?fa(e,r,t,n):Sa(e,r,t,n)}function pa(e,r,t,n){switch(n){case Object:return Br(e,r,t,!1);case void 0:return Br(e,r,t,!0);case Date:return xe(r,t);case RegExp:return Te(r,t);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return Ht(e,r,t);case Number:case Boolean:case String:case BigInt:return ea(e,r,t);case ArrayBuffer:return Qe(e.base,r,t);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ra(e,r,t);case DataView:return na(e,r,t);case Map:return aa(e,r,t);case Set:return sa(e,r,t);default:break}if(n===Promise||t instanceof Promise)return ca(e,r,t);let a=e.base.features;if(a&16)switch(n){case BigInt64Array:case BigUint64Array:return ta(e,r,t);default:break}if(a&1&&typeof AggregateError!="undefined"&&(n===AggregateError||t instanceof AggregateError))return oa(e,r,t);if(t instanceof Error)return Ht(e,r,t);if(A in t||b in t)return Br(e,r,t,!!n);throw new E(t)}function da(e,r,t){if(Array.isArray(t))return Qo(e,r,t);if(Ke(t))return ia(e,r,t);let n=t.constructor;if(n===j)return R(e,t.replacement);let a=$t(e,r,t);return a||pa(e,r,t,n)}function ma(e,r){let t=U(e.base,r);if(t.type!==0)return t.value;let n=$t(e,t.value,r);if(n)return n;throw new E(r)}function R(e,r){switch(typeof r){case"boolean":return r?Z:J;case"undefined":return Ne;case"string":return $(r);case"number":return Ee(r);case"bigint":return Pe(r);case"object":{if(r){let t=U(e.base,r);return t.type===0?da(e,t.value,r):t.value}return Ce}case"symbol":return I(e.base,r);case"function":return ma(e,r);default:throw new E(r)}}function se(e,r){try{return R(e,r)}catch(t){throw t instanceof h?t:new h(t)}}function oe(e,r){e.state.initial?e.state.buffer.push(r):Yr(e,r,!1)}function Lr(e,r){if(e.state.onError)e.state.onError(r);else throw r instanceof h?r:new h(r)}function qt(e){e.state.onDone&&e.state.onDone()}function Yr(e,r,t){try{e.state.onParse(r,t)}catch(n){Lr(e,n)}}function Wr(e){e.state.pending++}function me(e){--e.state.pending<=0&&qt(e)}function Y(e,r){try{return R(e,r)}catch(t){return Lr(e,t),o}}function Kr(e,r){let t=Y(e,r);t&&(Yr(e,t,!0),e.state.initial=!1,ga(e,e.state),e.state.pending<=0&&sr(e))}function ga(e,r){for(let t=0,n=r.buffer.length;t<n;t++)Yr(e,r.buffer[t],!1)}function sr(e){e.state.alive&&(qt(e),e.state.alive=!1)}function hi(e,r={}){let t=v(r.plugins),n=ae(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=se(n,e),s=nr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return ar(s,a)}async function wi(e,r={}){let t=v(r.plugins),n=ee(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=await re(n,e),s=nr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return ar(s,a)}function zi(e,r={}){let t=v(r.plugins),n=ae(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return se(n,e)}async function ki(e,r={}){let t=v(r.plugins),n=ee(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return await re(n,e)}function Xt(e,r){let t=v(r.plugins),n=jr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse(a,s){let i=nr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked}),l;try{l=ar(i,a)}catch(u){r.onError&&r.onError(u);return}r.onSerialize(l,s)},onError:r.onError,onDone:r.onDone});return Kr(n,e),sr.bind(null,n)}function _i(e,r){let t=v(r.plugins),n=jr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse:r.onParse,onError:r.onError,onDone:r.onDone});return Kr(n,e),sr.bind(null,n)}function Di(e,r){let t=v(r.plugins),n=ht({plugins:t,refs:r.refs});return er(n,e)}var ir=class{constructor(r){this.options=r;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=v(r.plugins)}write(r,t){this.alive&&!this.flushed&&(this.pending++,this.keys.add(r),this.cleanups.push(Xt(t,{plugins:this.plugins,scopeId:this.options.scopeId,refs:this.refs,disabledFeatures:this.options.disabledFeatures,onError:this.options.onError,onSerialize:(n,a)=>{this.alive&&this.options.onData(a?this.options.globalIdentifier+'["'+y(r)+'"]='+n:n)},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(r){let t=this.getNextID();return this.write(t,r),t}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 r=0,t=this.cleanups.length;r<t;r++)this.cleanups[r]();!this.done&&this.options.onDone&&(this.options.onDone(),this.done=!0),this.alive=!1}}};function Gi(e,r={}){let t=v(r.plugins),n=ae(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=se(n,e),s=tr({plugins:t,features:n.base.features,markedRefs:n.base.marked});return or(s,a)}async function Zi(e,r={}){let t=v(r.plugins),n=ee(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=await re(n,e),s=tr({plugins:t,features:n.base.features,markedRefs:n.base.marked});return or(s,a)}function Ji(e){return(0,eval)(e)}function Hi(e,r={}){let t=v(r.plugins),n=ae(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:se(n,e),f:n.base.features,m:Array.from(n.base.marked)}}async function $i(e,r={}){let t=v(r.plugins),n=ee(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:await re(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function qi(e,r={}){let t=v(r.plugins),n=tr({plugins:t,features:e.f,markedRefs:e.m});return or(n,e.t)}function Xi(e,r={}){let t=v(r.plugins),n=Ot({plugins:t,markedRefs:e.m});return er(n,e.t)}export{K as Feature,j as OpaqueReference,ir as Serializer,Ye as SerovalDeserializationError,ue as SerovalError,D as SerovalMissingInstanceError,q as SerovalMissingPluginError,be as SerovalMissingReferenceError,Ae as SerovalMissingReferenceForIdError,te as SerovalMode,h as SerovalParserError,Cr as SerovalSerializationError,We as SerovalUnknownTypedArrayError,k as SerovalUnsupportedNodeError,E as SerovalUnsupportedTypeError,qi as compileJSON,_s as createPlugin,tn as createReference,Q as createStream,hi as crossSerialize,wi as crossSerializeAsync,Xt as crossSerializeStream,Ji as deserialize,Di as fromCrossJSON,Xi as fromJSON,rn as getCrossReferenceHeader,v as resolvePlugins,Gi as serialize,Zi as serializeAsync,zi as toCrossJSON,ki as toCrossJSONAsync,_i as toCrossJSONStream,Hi as toJSON,$i as toJSONAsync};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { WellKnownSymbols } from './constants';
|
|
2
|
-
import type { SerovalAggregateErrorNode,
|
|
2
|
+
import type { SerovalAggregateErrorNode, 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;
|
|
@@ -7,7 +7,6 @@ export declare function createBigIntNode(current: bigint): SerovalBigIntNode;
|
|
|
7
7
|
export declare function createIndexedValueNode(id: number): SerovalIndexedValueNode;
|
|
8
8
|
export declare function createDateNode(id: number, current: Date): SerovalDateNode;
|
|
9
9
|
export declare function createRegExpNode(id: number, current: RegExp): SerovalRegExpNode;
|
|
10
|
-
export declare function createArrayBufferNode(id: number, current: ArrayBuffer): SerovalArrayBufferNode;
|
|
11
10
|
export declare function createWKSymbolNode(id: number, current: WellKnownSymbols): SerovalWKSymbolNode;
|
|
12
11
|
export declare function createReferenceNode<T>(id: number, ref: T): SerovalReferenceNode;
|
|
13
12
|
export declare function createPluginNode(id: number, tag: string, value: unknown): SerovalPluginNode;
|
|
@@ -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;AAWpD,OAAO,KAAK,EACV,yBAAyB,EACzB,
|
|
1
|
+
{"version":3,"file":"base-primitives.d.ts","sourceRoot":"","sources":["../../../src/core/base-primitives.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../src/core/compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../src/core/compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,oBAAY,OAAO;IACjB,cAAc,IAAO;IAErB,aAAa,IAAO;IACpB,mBAAmB,IAAO;IAC1B,YAAY,IAAO;IACnB,gBAAgB,KAAO;CACxB;AAED,eAAO,MAAM,WAAW,QAKE,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SYM_ASYNC_ITERATOR, SYM_HAS_INSTANCE, SYM_IS_CONCAT_SPREADABLE, SYM_ITERATOR, SYM_MATCH, SYM_MATCH_ALL, SYM_REPLACE, SYM_SEARCH, SYM_SPECIES, SYM_SPLIT, SYM_TO_PRIMITIVE, SYM_TO_STRING_TAG, SYM_UNSCOPABLES } from "./symbols";
|
|
1
2
|
export declare const enum SerovalConstant {
|
|
2
3
|
Null = 0,
|
|
3
4
|
Undefined = 1,
|
|
@@ -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,cAAc,KAAK;IACnB,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;CAClB;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"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE1O,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,cAAc,KAAK;IACnB,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;CAClB;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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { Stream } from './stream';
|
|
2
|
+
type SpecialPromise = Promise<unknown> & {
|
|
3
|
+
s?: 1 | 2;
|
|
4
|
+
v?: unknown;
|
|
5
|
+
};
|
|
6
|
+
export interface PromiseConstructorResolver {
|
|
7
|
+
p: SpecialPromise;
|
|
8
|
+
s: (value: unknown) => void;
|
|
9
|
+
f: (value: unknown) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare const PROMISE_CONSTRUCTOR: () => PromiseConstructorResolver;
|
|
12
|
+
export declare const PROMISE_SUCCESS: (resolver: PromiseConstructorResolver, data: unknown) => void;
|
|
13
|
+
export declare const PROMISE_FAILURE: (resolver: PromiseConstructorResolver, data: unknown) => void;
|
|
14
|
+
export declare const SERIALIZED_PROMISE_CONSTRUCTOR: string;
|
|
15
|
+
export declare const SERIALIZED_PROMISE_SUCCESS: string;
|
|
16
|
+
export declare const SERIALIZED_PROMISE_FAILURE: string;
|
|
17
|
+
interface StreamListener<T> {
|
|
18
|
+
next(value: T): void;
|
|
19
|
+
throw(value: unknown): void;
|
|
20
|
+
return(value: T): void;
|
|
21
|
+
}
|
|
22
|
+
export declare const STREAM_CONSTRUCTOR: () => {
|
|
23
|
+
__SEROVAL_STREAM__: boolean;
|
|
24
|
+
on: (listener: StreamListener<unknown>) => () => void;
|
|
25
|
+
next: (value: unknown) => void;
|
|
26
|
+
throw: (value: unknown) => void;
|
|
27
|
+
return: (value: unknown) => void;
|
|
28
|
+
};
|
|
29
|
+
export declare const SERIALIZED_STREAM_CONSTRUCTOR: string;
|
|
30
|
+
export interface Sequence {
|
|
31
|
+
v: unknown[];
|
|
32
|
+
t: number;
|
|
33
|
+
d: number;
|
|
34
|
+
}
|
|
35
|
+
export declare const ITERATOR_CONSTRUCTOR: (symbol: symbol) => (sequence: Sequence) => () => {
|
|
36
|
+
[x: symbol]: () => /*elided*/ any;
|
|
37
|
+
next: () => {
|
|
38
|
+
done: boolean;
|
|
39
|
+
value: unknown;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
export declare const SERIALIZED_ITERATOR_CONSTRUCTOR: string;
|
|
43
|
+
export declare const ASYNC_ITERATOR_CONSTRUCTOR: (symbol: symbol, createPromise: typeof PROMISE_CONSTRUCTOR) => (stream: Stream<unknown>) => () => {
|
|
44
|
+
[x: symbol]: () => /*elided*/ any;
|
|
45
|
+
next: () => SpecialPromise | {
|
|
46
|
+
done: boolean;
|
|
47
|
+
value: unknown;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export declare const SERIALIZED_ASYNC_ITERATOR_CONSTRUCTOR: string;
|
|
51
|
+
export declare const ARRAY_BUFFER_CONSTRUCTOR: (length: number, b64: string) => ArrayBuffer;
|
|
52
|
+
export declare const SERIALIZED_ARRAY_BUFFER_CONSTRUCTOR: string;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=constructors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constructors.d.ts","sourceRoot":"","sources":["../../../src/core/constructors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,KAAK,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG;IAAE,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEpE,MAAM,WAAW,0BAA0B;IACzC,CAAC,EAAE,cAAc,CAAC;IAClB,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5B,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,mBAAmB,QAAO,0BAWtC,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,0BAA0B,EACpC,MAAM,OAAO,KACZ,IAIF,CAAC;AAEF,eAAO,MAAM,eAAe,GAC1B,UAAU,0BAA0B,EACpC,MAAM,OAAO,KACZ,IAIF,CAAC;AAEF,eAAO,MAAM,8BAA8B,QACK,CAAC;AACjD,eAAO,MAAM,0BAA0B,QACK,CAAC;AAC7C,eAAO,MAAM,0BAA0B,QACK,CAAC;AAE7C,UAAU,cAAc,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IACrB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB;;mBA+CZ,cAAc,CAAC,OAAO,CAAC;kBACxB,OAAO;mBAMN,OAAO;oBASN,OAAO;CAU1B,CAAC;AAEF,eAAO,MAAM,6BAA6B,QACK,CAAC;AAEhD,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,OAAO,EAAE,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,eAAO,MAAM,oBAAoB,GAC9B,QAAQ,MAAM,MAAM,UAAU,QAAQ;;;;;;CAuBtC,CAAC;AAEJ,eAAO,MAAM,+BAA+B,QACK,CAAC;AAElD,eAAO,MAAM,0BAA0B,GACpC,QAAQ,MAAM,EAAE,eAAe,OAAO,mBAAmB,MACzD,QAAQ,MAAM,CAAC,OAAO,CAAC;;;;;;CAoFvB,CAAC;AAEJ,eAAO,MAAM,qCAAqC,QACK,CAAC;AAExD,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,EAAE,KAAK,MAAM,gBAOnE,CAAC;AAEF,eAAO,MAAM,mCAAmC,QACK,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { SerovalMode } from '../plugin';
|
|
2
|
+
import type { SerovalNode } from '../types';
|
|
3
|
+
import type { BaseParserContext, BaseParserContextOptions } from './parser';
|
|
4
|
+
export type AsyncParserContextOptions = BaseParserContextOptions;
|
|
5
|
+
export interface AsyncParserContext {
|
|
6
|
+
base: BaseParserContext;
|
|
7
|
+
child: AsyncParsePluginContext | undefined;
|
|
8
|
+
}
|
|
9
|
+
export declare function createAsyncParserContext(mode: SerovalMode, options: AsyncParserContextOptions): AsyncParserContext;
|
|
10
|
+
export declare class AsyncParsePluginContext {
|
|
11
|
+
private _p;
|
|
12
|
+
constructor(_p: AsyncParserContext);
|
|
13
|
+
parse<T>(current: T): Promise<SerovalNode>;
|
|
14
|
+
}
|
|
15
|
+
export declare function parseObjectAsync(ctx: AsyncParserContext, id: number, current: object): Promise<SerovalNode>;
|
|
16
|
+
export declare function parseFunctionAsync(ctx: AsyncParserContext, current: unknown): Promise<SerovalNode>;
|
|
17
|
+
export declare function parseAsync<T>(ctx: AsyncParserContext, current: T): Promise<SerovalNode>;
|
|
18
|
+
export declare function parseTopAsync<T>(ctx: AsyncParserContext, current: T): Promise<SerovalNode>;
|
|
19
|
+
//# sourceMappingURL=async-parser.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"async-parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/async-parser.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAW7C,OAAO,KAAK,EAQV,WAAW,EAUZ,MAAM,UAAU,CAAC;AAQlB,OAAO,KAAK,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAoB5E,MAAM,MAAM,yBAAyB,GAAG,wBAAwB,CAAC;AAEjE,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,iBAAiB,CAAC;IACxB,KAAK,EAAE,uBAAuB,GAAG,SAAS,CAAC;CAC5C;AAED,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,yBAAyB,GACjC,kBAAkB,CAKpB;AAED,qBAAa,uBAAuB;IACtB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,kBAAkB;IAE1C,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;CAG3C;AA4SD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,kBAAkB,EACvB,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAgHtB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED,wBAAsB,UAAU,CAAC,CAAC,EAChC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,WAAW,CAAC,CA4BtB;AAED,wBAAsB,aAAa,CAAC,CAAC,EACnC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,CAAC,GACT,OAAO,CAAC,WAAW,CAAC,CAQtB"}
|
|
@@ -1,46 +1,44 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PluginAccessOptions } from '../plugin';
|
|
2
|
+
import { SerovalMode } from '../plugin';
|
|
2
3
|
import type { SerovalNode } from '../types';
|
|
3
|
-
export interface
|
|
4
|
+
export interface BaseDeserializerContextOptions extends PluginAccessOptions {
|
|
4
5
|
refs?: Map<number, unknown>;
|
|
5
6
|
}
|
|
6
|
-
export
|
|
7
|
-
|
|
7
|
+
export interface BaseDeserializerContext extends PluginAccessOptions {
|
|
8
|
+
readonly mode: SerovalMode;
|
|
8
9
|
/**
|
|
9
10
|
* Mapping ids to values
|
|
10
|
-
* @private
|
|
11
11
|
*/
|
|
12
12
|
refs: Map<number, unknown>;
|
|
13
|
-
plugins?: Plugin<any, any>[] | undefined;
|
|
14
|
-
constructor(options: BaseDeserializerOptions);
|
|
15
|
-
protected abstract assignIndexedValue<T>(id: number, value: T): T;
|
|
16
|
-
private deserializeReference;
|
|
17
|
-
private deserializeArray;
|
|
18
|
-
private deserializeProperties;
|
|
19
|
-
private deserializeObject;
|
|
20
|
-
private deserializeDate;
|
|
21
|
-
private deserializeRegExp;
|
|
22
|
-
private deserializeSet;
|
|
23
|
-
private deserializeMap;
|
|
24
|
-
private deserializeArrayBuffer;
|
|
25
|
-
private deserializeTypedArray;
|
|
26
|
-
private deserializeDataView;
|
|
27
|
-
private deserializeDictionary;
|
|
28
|
-
private deserializeAggregateError;
|
|
29
|
-
private deserializeError;
|
|
30
|
-
private deserializePromise;
|
|
31
|
-
private deserializeBoxed;
|
|
32
|
-
private deserializePlugin;
|
|
33
|
-
private deserializePromiseConstructor;
|
|
34
|
-
private deserializePromiseResolve;
|
|
35
|
-
private deserializePromiseReject;
|
|
36
|
-
private deserializeIteratorFactoryInstance;
|
|
37
|
-
private deserializeAsyncIteratorFactoryInstance;
|
|
38
|
-
private deserializeStreamConstructor;
|
|
39
|
-
private deserializeStreamNext;
|
|
40
|
-
private deserializeStreamThrow;
|
|
41
|
-
private deserializeStreamReturn;
|
|
42
|
-
private deserializeIteratorFactory;
|
|
43
|
-
private deserializeAsyncIteratorFactory;
|
|
44
|
-
deserialize(node: SerovalNode): unknown;
|
|
45
13
|
}
|
|
14
|
+
export declare function createBaseDeserializerContext(mode: SerovalMode, options: BaseDeserializerContextOptions): BaseDeserializerContext;
|
|
15
|
+
export interface VanillaDeserializerContextOptions extends Omit<BaseDeserializerContextOptions, 'refs'> {
|
|
16
|
+
markedRefs: number[] | Set<number>;
|
|
17
|
+
}
|
|
18
|
+
export interface VanillaDeserializerState {
|
|
19
|
+
marked: Set<number>;
|
|
20
|
+
}
|
|
21
|
+
export interface VanillaDeserializerContext {
|
|
22
|
+
mode: SerovalMode.Vanilla;
|
|
23
|
+
base: BaseDeserializerContext;
|
|
24
|
+
child: DeserializePluginContext | undefined;
|
|
25
|
+
state: VanillaDeserializerState;
|
|
26
|
+
}
|
|
27
|
+
export declare function createVanillaDeserializerContext(options: VanillaDeserializerContextOptions): VanillaDeserializerContext;
|
|
28
|
+
export interface CrossDeserializerContext {
|
|
29
|
+
mode: SerovalMode.Cross;
|
|
30
|
+
base: BaseDeserializerContext;
|
|
31
|
+
child: DeserializePluginContext | undefined;
|
|
32
|
+
}
|
|
33
|
+
export type CrossDeserializerContextOptions = BaseDeserializerContextOptions;
|
|
34
|
+
export declare function createCrossDeserializerContext(options: CrossDeserializerContextOptions): CrossDeserializerContext;
|
|
35
|
+
type DeserializerContext = VanillaDeserializerContext | CrossDeserializerContext;
|
|
36
|
+
export declare class DeserializePluginContext {
|
|
37
|
+
private _p;
|
|
38
|
+
constructor(_p: DeserializerContext);
|
|
39
|
+
deserialize<T>(node: SerovalNode): T;
|
|
40
|
+
}
|
|
41
|
+
export declare function deserialize(ctx: DeserializerContext, node: SerovalNode): unknown;
|
|
42
|
+
export declare function deserializeTop(ctx: DeserializerContext, node: SerovalNode): unknown;
|
|
43
|
+
export {};
|
|
46
44
|
//# sourceMappingURL=deserializer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/deserializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deserializer.d.ts","sourceRoot":"","sources":["../../../../src/core/context/deserializer.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAKxC,OAAO,KAAK,EAcV,WAAW,EAkBZ,MAAM,UAAU,CAAC;AAyBlB,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7B;AAED,MAAM,WAAW,uBAAwB,SAAQ,mBAAmB;IAClE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B;;OAEG;IACH,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5B;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAMzB;AAED,MAAM,WAAW,iCACf,SAAQ,IAAI,CAAC,8BAA8B,EAAE,MAAM,CAAC;IACpD,UAAU,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CACrB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC;IAC1B,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,wBAAwB,CAAC;CACjC;AAED,wBAAgB,gCAAgC,CAC9C,OAAO,EAAE,iCAAiC,GACzC,0BAA0B,CAS5B;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC,KAAK,CAAC;IACxB,IAAI,EAAE,uBAAuB,CAAC;IAC9B,KAAK,EAAE,wBAAwB,GAAG,SAAS,CAAC;CAC7C;AAED,MAAM,MAAM,+BAA+B,GAAG,8BAA8B,CAAC;AAE7E,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,+BAA+B,GACvC,wBAAwB,CAM1B;AAED,KAAK,mBAAmB,GACpB,0BAA0B,GAC1B,wBAAwB,CAAC;AAE7B,qBAAa,wBAAwB;IACvB,OAAO,CAAC,EAAE;gBAAF,EAAE,EAAE,mBAAmB;IAE3C,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC;CAGrC;AA8YD,wBAAgB,WAAW,CACzB,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAwET;AAED,wBAAgB,cAAc,CAC5B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAMT"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { 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 { SerovalArrayBufferNode, 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>;
|
|
@@ -23,25 +23,38 @@ export interface ReferencedNode {
|
|
|
23
23
|
value: SerovalReferenceNode;
|
|
24
24
|
}
|
|
25
25
|
type ObjectNode = FreshNode | IndexedNode | ReferencedNode;
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
features: number;
|
|
26
|
+
export interface BaseParserContext extends PluginAccessOptions {
|
|
27
|
+
readonly mode: SerovalMode;
|
|
29
28
|
marked: Set<number>;
|
|
30
29
|
refs: Map<unknown, number>;
|
|
31
|
-
|
|
32
|
-
constructor(options: BaseParserContextOptions);
|
|
33
|
-
protected markRef(id: number): void;
|
|
34
|
-
protected isMarked(id: number): boolean;
|
|
35
|
-
protected createIndex<T>(current: T): number;
|
|
36
|
-
protected getIndexedValue<T>(current: T): FreshNode | IndexedNode;
|
|
37
|
-
protected getReference<T>(current: T): ObjectNode;
|
|
38
|
-
protected parseWellKnownSymbol(current: symbol): SerovalIndexedValueNode | SerovalWKSymbolNode | SerovalReferenceNode;
|
|
39
|
-
protected parseSpecialReference(ref: SpecialReference): SerovalIndexedValueNode | SerovalSpecialReferenceNode;
|
|
40
|
-
protected parseIteratorFactory(): SerovalIndexedValueNode | SerovalIteratorFactoryNode;
|
|
41
|
-
protected parseAsyncIteratorFactory(): SerovalIndexedValueNode | SerovalAsyncIteratorFactoryNode;
|
|
42
|
-
protected createObjectNode(id: number, current: Record<string, unknown>, empty: boolean, record: SerovalObjectRecordNode): SerovalObjectNode | SerovalNullConstructorNode;
|
|
43
|
-
protected createMapNode(id: number, k: SerovalNode[], v: SerovalNode[], s: number): SerovalMapNode;
|
|
44
|
-
protected createPromiseConstructorNode(id: number, resolver: number): SerovalPromiseConstructorNode;
|
|
30
|
+
features: number;
|
|
45
31
|
}
|
|
32
|
+
export declare function createBaseParserContext(mode: SerovalMode, options: BaseParserContextOptions): BaseParserContext;
|
|
33
|
+
/**
|
|
34
|
+
* Ensures that the value (based on an identifier) has been visited by the parser.
|
|
35
|
+
* @param ctx
|
|
36
|
+
* @param id
|
|
37
|
+
*/
|
|
38
|
+
export declare function markParserRef(ctx: BaseParserContext, id: number): void;
|
|
39
|
+
export declare function isParserRefMarked(ctx: BaseParserContext, id: number): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Creates an identifier for a value
|
|
42
|
+
* @param ctx
|
|
43
|
+
* @param current
|
|
44
|
+
*/
|
|
45
|
+
export declare function createIndexForValue<T>(ctx: BaseParserContext, current: T): number;
|
|
46
|
+
export declare function getNodeForIndexedValue<T>(ctx: BaseParserContext, current: T): FreshNode | IndexedNode;
|
|
47
|
+
export declare function getReferenceNode<T>(ctx: BaseParserContext, current: T): ObjectNode;
|
|
48
|
+
/**
|
|
49
|
+
* Parsing methods
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseWellKnownSymbol(ctx: BaseParserContext, current: symbol): SerovalIndexedValueNode | SerovalWKSymbolNode | SerovalReferenceNode;
|
|
52
|
+
export declare function parseSpecialReference(ctx: BaseParserContext, ref: SpecialReference): SerovalIndexedValueNode | SerovalSpecialReferenceNode;
|
|
53
|
+
export declare function parseIteratorFactory(ctx: BaseParserContext): SerovalIndexedValueNode | SerovalIteratorFactoryNode;
|
|
54
|
+
export declare function parseAsyncIteratorFactory(ctx: BaseParserContext): SerovalIndexedValueNode | SerovalAsyncIteratorFactoryNode;
|
|
55
|
+
export declare function createObjectNode(id: number, current: Record<string, unknown>, empty: boolean, record: SerovalObjectRecordNode): SerovalObjectNode | SerovalNullConstructorNode;
|
|
56
|
+
export declare function createMapNode(ctx: BaseParserContext, id: number, k: SerovalNode[], v: SerovalNode[], s: number): SerovalMapNode;
|
|
57
|
+
export declare function createPromiseConstructorNode(ctx: BaseParserContext, id: number, resolver: number): SerovalPromiseConstructorNode;
|
|
58
|
+
export declare function createArrayBufferNode(ctx: BaseParserContext, id: number, current: ArrayBuffer): SerovalArrayBufferNode;
|
|
46
59
|
export {};
|
|
47
60
|
//# sourceMappingURL=parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/parser.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../../src/core/context/parser.ts"],"names":[],"mappings":"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"}
|