seroval 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/dist/cjs/development/index.cjs +1109 -1039
  2. package/dist/cjs/development/index.cjs.map +4 -4
  3. package/dist/cjs/production/index.cjs +3 -3
  4. package/dist/esm/development/index.mjs +1109 -1039
  5. package/dist/esm/development/index.mjs.map +4 -4
  6. package/dist/esm/production/index.mjs +3 -3
  7. package/dist/types/assert.d.ts +1 -1
  8. package/dist/types/context.d.ts +2 -2
  9. package/dist/types/index.d.ts +3 -4
  10. package/dist/types/string.d.ts +1 -1
  11. package/dist/types/tree/UnsupportedTypeError.d.ts +3 -0
  12. package/dist/types/tree/async.d.ts +3 -3
  13. package/dist/types/tree/constants.d.ts +11 -0
  14. package/dist/types/tree/deserialize.d.ts +2 -2
  15. package/dist/types/tree/primitives.d.ts +9 -15
  16. package/dist/types/tree/serialize.d.ts +2 -2
  17. package/dist/types/tree/shared.d.ts +10 -8
  18. package/dist/types/tree/sync.d.ts +3 -3
  19. package/dist/types/tree/types.d.ts +64 -71
  20. package/dist/types/tree/web-api.d.ts +2 -2
  21. package/dist/types/types.d.ts +4 -4
  22. package/package.json +10 -8
  23. package/src/assert.ts +2 -2
  24. package/src/compat.ts +0 -1
  25. package/src/context.ts +10 -7
  26. package/src/get-identifier.ts +1 -1
  27. package/src/index.ts +35 -26
  28. package/src/string.ts +2 -2
  29. package/src/tree/UnsupportedTypeError.ts +8 -0
  30. package/src/tree/async.ts +245 -233
  31. package/src/tree/constants.ts +72 -0
  32. package/src/tree/deserialize.ts +96 -93
  33. package/src/tree/primitives.ts +81 -134
  34. package/src/tree/reference.ts +4 -3
  35. package/src/tree/serialize.ts +251 -197
  36. package/src/tree/shared.ts +31 -22
  37. package/src/tree/symbols.ts +13 -13
  38. package/src/tree/sync.ts +226 -198
  39. package/src/tree/types.ts +74 -93
  40. package/src/tree/web-api.ts +10 -7
  41. package/src/types.ts +7 -3
