seroval 1.3.2 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/development/index.cjs +2817 -2700
- package/dist/cjs/development/index.cjs.map +4 -4
- package/dist/cjs/production/index.cjs +3 -17
- package/dist/esm/development/index.mjs +2817 -2700
- 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 +3 -4
- package/dist/types/core/base-primitives.d.ts.map +1 -1
- package/dist/types/core/compat.d.ts +3 -2
- package/dist/types/core/compat.d.ts.map +1 -1
- package/dist/types/core/constants.d.ts +2 -1
- 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 +20 -0
- package/dist/types/core/context/async-parser.d.ts.map +1 -0
- package/dist/types/core/context/deserializer.d.ts +40 -38
- package/dist/types/core/context/deserializer.d.ts.map +1 -1
- package/dist/types/core/context/parser.d.ts +34 -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 +9 -0
- 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/literals.d.ts.map +1 -1
- package/dist/types/core/node.d.ts +1 -1
- package/dist/types/core/node.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/string.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 +7 -3
- package/dist/types/core/tree/index.d.ts.map +1 -1
- package/dist/types/core/types.d.ts +4 -11
- 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 +18 -21
- 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/Serializer.ts +0 -119
- package/src/core/base-primitives.ts +0 -542
- package/src/core/compat.ts +0 -20
- package/src/core/constants.ts +0 -185
- package/src/core/context/deserializer.ts +0 -456
- package/src/core/context/parser/async.ts +0 -495
- package/src/core/context/parser/stream.ts +0 -323
- package/src/core/context/parser/sync.ts +0 -404
- package/src/core/context/parser.ts +0 -270
- package/src/core/context/serializer.ts +0 -1180
- package/src/core/cross/async.ts +0 -9
- package/src/core/cross/deserializer.ts +0 -16
- package/src/core/cross/index.ts +0 -170
- 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/errors.ts +0 -102
- package/src/core/function-string.ts +0 -31
- package/src/core/keys.ts +0 -17
- package/src/core/literals.ts +0 -43
- package/src/core/node.ts +0 -40
- package/src/core/opaque-reference.ts +0 -9
- package/src/core/plugin.ts +0 -91
- package/src/core/reference.ts +0 -63
- package/src/core/special-reference.ts +0 -114
- package/src/core/stream.ts +0 -205
- package/src/core/string.ts +0 -84
- package/src/core/tree/async.ts +0 -9
- package/src/core/tree/deserializer.ts +0 -26
- package/src/core/tree/index.ts +0 -111
- package/src/core/tree/serializer.ts +0 -98
- package/src/core/tree/sync.ts +0 -9
- package/src/core/types.ts +0 -370
- package/src/core/utils/assert.ts +0 -5
- package/src/core/utils/deferred.ts +0 -22
- package/src/core/utils/error.ts +0 -73
- package/src/core/utils/get-identifier.ts +0 -18
- package/src/core/utils/get-object-flag.ts +0 -14
- package/src/core/utils/is-valid-identifier.ts +0 -12
- package/src/core/utils/iterator-to-sequence.ts +0 -66
- package/src/core/utils/promise-to-result.ts +0 -9
- package/src/core/utils/typed-array.ts +0 -56
- package/src/index.ts +0 -18
|
@@ -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 O="__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,C=new Map;function Ir(o,e){return Be.set(e,o),C.set(o,e),e}function je(o){return Be.has(o)}function Ar(o){return C.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)),C.get(o)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,O,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,O,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,O,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,O,{value:C,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 Oe(o,e){return u(33,o,s,s,s,s,s,s,s,e,s,s)}function Ce(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)}},Te=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 T=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 Or(o){return S(o,["r","d"],"r.f(d),r.p.s=2,r.p.v=d")}function Cr(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 Or(o);case 4:return Cr(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.parse(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.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),await this.parse(J(e))))),a=Symbol.asyncIterator,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),await this.parse(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.parse(r.valueOf()))}async parseTypedArray(e,r){return xe(e,r,await this.parse(r.buffer))}async parseBigIntTypedArray(e,r){return Ie(e,r,await this.parse(r.buffer))}async parseDataView(e,r){return Ae(e,r,await this.parse(r.buffer))}async parseError(e,r){let 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.parse(a)),n.push(await this.parse(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.parse(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.parse(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.parse(l).then(c=>{a.push(Re(e,c))},c=>{n(c),i()})},throw:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Oe(e,c)),t(a),i()},c=>{n(c),i()})},return:l=>{this.markRef(e),this.parse(l).then(c=>{a.push(Ce(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===T)return this.parse(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 parse(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 parseTop(e){try{return await this.parse(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,this.assignIndexedValue(e.s,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])}deserializeTop(e){try{return this.deserialize(e)}catch(r){throw new ze(r)}}deserialize(e){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)}}};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,O+'.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 Te(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.parse(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.parse(r[i][1]));let a=Symbol.iterator;return a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(M(this.parseIteratorFactory(),this.parse(J(e))))),a=Symbol.asyncIterator,a in e&&(t.push(this.parseWellKnownSymbol(a)),n.push(U(this.parseAsyncIteratorFactory(),this.parse(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.parse(r.valueOf()))}parseTypedArray(e,r){return xe(e,r,this.parse(r.buffer))}parseBigIntTypedArray(e,r){return Ie(e,r,this.parse(r.buffer))}parseDataView(e,r){return Ae(e,r,this.parse(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.parse(a)),n.push(this.parse(i));return this.createMapNode(e,t,n,r.size)}parseSet(e,r){let t=[];for(let n of r.keys())t.push(this.parse(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===T)return this.parse(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)}parse(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)}}parseTop(e){try{return this.parse(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.parse(t[l][1]));let i=Symbol.iterator;return i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(M(this.parseIteratorFactory(),this.parse(J(r))))),i=Symbol.asyncIterator,i in r&&(n.push(this.parseWellKnownSymbol(i)),a.push(U(this.parseAsyncIteratorFactory(),this.parse(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(Oe(r,i))}this.popPendingState()},return:a=>{if(this.alive){let i=this.parseWithError(a);i&&this.onParse(Ce(r,i))}this.popPendingState()}}),n}parseWithError(r){try{return this.parse(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.parseTop(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.parseTop(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}).parseTop(o)}async function go(o,e={}){let r=m(e.plugins);return await new $({plugins:r,disabledFeatures:e.disabledFeatures,refs:e.refs}).parseTop(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}).deserializeTop(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.parseTop(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.parseTop(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.parseTop(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.parseTop(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}).deserializeTop(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,T 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,Te 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 L=(i=>(i[i.AggregateError=1]="AggregateError",i[i.ArrowFunction=2]="ArrowFunction",i[i.ErrorPrototypeStack=4]="ErrorPrototypeStack",i[i.ObjectAssign=8]="ObjectAssign",i[i.BigIntTypedArray=16]="BigIntTypedArray",i[i.RegExp=32]="RegExp",i))(L||{});var N=Symbol.asyncIterator,fr=Symbol.hasInstance,I=Symbol.isConcatSpreadable,b=Symbol.iterator,Sr=Symbol.match,mr=Symbol.matchAll,pr=Symbol.replace,dr=Symbol.search,gr=Symbol.species,yr=Symbol.split,Nr=Symbol.toPrimitive,P=Symbol.toStringTag,br=Symbol.unscopables;var qr={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={[N]:0,[fr]:1,[I]:2,[b]:3,[Sr]:4,[mr]:5,[pr]:6,[dr]:7,[gr]:8,[yr]:9,[Nr]:10,[P]:11,[br]:12},Xr={0:N,1:fr,2:I,3:b,4:Sr,5:mr,6:pr,7:dr,8:gr,9:yr,10:Nr,11:P,12:br},Qr={2:"!0",3:"!1",1:"void 0",0:"null",4:"-0",5:"1/0",6:"-1/0",7:"0/0"},o=void 0,et={2:!0,3:!1,1:o,0:null,4:-0,5:Number.POSITIVE_INFINITY,6:Number.NEGATIVE_INFINITY,7:Number.NaN};var ve={0:"Error",1:"EvalError",2:"RangeError",3:"ReferenceError",4:"SyntaxError",5:"TypeError",6:"URIError"},rt={0:Error,1:EvalError,2:RangeError,3:ReferenceError,4:SyntaxError,5:TypeError,6:URIError};function c(e,r,t,n,a,s,i,u,l,d,S){return{t:e,i:r,s:t,c:n,m:a,p:s,e:i,a:u,f:l,b:d,o:S}}function D(e){return c(2,o,e,o,o,o,o,o,o,o,o)}var Z=D(2),$=D(3),Ae=D(1),Re=D(0),tt=D(4),nt=D(5),ot=D(6),at=D(7);function sn(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 o}}function y(e){let r="",t=0,n;for(let a=0,s=e.length;a<s;a++)n=sn(e[a]),n&&(r+=e.slice(t,a)+n,t=a+1);return t===0?r=e:r+=e.slice(t),r}function un(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 F(e){return e.replace(/(\\\\|\\"|\\n|\\r|\\b|\\t|\\f|\\u2028|\\u2029|\\x3C)/g,un)}var U="__SEROVAL_REFS__",ce="$R",Ee=`self.${ce}`;function ln(e){return e==null?`${Ee}=${Ee}||[]`:`(${Ee}=${Ee}||{})["${y(e)}"]=[]`}var Cr=new Map,j=new Map;function cn(e,r){return Cr.set(r,e),j.set(e,r),r}function vr(e){return Cr.has(e)}function fn(e){return j.has(e)}function st(e){if(vr(e))return Cr.get(e);throw new Ie(e)}function it(e){if(fn(e))return j.get(e);throw new Pe(e)}typeof globalThis!="undefined"?Object.defineProperty(globalThis,U,{value:j,configurable:!0,writable:!1,enumerable:!1}):typeof window!="undefined"?Object.defineProperty(window,U,{value:j,configurable:!0,writable:!1,enumerable:!1}):typeof self!="undefined"?Object.defineProperty(self,U,{value:j,configurable:!0,writable:!1,enumerable:!1}):typeof global!="undefined"&&Object.defineProperty(global,U,{value:j,configurable:!0,writable:!1,enumerable:!1});function xe(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 Sn(e){let r=ve[xe(e)];return e.name!==r?{name:e.name}:e.constructor.name!==r?{name:e.constructor.name}:{}}function q(e,r){let t=Sn(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 Te(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:Object.isExtensible(e)?0:1}function Oe(e){switch(e){case Number.POSITIVE_INFINITY:return nt;case Number.NEGATIVE_INFINITY:return ot}return e!==e?at:Object.is(e,-0)?tt:c(0,o,e,o,o,o,o,o,o,o,o)}function X(e){return c(1,o,y(e),o,o,o,o,o,o,o,o)}function we(e){return c(3,o,""+e,o,o,o,o,o,o,o,o)}function lt(e){return c(4,e,o,o,o,o,o,o,o,o,o)}function he(e,r){let t=r.valueOf();return c(5,e,t!==t?"":r.toISOString(),o,o,o,o,o,o,o,o)}function ze(e,r){return c(6,e,o,y(r.source),r.flags,o,o,o,o,o,o)}function ct(e,r){return c(17,e,Ce[r],o,o,o,o,o,o,o,o)}function ft(e,r){return c(18,e,y(st(r)),o,o,o,o,o,o,o,o)}function fe(e,r,t){return c(25,e,t,y(r),o,o,o,o,o,o,o)}function _e(e,r,t){return c(9,e,o,o,o,o,o,t,o,o,Te(r))}function ke(e,r){return c(21,e,o,o,o,o,o,o,r,o,o)}function De(e,r,t){return c(15,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o)}function Fe(e,r,t){return c(16,e,o,r.constructor.name,o,o,o,o,t,r.byteOffset,o)}function Be(e,r,t){return c(20,e,o,o,o,o,o,o,t,r.byteOffset,o)}function Me(e,r,t){return c(13,e,xe(r),o,y(r.message),t,o,o,o,o,o)}function Ve(e,r,t){return c(14,e,xe(r),o,y(r.message),t,o,o,o,o,o)}function Le(e,r){return c(7,e,o,o,o,o,o,r,o,o,o)}function Ue(e,r){return c(28,o,o,o,o,o,o,[e,r],o,o,o)}function je(e,r){return c(30,o,o,o,o,o,o,[e,r],o,o,o)}function Ye(e,r,t){return c(31,e,o,o,o,o,o,t,r,o,o)}function We(e,r){return c(32,e,o,o,o,o,o,o,r,o,o)}function Ge(e,r){return c(33,e,o,o,o,o,o,o,r,o,o)}function Ke(e,r){return c(34,e,o,o,o,o,o,o,r,o,o)}var{toString:us}=Object.prototype;var mn={parsing:1,serialization:2,deserialization:3};function pn(e){return`Seroval Error (step: ${mn[e]})`}var dn=(e,r)=>pn(e),Se=class extends Error{constructor(t,n){super(dn(t,n));this.cause=n}},z=class extends Se{constructor(r){super("parsing",r)}},Ar=class extends Se{constructor(r){super("serialization",r)}},He=class extends Se{constructor(r){super("deserialization",r)}};function _(e){return`Seroval Error (specific: ${e})`}var x=class extends Error{constructor(t){super(_(1));this.value=t}},O=class extends Error{constructor(r){super(_(2))}},Q=class extends Error{constructor(r){super(_(3))}},B=class extends Error{constructor(r){super(_(4))}},Ie=class extends Error{constructor(t){super(_(5));this.value=t}},Pe=class extends Error{constructor(r){super(_(6))}},Je=class extends Error{constructor(r){super(_(7))}},w=class extends Error{constructor(r){super(_(8))}},St=class extends Error{constructor(r){super(_(9))}},ee=class extends Error{constructor(r){super(_(9))}};var Y=class{constructor(r,t){this.value=r;this.replacement=t}};var re=()=>{let e={p:0,s:0,f:0};return e.p=new Promise((r,t)=>{e.s=r,e.f=t}),e},gn=(e,r)=>{e.s(r),e.p.s=1,e.p.v=r},yn=(e,r)=>{e.f(r),e.p.s=2,e.p.v=r},mt=re.toString(),pt=gn.toString(),dt=yn.toString(),Rr=()=>{let e=[],r=[],t=!0,n=!1,a=0,s=(l,d,S)=>{for(S=0;S<a;S++)r[S]&&r[S][d](l)},i=(l,d,S,g)=>{for(d=0,S=e.length;d<S;d++)g=e[d],!t&&d===S-1?l[n?"return":"throw"](g):l.next(g)},u=(l,d)=>(t&&(d=a++,r[d]=l),i(l),()=>{t&&(r[d]=r[a],r[a--]=void 0)});return{__SEROVAL_STREAM__:!0,on:l=>u(l),next:l=>{t&&(e.push(l),s(l,"next"))},throw:l=>{t&&(e.push(l),s(l,"throw"),t=!1,n=!1,r.length=0)},return:l=>{t&&(e.push(l),s(l,"return"),t=!1,n=!0,r.length=0)}}},gt=Rr.toString(),Er=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},yt=Er.toString(),Ir=(e,r)=>t=>()=>{let n=0,a=-1,s=!1,i=[],u=[],l=(S=0,g=u.length)=>{for(;S<g;S++)u[S].s({done:!0,value:void 0})};t.on({next:S=>{let g=u.shift();g&&g.s({done:!1,value:S}),i.push(S)},throw:S=>{let g=u.shift();g&&g.f(S),l(),a=i.length,s=!0,i.push(S)},return:S=>{let g=u.shift();g&&g.s({done:!0,value:S}),l(),a=i.length,i.push(S)}});let d={[e]:()=>d,next:()=>{if(a===-1){let H=n++;if(H>=i.length){let $r=r();return u.push($r),$r.p}return{done:!1,value:i[H]}}if(n>a)return{done:!0,value:void 0};let S=n++,g=i[S];if(S!==a)return{done:!1,value:g};if(s)throw g;return{done:!0,value:g}}};return d},Nt=Ir.toString(),Pr=e=>{let r=atob(e),t=r.length,n=new Uint8Array(t);for(let a=0;a<t;a++)n[a]=r.charCodeAt(a);return n.buffer},bt=Pr.toString();var Ct={},vt={};var At={0:{},1:{},2:{},3:{},4:{},5:{}},Rt={0:"[]",1:mt,2:pt,3:dt,4:gt,5:bt};function M(e){return"__SEROVAL_STREAM__"in e}function te(){return Rr()}function Ze(e){let r=te(),t=e[N]();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 Nn=Ir(N,re);function Et(e){return Nn(e)}function $e(e){let r=[],t=-1,n=-1,a=e[b]();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 bn=Er(b);function It(e){return bn(e)}async function xr(e){try{return[1,await e]}catch(r){return[0,r]}}function pe(e,r){return{plugins:r.plugins,mode:e,marked:new Set,features:63^(r.disabledFeatures||0),refs:r.refs||new Map,depthLimit:r.depthLimit||1e3}}function de(e,r){e.marked.add(r)}function Tr(e,r){let t=e.refs.size;return e.refs.set(r,t),t}function qe(e,r){let t=e.refs.get(r);return t!=null?(de(e,t),{type:1,value:lt(t)}):{type:0,value:Tr(e,r)}}function W(e,r){let t=qe(e,r);return t.type===1?t:vr(r)?{type:2,value:ft(t.value,r)}:t}function E(e,r){let t=W(e,r);if(t.type!==0)return t.value;if(r in Ce)return ct(t.value,r);throw new x(r)}function k(e,r){let t=qe(e,At[r]);return t.type===1?t.value:c(26,t.value,r,o,o,o,o,o,o,o,o)}function Xe(e){let r=qe(e,Ct);return r.type===1?r.value:c(27,r.value,o,o,o,o,o,o,E(e,b),o,o)}function Qe(e){let r=qe(e,vt);return r.type===1?r.value:c(29,r.value,o,o,o,o,o,[k(e,1),E(e,N)],o,o,o)}function er(e,r,t,n){return c(t?11:10,e,o,o,o,n,o,o,o,o,Te(r))}function rr(e,r,t,n){return c(8,r,o,o,o,o,{k:t,v:n},o,k(e,0),o,o)}function xt(e,r,t){return c(22,r,t,o,o,o,o,o,k(e,1),o,o)}function tr(e,r,t){let n=new Uint8Array(t),a="";for(let s=0,i=n.length;s<i;s++)a+=String.fromCharCode(n[s]);return c(19,r,y(btoa(a)),o,o,o,o,o,k(e,5),o,o)}function ne(e,r){return{base:pe(e,r),child:void 0}}var wr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return C(this._p,this.depth,r)}};async function vn(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=await C(e,r,t[a]):n[a]=0;return n}async function An(e,r,t,n){return _e(t,n,await vn(e,r,n))}async function hr(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(await C(e,r,n[i][1]));return b in t&&(a.push(E(e.base,b)),s.push(Ue(Xe(e.base),await C(e,r,$e(t))))),N in t&&(a.push(E(e.base,N)),s.push(je(Qe(e.base),await C(e,r,Ze(t))))),P in t&&(a.push(E(e.base,P)),s.push(X(t[P]))),I in t&&(a.push(E(e.base,I)),s.push(t[I]?Z:$)),{k:a,v:s}}async function Or(e,r,t,n,a){return er(t,n,a,await hr(e,r,n))}async function Rn(e,r,t,n){return ke(t,await C(e,r,n.valueOf()))}async function En(e,r,t,n){return De(t,n,await C(e,r,n.buffer))}async function In(e,r,t,n){return Fe(t,n,await C(e,r,n.buffer))}async function Pn(e,r,t,n){return Be(t,n,await C(e,r,n.buffer))}async function Tt(e,r,t,n){let a=q(n,e.base.features);return Me(t,n,a?await hr(e,r,a):o)}async function xn(e,r,t,n){let a=q(n,e.base.features);return Ve(t,n,a?await hr(e,r,a):o)}async function Tn(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(await C(e,r,i)),s.push(await C(e,r,u));return rr(e.base,t,a,s)}async function On(e,r,t,n){let a=[];for(let s of n.keys())a.push(await C(e,r,s));return Le(t,a)}async function Ot(e,r,t,n){let a=e.base.plugins;if(a)for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.async&&u.test(n))return fe(t,u.tag,await u.parse.async(n,new wr(e,r),{id:t}))}return o}async function wn(e,r,t,n){let[a,s]=await xr(n);return c(12,t,a,o,o,o,o,o,await C(e,r,s),o,o)}function hn(e,r,t,n,a){let s=[],i=t.on({next:u=>{de(this.base,r),C(this,e,u).then(l=>{s.push(We(r,l))},l=>{a(l),i()})},throw:u=>{de(this.base,r),C(this,e,u).then(l=>{s.push(Ge(r,l)),n(s),i()},l=>{a(l),i()})},return:u=>{de(this.base,r),C(this,e,u).then(l=>{s.push(Ke(r,l)),n(s),i()},l=>{a(l),i()})}})}async function zn(e,r,t,n){return Ye(t,k(e.base,4),await new Promise(hn.bind(e,r,t,n)))}async function _n(e,r,t,n){if(Array.isArray(n))return An(e,r,t,n);if(M(n))return zn(e,r,t,n);let a=n.constructor;if(a===Y)return C(e,r,n.replacement);let s=await Ot(e,r,t,n);if(s)return s;switch(a){case Object:return Or(e,r,t,n,!1);case o:return Or(e,r,t,n,!0);case Date:return he(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return Tt(e,r,t,n);case Number:case Boolean:case String:case BigInt:return Rn(e,r,t,n);case ArrayBuffer:return tr(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return En(e,r,t,n);case DataView:return Pn(e,r,t,n);case Map:return Tn(e,r,t,n);case Set:return On(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return wn(e,r,t,n);let i=e.base.features;if(i&32&&a===RegExp)return ze(t,n);if(i&16)switch(a){case BigInt64Array:case BigUint64Array:return In(e,r,t,n);default:break}if(i&1&&typeof AggregateError!="undefined"&&(a===AggregateError||n instanceof AggregateError))return xn(e,r,t,n);if(n instanceof Error)return Tt(e,r,t,n);if(b in n||N in n)return Or(e,r,t,n,!!a);throw new x(n)}async function kn(e,r,t){let n=W(e.base,t);if(n.type!==0)return n.value;let a=await Ot(e,r,n.value,t);if(a)return a;throw new x(t)}async function C(e,r,t){switch(typeof t){case"boolean":return t?Z:$;case"undefined":return Ae;case"string":return X(t);case"number":return Oe(t);case"bigint":return we(t);case"object":{if(t){let n=W(e.base,t);return n.type===0?await _n(e,r+1,n.value,t):n.value}return Re}case"symbol":return E(e.base,t);case"function":return kn(e,r,t);default:throw new x(t)}}async function oe(e,r){try{return await C(e,0,r)}catch(t){throw t instanceof z?t:new z(t)}}var ae=(t=>(t[t.Vanilla=1]="Vanilla",t[t.Cross=2]="Cross",t))(ae||{});function Js(e){return e}function wt(e,r){for(let t=0,n=r.length;t<n;t++){let a=r[t];e.has(a)||(e.add(a),a.extends&&wt(e,a.extends))}}function A(e){if(e){let r=new Set;return wt(r,e),[...r]}}function ht(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 Je(e)}}var Dn=1e6,Fn=1e4,Bn=2e4;function _t(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}}var Mn=1e3;function kt(e,r){var t;return{mode:e,plugins:r.plugins,refs:r.refs||new Map,features:(t=r.features)!=null?t:63^(r.disabledFeatures||0),depthLimit:r.depthLimit||Mn}}function Dt(e){return{mode:1,base:kt(1,e),child:o,state:{marked:new Set(e.markedRefs)}}}function Ft(e){return{mode:2,base:kt(2,e),child:o}}var zr=class{constructor(r,t){this._p=r;this.depth=t}deserialize(r){return p(this._p,this.depth,r)}};function Bt(e,r){if(r<0||!Number.isFinite(r)||!Number.isInteger(r))throw new w({t:4,i:r});if(e.refs.has(r))throw new Error("Conflicted ref id: "+r)}function Vn(e,r,t){return Bt(e.base,r),e.state.marked.has(r)&&e.base.refs.set(r,t),t}function Ln(e,r,t){return Bt(e.base,r),e.base.refs.set(r,t),t}function v(e,r,t){return e.mode===1?Vn(e,r,t):Ln(e,r,t)}function _r(e,r,t){if(Object.hasOwn(r,t))return r[t];throw new w(e)}function Un(e,r){return v(e,r.i,it(F(r.s)))}function jn(e,r,t){let n=t.a,a=n.length,s=v(e,t.i,new Array(a));for(let i=0,u;i<a;i++)u=n[i],u&&(s[i]=p(e,r,u));return _t(s,t.o),s}function Yn(e){switch(e){case"constructor":case"__proto__":case"prototype":case"__defineGetter__":case"__defineSetter__":case"__lookupGetter__":case"__lookupSetter__":return!1;default:return!0}}function Wn(e){switch(e){case N:case I:case P:case b:return!0;default:return!1}}function zt(e,r,t){Yn(r)?e[r]=t:Object.defineProperty(e,r,{value:t,configurable:!0,enumerable:!0,writable:!0})}function Gn(e,r,t,n,a){if(typeof n=="string")zt(t,n,p(e,r,a));else{let s=p(e,r,n);switch(typeof s){case"string":zt(t,s,p(e,r,a));break;case"symbol":Wn(s)&&(t[s]=p(e,r,a));break;default:throw new w(n)}}}function Mt(e,r,t,n){let a=t.k;if(a.length>0)for(let i=0,u=t.v,l=a.length;i<l;i++)Gn(e,r,n,a[i],u[i]);return n}function Kn(e,r,t){let n=v(e,t.i,t.t===10?{}:Object.create(null));return Mt(e,r,t.p,n),_t(n,t.o),n}function Hn(e,r){return v(e,r.i,new Date(r.s))}function Jn(e,r){if(e.base.features&32){let t=F(r.c);if(t.length>Bn)throw new w(r);return v(e,r.i,new RegExp(t,r.m))}throw new O(r)}function Zn(e,r,t){let n=v(e,t.i,new Set);for(let a=0,s=t.a,i=s.length;a<i;a++)n.add(p(e,r,s[a]));return n}function $n(e,r,t){let n=v(e,t.i,new Map);for(let a=0,s=t.e.k,i=t.e.v,u=s.length;a<u;a++)n.set(p(e,r,s[a]),p(e,r,i[a]));return n}function qn(e,r){if(r.s.length>Dn)throw new w(r);return v(e,r.i,Pr(F(r.s)))}function Xn(e,r,t){var u;let n=ht(t.c),a=p(e,r,t.f),s=(u=t.b)!=null?u:0;if(s<0||s>a.byteLength)throw new w(t);return v(e,t.i,new n(a,s))}function Qn(e,r,t){var i;let n=p(e,r,t.f),a=(i=t.b)!=null?i:0;if(a<0||a>n.byteLength)throw new w(t);return v(e,t.i,new DataView(n,a))}function Vt(e,r,t,n){if(t.p){let a=Mt(e,r,t.p,{});Object.defineProperties(n,Object.getOwnPropertyDescriptors(a))}return n}function eo(e,r,t){let n=v(e,t.i,new AggregateError([],F(t.m)));return Vt(e,r,t,n)}function ro(e,r,t){let n=_r(t,rt,t.s),a=v(e,t.i,new n(F(t.m)));return Vt(e,r,t,a)}function to(e,r,t){let n=re(),a=v(e,t.i,n.p),s=p(e,r,t.f);return t.s?n.s(s):n.f(s),a}function no(e,r,t){return v(e,t.i,Object(p(e,r,t.f)))}function oo(e,r,t){let n=e.base.plugins;if(n){let a=F(t.c);for(let s=0,i=n.length;s<i;s++){let u=n[s];if(u.tag===a)return v(e,t.i,u.deserialize(t.s,new zr(e,r),{id:t.i}))}}throw new Q(t.c)}function ao(e,r){return v(e,r.i,v(e,r.s,re()).p)}function so(e,r,t){let n=e.base.refs.get(t.i);if(n)return n.s(p(e,r,t.a[1])),o;throw new B("Promise")}function io(e,r,t){let n=e.base.refs.get(t.i);if(n)return n.f(p(e,r,t.a[1])),o;throw new B("Promise")}function uo(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return It(n)}function lo(e,r,t){p(e,r,t.a[0]);let n=p(e,r,t.a[1]);return Et(n)}function co(e,r,t){let n=v(e,t.i,te()),a=t.a,s=a.length;if(s)for(let i=0;i<s;i++)p(e,r,a[i]);return n}function fo(e,r,t){let n=e.base.refs.get(t.i);if(n&&M(n))return n.next(p(e,r,t.f)),o;throw new B("Stream")}function So(e,r,t){let n=e.base.refs.get(t.i);if(n&&M(n))return n.throw(p(e,r,t.f)),o;throw new B("Stream")}function mo(e,r,t){let n=e.base.refs.get(t.i);if(n&&M(n))return n.return(p(e,r,t.f)),o;throw new B("Stream")}function po(e,r,t){return p(e,r,t.f),o}function go(e,r,t){return p(e,r,t.a[1]),o}function p(e,r,t){if(r>e.base.depthLimit)throw new ee(e.base.depthLimit);switch(r+=1,t.t){case 2:return _r(t,et,t.s);case 0:return Number(t.s);case 1:return F(String(t.s));case 3:if(String(t.s).length>Fn)throw new w(t);return BigInt(t.s);case 4:return e.base.refs.get(t.i);case 18:return Un(e,t);case 9:return jn(e,r,t);case 10:case 11:return Kn(e,r,t);case 5:return Hn(e,t);case 6:return Jn(e,t);case 7:return Zn(e,r,t);case 8:return $n(e,r,t);case 19:return qn(e,t);case 16:case 15:return Xn(e,r,t);case 20:return Qn(e,r,t);case 14:return eo(e,r,t);case 13:return ro(e,r,t);case 12:return to(e,r,t);case 17:return _r(t,Xr,t.s);case 21:return no(e,r,t);case 25:return oo(e,r,t);case 22:return ao(e,t);case 23:return so(e,r,t);case 24:return io(e,r,t);case 28:return uo(e,r,t);case 30:return lo(e,r,t);case 31:return co(e,r,t);case 32:return fo(e,r,t);case 33:return So(e,r,t);case 34:return mo(e,r,t);case 27:return po(e,r,t);case 29:return go(e,r,t);default:throw new O(t)}}function nr(e,r){try{return p(e,0,r)}catch(t){throw new He(t)}}var yo=()=>T,No=yo.toString(),Lt=/=>/.test(No);function or(e,r){return Lt?(e.length===1?e[0]:"("+e.join(",")+")")+"=>"+(r.startsWith("{")?"("+r+")":r):"function("+e.join(",")+"){return "+r+"}"}function Ut(e,r){return Lt?(e.length===1?e[0]:"("+e.join(",")+")")+"=>{"+r+"}":"function("+e.join(",")+"){"+r+"}"}var Wt="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",jt=Wt.length,Gt="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Yt=Gt.length;function kr(e){let r=e%jt,t=Wt[r];for(e=(e-r)/jt;e>0;)r=e%Yt,t+=Gt[r],e=(e-r)/Yt;return t}var bo=/^[$A-Z_][0-9A-Z_$]*$/i;function Dr(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&bo.test(e)}function ye(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 Co(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:ye(t)}:s.t===2&&s.s===i.s?t={t:2,s:ye(t),k:s.k,v:s.v}:s.t===1&&s.s===i.s?t={t:1,s:ye(t),k:o,v:s.v}:s.t===3&&s.s===i.s?t={t:3,s:ye(t),k:s.k,v:o}:(r.push(t),t=s),i=s;return r.push(t),r}function qt(e){if(e.length){let r="",t=Co(e);for(let n=0,a=t.length;n<a;n++)r+=ye(t[n])+",";return r}return o}var vo="Object.create(null)",Ao="new Set",Ro="new Map",Eo="Promise.resolve",Io="Promise.reject",Po={3:"Object.freeze",2:"Object.seal",1:"Object.preventExtensions",0:o};function Xt(e,r){return{mode:e,plugins:r.plugins,features:r.features,marked:new Set(r.markedRefs),stack:[],flags:[],assignments:[]}}function xo(){return{valid:new Map,vars:[]}}function ar(e){return{mode:1,base:Xt(1,e),state:xo(),child:o}}function sr(e){return{mode:2,base:Xt(2,e),state:e,child:o}}var Fr=class{constructor(r){this._p=r}serialize(r){return f(this._p,r)}};function To(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=kr(t),e.vars[t]=n),n}function Oo(e){return ce+"["+e+"]"}function m(e,r){return e.mode===1?To(e.state,r):Oo(r)}function h(e,r){e.marked.add(r)}function Br(e,r){return e.marked.has(r)}function Vr(e,r,t){r!==0&&(h(e.base,t),e.base.flags.push({type:r,value:m(e,t)}))}function wo(e){let r="";for(let t=0,n=e.flags,a=n.length;t<a;t++){let s=n[t];r+=Po[s.type]+"("+s.value+"),"}return r}function Qt(e){let r=qt(e.assignments),t=wo(e);return r?t?r+t:r:t}function en(e,r,t){e.assignments.push({t:0,s:r,k:o,v:t})}function ho(e,r,t){e.base.assignments.push({t:1,s:m(e,r),k:o,v:t})}function ge(e,r,t,n){e.base.assignments.push({t:2,s:m(e,r),k:t,v:n})}function Kt(e,r,t){e.base.assignments.push({t:3,s:m(e,r),k:t,v:o})}function Ne(e,r,t,n){en(e.base,m(e,r)+"["+t+"]",n)}function Mr(e,r,t,n){en(e.base,m(e,r)+"."+t,n)}function V(e,r){return r.t===4&&e.stack.includes(r.i)}function se(e,r,t){return e.mode===1&&!Br(e.base,r)?t:m(e,r)+"="+t}function zo(e){return U+'.get("'+e.s+'")'}function Ht(e,r,t,n){return t?V(e.base,t)?(h(e.base,r),Ne(e,r,n,m(e,t.i)),""):f(e,t):""}function _o(e,r){let t=r.i,n=r.a,a=n.length;if(a>0){e.base.stack.push(t);let s=Ht(e,t,n[0],0),i=s==="";for(let u=1,l;u<a;u++)l=Ht(e,t,n[u],u),s+=","+l,i=l==="";return e.base.stack.pop(),Vr(e,r.o,r.i),"["+s+(i?",]":"]")}return"[]"}function Jt(e,r,t,n){if(typeof t=="string"){let a=Number(t),s=a>=0&&a.toString()===t||Dr(t);if(V(e.base,n)){let i=m(e,n.i);return h(e.base,r.i),s&&a!==a?Mr(e,r.i,t,i):Ne(e,r.i,s?t:'"'+t+'"',i),""}return(s?t:'"'+t+'"')+":"+f(e,n)}return"["+f(e,t)+"]:"+f(e,n)}function rn(e,r,t){let n=t.k,a=n.length;if(a>0){let s=t.v;e.base.stack.push(r.i);let i=Jt(e,r,n[0],s[0]);for(let u=1,l=i;u<a;u++)l=Jt(e,r,n[u],s[u]),i+=(l&&i&&",")+l;return e.base.stack.pop(),"{"+i+"}"}return"{}"}function ko(e,r){return Vr(e,r.o,r.i),rn(e,r,r.p)}function Do(e,r,t,n){let a=rn(e,r,t);return a!=="{}"?"Object.assign("+n+","+a+")":n}function Fo(e,r,t,n,a){let s=e.base,i=f(e,a),u=Number(n),l=u>=0&&u.toString()===n||Dr(n);if(V(s,a))l&&u!==u?Mr(e,r.i,n,i):Ne(e,r.i,l?n:'"'+n+'"',i);else{let d=s.assignments;s.assignments=t,l&&u!==u?Mr(e,r.i,n,i):Ne(e,r.i,l?n:'"'+n+'"',i),s.assignments=d}}function Bo(e,r,t,n,a){if(typeof n=="string")Fo(e,r,t,n,a);else{let s=e.base,i=s.stack;s.stack=[];let u=f(e,a);s.stack=i;let l=s.assignments;s.assignments=t,Ne(e,r.i,f(e,n),u),s.assignments=l}}function Mo(e,r,t){let n=t.k,a=n.length;if(a>0){let s=[],i=t.v;e.base.stack.push(r.i);for(let u=0;u<a;u++)Bo(e,r,s,n[u],i[u]);return e.base.stack.pop(),qt(s)}return o}function Lr(e,r,t){if(r.p){let n=e.base;if(n.features&8)t=Do(e,r,r.p,t);else{h(n,r.i);let a=Mo(e,r,r.p);if(a)return"("+se(e,r.i,t)+","+a+m(e,r.i)+")"}}return t}function Vo(e,r){return Vr(e,r.o,r.i),Lr(e,r,vo)}function Lo(e){return'new Date("'+e.s+'")'}function Uo(e,r){if(e.base.features&32)return"/"+r.c+"/"+r.m;throw new O(r)}function Zt(e,r,t){let n=e.base;return V(n,t)?(h(n,r),ho(e,r,m(e,t.i)),""):f(e,t)}function jo(e,r){let t=Ao,n=r.a,a=n.length,s=r.i;if(a>0){e.base.stack.push(s);let i=Zt(e,s,n[0]);for(let u=1,l=i;u<a;u++)l=Zt(e,s,n[u]),i+=(l&&i&&",")+l;e.base.stack.pop(),i&&(t+="(["+i+"])")}return t}function $t(e,r,t,n,a){let s=e.base;if(V(s,t)){let i=m(e,t.i);if(h(s,r),V(s,n)){let l=m(e,n.i);return ge(e,r,i,l),""}if(n.t!==4&&n.i!=null&&Br(s,n.i)){let l="("+f(e,n)+",["+a+","+a+"])";return ge(e,r,i,m(e,n.i)),Kt(e,r,a),l}let u=s.stack;return s.stack=[],ge(e,r,i,f(e,n)),s.stack=u,""}if(V(s,n)){let i=m(e,n.i);if(h(s,r),t.t!==4&&t.i!=null&&Br(s,t.i)){let l="("+f(e,t)+",["+a+","+a+"])";return ge(e,r,m(e,t.i),i),Kt(e,r,a),l}let u=s.stack;return s.stack=[],ge(e,r,f(e,t),i),s.stack=u,""}return"["+f(e,t)+","+f(e,n)+"]"}function Yo(e,r){let t=Ro,n=r.e.k,a=n.length,s=r.i,i=r.f,u=m(e,i.i),l=e.base;if(a>0){let d=r.e.v;l.stack.push(s);let S=$t(e,s,n[0],d[0],u);for(let g=1,H=S;g<a;g++)H=$t(e,s,n[g],d[g],u),S+=(H&&S&&",")+H;l.stack.pop(),S&&(t+="(["+S+"])")}return i.t===26&&(h(l,i.i),t="("+f(e,i)+","+t+")"),t}function Wo(e,r){return G(e,r.f)+'("'+r.s+'")'}function Go(e,r){return"new "+r.c+"("+f(e,r.f)+","+r.b+")"}function Ko(e,r){return"new DataView("+f(e,r.f)+","+r.b+")"}function Ho(e,r){let t=r.i;e.base.stack.push(t);let n=Lr(e,r,'new AggregateError([],"'+r.m+'")');return e.base.stack.pop(),n}function Jo(e,r){return Lr(e,r,"new "+ve[r.s]+'("'+r.m+'")')}function Zo(e,r){let t,n=r.f,a=r.i,s=r.s?Eo:Io,i=e.base;if(V(i,n)){let u=m(e,n.i);t=s+(r.s?"().then("+or([],u)+")":"().catch("+Ut([],"throw "+u)+")")}else{i.stack.push(a);let u=f(e,n);i.stack.pop(),t=s+"("+u+")"}return t}function $o(e,r){return"Object("+f(e,r.f)+")"}function G(e,r){let t=f(e,r);return r.t===4?t:"("+t+")"}function qo(e,r){if(e.mode===1)throw new O(r);return"("+se(e,r.s,G(e,r.f)+"()")+").p"}function Xo(e,r){if(e.mode===1)throw new O(r);return G(e,r.a[0])+"("+m(e,r.i)+","+f(e,r.a[1])+")"}function Qo(e,r){if(e.mode===1)throw new O(r);return G(e,r.a[0])+"("+m(e,r.i)+","+f(e,r.a[1])+")"}function ea(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 Fr(e)),s.serialize(r.s,e.child,{id:r.i})}throw new Q(r.c)}function ra(e,r){let t="",n=!1;return r.f.t!==4&&(h(e.base,r.f.i),t="("+f(e,r.f)+",",n=!0),t+=se(e,r.i,"("+yt+")("+m(e,r.f.i)+")"),n&&(t+=")"),t}function ta(e,r){return G(e,r.a[0])+"("+f(e,r.a[1])+")"}function na(e,r){let t=r.a[0],n=r.a[1],a=e.base,s="";t.t!==4&&(h(a,t.i),s+="("+f(e,t)),n.t!==4&&(h(a,n.i),s+=(s?",":"(")+f(e,n)),s&&(s+=",");let i=se(e,r.i,"("+Nt+")("+m(e,n.i)+","+m(e,t.i)+")");return s?s+i+")":i}function oa(e,r){return G(e,r.a[0])+"("+f(e,r.a[1])+")"}function aa(e,r){let t=se(e,r.i,G(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+","+m(e,r.i)+")"}return t}function sa(e,r){return m(e,r.i)+".next("+f(e,r.f)+")"}function ia(e,r){return m(e,r.i)+".throw("+f(e,r.f)+")"}function ua(e,r){return m(e,r.i)+".return("+f(e,r.f)+")"}function la(e,r){switch(r.t){case 17:return qr[r.s];case 18:return zo(r);case 9:return _o(e,r);case 10:return ko(e,r);case 11:return Vo(e,r);case 5:return Lo(r);case 6:return Uo(e,r);case 7:return jo(e,r);case 8:return Yo(e,r);case 19:return Wo(e,r);case 16:case 15:return Go(e,r);case 20:return Ko(e,r);case 14:return Ho(e,r);case 13:return Jo(e,r);case 12:return Zo(e,r);case 21:return $o(e,r);case 22:return qo(e,r);case 25:return ea(e,r);case 26:return Rt[r.s];default:throw new O(r)}}function f(e,r){switch(r.t){case 2:return Qr[r.s];case 0:return""+r.s;case 1:return'"'+r.s+'"';case 3:return r.s+"n";case 4:return m(e,r.i);case 23:return Xo(e,r);case 24:return Qo(e,r);case 27:return ra(e,r);case 28:return ta(e,r);case 29:return na(e,r);case 30:return oa(e,r);case 31:return aa(e,r);case 32:return sa(e,r);case 33:return ia(e,r);case 34:return ua(e,r);default:return se(e,r.i,la(e,r))}}function ir(e,r){let t=f(e,r);if(r.i!=null&&e.state.vars.length){let n=Qt(e.base),a=t;if(n){let s=m(e,r.i);a=t+","+n+s,t.startsWith(s+"=")||(a=s+"="+a),a="("+a+")"}return"("+or(e.state.vars,a)+")()"}return r.t===10?"("+t+")":t}function ur(e,r){let t=f(e,r),n=r.i;if(n==null)return t;let a=Qt(e.base),s=m(e,n),i=e.state.scopeId,u=i==null?"":ce,l=a?"("+t+","+a+s+")":t;if(u==="")return r.t===10&&!a?"("+l+")":l;let d=i==null?"()":"("+ce+'["'+y(i)+'"])';return"("+or([u],l)+")"+d}function ue(e,r){return{type:1,base:pe(e,r),child:o}}var jr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return R(this._p,this.depth,r)}},Yr=class{constructor(r,t){this._p=r;this.depth=t}parse(r){return R(this._p,this.depth,r)}parseWithError(r){return K(this._p,this.depth,r)}isAlive(){return this._p.state.alive}pushPendingState(){Jr(this._p)}popPendingState(){be(this._p)}onParse(r){ie(this._p,r)}onError(r){Kr(this._p,r)}};function ca(e){return{alive:!0,pending:0,initial:!0,buffer:[],onParse:e.onParse,onError:e.onError,onDone:e.onDone}}function Wr(e){return{type:2,base:pe(2,e),state:ca(e)}}function fa(e,r,t){let n=[];for(let a=0,s=t.length;a<s;a++)a in t?n[a]=R(e,r,t[a]):n[a]=0;return n}function Sa(e,r,t,n){return _e(t,n,fa(e,r,n))}function Gr(e,r,t){let n=Object.entries(t),a=[],s=[];for(let i=0,u=n.length;i<u;i++)a.push(y(n[i][0])),s.push(R(e,r,n[i][1]));return b in t&&(a.push(E(e.base,b)),s.push(Ue(Xe(e.base),R(e,r,$e(t))))),N in t&&(a.push(E(e.base,N)),s.push(je(Qe(e.base),R(e,r,e.type===1?te():Ze(t))))),P in t&&(a.push(E(e.base,P)),s.push(X(t[P]))),I in t&&(a.push(E(e.base,I)),s.push(t[I]?Z:$)),{k:a,v:s}}function Ur(e,r,t,n,a){return er(t,n,a,Gr(e,r,n))}function ma(e,r,t,n){return ke(t,R(e,r,n.valueOf()))}function pa(e,r,t,n){return De(t,n,R(e,r,n.buffer))}function da(e,r,t,n){return Fe(t,n,R(e,r,n.buffer))}function ga(e,r,t,n){return Be(t,n,R(e,r,n.buffer))}function tn(e,r,t,n){let a=q(n,e.base.features);return Me(t,n,a?Gr(e,r,a):o)}function ya(e,r,t,n){let a=q(n,e.base.features);return Ve(t,n,a?Gr(e,r,a):o)}function Na(e,r,t,n){let a=[],s=[];for(let[i,u]of n.entries())a.push(R(e,r,i)),s.push(R(e,r,u));return rr(e.base,t,a,s)}function ba(e,r,t,n){let a=[];for(let s of n.keys())a.push(R(e,r,s));return Le(t,a)}function Ca(e,r,t,n){let a=Ye(t,k(e.base,4),[]);return e.type===1||(Jr(e),n.on({next:s=>{if(e.state.alive){let i=K(e,r,s);i&&ie(e,We(t,i))}},throw:s=>{if(e.state.alive){let i=K(e,r,s);i&&ie(e,Ge(t,i))}be(e)},return:s=>{if(e.state.alive){let i=K(e,r,s);i&&ie(e,Ke(t,i))}be(e)}})),a}function va(e,r,t){if(this.state.alive){let n=K(this,r,t);n&&ie(this,c(23,e,o,o,o,o,o,[k(this.base,2),n],o,o,o)),be(this)}}function Aa(e,r,t){if(this.state.alive){let n=K(this,r,t);n&&ie(this,c(24,e,o,o,o,o,o,[k(this.base,3),n],o,o,o))}be(this)}function Ra(e,r,t,n){let a=Tr(e.base,{});return e.type===2&&(Jr(e),n.then(va.bind(e,a,r),Aa.bind(e,a,r))),xt(e.base,t,a)}function Ea(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.sync&&u.test(n))return fe(t,u.tag,u.parse.sync(n,new jr(e,r),{id:t}))}return o}function Ia(e,r,t,n,a){for(let s=0,i=a.length;s<i;s++){let u=a[s];if(u.parse.stream&&u.test(n))return fe(t,u.tag,u.parse.stream(n,new Yr(e,r),{id:t}))}return o}function nn(e,r,t,n){let a=e.base.plugins;return a?e.type===1?Ea(e,r,t,n,a):Ia(e,r,t,n,a):o}function Pa(e,r,t,n,a){switch(a){case Object:return Ur(e,r,t,n,!1);case o:return Ur(e,r,t,n,!0);case Date:return he(t,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return tn(e,r,t,n);case Number:case Boolean:case String:case BigInt:return ma(e,r,t,n);case ArrayBuffer:return tr(e.base,t,n);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return pa(e,r,t,n);case DataView:return ga(e,r,t,n);case Map:return Na(e,r,t,n);case Set:return ba(e,r,t,n);default:break}if(a===Promise||n instanceof Promise)return Ra(e,r,t,n);let s=e.base.features;if(s&32&&a===RegExp)return ze(t,n);if(s&16)switch(a){case BigInt64Array:case BigUint64Array:return da(e,r,t,n);default:break}if(s&1&&typeof AggregateError!="undefined"&&(a===AggregateError||n instanceof AggregateError))return ya(e,r,t,n);if(n instanceof Error)return tn(e,r,t,n);if(b in n||N in n)return Ur(e,r,t,n,!!a);throw new x(n)}function xa(e,r,t,n){if(Array.isArray(n))return Sa(e,r,t,n);if(M(n))return Ca(e,r,t,n);let a=n.constructor;if(a===Y)return R(e,r,n.replacement);let s=nn(e,r,t,n);return s||Pa(e,r,t,n,a)}function Ta(e,r,t){let n=W(e.base,t);if(n.type!==0)return n.value;let a=nn(e,r,n.value,t);if(a)return a;throw new x(t)}function R(e,r,t){if(r>=e.base.depthLimit)throw new ee(e.base.depthLimit);switch(typeof t){case"boolean":return t?Z:$;case"undefined":return Ae;case"string":return X(t);case"number":return Oe(t);case"bigint":return we(t);case"object":{if(t){let n=W(e.base,t);return n.type===0?xa(e,r+1,n.value,t):n.value}return Re}case"symbol":return E(e.base,t);case"function":return Ta(e,r,t);default:throw new x(t)}}function le(e,r){try{return R(e,0,r)}catch(t){throw t instanceof z?t:new z(t)}}function ie(e,r){e.state.initial?e.state.buffer.push(r):Hr(e,r,!1)}function Kr(e,r){if(e.state.onError)e.state.onError(r);else throw r instanceof z?r:new z(r)}function on(e){e.state.onDone&&e.state.onDone()}function Hr(e,r,t){try{e.state.onParse(r,t)}catch(n){Kr(e,n)}}function Jr(e){e.state.pending++}function be(e){--e.state.pending<=0&&on(e)}function K(e,r,t){try{return R(e,r,t)}catch(n){return Kr(e,n),o}}function Zr(e,r){let t=K(e,0,r);t&&(Hr(e,t,!0),e.state.initial=!1,Oa(e,e.state),e.state.pending<=0&&lr(e))}function Oa(e,r){for(let t=0,n=r.buffer.length;t<n;t++)Hr(e,r.buffer[t],!1)}function lr(e){e.state.alive&&(on(e),e.state.alive=!1)}function Ki(e,r={}){let t=A(r.plugins),n=ue(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=le(n,e),s=sr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return ur(s,a)}async function Hi(e,r={}){let t=A(r.plugins),n=ne(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs}),a=await oe(n,e),s=sr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked});return ur(s,a)}function Ji(e,r={}){let t=A(r.plugins),n=ue(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return le(n,e)}async function Zi(e,r={}){let t=A(r.plugins),n=ne(2,{plugins:t,disabledFeatures:r.disabledFeatures,refs:r.refs});return await oe(n,e)}function an(e,r){let t=A(r.plugins),n=Wr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse(a,s){let i=sr({plugins:t,features:n.base.features,scopeId:r.scopeId,markedRefs:n.base.marked}),u;try{u=ur(i,a)}catch(l){r.onError&&r.onError(l);return}r.onSerialize(u,s)},onError:r.onError,onDone:r.onDone});return Zr(n,e),lr.bind(null,n)}function $i(e,r){let t=A(r.plugins),n=Wr({plugins:t,refs:r.refs,disabledFeatures:r.disabledFeatures,onParse:r.onParse,onError:r.onError,onDone:r.onDone});return Zr(n,e),lr.bind(null,n)}function qi(e,r){let t=A(r.plugins),n=Ft({plugins:t,refs:r.refs,features:r.features,disabledFeatures:r.disabledFeatures});return nr(n,e)}var cr=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=A(r.plugins)}write(r,t){this.alive&&!this.flushed&&(this.pending++,this.keys.add(r),this.cleanups.push(an(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 lu(e,r={}){let t=A(r.plugins),n=ue(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=le(n,e),s=ar({plugins:t,features:n.base.features,markedRefs:n.base.marked});return ir(s,a)}async function cu(e,r={}){let t=A(r.plugins),n=ne(1,{plugins:t,disabledFeatures:r.disabledFeatures}),a=await oe(n,e),s=ar({plugins:t,features:n.base.features,markedRefs:n.base.marked});return ir(s,a)}function fu(e){return(0,eval)(e)}function Su(e,r={}){let t=A(r.plugins),n=ue(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:le(n,e),f:n.base.features,m:Array.from(n.base.marked)}}async function mu(e,r={}){let t=A(r.plugins),n=ne(1,{plugins:t,disabledFeatures:r.disabledFeatures});return{t:await oe(n,e),f:n.base.features,m:Array.from(n.base.marked)}}function pu(e,r={}){let t=A(r.plugins),n=ar({plugins:t,features:e.f,markedRefs:e.m});return ir(n,e.t)}function du(e,r={}){var i;let t=A(r.plugins),n=r.disabledFeatures||0,a=(i=e.f)!=null?i:63,s=Dt({plugins:t,markedRefs:e.m,features:a&~n,disabledFeatures:n});return nr(s,e.t)}export{L as Feature,Y as OpaqueReference,cr as Serializer,St as SerovalConflictedNodeIdError,ee as SerovalDepthLimitError,He as SerovalDeserializationError,Se as SerovalError,w as SerovalMalformedNodeError,B as SerovalMissingInstanceError,Q as SerovalMissingPluginError,Ie as SerovalMissingReferenceError,Pe as SerovalMissingReferenceForIdError,ae as SerovalMode,z as SerovalParserError,Ar as SerovalSerializationError,Je as SerovalUnknownTypedArrayError,O as SerovalUnsupportedNodeError,x as SerovalUnsupportedTypeError,pu as compileJSON,Js as createPlugin,cn as createReference,te as createStream,Ki as crossSerialize,Hi as crossSerializeAsync,an as crossSerializeStream,fu as deserialize,qi as fromCrossJSON,du as fromJSON,ln as getCrossReferenceHeader,A as resolvePlugins,lu as serialize,cu as serializeAsync,Ji as toCrossJSON,Zi as toCrossJSONAsync,$i as toCrossJSONStream,Su as toJSON,mu 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,18 +7,17 @@ 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;
|
|
14
|
-
export declare function createArrayNode(id: number, current: unknown[], parsedItems:
|
|
13
|
+
export declare function createArrayNode(id: number, current: unknown[], parsedItems: SerovalArrayNode['a']): SerovalArrayNode;
|
|
15
14
|
export declare function createBoxedNode(id: number, boxed: SerovalNode): SerovalBoxedNode;
|
|
16
15
|
export declare function createTypedArrayNode(id: number, current: TypedArrayValue, buffer: SerovalNode): SerovalTypedArrayNode;
|
|
17
16
|
export declare function createBigIntTypedArrayNode(id: number, current: BigIntTypedArrayValue, buffer: SerovalNode): SerovalBigIntTypedArrayNode;
|
|
18
17
|
export declare function createDataViewNode(id: number, current: DataView, buffer: SerovalNode): SerovalDataViewNode;
|
|
19
18
|
export declare function createErrorNode(id: number, current: Error, options: SerovalObjectRecordNode | undefined): SerovalErrorNode;
|
|
20
19
|
export declare function createAggregateErrorNode(id: number, current: AggregateError, options: SerovalObjectRecordNode | undefined): SerovalAggregateErrorNode;
|
|
21
|
-
export declare function createSetNode(id: number,
|
|
20
|
+
export declare function createSetNode(id: number, items: SerovalNode[]): SerovalSetNode;
|
|
22
21
|
export declare function createIteratorFactoryInstanceNode(factory: SerovalNodeWithID, items: SerovalNode): SerovalIteratorFactoryInstanceNode;
|
|
23
22
|
export declare function createAsyncIteratorFactoryInstanceNode(factory: SerovalNodeWithID, items: SerovalNode): SerovalAsyncIteratorFactoryInstanceNode;
|
|
24
23
|
export declare function createStreamConstructorNode(id: number, factory: SerovalNodeWithID, sequence: SerovalNode[]): SerovalStreamConstructorNode;
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAWpD,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAChB,uCAAuC,EACvC,iBAAiB,EACjB,2BAA2B,EAC3B,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,uBAAuB,EACvB,kCAAkC,EAClC,WAAW,EACX,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,4BAA4B,EAC5B,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAGjB,OAAO,KAAK,EACV,qBAAqB,EACrB,eAAe,EAChB,MAAM,qBAAqB,CAAC;AAE7B,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,GACZ,mBAAmB,GAAG,iBAAiB,CA0BzC;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,CAcjE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAcnE;AAED,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,uBAAuB,CAc1E;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG,eAAe,CAezE;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GACd,iBAAiB,CAcnB;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,gBAAgB,GACxB,mBAAmB,CAcrB;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,CAAC,GACL,oBAAoB,CActB;AAED,wBAAgB,gBAAgB,CAC9B,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,OAAO,GACb,iBAAiB,CAcnB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,OAAO,EAAE,EAClB,WAAW,EAAE,gBAAgB,CAAC,GAAG,CAAC,GACjC,gBAAgB,CAclB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,WAAW,GACjB,gBAAgB,CAclB;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,WAAW,GAClB,qBAAqB,CAcvB;AAED,wBAAgB,0BAA0B,CACxC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,qBAAqB,EAC9B,MAAM,EAAE,WAAW,GAClB,2BAA2B,CAc7B;AAED,wBAAgB,kBAAkB,CAChC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,WAAW,GAClB,mBAAmB,CAcrB;AAED,wBAAgB,eAAe,CAC7B,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,KAAK,EACd,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAC3C,gBAAgB,CAclB;AAED,wBAAgB,wBAAwB,CACtC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,uBAAuB,GAAG,SAAS,GAC3C,yBAAyB,CAc3B;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,WAAW,EAAE,GACnB,cAAc,CAchB;AAED,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,WAAW,GACjB,kCAAkC,CAcpC;AAED,wBAAgB,sCAAsC,CACpD,OAAO,EAAE,iBAAiB,EAC1B,KAAK,EAAE,WAAW,GACjB,uCAAuC,CAczC;AAED,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,WAAW,EAAE,GACtB,4BAA4B,CAc9B;AAED,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAClB,qBAAqB,CAcvB;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAClB,sBAAsB,CAcxB;AAED,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,WAAW,GAClB,uBAAuB,CAczB"}
|
|
@@ -3,12 +3,13 @@
|
|
|
3
3
|
* - https://compat-table.github.io/compat-table/es6/
|
|
4
4
|
* - MDN
|
|
5
5
|
*/
|
|
6
|
-
export declare
|
|
6
|
+
export declare enum Feature {
|
|
7
7
|
AggregateError = 1,
|
|
8
8
|
ArrowFunction = 2,
|
|
9
9
|
ErrorPrototypeStack = 4,
|
|
10
10
|
ObjectAssign = 8,
|
|
11
|
-
BigIntTypedArray = 16
|
|
11
|
+
BigIntTypedArray = 16,
|
|
12
|
+
RegExp = 32
|
|
12
13
|
}
|
|
13
14
|
export declare const ALL_ENABLED: number;
|
|
14
15
|
//# sourceMappingURL=compat.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../../src/core/compat.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,
|
|
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;IACvB,MAAM,KAAO;CACd;AAED,eAAO,MAAM,WAAW,QAMR,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,
|
|
@@ -85,6 +86,7 @@ export declare const INV_SYMBOL_REF: {
|
|
|
85
86
|
export type WellKnownSymbols = keyof typeof INV_SYMBOL_REF;
|
|
86
87
|
export declare const SYMBOL_REF: Record<Symbols, WellKnownSymbols>;
|
|
87
88
|
export declare const CONSTANT_STRING: Record<SerovalConstant, string>;
|
|
89
|
+
export declare const NIL: undefined;
|
|
88
90
|
export declare const CONSTANT_VAL: Record<SerovalConstant, unknown>;
|
|
89
91
|
export declare const enum ErrorConstructorTag {
|
|
90
92
|
Error = 0,
|
|
@@ -98,6 +100,5 @@ export declare const enum ErrorConstructorTag {
|
|
|
98
100
|
export declare const ERROR_CONSTRUCTOR_STRING: Record<ErrorConstructorTag, string>;
|
|
99
101
|
type ErrorConstructors = ErrorConstructor | EvalErrorConstructor | RangeErrorConstructor | ReferenceErrorConstructor | SyntaxErrorConstructor | TypeErrorConstructor | URIErrorConstructor;
|
|
100
102
|
export declare const ERROR_CONSTRUCTOR: Record<ErrorConstructorTag, ErrorConstructors>;
|
|
101
|
-
export declare const NIL: undefined;
|
|
102
103
|
export {};
|
|
103
104
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,0BAAkB,eAAe;IAC/B,IAAI,IAAI;IACR,SAAS,IAAI;IACb,IAAI,IAAI;IACR,KAAK,IAAI;IACT,OAAO,IAAI;IACX,GAAG,IAAI;IACP,MAAM,IAAI;IACV,GAAG,IAAI;CACR;AAED,0BAAkB,eAAe;IAC/B,MAAM,IAAI;IACV,MAAM,IAAI;IACV,QAAQ,IAAI;IACZ,MAAM,IAAI;IACV,YAAY,IAAI;IAChB,IAAI,IAAI;IACR,MAAM,IAAI;IACV,GAAG,IAAI;IACP,GAAG,IAAI;IACP,KAAK,IAAI;IACT,MAAM,KAAK;IACX,eAAe,KAAK;IACpB,OAAO,KAAK;IACZ,KAAK,KAAK;IACV,cAAc,KAAK;IACnB,UAAU,KAAK;IACf,gBAAgB,KAAK;IACrB,QAAQ,KAAK;IACb,SAAS,KAAK;IACd,WAAW,KAAK;IAChB,QAAQ,KAAK;IACb,KAAK,KAAK;IACV,kBAAkB,KAAK;IACvB,cAAc,KAAK;IACnB,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
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/core/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EAChB,MAAM,WAAW,CAAC;AAEnB,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,GAAG,WAAS,CAAC;AAE1B,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"}
|
|
@@ -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: (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,KAAK,MAAM,gBAQnD,CAAC;AAEF,eAAO,MAAM,mCAAmC,QACK,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
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
|
+
private depth;
|
|
13
|
+
constructor(_p: AsyncParserContext, depth: number);
|
|
14
|
+
parse<T>(current: T): Promise<SerovalNode>;
|
|
15
|
+
}
|
|
16
|
+
export declare function parseObjectAsync(ctx: AsyncParserContext, depth: number, id: number, current: object): Promise<SerovalNode>;
|
|
17
|
+
export declare function parseFunctionAsync(ctx: AsyncParserContext, depth: number, current: unknown): Promise<SerovalNode>;
|
|
18
|
+
export declare function parseAsync<T>(ctx: AsyncParserContext, depth: number, current: T): Promise<SerovalNode>;
|
|
19
|
+
export declare function parseTopAsync<T>(ctx: AsyncParserContext, current: T): Promise<SerovalNode>;
|
|
20
|
+
//# 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;IAEhC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;gBADL,EAAE,EAAE,kBAAkB,EACtB,KAAK,EAAE,MAAM;IAGvB,KAAK,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC;CAG3C;AAqUD,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,WAAW,CAAC,CAoItB;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,WAAW,CAAC,CAUtB;AAED,wBAAsB,UAAU,CAAC,CAAC,EAChC,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,MAAM,EACb,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,47 +1,49 @@
|
|
|
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>;
|
|
6
|
+
features?: number;
|
|
7
|
+
disabledFeatures?: number;
|
|
8
|
+
depthLimit?: number;
|
|
5
9
|
}
|
|
6
|
-
export
|
|
7
|
-
|
|
10
|
+
export interface BaseDeserializerContext extends PluginAccessOptions {
|
|
11
|
+
readonly mode: SerovalMode;
|
|
8
12
|
/**
|
|
9
13
|
* Mapping ids to values
|
|
10
|
-
* @private
|
|
11
14
|
*/
|
|
12
15
|
refs: Map<number, unknown>;
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
deserializeTop(node: SerovalNode): unknown;
|
|
45
|
-
deserialize(node: SerovalNode): unknown;
|
|
16
|
+
features: number;
|
|
17
|
+
depthLimit: number;
|
|
46
18
|
}
|
|
19
|
+
export declare function createBaseDeserializerContext(mode: SerovalMode, options: BaseDeserializerContextOptions): BaseDeserializerContext;
|
|
20
|
+
export interface VanillaDeserializerContextOptions extends Omit<BaseDeserializerContextOptions, 'refs'> {
|
|
21
|
+
markedRefs: number[] | Set<number>;
|
|
22
|
+
}
|
|
23
|
+
export interface VanillaDeserializerState {
|
|
24
|
+
marked: Set<number>;
|
|
25
|
+
}
|
|
26
|
+
export interface VanillaDeserializerContext {
|
|
27
|
+
mode: SerovalMode.Vanilla;
|
|
28
|
+
base: BaseDeserializerContext;
|
|
29
|
+
child: DeserializePluginContext | undefined;
|
|
30
|
+
state: VanillaDeserializerState;
|
|
31
|
+
}
|
|
32
|
+
export declare function createVanillaDeserializerContext(options: VanillaDeserializerContextOptions): VanillaDeserializerContext;
|
|
33
|
+
export interface CrossDeserializerContext {
|
|
34
|
+
mode: SerovalMode.Cross;
|
|
35
|
+
base: BaseDeserializerContext;
|
|
36
|
+
child: DeserializePluginContext | undefined;
|
|
37
|
+
}
|
|
38
|
+
export type CrossDeserializerContextOptions = BaseDeserializerContextOptions;
|
|
39
|
+
export declare function createCrossDeserializerContext(options: CrossDeserializerContextOptions): CrossDeserializerContext;
|
|
40
|
+
type DeserializerContext = VanillaDeserializerContext | CrossDeserializerContext;
|
|
41
|
+
export declare class DeserializePluginContext {
|
|
42
|
+
private _p;
|
|
43
|
+
private depth;
|
|
44
|
+
constructor(_p: DeserializerContext, depth: number);
|
|
45
|
+
deserialize<T>(node: SerovalNode): T;
|
|
46
|
+
}
|
|
47
|
+
export declare function deserializeTop(ctx: DeserializerContext, node: SerovalNode): unknown;
|
|
48
|
+
export {};
|
|
47
49
|
//# 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":"AAsBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAWxC,OAAO,KAAK,EAcV,WAAW,EAiBZ,MAAM,UAAU,CAAC;AA6BlB,MAAM,WAAW,8BAA+B,SAAQ,mBAAmB;IACzE,IAAI,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;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;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,WAAW,EACjB,OAAO,EAAE,8BAA8B,GACtC,uBAAuB,CAQzB;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;IAEjC,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,KAAK;gBADL,EAAE,EAAE,mBAAmB,EACvB,KAAK,EAAE,MAAM;IAGvB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,GAAG,CAAC;CAGrC;AA6lBD,wBAAgB,cAAc,CAC5B,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,WAAW,GAChB,OAAO,CAMT"}
|
|
@@ -1,9 +1,10 @@
|
|
|
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>;
|
|
7
|
+
depthLimit?: number;
|
|
7
8
|
}
|
|
8
9
|
export declare const enum ParserNodeType {
|
|
9
10
|
Fresh = 0,
|
|
@@ -23,25 +24,39 @@ export interface ReferencedNode {
|
|
|
23
24
|
value: SerovalReferenceNode;
|
|
24
25
|
}
|
|
25
26
|
type ObjectNode = FreshNode | IndexedNode | ReferencedNode;
|
|
26
|
-
export
|
|
27
|
-
|
|
28
|
-
features: number;
|
|
27
|
+
export interface BaseParserContext extends PluginAccessOptions {
|
|
28
|
+
readonly mode: SerovalMode;
|
|
29
29
|
marked: Set<number>;
|
|
30
30
|
refs: Map<unknown, number>;
|
|
31
|
-
|
|
32
|
-
|
|
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;
|
|
31
|
+
features: number;
|
|
32
|
+
depthLimit: number;
|
|
45
33
|
}
|
|
34
|
+
export declare function createBaseParserContext(mode: SerovalMode, options: BaseParserContextOptions): BaseParserContext;
|
|
35
|
+
/**
|
|
36
|
+
* Ensures that the value (based on an identifier) has been visited by the parser.
|
|
37
|
+
* @param ctx
|
|
38
|
+
* @param id
|
|
39
|
+
*/
|
|
40
|
+
export declare function markParserRef(ctx: BaseParserContext, id: number): void;
|
|
41
|
+
export declare function isParserRefMarked(ctx: BaseParserContext, id: number): boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Creates an identifier for a value
|
|
44
|
+
* @param ctx
|
|
45
|
+
* @param current
|
|
46
|
+
*/
|
|
47
|
+
export declare function createIndexForValue<T>(ctx: BaseParserContext, current: T): number;
|
|
48
|
+
export declare function getNodeForIndexedValue<T>(ctx: BaseParserContext, current: T): FreshNode | IndexedNode;
|
|
49
|
+
export declare function getReferenceNode<T>(ctx: BaseParserContext, current: T): ObjectNode;
|
|
50
|
+
/**
|
|
51
|
+
* Parsing methods
|
|
52
|
+
*/
|
|
53
|
+
export declare function parseWellKnownSymbol(ctx: BaseParserContext, current: symbol): SerovalIndexedValueNode | SerovalWKSymbolNode | SerovalReferenceNode;
|
|
54
|
+
export declare function parseSpecialReference(ctx: BaseParserContext, ref: SpecialReference): SerovalIndexedValueNode | SerovalSpecialReferenceNode;
|
|
55
|
+
export declare function parseIteratorFactory(ctx: BaseParserContext): SerovalIndexedValueNode | SerovalIteratorFactoryNode;
|
|
56
|
+
export declare function parseAsyncIteratorFactory(ctx: BaseParserContext): SerovalIndexedValueNode | SerovalAsyncIteratorFactoryNode;
|
|
57
|
+
export declare function createObjectNode(id: number, current: Record<string, unknown>, empty: boolean, record: SerovalObjectRecordNode): SerovalObjectNode | SerovalNullConstructorNode;
|
|
58
|
+
export declare function createMapNode(ctx: BaseParserContext, id: number, k: SerovalNode[], v: SerovalNode[]): SerovalMapNode;
|
|
59
|
+
export declare function createPromiseConstructorNode(ctx: BaseParserContext, id: number, resolver: number): SerovalPromiseConstructorNode;
|
|
60
|
+
export declare function createArrayBufferNode(ctx: BaseParserContext, id: number, current: ArrayBuffer): SerovalArrayBufferNode;
|
|
46
61
|
export {};
|
|
47
62
|
//# sourceMappingURL=parser.d.ts.map
|