@@ -1,3 +1,3 @@
1
- var z=(S=>(S[S.AggregateError=1]="AggregateError",S[S.ArrayPrototypeValues=2]="ArrayPrototypeValues",S[S.ArrowFunction=4]="ArrowFunction",S[S.BigInt=8]="BigInt",S[S.ErrorPrototypeStack=16]="ErrorPrototypeStack",S[S.Map=32]="Map",S[S.MethodShorthand=64]="MethodShorthand",S[S.ObjectAssign=128]="ObjectAssign",S[S.Promise=256]="Promise",S[S.Set=512]="Set",S[S.Symbol=1024]="Symbol",S[S.TypedArray=2048]="TypedArray",S[S.BigIntTypedArray=4096]="BigIntTypedArray",S[S.WebAPI=8192]="WebAPI",S))(z||{});var Be="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Ce=Be.length,Oe="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",he=Oe.length;function ye(e){let r=e%Ce,n=Be[r];for(e=(e-r)/Ce;e>0;)r=e%he,n+=Oe[r],e=(e-r)/he;return n}var rr={disabledFeatures:0};function F(e={}){let r=Object.assign({},rr,e||{});return{markedRefs:new Set,refs:new Map,features:16383^r.disabledFeatures}}function j(e){return{stack:[],vars:[],assignments:[],validRefs:[],refSize:0,features:e.features,markedRefs:new Set(e.markedRefs),valueMap:new Map}}function k(e,r){e.markedRefs.add(r)}function p(e,r){let n=e.validRefs[r];n==null&&(n=e.refSize++,e.validRefs[r]=n);let a=e.vars[n];return a==null&&(a=ye(n),e.vars[n]=a),a}function H(e,r){let n=e.refs.get(r);return n==null?e.refs.size:n}function R(e,r){let n=e.refs.get(r);if(n==null){let a=e.refs.size;return e.refs.set(r,a),a}return k(e,n),n}function f(e,r){if(!e)throw new Error(r)}function nr(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case`
2
- `:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case" ":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return}}function b(e){let r="",n=0,a;for(let t=0,o=e.length;t<o;t++)a=nr(e[t]),a&&(r+=e.slice(n,t)+a,n=t+1);return n===0?r=e:r+=e.slice(n),r}function A(e){return e.replace(/\\"/g,'"').replace(/\\\\/g,"\\").replace(/\\n/g,`
3
- `).replace(/\\r/g,"\r").replace(/\\b/g,"\b").replace(/\\t/g," ").replace(/\\f/g,"\f").replace(/\\x3C/g,"<").replace(/\\u2028/g,"\u2028").replace(/\\u2029/g,"\u2029")}var be=new Map,B=new Map;function ar(e,r){return be.set(r,e),B.set(e,r),r}function P(e){return be.has(e)}function tr(e){return B.has(e)}function Ue(e){return f(P(e),"Missing reference id"),be.get(e)}function De(e){return f(tr(e),"Missing reference for id:"+e),B.get(e)}var U="__SEROVAL__";typeof globalThis!==void 0?Object.defineProperty(globalThis,U,{value:B,configurable:!0,writable:!1,enumerable:!1}):typeof window!==void 0?Object.defineProperty(window,U,{value:B,configurable:!0,writable:!1,enumerable:!1}):typeof self!==void 0?Object.defineProperty(self,U,{value:B,configurable:!0,writable:!1,enumerable:!1}):typeof global!==void 0&&Object.defineProperty(global,U,{value:B,configurable:!0,writable:!1,enumerable:!1});var Te={[0]:"Symbol.asyncIterator",[1]:"Symbol.hasInstance",[2]:"Symbol.isConcatSpreadable",[3]:"Symbol.iterator",[4]:"Symbol.match",[5]:"Symbol.matchAll",[6]:"Symbol.replace",[7]:"Symbol.search",[8]:"Symbol.species",[9]:"Symbol.split",[10]:"Symbol.toPrimitive",[11]:"Symbol.toStringTag",[12]:"Symbol.unscopables"},ve={[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},Le={[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};var W={t:2,i:void 0,s:!0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0},K={t:2,i:void 0,s:!1,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0},Y={t:4,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0},Z={t:3,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0},G={t:5,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0},J={t:6,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0},$={t:7,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0},q={t:8,i:void 0,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0};function Q(e){return{t:0,i:void 0,s:e,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function X(e){return{t:1,i:void 0,s:b(e),l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function ee(e,r){return f(e.features&8,'Unsupported type "BigInt"'),{t:9,i:void 0,s:""+r,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function C(e){return{t:10,i:e,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function re(e,r){return{t:11,i:e,s:r.toISOString(),l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0,b:void 0}}function ne(e,r){return{t:12,i:e,s:void 0,l:void 0,c:r.source,m:r.flags,d:void 0,a:void 0,f:void 0,b:void 0}}function M(e,r){let n=new Uint8Array(r),a=n.length,t=new Array(a);for(let o=0;o<a;o++)t[o]=n[o];return{t:28,i:e,s:t,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function D(e,r){let n=R(e,r);return e.markedRefs.has(n)?C(n):M(n,r)}function ae(e,r,n){let a=n.constructor.name;return f(e.features&2048,`Unsupported value type "${a}"`),{t:22,i:r,s:void 0,l:n.length,c:a,m:void 0,d:void 0,a:void 0,f:D(e,n.buffer),b:n.byteOffset}}var Ve=4104;function te(e,r,n){let a=n.constructor.name;return f((e.features&Ve)===Ve,`Unsupported value type "${a}"`),{t:23,i:r,s:void 0,l:n.length,c:a,m:void 0,d:void 0,a:void 0,f:D(e,n.buffer),b:n.byteOffset}}function oe(e,r){return f(e.features&1024,'Unsupported type "symbol"'),f(r in ve,"seroval only supports well-known symbols"),{t:24,i:void 0,s:ve[r],l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function h(e,r){return{t:27,i:e,s:b(Ue(r)),l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function ie(e,r,n){return{t:29,i:r,s:void 0,l:n.byteLength,c:void 0,m:void 0,d:void 0,a:void 0,f:D(e,n.buffer),b:n.byteOffset}}function _(e){return e instanceof EvalError?"EvalError":e instanceof RangeError?"RangeError":e instanceof ReferenceError?"ReferenceError":e instanceof SyntaxError?"SyntaxError":e instanceof TypeError?"TypeError":e instanceof URIError?"URIError":"Error"}function Fe(e){switch(e){case"Error":return Error;case"EvalError":return EvalError;case"RangeError":return RangeError;case"ReferenceError":return ReferenceError;case"SyntaxError":return SyntaxError;case"TypeError":return TypeError;case"URIError":return URIError;default:throw new Error(`Unknown Error constructor "${e}"`)}}function T(e,r){let n,a=_(r);r.name!==a?n={name:r.name}:r.constructor.name!==a&&(n={name:r.constructor.name});let t=Object.getOwnPropertyNames(r);for(let o of t)o!=="name"&&o!=="message"&&(o==="stack"?e.features&16&&(n=n||{},n[o]=r[o]):(n=n||{},n[o]=r[o]));return n}function se(e){let r=Object.getOwnPropertyNames(e);if(r.length){let n={};for(let a of r)n[a]=e[a];return n}}function w(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;switch(e.constructor){case Map:case Set:case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:case BigInt64Array:case BigUint64Array:return!1;default:break}return Symbol.iterator in e}function je(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 Error(`Unknown TypedArray "${e}"`)}}var or=/^[$A-Z_][0-9A-Z_$]*$/i;function Ae(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&or.test(e)}function de(e,r,n){return f(e.features&8192,'Unsupported type "URL"'),{t:25,i:r,s:b(n.href),l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0,b:void 0}}function le(e,r,n){return f(e.features&8192,'Unsupported type "URLSearchParams"'),{t:26,i:r,s:b(n.toString()),l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0,b:void 0}}async function xe(e,r,n){return f(e.features&8192,'Unsupported type "Blob"'),{t:30,i:r,s:void 0,l:void 0,c:b(n.type),m:void 0,d:void 0,f:D(e,await n.arrayBuffer()),a:void 0,b:void 0}}async function Me(e,r,n){return f(e.features&8192,'Unsupported type "File"'),{t:31,i:r,s:void 0,l:void 0,c:b(n.type),m:b(n.name),d:void 0,f:D(e,await n.arrayBuffer()),a:void 0,b:n.lastModified}}async function We(e,r){let n=r.length,a=new Array(n),t=new Array(n),o;for(let i=0;i<n;i++)i in r&&(o=r[i],w(o)?t[i]=o:a[i]=await E(e,o));for(let i=0;i<n;i++)i in t&&(a[i]=await E(e,t[i]));return a}async function ir(e,r,n){return{t:15,i:r,s:void 0,l:n.length,c:void 0,m:void 0,d:void 0,a:await We(e,n),f:void 0,b:void 0}}async function sr(e,r,n){f(e.features&32,'Unsupported type "Map"');let a=n.size,t=new Array(a),o=new Array(a),i=new Array(a),d=new Array(a),s=0,u=0;for(let[l,N]of n.entries())w(l)||w(N)?(i[s]=l,d[s]=N,s++):(t[u]=await E(e,l),o[u]=await E(e,N),u++);for(let l=0;l<s;l++)t[u+l]=await E(e,i[l]),o[u+l]=await E(e,d[l]);return{t:14,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:{k:t,v:o,s:a},a:void 0,f:void 0,b:void 0}}async function dr(e,r,n){f(e.features&512,'Unsupported type "Set"');let a=n.size,t=new Array(a),o=new Array(a),i=0,d=0;for(let s of n.keys())w(s)?o[i++]=s:t[d++]=await E(e,s);for(let s=0;s<i;s++)t[d+s]=await E(e,o[s]);return{t:13,i:r,s:void 0,l:a,c:void 0,m:void 0,d:void 0,a:t,f:void 0,b:void 0}}async function L(e,r){let n=Object.keys(r),a=n.length,t=new Array(a),o=new Array(a),i=new Array(a),d=new Array(a),s=0,u=0,l,N;for(let c of n)l=r[c],N=b(c),w(l)?(i[s]=N,d[s]=l,s++):(t[u]=N,o[u]=await E(e,l),u++);for(let c=0;c<s;c++)t[u+c]=i[c],o[u+c]=await E(e,d[c]);return{k:t,v:o,s:a}}async function Ke(e,r,n){f(e.features&1024,'Unsupported type "Iterable"');let a=se(n),t=Array.from(n);return{t:21,i:r,s:void 0,l:t.length,c:void 0,m:void 0,d:a?await L(e,a):void 0,a:await We(e,t),f:void 0,b:void 0}}async function fe(e,r,n){return f(e.features&256,'Unsupported type "Promise"'),n.then(async a=>({t:18,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:await E(e,a),b:void 0}))}async function _e(e,r,n,a){return Symbol.iterator in n?Ke(e,r,n):"then"in n&&typeof n.then=="function"?fe(e,r,n):{t:a?17:16,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:await L(e,n),a:void 0,f:void 0,b:void 0}}async function He(e,r,n){let a=T(e,n),t=a?await L(e,a):void 0;return{t:20,i:r,s:void 0,l:void 0,c:void 0,m:b(n.message),d:t,a:void 0,f:void 0,b:void 0}}async function ue(e,r,n){let a=T(e,n),t=a?await L(e,a):void 0;return{t:19,i:r,s:void 0,l:void 0,c:_(n),m:b(n.message),d:t,a:void 0,f:void 0,b:void 0}}async function lr(e,r,n){f(e.features&8192,'Unsupported type "Headers"');let a={};return n.forEach((t,o)=>{a[o]=t}),{t:32,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:await L(e,a),a:void 0,f:void 0,b:void 0}}async function ur(e,r,n){f(e.features&8192,'Unsupported type "FormData"');let a={};return n.forEach((t,o)=>{a[o]=t}),{t:33,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:await L(e,a),a:void 0,f:void 0,b:void 0}}async function E(e,r){switch(typeof r){case"boolean":return r?W:K;case"undefined":return Y;case"string":return X(r);case"number":switch(r){case 1/0:return J;case-1/0:return $;default:return r!==r?q:Object.is(r,-0)?G:Q(r)}case"bigint":return ee(e,r);case"object":{if(!r)return Z;let n=R(e,r);if(e.markedRefs.has(n))return C(n);if(P(r))return h(n,r);if(Array.isArray(r))return ir(e,n,r);switch(r.constructor){case Date:return re(n,r);case RegExp:return ne(n,r);case Promise:return fe(e,n,r);case ArrayBuffer:return M(n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ae(e,n,r);case BigInt64Array:case BigUint64Array:return te(e,n,r);case DataView:return ie(e,n,r);case Map:return sr(e,n,r);case Set:return dr(e,n,r);case Object:return _e(e,n,r,!1);case void 0:return _e(e,n,r,!0);case AggregateError:return e.features&1?He(e,n,r):ue(e,n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return ue(e,n,r);case URL:return de(e,n,r);case URLSearchParams:return le(e,n,r);case Blob:return xe(e,n,r);case File:return Me(e,n,r);case Headers:return lr(e,n,r);case FormData:return ur(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?He(e,n,r):ue(e,n,r);if(r instanceof Error)return ue(e,n,r);if(r instanceof Promise)return fe(e,n,r);if(Symbol.iterator in r)return Ke(e,n,r);if("then"in r&&typeof r.then=="function")return fe(e,n,r);throw new Error("Unsupported type")}case"symbol":if(P(r)){let n=R(e,r);return e.markedRefs.has(n)?C(n):h(n,r)}return oe(e,r);case"function":{f(P(r),"Cannot serialize function without reference ID.");let n=R(e,r);return e.markedRefs.has(n)?C(n):h(n,r)}default:throw new Error("Unsupported type")}}async function ce(e,r){let n=await E(e,r),a=n.t===16||n.t===21;return[n,H(e,r),a]}function m(e,r,n){return e.markedRefs.has(r)&&e.valueMap.set(r,n),n}function fr(e,r){let n=m(e,r.i,new Array(r.l)),a;for(let t=0,o=r.l;t<o;t++)a=r.a[t],a&&(n[t]=v(e,a));return n}function we(e,r,n){if(r.s===0)return{};for(let a=0;a<r.s;a++)n[A(r.k[a])]=v(e,r.v[a]);return n}function cr(e,r){let n=m(e,r.i,Object.create(null));return we(e,r.d,n),n}function Sr(e,r){let n=m(e,r.i,{});return we(e,r.d,n),n}function mr(e,r){let n=m(e,r.i,new Set);for(let a=0,t=r.l;a<t;a++)n.add(v(e,r.a[a]));return n}function Nr(e,r){let n=m(e,r.i,new Map);for(let a=0,t=r.d.s;a<t;a++)n.set(v(e,r.d.k[a]),v(e,r.d.v[a]));return n}function Ee(e,r,n){if(r.d){let a=we(e,r.d,{});Object.assign(n,a)}return n}function pr(e,r){let n=m(e,r.i,new AggregateError([],A(r.m)));return Ee(e,r,n)}function gr(e,r){let n=Fe(r.c),a=m(e,r.i,new n(A(r.m)));return Ee(e,r,a)}function yr(){let e;return{resolve(r){e(r)},promise:new Promise(r=>{e=r})}}function br(e,r){let n=yr(),a=m(e,r.i,n.promise);return n.resolve(v(e,r.f)),a}function vr(e,r){let n=new Uint8Array(r.s);return m(e,r.i,n.buffer)}function Ar(e,r){let n=je(r.c),a=v(e,r.f);return m(e,r.i,new n(a,r.b,r.l))}function wr(e,r){let n=[],a;for(let o=0,i=r.l;o<i;o++)a=r.a[o],a&&(n[o]=v(e,a));let t=m(e,r.i,{[Symbol.iterator]:()=>n.values()});return Ee(e,r,t)}function Er(e,r){return m(e,r.i,new Date(r.s))}function kr(e,r){return m(e,r.i,new RegExp(r.c,r.m))}function Ir(e,r){return m(e,r.i,new URL(A(r.s)))}function Rr(e,r){return m(e,r.i,new URLSearchParams(A(r.s)))}function zr(e,r){return m(e,r.i,De(A(r.s)))}function Pr(e,r){let n=v(e,r.f);return m(e,r.i,new DataView(n,r.b,r.l))}function Cr(e,r){let n=v(e,r.f);return m(e,r.i,new Blob([n],{type:A(r.c)}))}function hr(e,r){let n=v(e,r.f);return m(e,r.i,new File([n],A(r.m),{type:A(r.c),lastModified:r.b}))}function Br(e,r){let n=m(e,r.i,new Headers);for(let a=0,t=r.d.s;a<t;a++)n.set(A(r.d.k[a]),v(e,r.d.v[a]));return n}function Or(e,r){let n=m(e,r.i,new FormData);for(let a=0,t=r.d.s;a<t;a++)n.set(A(r.d.k[a]),v(e,r.d.v[a]));return n}function v(e,r){switch(r.t){case 0:case 2:return r.s;case 1:return A(r.s);case 4:return;case 3:return null;case 5:return-0;case 6:return 1/0;case 7:return-1/0;case 8:return NaN;case 9:return BigInt(r.s);case 10:return e.valueMap.get(r.i);case 15:return fr(e,r);case 16:return Sr(e,r);case 17:return cr(e,r);case 11:return Er(e,r);case 12:return kr(e,r);case 13:return mr(e,r);case 14:return Nr(e,r);case 28:return vr(e,r);case 23:case 22:return Ar(e,r);case 29:return Pr(e,r);case 20:return pr(e,r);case 19:return gr(e,r);case 21:return wr(e,r);case 18:return br(e,r);case 24:return Le[r.s];case 25:return Ir(e,r);case 26:return Rr(e,r);case 27:return zr(e,r);case 30:return Cr(e,r);case 31:return hr(e,r);case 32:return Br(e,r);case 33:return Or(e,r);default:throw new Error("Unsupported type")}}function Se(e){switch(e.t){case"index":return e.s+"="+e.v;case"set":return e.s+".set("+e.k+","+e.v+")";case"add":return e.s+".add("+e.v+")";case"append":return e.s+".append("+e.k+","+e.v+")";default:return""}}function Ur(e){let r=[],n=e[0],a=n,t;for(let o=1,i=e.length;o<i;o++){if(t=e[o],t.t===a.t)switch(t.t){case"index":t.v===a.v?n={t:"index",s:t.s,k:void 0,v:Se(n)}:(r.push(n),n=t);break;case"set":t.s===a.s?n={t:"set",s:Se(n),k:t.k,v:t.v}:(r.push(n),n=t);break;case"add":t.s===a.s?n={t:"add",s:Se(n),k:void 0,v:t.v}:(r.push(n),n=t);break;case"append":r.push(n),n=t;break;default:break}else r.push(n),n=t;a=t}return r.push(n),r}function Ie(e){if(e.length){let r="",n=Ur(e);for(let a=0,t=n.length;a<t;a++)r+=Se(n[a])+",";return r}}function Ye(e){return Ie(e.assignments)}function Ze(e,r,n){e.assignments.push({t:"index",s:r,k:void 0,v:n})}function Dr(e,r,n){e.assignments.push({t:"add",s:p(e,r),k:void 0,v:n})}function ke(e,r,n,a){e.assignments.push({t:"set",s:p(e,r),k:n,v:a})}function Tr(e,r,n,a){e.assignments.push({t:"append",s:p(e,r),k:n,v:a})}function Re(e,r,n,a){Ze(e,p(e,r)+"["+n+"]",a)}function Ge(e,r,n,a){k(e,r),Ze(e,p(e,r)+"."+n,a)}function y(e,r,n){return e.markedRefs.has(r)?p(e,r)+"="+n:n}function O(e,r){return r.t===10&&e.stack.includes(r.i)}function Je(e,r){let n=r.l,a="",t,o=!1;for(let i=0;i<n;i++)i!==0&&(a+=","),t=r.a[i],t?O(e,t)?(k(e,r.i),Re(e,r.i,i,p(e,t.i)),o=!0):(a+=g(e,t),o=!1):o=!0;return"["+a+(o?",]":"]")}function Lr(e,r){e.stack.push(r.i);let n=Je(e,r);return e.stack.pop(),y(e,r.i,n)}function ze(e,r,n){if(n.s===0)return"{}";let a="";e.stack.push(r);let t,o,i,d,s,u=!1,l=n.k,N=n.v;for(let c=0,ge=n.s;c<ge;c++)t=l[c],o=N[c],i=Number(t),d=i>=0||Ae(t),O(e,o)?(s=p(e,o.i),d&&Number.isNaN(i)?(k(e,r),Ge(e,r,t,s)):(k(e,r),Re(e,r,d?t:'"'+t+'"',s))):(a+=(u?",":"")+(d?t:'"'+t+'"')+":"+g(e,o),u=!0);return e.stack.pop(),"{"+a+"}"}function Vr(e,r,n,a){let t=ze(e,n,r);return t!=="{}"?"Object.assign("+a+","+t+")":a}function Fr(e,r,n){e.stack.push(r);let a=[],t,o,i,d,s,u,l=n.k,N=n.v;for(let c=0,ge=n.s;c<ge;c++)t=e.stack,e.stack=[],o=g(e,N[c]),e.stack=t,i=l[c],d=Number(i),s=e.assignments,e.assignments=a,u=d>=0||Ae(i),u&&Number.isNaN(d)?Ge(e,r,i,o):Re(e,r,u?i:'"'+i+'"',o),e.assignments=s;return e.stack.pop(),Ie(a)}function me(e,r,n,a){if(n)if(e.features&128)a=Vr(e,n,r,a);else{k(e,r);let t=Fr(e,r,n);if(t)return"("+y(e,r,a)+","+t+p(e,r)+")"}return y(e,r,a)}function jr(e,r){return me(e,r.i,r.d,"Object.create(null)")}function xr(e,r){return y(e,r.i,ze(e,r.i,r.d))}function Mr(e,r){let n="new Set",a=r.l;if(a){let t="";e.stack.push(r.i);let o,i=!1;for(let d=0;d<a;d++)o=r.a[d],O(e,o)?(k(e,r.i),Dr(e,r.i,p(e,o.i))):(t+=(i?",":"")+g(e,o),i=!0);e.stack.pop(),t&&(n+="(["+t+"])")}return y(e,r.i,n)}function _r(e,r){let n="new Map";if(r.d.s){let a="";e.stack.push(r.i);let t,o,i,d,s,u=!1;for(let l=0;l<r.d.s;l++)t=r.d.k[l],o=r.d.v[l],O(e,t)?(i=p(e,t.i),k(e,r.i),O(e,o)?(d=p(e,o.i),ke(e,r.i,i,d)):(s=e.stack,e.stack=[],ke(e,r.i,i,g(e,o)),e.stack=s)):O(e,o)?(d=p(e,o.i),k(e,r.i),s=e.stack,e.stack=[],ke(e,r.i,g(e,t),d),e.stack=s):(a+=(u?",[":"[")+g(e,t)+","+g(e,o)+"]",u=!0);e.stack.pop(),a&&(n+="(["+a+"])")}return y(e,r.i,n)}function Hr(e,r){e.stack.push(r.i);let n='new AggregateError([],"'+r.m+'")';return e.stack.pop(),me(e,r.i,r.d,n)}function Wr(e,r){let n="new "+r.c+'("'+r.m+'")';return me(e,r.i,r.d,n)}function Kr(e,r){let n;if(O(e,r.f)){let a=p(e,r.f.i);e.features&4?n="Promise.resolve().then(()=>"+a+")":n="Promise.resolve().then(function(){return "+a+"})"}else{e.stack.push(r.i);let a=g(e,r.f);e.stack.pop(),n="Promise.resolve("+a+")"}return y(e,r.i,n)}function Yr(e,r){let n="new Uint8Array(";if(r.s.length){n+="[";for(let a=0,t=r.s.length;a<t;a++)n+=(a>0?",":"")+r.s[a];n+="]"}return y(e,r.i,n+").buffer")}function Zr(e,r){let n=g(e,r.f)+","+r.b+","+r.l;return y(e,r.i,"new "+r.c+"("+n+")")}function Gr(e,r){let n=e.stack;e.stack=[];let a=Je(e,r);e.stack=n;let t=a;return e.features&2?t+=".values()":t+="[Symbol.iterator]()",e.features&4?t="{[Symbol.iterator]:()=>"+t+"}":e.features&64?t="{[Symbol.iterator](){return "+t+"}}":t="{[Symbol.iterator]:function(){return "+t+"}}",me(e,r.i,r.d,t)}function Jr(e,r){return y(e,r.i,'new Date("'+r.s+'")')}function $r(e,r){return y(e,r.i,"/"+r.c+"/"+r.m)}function qr(e,r){return y(e,r.i,'new URL("'+r.s+'")')}function Qr(e,r){return y(e,r.i,r.s?'new URLSearchParams("'+r.s+'")':"new URLSearchParams")}function Xr(e,r){return y(e,r.i,U+'.get("'+r.s+'")')}function en(e,r){let n=g(e,r.f)+","+r.b+","+r.l;return y(e,r.i,"new DataView("+n+")")}function rn(e,r){let n="["+g(e,r.f)+'],{type:"'+r.c+'"}';return y(e,r.i,"new Blob("+n+")")}function nn(e,r){let n='{type:"'+r.c+'",lastModified:'+r.b+"}",a="["+g(e,r.f)+'],"'+r.m+'",'+n;return y(e,r.i,"new File("+a+")")}function an(e,r){return y(e,r.i,"new Headers("+ze(e,r.i,r.d)+")")}function tn(e,r){e.stack.push(r.i);let n=[],a,t,o,i;for(let d=0;d<r.d.s;d++)a=e.stack,e.stack=[],t=g(e,r.d.v[d]),o=r.d.k[d],e.stack=a,i=e.assignments,e.assignments=n,Tr(e,r.i,'"'+o+'"',t),e.assignments=i;return e.stack.pop(),Ie(n)}function on(e,r){r.d.s&&k(e,r.i);let n=y(e,r.i,"new FormData()");return r.d.s?"("+n+","+tn(e,r)+p(e,r.i)+")":n}function g(e,r){switch(r.t){case 0:return""+r.s;case 1:return'"'+r.s+'"';case 2:return r.s?"!0":"!1";case 4:return"void 0";case 3:return"null";case 5:return"-0";case 6:return"1/0";case 7:return"-1/0";case 8:return"NaN";case 9:return r.s+"n";case 10:return p(e,r.i);case 15:return Lr(e,r);case 16:return xr(e,r);case 17:return jr(e,r);case 11:return Jr(e,r);case 12:return $r(e,r);case 13:return Mr(e,r);case 14:return _r(e,r);case 28:return Yr(e,r);case 23:case 22:return Zr(e,r);case 29:return en(e,r);case 20:return Hr(e,r);case 19:return Wr(e,r);case 21:return Gr(e,r);case 18:return Kr(e,r);case 24:return Te[r.s];case 25:return qr(e,r);case 26:return Qr(e,r);case 27:return Xr(e,r);case 30:return rn(e,r);case 31:return nn(e,r);case 32:return an(e,r);case 33:return on(e,r);default:throw new Error("Unsupported type")}}function Qe(e,r){let n=r.length,a=new Array(n),t=new Array(n),o;for(let i=0;i<n;i++)i in r&&(o=r[i],w(o)?t[i]=o:a[i]=I(e,o));for(let i=0;i<n;i++)i in t&&(a[i]=I(e,t[i]));return a}function sn(e,r,n){return{t:15,i:r,s:void 0,l:n.length,c:void 0,m:void 0,d:void 0,a:Qe(e,n),f:void 0,b:void 0}}function dn(e,r,n){f(e.features&32,'Unsupported type "Map"');let a=n.size,t=new Array(a),o=new Array(a),i=new Array(a),d=new Array(a),s=0,u=0;for(let[l,N]of n.entries())w(l)||w(N)?(i[s]=l,d[s]=N,s++):(t[u]=I(e,l),o[u]=I(e,N),u++);for(let l=0;l<s;l++)t[u+l]=I(e,i[l]),o[u+l]=I(e,d[l]);return{t:14,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:{k:t,v:o,s:a},a:void 0,f:void 0,b:void 0}}function ln(e,r,n){f(e.features&512,'Unsupported type "Set"');let a=n.size,t=new Array(a),o=new Array(a),i=0,d=0;for(let s of n.keys())w(s)?o[i++]=s:t[d++]=I(e,s);for(let s=0;s<i;s++)t[d+s]=I(e,o[s]);return{t:13,i:r,s:void 0,l:a,c:void 0,m:void 0,d:void 0,a:t,f:void 0,b:void 0}}function V(e,r){let n=Object.keys(r),a=n.length,t=new Array(a),o=new Array(a),i=new Array(a),d=new Array(a),s=0,u=0,l,N;for(let c of n)l=r[c],N=b(c),w(l)?(i[s]=N,d[s]=l,s++):(t[u]=N,o[u]=I(e,l),u++);for(let c=0;c<s;c++)t[u+c]=i[c],o[u+c]=I(e,d[c]);return{k:t,v:o,s:a}}function Xe(e,r,n){f(e.features&1024,'Unsupported type "Iterable"');let a=se(n),t=Array.from(n);return{t:21,i:r,s:void 0,l:t.length,c:void 0,m:void 0,d:a?V(e,a):void 0,a:Qe(e,t),f:void 0,b:void 0}}function $e(e,r,n,a){return Symbol.iterator in n?Xe(e,r,n):{t:a?17:16,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:V(e,n),a:void 0,f:void 0,b:void 0}}function qe(e,r,n){let a=T(e,n),t=a?V(e,a):void 0;return{t:20,i:r,s:void 0,l:void 0,c:void 0,m:b(n.message),d:t,a:void 0,f:void 0,b:void 0}}function Ne(e,r,n){let a=T(e,n),t=a?V(e,a):void 0;return{t:19,i:r,s:void 0,l:void 0,c:_(n),m:b(n.message),d:t,a:void 0,f:void 0,b:void 0}}function un(e,r,n){f(e.features&8192,'Unsupported type "Headers"');let a={};return n.forEach((t,o)=>{a[o]=t}),{t:32,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:V(e,a),a:void 0,f:void 0,b:void 0}}function fn(e,r,n){f(e.features&8192,'Unsupported type "FormData"');let a={};return n.forEach((t,o)=>{a[o]=t}),{t:33,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:V(e,a),a:void 0,f:void 0,b:void 0}}function I(e,r){switch(typeof r){case"boolean":return r?W:K;case"undefined":return Y;case"string":return X(r);case"number":switch(r){case 1/0:return J;case-1/0:return $;default:return r!==r?q:Object.is(r,-0)?G:Q(r)}case"bigint":return ee(e,r);case"object":{if(!r)return Z;let n=R(e,r);if(e.markedRefs.has(n))return C(n);if(P(r))return h(n,r);if(Array.isArray(r))return sn(e,n,r);switch(r.constructor){case Date:return re(n,r);case RegExp:return ne(n,r);case ArrayBuffer:return M(n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ae(e,n,r);case BigInt64Array:case BigUint64Array:return te(e,n,r);case DataView:return ie(e,n,r);case Map:return dn(e,n,r);case Set:return ln(e,n,r);case Object:return $e(e,n,r,!1);case void 0:return $e(e,n,r,!0);case AggregateError:return e.features&1?qe(e,n,r):Ne(e,n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return Ne(e,n,r);case URL:return de(e,n,r);case URLSearchParams:return le(e,n,r);case Headers:return un(e,n,r);case FormData:return fn(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?qe(e,n,r):Ne(e,n,r);if(r instanceof Error)return Ne(e,n,r);if(Symbol.iterator in r)return Xe(e,n,r);throw new Error("Unsupported type")}case"symbol":if(P(r)){let n=R(e,r);return e.markedRefs.has(n)?C(n):h(n,r)}return oe(e,r);case"function":{f(P(r),"Cannot serialize function without reference ID.");let n=R(e,r);return e.markedRefs.has(n)?C(n):h(n,r)}default:throw new Error("Unsupported type")}}function pe(e,r){let n=I(e,r),a=n.t===16||n.t===21;return[n,H(e,r),a]}function Pe(e,r,n,a){if(e.vars.length){let t=Ye(e),o=a;if(t){let d=p(e,r);o=a+","+t+d,a.startsWith(d+"=")||(o=d+"="+o)}let i=e.vars.length>1?e.vars.join(","):e.vars[0];return e.features&4?(i=e.vars.length>1||e.vars.length===0?"("+i+")":i,"("+i+"=>("+o+"))()"):"(function("+i+"){return "+o+"})()"}return n?"("+a+")":a}function cn(e,r){let n=F(r),[a,t,o]=pe(n,e),i=j(n),d=g(i,a);return Pe(i,t,o,d)}async function Eo(e,r){let n=F(r),[a,t,o]=await ce(n,e),i=j(n),d=g(i,a);return Pe(i,t,o,d)}function ko(e){return(0,eval)(e)}function Io(e,r){let n=F(r),[a,t,o]=pe(n,e);return{t:a,r:t,i:o,f:n.features,m:Array.from(n.markedRefs)}}async function Ro(e,r){let n=F(r),[a,t,o]=await ce(n,e);return{t:a,r:t,i:o,f:n.features,m:Array.from(n.markedRefs)}}function zo(e){let r=j({features:e.f,markedRefs:e.m}),n=g(r,e.t);return Pe(r,e.r,e.i,n)}function Po(e){let r=j({features:e.f,markedRefs:e.m});return v(r,e.t)}var Co=cn;export{z as Feature,zo as compileJSON,ar as createReference,Co as default,ko as deserialize,Po as fromJSON,cn as serialize,Eo as serializeAsync,Io as toJSON,Ro as toJSONAsync};
1
+ var z=(m=>(m[m.AggregateError=1]="AggregateError",m[m.ArrayPrototypeValues=2]="ArrayPrototypeValues",m[m.ArrowFunction=4]="ArrowFunction",m[m.BigInt=8]="BigInt",m[m.ErrorPrototypeStack=16]="ErrorPrototypeStack",m[m.Map=32]="Map",m[m.MethodShorthand=64]="MethodShorthand",m[m.ObjectAssign=128]="ObjectAssign",m[m.Promise=256]="Promise",m[m.Set=512]="Set",m[m.Symbol=1024]="Symbol",m[m.TypedArray=2048]="TypedArray",m[m.BigIntTypedArray=4096]="BigIntTypedArray",m[m.WebAPI=8192]="WebAPI",m))(z||{});var Ie="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Re=Ie.length,Pe="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Ce=Pe.length;function fe(e){let r=e%Re,n=Ie[r];for(e=(e-r)/Re;e>0;)r=e%Ce,n+=Pe[r],e=(e-r)/Ce;return n}var or={disabledFeatures:0};function V(e={}){let r=Object.assign({},or,e);return{markedRefs:new Set,refs:new Map,features:16383^r.disabledFeatures}}function M(e){return{stack:[],vars:[],assignments:[],validRefs:[],refSize:0,features:e.features,markedRefs:new Set(e.markedRefs),valueMap:new Map}}function I(e,r){e.markedRefs.add(r)}function b(e,r){let n=e.validRefs[r];n==null&&(n=e.refSize++,e.validRefs[r]=n);let t=e.vars[n];return t==null&&(t=fe(n),e.vars[n]=t),t}function _(e,r){let n=e.refs.get(r);return n==null?e.refs.size:n}function P(e,r){let n=e.refs.get(r);if(n==null){let t=e.refs.size;return e.refs.set(r,t),t}return I(e,n),n}function y(e,r){if(!e)throw r}function ar(e){switch(e){case'"':return'\\"';case"\\":return"\\\\";case`
2
+ `:return"\\n";case"\r":return"\\r";case"\b":return"\\b";case" ":return"\\t";case"\f":return"\\f";case"<":return"\\x3C";case"\u2028":return"\\u2028";case"\u2029":return"\\u2029";default:return}}function v(e){let r="",n=0,t;for(let o=0,a=e.length;o<a;o++)t=ar(e[o]),t&&(r+=e.slice(n,o)+t,n=o+1);return n===0?r=e:r+=e.slice(n),r}function R(e){return e.replace(/\\"/g,'"').replace(/\\\\/g,"\\").replace(/\\n/g,`
3
+ `).replace(/\\r/g,"\r").replace(/\\b/g,"\b").replace(/\\t/g," ").replace(/\\f/g,"\f").replace(/\\x3C/g,"<").replace(/\\u2028/g,"\u2028").replace(/\\u2029/g,"\u2029")}var{toString:ir}=Object.prototype,S=class extends Error{constructor(r){super('Unsupported type "'+ir.call(r)+'"')}};function B(e){return{t:2,i:void 0,s:e,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}var W=B(2),Y=B(3),G=B(1),J=B(0),ze=B(4),Be=B(5),he=B(6),Oe=B(7);function Te(e){switch(e.s){case 2:return"!0";case 3:return"!1";case 1:return"void 0";case 0:return"null";case 4:return"-0";case 5:return"1/0";case 6:return"-1/0";case 7:return"NaN";default:throw new Error("invariant")}}function De(e){switch(e.s){case 2:return!0;case 3:return!1;case 1:return;case 0:return null;case 4:return-0;case 5:return 1/0;case 6:return-1/0;case 7:return NaN;default:throw new Error("invariant")}}var ce=new Map,T=new Map;function sr(e,r){return ce.set(r,e),T.set(e,r),r}function h(e){return ce.has(e)}function dr(e){return T.has(e)}function Ue(e){return y(h(e),new Error("Missing reference id")),ce.get(e)}function xe(e){return y(dr(e),new Error("Missing reference for id:"+e)),T.get(e)}var x="__SEROVAL__";typeof globalThis!==void 0?Object.defineProperty(globalThis,x,{value:T,configurable:!0,writable:!1,enumerable:!1}):typeof window!==void 0?Object.defineProperty(window,x,{value:T,configurable:!0,writable:!1,enumerable:!1}):typeof self!==void 0?Object.defineProperty(self,x,{value:T,configurable:!0,writable:!1,enumerable:!1}):typeof global!==void 0&&Object.defineProperty(global,x,{value:T,configurable:!0,writable:!1,enumerable:!1});var je={[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"},me={[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},Fe={[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};function Z(e){switch(e){case 1/0:return Be;case-1/0:return he;default:return e!==e?Oe:Object.is(e,-0)?ze:{t:0,i:void 0,s:e,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}}function $(e){return{t:1,i:void 0,s:v(e),l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function q(e,r){return y(e.features&8,new S(r)),{t:3,i:void 0,s:""+r,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function D(e){return{t:4,i:e,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function Q(e,r){return{t:5,i:e,s:r.toISOString(),l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0,b:void 0}}function X(e,r){return{t:6,i:e,s:void 0,l:void 0,c:r.source,m:r.flags,d:void 0,a:void 0,f:void 0,b:void 0}}function K(e,r){let n=new Uint8Array(r),t=n.length,o=new Array(t);for(let a=0;a<t;a++)o[a]=n[a];return{t:21,i:e,s:o,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function j(e,r){let n=P(e,r);return e.markedRefs.has(n)?D(n):K(n,r)}function ee(e,r,n){return y(e.features&2048,new S(n)),{t:15,i:r,s:void 0,l:n.length,c:n.constructor.name,m:void 0,d:void 0,a:void 0,f:j(e,n.buffer),b:n.byteOffset}}var Le=4104;function re(e,r,n){return y((e.features&Le)===Le,new S(n)),{t:16,i:r,s:void 0,l:n.length,c:n.constructor.name,m:void 0,d:void 0,a:void 0,f:j(e,n.buffer),b:n.byteOffset}}function lr(e,r,n){return y(e.features&1024,new S(n)),y(n in me,new Error("Only well-known symbols are supported.")),{t:17,i:r,s:me[n],l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function F(e,r){return{t:20,i:e,s:v(Ue(r)),l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0}}function ne(e,r,n){return{t:22,i:r,s:void 0,l:n.byteLength,c:void 0,m:void 0,d:void 0,a:void 0,f:j(e,n.buffer),b:n.byteOffset}}function te(e,r){let n=P(e,r);return e.markedRefs.has(n)?D(n):h(r)?F(n,r):lr(e,n,r)}function oe(e,r){y(h(r),new Error("Cannot serialize function without reference ID."));let n=P(e,r);return e.markedRefs.has(n)?D(n):F(n,r)}function H(e){return e instanceof EvalError?"EvalError":e instanceof RangeError?"RangeError":e instanceof ReferenceError?"ReferenceError":e instanceof SyntaxError?"SyntaxError":e instanceof TypeError?"TypeError":e instanceof URIError?"URIError":"Error"}function Ve(e){switch(e){case"Error":return Error;case"EvalError":return EvalError;case"RangeError":return RangeError;case"ReferenceError":return ReferenceError;case"SyntaxError":return SyntaxError;case"TypeError":return TypeError;case"URIError":return URIError;default:throw new Error(`Unknown Error constructor "${e}"`)}}function L(e,r){let n,t=H(r);r.name!==t?n={name:r.name}:r.constructor.name!==t&&(n={name:r.constructor.name});let o=Object.getOwnPropertyNames(r);for(let a of o)a!=="name"&&a!=="message"&&(a==="stack"?e.features&16&&(n=n||{},n[a]=r[a]):(n=n||{},n[a]=r[a]));return n}function E(e){if(!e||typeof e!="object"||Array.isArray(e))return!1;switch(e.constructor){case Map:case Set:case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:case BigInt64Array:case BigUint64Array:return!1;default:break}return Symbol.iterator in e}function Me(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 Error(`Unknown TypedArray "${e}"`)}}var ur=/^[$A-Z_][0-9A-Z_$]*$/i;function Se(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&ur.test(e)}function ae(e,r,n){return y(e.features&8192,new S(n)),{t:18,i:r,s:v(n.href),l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0,b:void 0}}function ie(e,r,n){return y(e.features&8192,new S(n)),{t:19,i:r,s:v(n.toString()),l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0,b:void 0}}async function _e(e,r,n){return y(e.features&8192,new S(n)),{t:23,i:r,s:void 0,l:void 0,c:v(n.type),m:void 0,d:void 0,f:j(e,await n.arrayBuffer()),a:void 0,b:void 0}}async function Ke(e,r,n){return y(e.features&8192,new S(n)),{t:24,i:r,s:void 0,l:void 0,c:v(n.type),m:v(n.name),d:void 0,f:j(e,await n.arrayBuffer()),a:void 0,b:n.lastModified}}function fr(e,r){let n=r.length,t=new Array(n),o=new Array(n),a;for(let i=0;i<n;i++)i in r&&(a=r[i],E(a)?o[i]=a:t[i]=w(e,a));for(let i=0;i<n;i++)i in o&&(t[i]=w(e,o[i]));return t}function We(e,r,n){return{t:9,i:r,s:void 0,l:n.length,c:void 0,m:void 0,d:void 0,a:fr(e,n),f:void 0,b:void 0}}function cr(e,r,n){y(e.features&32,new S(n));let t=n.size,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,d=0;for(let[u,c]of n.entries())E(u)||E(c)?(i[s]=u,l[s]=c,s++):(o[d]=w(e,u),a[d]=w(e,c),d++);for(let u=0;u<s;u++)o[d+u]=w(e,i[u]),a[d+u]=w(e,l[u]);return{t:8,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:{k:o,v:a,s:t},a:void 0,f:void 0,b:void 0}}function mr(e,r,n){y(e.features&512,new S(n));let t=n.size,o=new Array(t),a=new Array(t),i=0,l=0;for(let s of n.keys())E(s)?a[i++]=s:o[l++]=w(e,s);for(let s=0;s<i;s++)o[l+s]=w(e,a[s]);return{t:7,i:r,s:void 0,l:t,c:void 0,m:void 0,d:void 0,a:o,f:void 0,b:void 0}}function Ne(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,d=0,u,c;for(let f of n)u=r[f],c=v(f),E(u)?(i[s]=c,l[s]=u,s++):(o[d]=c,a[d]=w(e,u),d++);for(let f=0;f<s;f++)o[d+f]=i[f],a[d+f]=w(e,l[f]);if(e.features&1024&&Symbol.iterator in r){o[t]=0;let f=Array.from(r),C=P(e,f);a[t]=We(e,C,f),t++}return{k:o,v:a,s:t}}function Ye(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,d=0,u,c;for(let f of n)u=r[f],c=v(f),E(u)?(i[s]=c,l[s]=u,s++):(o[d]=c,a[d]=w(e,u),d++);for(let f=0;f<s;f++)o[d+f]=i[f],a[d+f]=w(e,l[f]);return{k:o,v:a,s:t}}function ye(e,r,n,t){return{t:t?11:10,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:Ne(e,n),a:void 0,f:void 0,b:void 0}}function He(e,r,n){let t=L(e,n),o=t?Ne(e,t):void 0;return{t:14,i:r,s:void 0,l:void 0,c:void 0,m:v(n.message),d:o,a:void 0,f:void 0,b:void 0}}function se(e,r,n){let t=L(e,n),o=t?Ne(e,t):void 0;return{t:13,i:r,s:void 0,l:void 0,c:H(n),m:v(n.message),d:o,a:void 0,f:void 0,b:void 0}}function Sr(e,r,n){y(e.features&8192,new S(n));let t={};return n.forEach((o,a)=>{t[a]=o}),{t:25,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:Ye(e,t),a:void 0,f:void 0,b:void 0}}function yr(e,r,n){y(e.features&8192,new S(n));let t={};return n.forEach((o,a)=>{t[a]=o}),{t:26,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:Ye(e,t),a:void 0,f:void 0,b:void 0}}function gr(e,r,n){return{t:27,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:w(e,n.valueOf()),b:void 0}}function Nr(e,r){if(!r)return J;let n=P(e,r);if(e.markedRefs.has(n))return D(n);if(h(r))return F(n,r);if(Array.isArray(r))return We(e,n,r);switch(r.constructor){case Number:case Boolean:case String:case BigInt:case Function:case Symbol:return gr(e,n,r);case Date:return Q(n,r);case RegExp:return X(n,r);case ArrayBuffer:return K(n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ee(e,n,r);case BigInt64Array:case BigUint64Array:return re(e,n,r);case DataView:return ne(e,n,r);case Map:return cr(e,n,r);case Set:return mr(e,n,r);case Object:return ye(e,n,r,!1);case void 0:return ye(e,n,r,!0);case AggregateError:return e.features&1?He(e,n,r):se(e,n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return se(e,n,r);case URL:return ae(e,n,r);case URLSearchParams:return ie(e,n,r);case Headers:return Sr(e,n,r);case FormData:return yr(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?He(e,n,r):se(e,n,r);if(r instanceof Error)return se(e,n,r);if(Symbol.iterator in r)return ye(e,n,r,!!r.constructor);throw new S(r)}function w(e,r){switch(typeof r){case"boolean":return r?W:Y;case"undefined":return G;case"string":return $(r);case"number":return Z(r);case"bigint":return q(e,r);case"object":return Nr(e,r);case"symbol":return te(e,r);case"function":return oe(e,r);default:throw new S(r)}}async function pr(e,r){let n=r.length,t=new Array(n),o=new Array(n),a;for(let i=0;i<n;i++)i in r&&(a=r[i],E(a)?o[i]=a:t[i]=await A(e,a));for(let i=0;i<n;i++)i in o&&(t[i]=await A(e,o[i]));return t}async function Ze(e,r,n){return{t:9,i:r,s:void 0,l:n.length,c:void 0,m:void 0,d:void 0,a:await pr(e,n),f:void 0,b:void 0}}async function br(e,r,n){y(e.features&32,new S(n));let t=n.size,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,d=0;for(let[u,c]of n.entries())E(u)||E(c)?(i[s]=u,l[s]=c,s++):(o[d]=await A(e,u),a[d]=await A(e,c),d++);for(let u=0;u<s;u++)o[d+u]=await A(e,i[u]),a[d+u]=await A(e,l[u]);return{t:8,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:{k:o,v:a,s:t},a:void 0,f:void 0,b:void 0}}async function vr(e,r,n){y(e.features&512,new S(n));let t=n.size,o=new Array(t),a=new Array(t),i=0,l=0;for(let s of n.keys())E(s)?a[i++]=s:o[l++]=await A(e,s);for(let s=0;s<i;s++)o[l+s]=await A(e,a[s]);return{t:7,i:r,s:void 0,l:t,c:void 0,m:void 0,d:void 0,a:o,f:void 0,b:void 0}}async function be(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,d=0,u,c;for(let f of n)u=r[f],c=v(f),E(u)?(i[s]=c,l[s]=u,s++):(o[d]=c,a[d]=await A(e,u),d++);for(let f=0;f<s;f++)o[d+f]=i[f],a[d+f]=await A(e,l[f]);if(e.features&1024&&Symbol.iterator in r){o[t]=0;let f=Array.from(r);a[t]=await Ze(e,P(e,f),f),t++}return{k:o,v:a,s:t}}async function $e(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,d=0,u,c;for(let f of n)u=r[f],c=v(f),E(u)?(i[s]=c,l[s]=u,s++):(o[d]=c,a[d]=await A(e,u),d++);for(let f=0;f<s;f++)o[d+f]=i[f],a[d+f]=await A(e,l[f]);return{k:o,v:a,s:t}}async function Ge(e,r,n){return y(e.features&256,new S(n)),{t:12,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:await A(e,await n),b:void 0}}async function pe(e,r,n,t){return{t:t?11:10,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:await be(e,n),a:void 0,f:void 0,b:void 0}}async function Je(e,r,n){let t=L(e,n),o=t?await be(e,t):void 0;return{t:14,i:r,s:void 0,l:void 0,c:void 0,m:v(n.message),d:o,a:void 0,f:void 0,b:void 0}}async function de(e,r,n){let t=L(e,n),o=t?await be(e,t):void 0;return{t:13,i:r,s:void 0,l:void 0,c:H(n),m:v(n.message),d:o,a:void 0,f:void 0,b:void 0}}async function Ar(e,r,n){y(e.features&8192,new S(n));let t={};return n.forEach((o,a)=>{t[a]=o}),{t:25,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:await $e(e,t),a:void 0,f:void 0,b:void 0}}async function wr(e,r,n){y(e.features&8192,new S(n));let t={};return n.forEach((o,a)=>{t[a]=o}),{t:26,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:await $e(e,t),a:void 0,f:void 0,b:void 0}}async function kr(e,r,n){return{t:27,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:await A(e,n.valueOf()),b:void 0}}async function Er(e,r){if(!r)return J;let n=P(e,r);if(e.markedRefs.has(n))return D(n);if(h(r))return F(n,r);if(Array.isArray(r))return Ze(e,n,r);switch(r.constructor){case Number:case Boolean:case String:case BigInt:case Function:case Symbol:return kr(e,n,r);case Date:return Q(n,r);case RegExp:return X(n,r);case Promise:return Ge(e,n,r);case ArrayBuffer:return K(n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ee(e,n,r);case BigInt64Array:case BigUint64Array:return re(e,n,r);case DataView:return ne(e,n,r);case Map:return br(e,n,r);case Set:return vr(e,n,r);case Object:return pe(e,n,r,!1);case void 0:return pe(e,n,r,!0);case AggregateError:return e.features&1?Je(e,n,r):de(e,n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return de(e,n,r);case URL:return ae(e,n,r);case URLSearchParams:return ie(e,n,r);case Blob:return _e(e,n,r);case File:return Ke(e,n,r);case Headers:return Ar(e,n,r);case FormData:return wr(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?Je(e,n,r):de(e,n,r);if(r instanceof Error)return de(e,n,r);if(r instanceof Promise)return Ge(e,n,r);if(Symbol.iterator in r)return pe(e,n,r,!!r.constructor);throw new S(r)}async function A(e,r){switch(typeof r){case"boolean":return r?W:Y;case"undefined":return G;case"string":return $(r);case"number":return Z(r);case"bigint":return q(e,r);case"object":return Er(e,r);case"symbol":return te(e,r);case"function":return oe(e,r);default:throw new S(r)}}function p(e,r,n){return e.markedRefs.has(r)&&e.valueMap.set(r,n),n}function Rr(e,r){let n=r.l,t=p(e,r.i,new Array(n)),o;for(let a=0;a<n;a++)o=r.a[a],o&&(t[a]=k(e,o));return t}function qe(e,r,n){let t=r.s;if(t){let o,a,i=r.k,l=r.v;for(let s=0;s<t;s++)switch(o=i[s],a=k(e,l[s]),o){case 0:{let d=a;n[Symbol.iterator]=()=>d.values()}break;default:n[R(o)]=a;break}}return n}function Cr(e,r){let n=p(e,r.i,r.t===10?{}:Object.create(null));return qe(e,r.d,n),n}function Ir(e,r){let n=p(e,r.i,new Set),t=r.a;for(let o=0,a=r.l;o<a;o++)n.add(k(e,t[o]));return n}function Pr(e,r){let n=p(e,r.i,new Map),t=r.d.k,o=r.d.v;for(let a=0,i=r.d.s;a<i;a++)n.set(k(e,t[a]),k(e,o[a]));return n}function Qe(e,r,n){if(r.d){let t=qe(e,r.d,{});Object.assign(n,t)}return n}function zr(e,r){let n=p(e,r.i,new AggregateError([],R(r.m)));return Qe(e,r,n)}function Br(e,r){let n=Ve(r.c),t=p(e,r.i,new n(R(r.m)));return Qe(e,r,t)}function hr(){let e;return{resolve(r){e(r)},promise:new Promise(r=>{e=r})}}async function Or(e,r){let n=hr(),t=p(e,r.i,n.promise);return n.resolve(k(e,r.f)),t}function Tr(e,r){let n=new Uint8Array(r.s);return p(e,r.i,n.buffer)}function Dr(e,r){let n=Me(r.c),t=k(e,r.f);return p(e,r.i,new n(t,r.b,r.l))}function Ur(e,r){return p(e,r.i,new Date(r.s))}function xr(e,r){return p(e,r.i,new RegExp(r.c,r.m))}function jr(e,r){return p(e,r.i,new URL(R(r.s)))}function Fr(e,r){return p(e,r.i,new URLSearchParams(R(r.s)))}function Lr(e,r){return p(e,r.i,xe(R(r.s)))}function Vr(e,r){let n=k(e,r.f);return p(e,r.i,new DataView(n,r.b,r.l))}function Mr(e,r){let n=k(e,r.f);return p(e,r.i,new Blob([n],{type:R(r.c)}))}function _r(e,r){let n=k(e,r.f);return p(e,r.i,new File([n],R(r.m),{type:R(r.c),lastModified:r.b}))}function Kr(e,r){let n=p(e,r.i,new Headers),t=r.d.k,o=r.d.v;for(let a=0,i=r.d.s;a<i;a++)n.set(R(t[a]),k(e,o[a]));return n}function Hr(e,r){let n=p(e,r.i,new FormData),t=r.d.k,o=r.d.v;for(let a=0,i=r.d.s;a<i;a++)n.set(R(t[a]),k(e,o[a]));return n}function Wr(e,r){return p(e,r.i,Object(k(e,r.f)))}function k(e,r){switch(r.t){case 2:return De(r);case 0:return r.s;case 1:return R(r.s);case 3:return BigInt(r.s);case 4:return e.valueMap.get(r.i);case 9:return Rr(e,r);case 10:case 11:return Cr(e,r);case 5:return Ur(e,r);case 6:return xr(e,r);case 7:return Ir(e,r);case 8:return Pr(e,r);case 21:return Tr(e,r);case 16:case 15:return Dr(e,r);case 22:return Vr(e,r);case 14:return zr(e,r);case 13:return Br(e,r);case 12:return Or(e,r);case 17:return Fe[r.s];case 18:return jr(e,r);case 19:return Fr(e,r);case 20:return Lr(e,r);case 23:return Mr(e,r);case 24:return _r(e,r);case 25:return Kr(e,r);case 26:return Hr(e,r);case 27:return Wr(e,r);default:throw new Error("invariant")}}function le(e){switch(e.t){case"index":return e.s+"="+e.v;case"set":return e.s+".set("+e.k+","+e.v+")";case"add":return e.s+".add("+e.v+")";case"append":return e.s+".append("+e.k+","+e.v+")";default:return""}}function Yr(e){let r=[],n=e[0],t=n,o;for(let a=1,i=e.length;a<i;a++){if(o=e[a],o.t===t.t)switch(o.t){case"index":o.v===t.v?n={t:"index",s:o.s,k:void 0,v:le(n)}:(r.push(n),n=o);break;case"set":o.s===t.s?n={t:"set",s:le(n),k:o.k,v:o.v}:(r.push(n),n=o);break;case"add":o.s===t.s?n={t:"add",s:le(n),k:void 0,v:o.v}:(r.push(n),n=o);break;case"append":r.push(n),n=o;break;default:break}else r.push(n),n=o;t=o}return r.push(n),r}function Ae(e){if(e.length){let r="",n=Yr(e);for(let t=0,o=n.length;t<o;t++)r+=le(n[t])+",";return r}}function Xe(e){return Ae(e.assignments)}function er(e,r,n){e.assignments.push({t:"index",s:r,k:void 0,v:n})}function Gr(e,r,n){e.assignments.push({t:"add",s:b(e,r),k:void 0,v:n})}function ve(e,r,n,t){e.assignments.push({t:"set",s:b(e,r),k:n,v:t})}function Jr(e,r,n,t){e.assignments.push({t:"append",s:b(e,r),k:n,v:t})}function ue(e,r,n,t){er(e,b(e,r)+"["+n+"]",t)}function rr(e,r,n,t){I(e,r),er(e,b(e,r)+"."+n,t)}function N(e,r,n){return e.markedRefs.has(r)?b(e,r)+"="+n:n}function U(e,r){return r.t===4&&e.stack.includes(r.i)}function Zr(e,r){let n=r.i;e.stack.push(n);let t="",o,a=!1,i=r.a;for(let l=0,s=r.l;l<s;l++)l!==0&&(t+=","),o=i[l],o?U(e,o)?(I(e,n),ue(e,n,l,b(e,o.i)),a=!0):(t+=g(e,o),a=!1):a=!0;return e.stack.pop(),N(e,n,"["+t+(a?",]":"]"))}function nr(e){return e.features&2?".values()":"[Symbol.iterator]()"}function $r(e,r){let n=e.stack;e.stack=[];let t=g(e,r)+nr(e);return e.stack=n,e.features&4?t="[Symbol.iterator]:()=>"+t:e.features&64?t="[Symbol.iterator](){return "+t+"}":t="[Symbol.iterator]:function(){return "+t+"}",t}function we(e,r,n){let t=n.s;if(t===0)return"{}";let o="";e.stack.push(r);let a,i,l,s,d,u=!1,c=n.k,f=n.v;for(let C=0;C<t;C++)switch(a=c[C],i=f[C],a){case 0:o+=(u?",":"")+$r(e,i),u=!0;break;default:l=Number(a),s=l>=0||Se(a),U(e,i)?(d=b(e,i.i),I(e,r),s&&Number.isNaN(l)?rr(e,r,a,d):ue(e,r,s?a:'"'+a+'"',d)):(o+=(u?",":"")+(s?a:'"'+a+'"')+":"+g(e,i),u=!0);break}return e.stack.pop(),"{"+o+"}"}function qr(e,r,n,t){let o=we(e,n,r);return o!=="{}"?"Object.assign("+t+","+o+")":t}function Qr(e,r,n){e.stack.push(r);let t=[],o,a,i,l=n.k,s=n.v;for(let d=0,u=n.s;d<u;d++){switch(o=l[d],a=s[d],i=e.assignments,e.assignments=t,o){case 0:{let c=e.stack;e.stack=[];let f=g(e,a)+nr(e);e.stack=c,ue(e,r,"Symbol.iterator",e.features&4?"()=>"+f:"function(){return "+f+"}")}break;default:{let c=g(e,a),f=Number(o),C=f>=0||Se(o);C&&Number.isNaN(f)?rr(e,r,o,c):ue(e,r,C?o:'"'+o+'"',c)}}e.assignments=i}return e.stack.pop(),Ae(t)}function ke(e,r,n,t){if(n)if(e.features&128)t=qr(e,n,r,t);else{I(e,r);let o=Qr(e,r,n);if(o)return"("+N(e,r,t)+","+o+b(e,r)+")"}return N(e,r,t)}var Xr="Object.create(null)";function en(e,r){return ke(e,r.i,r.d,Xr)}function rn(e,r){return N(e,r.i,we(e,r.i,r.d))}function nn(e,r){let n="new Set",t=r.l,o=r.i;if(t){let a="",i,l=!1,s=r.a;e.stack.push(o);for(let d=0;d<t;d++)i=s[d],U(e,i)?(I(e,o),Gr(e,o,b(e,i.i))):(a+=(l?",":"")+g(e,i),l=!0);e.stack.pop(),a&&(n+="(["+a+"])")}return N(e,o,n)}function tn(e,r){let n="new Map",t=r.d.s,o=r.i;if(t){let a="",i,l,s,d,u,c=!1,f=r.d.k,C=r.d.v;e.stack.push(o);for(let m=0;m<t;m++)i=f[m],l=C[m],U(e,i)?(s=b(e,o),I(e,o),U(e,l)?(d=b(e,l.i),ve(e,o,s,d)):(u=e.stack,e.stack=[],ve(e,o,s,g(e,l)),e.stack=u)):U(e,l)?(d=b(e,l.i),I(e,o),u=e.stack,e.stack=[],ve(e,o,g(e,i),d),e.stack=u):(a+=(c?",[":"[")+g(e,i)+","+g(e,l)+"]",c=!0);e.stack.pop(),a&&(n+="(["+a+"])")}return N(e,o,n)}function on(e,r){let n=r.i;e.stack.push(n);let t='new AggregateError([],"'+r.m+'")';return e.stack.pop(),ke(e,n,r.d,t)}function an(e,r){return ke(e,r.i,r.d,"new "+r.c+'("'+r.m+'")')}function sn(e,r){let n,t=r.f,o=r.i;if(U(e,t)){let a=b(e,t.i);e.features&4?n="Promise.resolve().then(()=>"+a+")":n="Promise.resolve().then(function(){return "+a+"})"}else{e.stack.push(o);let a=g(e,t);e.stack.pop(),n="Promise.resolve("+a+")"}return N(e,o,n)}function dn(e,r){let n="new Uint8Array(",t=r.s,o=t.length;if(o){n+="[";for(let a=0;a<o;a++)n+=(a>0?",":"")+t[a];n+="]"}return N(e,r.i,n+").buffer")}function ln(e,r){return N(e,r.i,"new "+r.c+"("+g(e,r.f)+","+r.b+","+r.l+")")}function un(e,r){return N(e,r.i,'new Date("'+r.s+'")')}function fn(e,r){return N(e,r.i,"/"+r.c+"/"+r.m)}function cn(e,r){return N(e,r.i,'new URL("'+r.s+'")')}function mn(e,r){return N(e,r.i,r.s?'new URLSearchParams("'+r.s+'")':"new URLSearchParams")}function Sn(e,r){return N(e,r.i,x+'.get("'+r.s+'")')}function yn(e,r){return N(e,r.i,"new DataView("+g(e,r.f)+","+r.b+","+r.l+")")}function gn(e,r){return N(e,r.i,"new Blob(["+g(e,r.f)+'],{type:"'+r.c+'"})')}function Nn(e,r){return N(e,r.i,"new File(["+g(e,r.f)+'],"'+r.m+'",{type:"'+r.c+'",lastModified:'+r.b+"})")}function pn(e,r){return N(e,r.i,"new Headers("+we(e,r.i,r.d)+")")}function bn(e,r){let n,t,o=r.d.k,a=r.d.v,i=r.i,l=[],s;e.stack.push(i);for(let d=0,u=r.d.s;d<u;d++)t=o[d],n=g(e,a[d]),s=e.assignments,e.assignments=l,Jr(e,i,'"'+t+'"',n),e.assignments=s;return e.stack.pop(),Ae(l)}function vn(e,r){let n=r.d.s,t=r.i;n&&I(e,t);let o=N(e,t,"new FormData()");if(n){let a=bn(e,r);return"("+o+","+(a==null?"":a)+b(e,t)+")"}return o}function An(e,r){return N(e,r.i,"Object("+g(e,r.f)+")")}function wn(e,r){return N(e,r.i,je[r.s])}function g(e,r){switch(r.t){case 0:return""+r.s;case 1:return'"'+r.s+'"';case 2:return Te(r);case 3:return r.s+"n";case 4:return b(e,r.i);case 9:return Zr(e,r);case 10:return rn(e,r);case 11:return en(e,r);case 5:return un(e,r);case 6:return fn(e,r);case 7:return nn(e,r);case 8:return tn(e,r);case 21:return dn(e,r);case 16:case 15:return ln(e,r);case 22:return yn(e,r);case 14:return on(e,r);case 13:return an(e,r);case 12:return sn(e,r);case 17:return wn(e,r);case 18:return cn(e,r);case 19:return mn(e,r);case 20:return Sn(e,r);case 23:return gn(e,r);case 24:return Nn(e,r);case 25:return pn(e,r);case 26:return vn(e,r);case 27:return An(e,r);default:throw new Error("invariant")}}function Ee(e,r,n,t){if(e.vars.length){let o=Xe(e),a=t;if(o){let l=b(e,r);a=t+","+o+l,t.startsWith(l+"=")||(a=l+"="+a)}let i=e.vars.length>1?e.vars.join(","):e.vars[0];return e.features&4?(i=e.vars.length>1||e.vars.length===0?"("+i+")":i,"("+i+"=>("+a+"))()"):"(function("+i+"){return "+a+"})()"}return n?"("+t+")":t}function kn(e,r){let n=V(r),t=w(n,e),o=M(n),a=g(o,t);return Ee(o,_(n,e),t.t===10,a)}async function $t(e,r){let n=V(r),t=await A(n,e),o=M(n),a=g(o,t);return Ee(o,_(n,e),t.t===10,a)}function qt(e){return(0,eval)(e)}function Qt(e,r){let n=V(r);return{t:w(n,e),r:_(n,e),f:n.features,m:Array.from(n.markedRefs)}}async function Xt(e,r){let n=V(r);return{t:await A(n,e),r:_(n,e),f:n.features,m:Array.from(n.markedRefs)}}function eo(e){let r=M({features:e.f,markedRefs:e.m}),n=g(r,e.t);return Ee(r,e.r,e.t.i===10,n)}function ro(e){let r=M({features:e.f,markedRefs:e.m});return k(r,e.t)}var no=kn;export{z as Feature,eo as compileJSON,sr as createReference,no as default,qt as deserialize,ro as fromJSON,kn as serialize,$t as serializeAsync,Qt as toJSON,Xt as toJSONAsync};
@@ -1 +1 @@
1
- export default function assert(cond: unknown, error: string): asserts cond;
1
+ export default function assert(cond: unknown, error: Error): asserts cond;
@@ -30,10 +30,10 @@ export interface ParserContext {
30
30
  }
31
31
  export interface SerializationContext {
32
32
  stack: number[];
33
- validRefs: number[];
33
+ validRefs: (number | undefined)[];
34
34
  refSize: number;
35
35
  markedRefs: Set<number>;
36
- vars: string[];
36
+ vars: (string | undefined)[];
37
37
  assignments: Assignment[];
38
38
  features: number;
39
39
  valueMap: Map<number, unknown>;
@@ -1,6 +1,6 @@
1
- import { Options } from './context';
2
- import { SerovalNode } from './tree/types';
3
- export { AsyncServerValue, ServerValue, PrimitiveValue, CommonServerValue, SemiPrimitiveValue, ErrorValue, } from './types';
1
+ import type { Options } from './context';
2
+ import type { SerovalNode } from './tree/types';
3
+ export type { AsyncServerValue, ServerValue, PrimitiveValue, CommonServerValue, SemiPrimitiveValue, ErrorValue, } from './types';
4
4
  export { Feature } from './compat';
5
5
  export declare function serialize<T>(source: T, options?: Partial<Options>): string;
6
6
  export declare function serializeAsync<T>(source: T, options?: Partial<Options>): Promise<string>;
@@ -8,7 +8,6 @@ export declare function deserialize<T>(source: string): T;
8
8
  export interface SerovalJSON {
9
9
  t: SerovalNode;
10
10
  r: number;
11
- i: boolean;
12
11
  f: number;
13
12
  m: number[];
14
13
  }
@@ -1,3 +1,3 @@
1
- export declare function serializeChar(str: string): "\\\"" | "\\\\" | "\\n" | "\\r" | "\\b" | "\\t" | "\\f" | "\\x3C" | "\\u2028" | "\\u2029" | undefined;
1
+ export declare function serializeChar(str: string): string | undefined;
2
2
  export declare function serializeString(str: string): string;
3
3
  export declare function deserializeString(str: string): string;
@@ -0,0 +1,3 @@
1
+ export default class UnsupportedTypeError extends Error {
2
+ constructor(value: unknown);
3
+ }
@@ -1,3 +1,3 @@
1
- import { ParserContext } from '../context';
2
- import { SerovalNode } from './types';
3
- export default function parseAsync<T>(ctx: ParserContext, current: T): Promise<readonly [SerovalNode, number, boolean]>;
1
+ import type { ParserContext } from '../context';
2
+ import type { SerovalNode } from './types';
3
+ export default function parseAsync<T>(ctx: ParserContext, current: T): Promise<SerovalNode>;
@@ -0,0 +1,11 @@
1
+ import type { SerovalConstantNode } from './types';
2
+ export declare const TRUE_NODE: SerovalConstantNode;
3
+ export declare const FALSE_NODE: SerovalConstantNode;
4
+ export declare const UNDEFINED_NODE: SerovalConstantNode;
5
+ export declare const NULL_NODE: SerovalConstantNode;
6
+ export declare const NEG_ZERO_NODE: SerovalConstantNode;
7
+ export declare const INFINITY_NODE: SerovalConstantNode;
8
+ export declare const NEG_INFINITY_NODE: SerovalConstantNode;
9
+ export declare const NAN_NODE: SerovalConstantNode;
10
+ export declare function serializeConstant(node: SerovalConstantNode): string;
11
+ export declare function deserializeConstant(node: SerovalConstantNode): unknown;
@@ -1,3 +1,3 @@
1
- import { SerializationContext } from '../context';
2
- import { SerovalNode } from './types';
1
+ import type { SerializationContext } from '../context';
2
+ import type { SerovalNode } from './types';
3
3
  export default function deserializeTree(ctx: SerializationContext, node: SerovalNode): unknown;
@@ -1,25 +1,19 @@
1
- import { ParserContext } from '../context';
2
- import { BigIntTypedArrayValue, TypedArrayValue } from '../types';
3
- import { WellKnownSymbols } from './symbols';
4
- import { SerovalBigIntNode, SerovalBigIntTypedArrayNode, SerovalBooleanNode, SerovalDateNode, SerovalInfinityNode, SerovalNaNNode, SerovalNegativeInfinityNode, SerovalNegativeZeroNode, SerovalNullNode, SerovalNumberNode, SerovalIndexedValueNode, SerovalRegExpNode, SerovalStringNode, SerovalTypedArrayNode, SerovalUndefinedNode, SerovalWKSymbolNode, SerovalReferenceNode, SerovalArrayBufferNode, SerovalDataViewNode } from './types';
5
- export declare const TRUE_NODE: SerovalBooleanNode;
6
- export declare const FALSE_NODE: SerovalBooleanNode;
7
- export declare const UNDEFINED_NODE: SerovalUndefinedNode;
8
- export declare const NULL_NODE: SerovalNullNode;
9
- export declare const NEG_ZERO_NODE: SerovalNegativeZeroNode;
10
- export declare const INFINITY_NODE: SerovalInfinityNode;
11
- export declare const NEG_INFINITY_NODE: SerovalNegativeInfinityNode;
12
- export declare const NAN_NODE: SerovalNaNNode;
13
- export declare function createNumberNode(value: number): SerovalNumberNode;
1
+ import type { ParserContext } from '../context';
2
+ import type { BigIntTypedArrayValue, TypedArrayValue } from '../types';
3
+ import type { WellKnownSymbols } from './symbols';
4
+ import type { SerovalBigIntNode, SerovalBigIntTypedArrayNode, SerovalDateNode, SerovalIndexedValueNode, SerovalRegExpNode, SerovalStringNode, SerovalTypedArrayNode, SerovalWKSymbolNode, SerovalReferenceNode, SerovalArrayBufferNode, SerovalDataViewNode, SerovalNode } from './types';
5
+ export declare function createNumberNode(value: number): SerovalNode;
14
6
  export declare function createStringNode(value: string): SerovalStringNode;
15
7
  export declare function createBigIntNode(ctx: ParserContext, current: bigint): SerovalBigIntNode;
16
8
  export declare function createIndexedValueNode(id: number): SerovalIndexedValueNode;
17
9
  export declare function createDateNode(id: number, current: Date): SerovalDateNode;
18
10
  export declare function createRegExpNode(id: number, current: RegExp): SerovalRegExpNode;
19
11
  export declare function createArrayBufferNode(id: number, current: ArrayBuffer): SerovalArrayBufferNode;
20
- export declare function serializeArrayBuffer(ctx: ParserContext, current: ArrayBuffer): SerovalIndexedValueNode | SerovalArrayBufferNode;
12
+ export declare function serializeArrayBuffer(ctx: ParserContext, current: ArrayBuffer): SerovalNode;
21
13
  export declare function createTypedArrayNode(ctx: ParserContext, id: number, current: TypedArrayValue): SerovalTypedArrayNode;
22
14
  export declare function createBigIntTypedArrayNode(ctx: ParserContext, id: number, current: BigIntTypedArrayValue): SerovalBigIntTypedArrayNode;
23
- export declare function createWKSymbolNode(ctx: ParserContext, current: WellKnownSymbols): SerovalWKSymbolNode;
15
+ export declare function createWKSymbolNode(ctx: ParserContext, id: number, current: WellKnownSymbols): SerovalWKSymbolNode;
24
16
  export declare function createReferenceNode<T>(id: number, ref: T): SerovalReferenceNode;
25
17
  export declare function createDataViewNode(ctx: ParserContext, id: number, current: DataView): SerovalDataViewNode;
18
+ export declare function createSymbolNode(ctx: ParserContext, current: symbol): SerovalNode;
19
+ export declare function createFunctionNode(ctx: ParserContext, current: Function): SerovalNode;
@@ -1,4 +1,4 @@
1
- import { SerializationContext } from '../context';
2
- import { SerovalNode } from './types';
1
+ import type { SerializationContext } from '../context';
2
+ import type { SerovalNode } from './types';
3
3
  export declare function resolvePatches(ctx: SerializationContext): string | undefined;
4
4
  export default function serializeTree(ctx: SerializationContext, node: SerovalNode): string;
@@ -1,9 +1,11 @@
1
- import { ParserContext } from '../context';
2
- import { AsyncServerValue, ErrorValue } from '../types';
3
- export declare function getErrorConstructorName(error: ErrorValue): "EvalError" | "RangeError" | "ReferenceError" | "SyntaxError" | "TypeError" | "URIError" | "Error";
4
- export declare function getErrorConstructor(errorName: string): ErrorConstructor;
5
- export declare function getErrorOptions(ctx: ParserContext, error: Error): Record<string, any> | undefined;
6
- export declare function getIterableOptions(obj: Iterable<any>): Record<string, unknown> | undefined;
7
- export declare function isIterable(value: unknown): value is Iterable<AsyncServerValue>;
8
- export declare function getTypedArrayConstructor(name: string): Int8ArrayConstructor | Uint8ArrayConstructor | Uint8ClampedArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Int32ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor;
1
+ import type { ParserContext } from '../context';
2
+ import type { ErrorValue } from '../types';
3
+ export declare function getErrorConstructorName(error: ErrorValue): string;
4
+ type ErrorConstructors = ErrorConstructor | EvalErrorConstructor | RangeErrorConstructor | ReferenceErrorConstructor | SyntaxErrorConstructor | TypeErrorConstructor | URIErrorConstructor;
5
+ export declare function getErrorConstructor(errorName: string): ErrorConstructors;
6
+ export declare function getErrorOptions(ctx: ParserContext, error: Error): Record<string, unknown> | undefined;
7
+ export declare function isIterable(value: unknown): value is Iterable<unknown>;
8
+ type TypedArrayConstructor = Int8ArrayConstructor | Int16ArrayConstructor | Int32ArrayConstructor | Uint8ArrayConstructor | Uint16ArrayConstructor | Uint32ArrayConstructor | Uint8ClampedArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor;
9
+ export declare function getTypedArrayConstructor(name: string): TypedArrayConstructor;
9
10
  export declare function isValidIdentifier(name: string): boolean;
11
+ export {};
@@ -1,3 +1,3 @@
1
- import { ParserContext } from '../context';
2
- import { SerovalNode } from './types';
3
- export default function parseSync<T>(ctx: ParserContext, current: T): readonly [SerovalNode, number, boolean];
1
+ import type { ParserContext } from '../context';
2
+ import type { SerovalNode } from './types';
3
+ export default function parseSync<T>(ctx: ParserContext, current: T): SerovalNode;
@@ -1,63 +1,75 @@
1
- import { Symbols } from './symbols';
1
+ import type { Symbols } from './symbols';
2
+ export declare const enum SerovalConstant {
3
+ Null = 0,
4
+ Undefined = 1,
5
+ True = 2,
6
+ False = 3,
7
+ NegativeZero = 4,
8
+ Infinity = 5,
9
+ NegativeInfinity = 6,
10
+ NaN = 7
11
+ }
2
12
  export declare const enum SerovalNodeType {
3
13
  Number = 0,
4
14
  String = 1,
5
- Boolean = 2,
6
- Null = 3,
7
- Undefined = 4,
8
- NegativeZero = 5,
9
- Infinity = 6,
10
- NegativeInfinity = 7,
11
- NaN = 8,
12
- BigInt = 9,
13
- IndexedValue = 10,
14
- Date = 11,
15
- RegExp = 12,
16
- Set = 13,
17
- Map = 14,
18
- Array = 15,
19
- Object = 16,
20
- NullConstructor = 17,
21
- Promise = 18,
22
- Error = 19,
23
- AggregateError = 20,
24
- Iterable = 21,
25
- TypedArray = 22,
26
- BigIntTypedArray = 23,
27
- WKSymbol = 24,
28
- URL = 25,
29
- URLSearchParams = 26,
30
- Reference = 27,
31
- ArrayBuffer = 28,
32
- DataView = 29,
33
- Blob = 30,
34
- File = 31,
35
- Headers = 32,
36
- FormData = 33
15
+ Constant = 2,
16
+ BigInt = 3,
17
+ IndexedValue = 4,
18
+ Date = 5,
19
+ RegExp = 6,
20
+ Set = 7,
21
+ Map = 8,
22
+ Array = 9,
23
+ Object = 10,
24
+ NullConstructor = 11,
25
+ Promise = 12,
26
+ Error = 13,
27
+ AggregateError = 14,
28
+ TypedArray = 15,
29
+ BigIntTypedArray = 16,
30
+ WKSymbol = 17,
31
+ URL = 18,
32
+ URLSearchParams = 19,
33
+ Reference = 20,
34
+ ArrayBuffer = 21,
35
+ DataView = 22,
36
+ Blob = 23,
37
+ File = 24,
38
+ Headers = 25,
39
+ FormData = 26,
40
+ Boxed = 27
37
41
  }
38
42
  export interface SerovalBaseNode {
39
43
  t: SerovalNodeType;
40
44
  i: number | undefined;
41
- s: any;
45
+ s: unknown;
42
46
  l: number | undefined;
43
47
  c: string | undefined;
44
48
  m: string | undefined;
45
- d: SerovalDictionaryNode | undefined;
46
- a: SerovalNode[] | undefined;
49
+ d: SerovalObjectRecordNode | SerovalMapRecordNode | undefined;
50
+ a: (SerovalNode | undefined)[] | undefined;
47
51
  f: SerovalNode | undefined;
48
52
  b: number | undefined;
49
53
  }
50
- export interface SerovalObjectRecordNode {
54
+ export declare const enum SerovalObjectRecordSpecialKey {
55
+ SymbolIterator = 0
56
+ }
57
+ export type SerovalObjectRecordKey = string | SerovalObjectRecordSpecialKey;
58
+ export interface SerovalPlainRecordNode {
51
59
  k: string[];
52
60
  v: SerovalNode[];
53
61
  s: number;
54
62
  }
63
+ export interface SerovalObjectRecordNode {
64
+ k: SerovalObjectRecordKey[];
65
+ v: SerovalNode[];
66
+ s: number;
67
+ }
55
68
  export interface SerovalMapRecordNode {
56
69
  k: SerovalNode[];
57
70
  v: SerovalNode[];
58
71
  s: number;
59
72
  }
60
- export type SerovalDictionaryNode = SerovalObjectRecordNode | SerovalMapRecordNode;
61
73
  export interface SerovalNumberNode extends SerovalBaseNode {
62
74
  t: SerovalNodeType.Number;
63
75
  s: number;
@@ -66,29 +78,11 @@ export interface SerovalStringNode extends SerovalBaseNode {
66
78
  t: SerovalNodeType.String;
67
79
  s: string;
68
80
  }
69
- export interface SerovalBooleanNode extends SerovalBaseNode {
70
- t: SerovalNodeType.Boolean;
71
- s: boolean;
72
- }
73
- export interface SerovalNullNode extends SerovalBaseNode {
74
- t: SerovalNodeType.Null;
75
- }
76
- export interface SerovalUndefinedNode extends SerovalBaseNode {
77
- t: SerovalNodeType.Undefined;
78
- }
79
- export interface SerovalNegativeZeroNode extends SerovalBaseNode {
80
- t: SerovalNodeType.NegativeZero;
81
- }
82
- export interface SerovalInfinityNode extends SerovalBaseNode {
83
- t: SerovalNodeType.Infinity;
84
- }
85
- export interface SerovalNegativeInfinityNode extends SerovalBaseNode {
86
- t: SerovalNodeType.NegativeInfinity;
87
- }
88
- export interface SerovalNaNNode extends SerovalBaseNode {
89
- t: SerovalNodeType.NaN;
81
+ export interface SerovalConstantNode extends SerovalBaseNode {
82
+ t: SerovalNodeType.Constant;
83
+ s: SerovalConstant;
90
84
  }
91
- export type SerovalPrimitiveNode = SerovalNumberNode | SerovalStringNode | SerovalBooleanNode | SerovalNullNode | SerovalUndefinedNode | SerovalNegativeZeroNode | SerovalNegativeInfinityNode | SerovalInfinityNode | SerovalNaNNode;
85
+ export type SerovalPrimitiveNode = SerovalNumberNode | SerovalStringNode | SerovalConstantNode;
92
86
  export interface SerovalIndexedValueNode extends SerovalBaseNode {
93
87
  t: SerovalNodeType.IndexedValue;
94
88
  i: number;
@@ -144,7 +138,7 @@ export interface SerovalMapNode extends SerovalBaseNode {
144
138
  export interface SerovalArrayNode extends SerovalBaseNode {
145
139
  t: SerovalNodeType.Array;
146
140
  l: number;
147
- a: SerovalNode[];
141
+ a: (SerovalNode | undefined)[];
148
142
  i: number;
149
143
  }
150
144
  export interface SerovalObjectNode extends SerovalBaseNode {
@@ -175,15 +169,9 @@ export interface SerovalAggregateErrorNode extends SerovalBaseNode {
175
169
  m: string;
176
170
  d: SerovalObjectRecordNode | undefined;
177
171
  }
178
- export interface SerovalIterableNode extends SerovalBaseNode {
179
- t: SerovalNodeType.Iterable;
180
- d: SerovalObjectRecordNode | undefined;
181
- l: number;
182
- a: SerovalNode[];
183
- i: number;
184
- }
185
172
  export interface SerovalWKSymbolNode extends SerovalBaseNode {
186
173
  t: SerovalNodeType.WKSymbol;
174
+ i: number;
187
175
  s: Symbols;
188
176
  }
189
177
  export interface SerovalURLNode extends SerovalBaseNode {
@@ -225,11 +213,16 @@ export interface SerovalFileNode extends SerovalBaseNode {
225
213
  export interface SerovalHeadersNode extends SerovalBaseNode {
226
214
  t: SerovalNodeType.Headers;
227
215
  i: number;
228
- d: SerovalObjectRecordNode;
216
+ d: SerovalPlainRecordNode;
229
217
  }
230
218
  export interface SerovalFormDataNode extends SerovalBaseNode {
231
219
  t: SerovalNodeType.FormData;
232
220
  i: number;
233
- d: SerovalObjectRecordNode;
221
+ d: SerovalPlainRecordNode;
222
+ }
223
+ export interface SerovalBoxedNode extends SerovalBaseNode {
224
+ t: SerovalNodeType.Boxed;
225
+ i: number;
226
+ f: SerovalNode;
234
227
  }
235
- export type SerovalNode = SerovalPrimitiveNode | SerovalIndexedValueNode | SerovalSemiPrimitiveNode | SerovalSetNode | SerovalMapNode | SerovalArrayNode | SerovalObjectNode | SerovalNullConstructorNode | SerovalPromiseNode | SerovalErrorNode | SerovalAggregateErrorNode | SerovalIterableNode | SerovalWKSymbolNode | SerovalURLNode | SerovalURLSearchParamsNode | SerovalReferenceNode | SerovalArrayBufferNode | SerovalDataViewNode | SerovalBlobNode | SerovalFileNode | SerovalHeadersNode | SerovalFormDataNode;
228
+ export type SerovalNode = SerovalPrimitiveNode | SerovalIndexedValueNode | SerovalSemiPrimitiveNode | SerovalSetNode | SerovalMapNode | SerovalArrayNode | SerovalObjectNode | SerovalNullConstructorNode | SerovalPromiseNode | SerovalErrorNode | SerovalAggregateErrorNode | SerovalWKSymbolNode | SerovalURLNode | SerovalURLSearchParamsNode | SerovalReferenceNode | SerovalArrayBufferNode | SerovalDataViewNode | SerovalBlobNode | SerovalFileNode | SerovalHeadersNode | SerovalFormDataNode | SerovalBoxedNode;
@@ -1,5 +1,5 @@
1
- import { ParserContext } from '../context';
2
- import { SerovalBlobNode, SerovalFileNode, SerovalURLNode, SerovalURLSearchParamsNode } from './types';
1
+ import type { ParserContext } from '../context';
2
+ import type { SerovalBlobNode, SerovalFileNode, SerovalURLNode, SerovalURLSearchParamsNode } from './types';
3
3
  export declare function createURLNode(ctx: ParserContext, id: number, current: URL): SerovalURLNode;
4
4
  export declare function createURLSearchParamsNode(ctx: ParserContext, id: number, current: URLSearchParams): SerovalURLSearchParamsNode;
5
5
  export declare function createBlobNode(ctx: ParserContext, id: number, current: Blob): Promise<SerovalBlobNode>;
@@ -1,10 +1,10 @@
1
- import { WellKnownSymbols } from './tree/symbols';
1
+ import type { WellKnownSymbols } from './tree/symbols';
2
2
  export type PrimitiveValue = boolean | string | number | undefined | null | WellKnownSymbols;
3
3
  export type ErrorValue = Error | AggregateError | EvalError | RangeError | ReferenceError | TypeError | SyntaxError | URIError;
4
4
  export type TypedArrayValue = Int8Array | Int16Array | Int32Array | Uint8Array | Uint16Array | Uint32Array | Uint8ClampedArray | Float32Array | Float64Array;
5
5
  export type BigIntTypedArrayValue = BigInt64Array | BigUint64Array;
6
- export type WebAPIValue = URL | URLSearchParams;
7
- export type SemiPrimitiveValue = RegExp | Date | TypedArrayValue | BigIntTypedArrayValue | bigint | WebAPIValue;
6
+ export type WebAPIValue = URL | URLSearchParams | Blob | File;
7
+ export type SemiPrimitiveValue = RegExp | Date | ArrayBuffer | DataView | TypedArrayValue | BigIntTypedArrayValue | bigint | WebAPIValue;
8
8
  export type CommonServerValue = PrimitiveValue | SemiPrimitiveValue | ErrorValue;
9
9
  export type ServerValue = CommonServerValue | Array<ServerValue> | readonly ServerValue[] | Iterable<ServerValue> | {
10
10
  [key: string | number]: ServerValue;
@@ -15,6 +15,6 @@ export type AsyncServerValue = CommonServerValue | Array<AsyncServerValue> | rea
15
15
  [key: string | number]: AsyncServerValue;
16
16
  } | {
17
17
  readonly [key: string | number]: AsyncServerValue;
18
- } | Set<AsyncServerValue> | Map<AsyncServerValue, AsyncServerValue> | PromiseLike<AsyncServerValue>;
18
+ } | Set<AsyncServerValue> | Map<AsyncServerValue, AsyncServerValue> | Promise<AsyncServerValue>;
19
19
  export type NonPrimitiveServerValue<T> = T extends PrimitiveValue ? never : T;
20
20
  export type MaybePromise<T> = T | Promise<T>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "seroval",
3
3
  "type": "module",
4
- "version": "0.7.0",
4
+ "version": "0.8.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -15,13 +15,14 @@
15
15
  ],
16
16
  "devDependencies": {
17
17
  "@types/node": "^18.15.3",
18
- "eslint": "^8.32.0",
19
- "eslint-config-lxsmnsyc": "^0.5.1",
18
+ "@vitest/ui": "^0.30.1",
19
+ "eslint": "^8.39.0",
20
+ "eslint-config-lxsmnsyc": "^0.6.4",
20
21
  "node-fetch-native": "^1.1.0",
21
- "pridepack": "2.4.1",
22
- "tslib": "^2.4.1",
22
+ "pridepack": "2.4.4",
23
+ "tslib": "^2.5.0",
23
24
  "typescript": "^4.9.4",
24
- "vitest": "^0.28.1"
25
+ "vitest": "^0.30.1"
25
26
  },
26
27
  "scripts": {
27
28
  "prepublishOnly": "pridepack clean && pridepack build",
@@ -32,7 +33,8 @@
32
33
  "watch": "pridepack watch",
33
34
  "start": "pridepack start",
34
35
  "dev": "pridepack dev",
35
- "test": "vitest"
36
+ "test": "vitest",
37
+ "test:ui": "vitest --ui"
36
38
  },
37
39
  "private": false,
38
40
  "description": "Stringify JS values",
@@ -65,5 +67,5 @@
65
67
  "typesVersions": {
66
68
  "*": {}
67
69
  },
68
- "gitHead": "187cbd91a44f5e88c6a87288d9ea440ddbaf5be0"
70
+ "gitHead": "f7fe3305e0295499989d9f675ff54f9305db23b0"
69
71
  }
package/src/assert.ts CHANGED
@@ -1,5 +1,5 @@
1
- export default function assert(cond: unknown, error: string): asserts cond {
1
+ export default function assert(cond: unknown, error: Error): asserts cond {
2
2
  if (!cond) {
3
- throw new Error(error);
3
+ throw error;
4
4
  }
5
5
  }
package/src/compat.ts CHANGED
@@ -1,4 +1,3 @@
1
- /* eslint-disable guard-for-in */
2
1
  /**
3
2
  * References
4
3
  * - https://kangax.github.io/compat-table/es6/