seroval 0.6.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 (45) hide show
  1. package/README.md +15 -3
  2. package/dist/cjs/development/index.cjs +1431 -991
  3. package/dist/cjs/development/index.cjs.map +4 -4
  4. package/dist/cjs/production/index.cjs +3 -3
  5. package/dist/esm/development/index.mjs +1431 -991
  6. package/dist/esm/development/index.mjs.map +4 -4
  7. package/dist/esm/production/index.mjs +3 -3
  8. package/dist/types/assert.d.ts +1 -1
  9. package/dist/types/compat.d.ts +1 -1
  10. package/dist/types/context.d.ts +13 -7
  11. package/dist/types/index.d.ts +3 -4
  12. package/dist/types/string.d.ts +3 -0
  13. package/dist/types/tree/UnsupportedTypeError.d.ts +3 -0
  14. package/dist/types/tree/async.d.ts +3 -3
  15. package/dist/types/tree/constants.d.ts +11 -0
  16. package/dist/types/tree/deserialize.d.ts +2 -2
  17. package/dist/types/tree/primitives.d.ts +11 -14
  18. package/dist/types/tree/serialize.d.ts +2 -2
  19. package/dist/types/tree/shared.d.ts +10 -8
  20. package/dist/types/tree/sync.d.ts +3 -3
  21. package/dist/types/tree/types.d.ts +106 -70
  22. package/dist/types/tree/web-api.d.ts +4 -2
  23. package/dist/types/types.d.ts +4 -4
  24. package/package.json +11 -8
  25. package/src/assert.ts +2 -2
  26. package/src/compat.ts +1 -2
  27. package/src/context.ts +24 -13
  28. package/src/get-identifier.ts +1 -1
  29. package/src/index.ts +35 -26
  30. package/src/string.ts +53 -0
  31. package/src/tree/UnsupportedTypeError.ts +8 -0
  32. package/src/tree/async.ts +313 -222
  33. package/src/tree/constants.ts +72 -0
  34. package/src/tree/deserialize.ts +239 -119
  35. package/src/tree/primitives.ts +154 -143
  36. package/src/tree/reference.ts +4 -3
  37. package/src/tree/serialize.ts +394 -170
  38. package/src/tree/shared.ts +31 -22
  39. package/src/tree/symbols.ts +13 -13
  40. package/src/tree/sync.ts +288 -191
  41. package/src/tree/types.ts +173 -91
  42. package/src/tree/web-api.ts +59 -6
  43. package/src/types.ts +7 -3
  44. package/dist/types/quote.d.ts +0 -2
  45. package/src/quote.ts +0 -56
@@ -1,3 +1,3 @@
1
- var E=(c=>(c[c.AggregateError=1]="AggregateError",c[c.ArrayPrototypeValues=2]="ArrayPrototypeValues",c[c.ArrowFunction=4]="ArrowFunction",c[c.BigInt=8]="BigInt",c[c.ErrorPrototypeStack=16]="ErrorPrototypeStack",c[c.Map=32]="Map",c[c.MethodShorthand=64]="MethodShorthand",c[c.ObjectAssign=128]="ObjectAssign",c[c.Promise=256]="Promise",c[c.Set=512]="Set",c[c.Symbol=1024]="Symbol",c[c.TypedArray=2048]="TypedArray",c[c.BigIntTypedArray=4096]="BigIntTypedArray",c[c.WebAPI=8192]="WebAPI",c))(E||{});var Pe="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Re=Pe.length,Ce="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",he=Ce.length;function Se(e){let r=e%Re,n=Pe[r];for(e=(e-r)/Re;e>0;)r=e%he,n+=Ce[r],e=(e-r)/he;return n}var Je={disabledFeatures:0};function U(e={}){let r=Object.assign({},Je,e||{});return{markedRefs:new Set,refs:new Map,features:12287^r.disabledFeatures}}function B(e){return{stack:[],vars:[],assignments:[],validRefs:[],refSize:0,features:e.features,markedRefs:new Set(e.markedRefs),valueMap:new Map}}function P(e,r){e.markedRefs.add(r)}function m(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=Se(n),e.vars[n]=t),t}function M(e,r){let n=e.refs.get(r);return n==null?e.refs.size:n}function w(e,r){let n=e.refs.get(r);if(n==null){let t=e.refs.size;return e.refs.set(r,t),t}return P(e,n),n}function S(e,r){if(!e)throw new Error(r)}function p(e){let r="",n=0;for(let t=0,o=e.length;t<o;t++){let a;switch(e[t]){case'"':a='\\"';break;case"\\":a="\\\\";break;case"<":a="\\x3C";break;case`
2
- `:a="\\n";break;case"\r":a="\\r";break;case"\u2028":a="\\u2028";break;case"\u2029":a="\\u2029";break;default:continue}r+=e.slice(n,t)+a,n=t+1}return n===0?r=e:r+=e.slice(n),r}function L(e){return e.replace(/\\"/g,'"').replace(/\\\\/g,"\\").replace(/\\x3C/g,"<").replace(/\\n/g,`
3
- `).replace(/\\r/g,"\r").replace(/\\u2028/g,"\u2028").replace(/\\u2029/g,"\u2029")}var me=new Map,C=new Map;function $e(e,r){return me.set(r,e),C.set(e,r),r}function I(e){return me.has(e)}function qe(e){return C.has(e)}function Oe(e){return S(I(e),"Missing reference id"),me.get(e)}function Te(e){return S(qe(e),"Missing reference for id:"+e),C.get(e)}var T="__SEROVAL__";typeof globalThis!==void 0?Object.defineProperty(globalThis,T,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof window!==void 0?Object.defineProperty(window,T,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof self!==void 0?Object.defineProperty(self,T,{value:C,configurable:!0,writable:!1,enumerable:!1}):typeof global!==void 0&&Object.defineProperty(global,T,{value:C,configurable:!0,writable:!1,enumerable:!1});var ze={[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"},pe={[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},Ue={[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 V={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},_={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},x={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},K={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},F={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},W={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},Y={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},Z={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};function G(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}}function H(e){return{t:1,i:void 0,s:p(e),l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0}}function J(e,r){return S(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}}function R(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}}function $(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}}function q(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}}function Q(e,r,n){let t=n.constructor.name;S(e.features&2048,`Unsupported value type "${t}"`);let o=n.length,a=new Array(o);for(let i=0;i<o;i++)a[i]=""+n[i];return{t:22,i:r,s:a,l:n.byteOffset,c:t,m:void 0,d:void 0,a:void 0,f:void 0}}var Be=4104;function X(e,r,n){let t=n.constructor.name;S((e.features&Be)===Be,`Unsupported value type "${t}"`);let o=n.length,a=new Array(o);for(let i=0;i<o;i++)a[i]=""+n[i];return{t:23,i:r,s:a,l:n.byteOffset,c:t,m:void 0,d:void 0,a:void 0,f:void 0}}function ee(e,r){return S(e.features&1024,'Unsupported type "symbol"'),S(r in pe,"seroval only supports well-known symbols"),{t:24,i:void 0,s:pe[r],l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0}}function h(e,r){return{t:27,i:e,s:p(Oe(r)),l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0}}function D(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 Le(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 z(e,r){let n,t=D(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 re(e){let r=Object.getOwnPropertyNames(e);if(r.length){let n={};for(let t of r)n[t]=e[t];return n}}function v(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 Qe=/^[$A-Z_][0-9A-Z_$]*$/i;function Ne(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&Qe.test(e)}function ne(e,r,n){return S(e.features&8192,'Unsupported type "URL"'),{t:25,i:r,s:n.href,l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0}}function te(e,r,n){return S(e.features&8192,'Unsupported type "URLSearchParams"'),{t:26,i:r,s:n.toString(),l:void 0,c:void 0,m:void 0,d:void 0,f:void 0,a:void 0}}async function ge(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],v(a)?o[i]=a:t[i]=await b(e,a));for(let i=0;i<n;i++)i in o&&(t[i]=await b(e,o[i]));return t}async function Xe(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 ge(e,n),f:void 0}}async function er(e,r,n){S(e.features&32,'Unsupported type "Map"');let t=n.size,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,u=0;for(let[d,f]of n.entries())v(d)||v(f)?(i[s]=d,l[s]=f,s++):(o[u]=await b(e,d),a[u]=await b(e,f),u++);for(let d=0;d<s;d++)o[u+d]=await b(e,i[d]),a[u+d]=await b(e,l[d]);return{t:14,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}}async function rr(e,r,n){S(e.features&512,'Unsupported type "Set"');let t=n.size,o=new Array(t),a=new Array(t),i=0,l=0;for(let s of n.keys())v(s)?a[i++]=s:o[l++]=await b(e,s);for(let s=0;s<i;s++)o[l+s]=await b(e,a[s]);return{t:13,i:r,s:void 0,l:t,c:void 0,m:void 0,d:void 0,a:o,f:void 0}}async function ie(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,u=0,d;for(let f of n)d=r[f],v(d)?(i[s]=f,l[s]=d,s++):(o[u]=f,a[u]=await b(e,d),u++);for(let f=0;f<s;f++)o[u+f]=i[f],a[u+f]=await b(e,l[f]);return{k:o,v:a,s:t}}async function Ve(e,r,n){S(e.features&1024,'Unsupported type "Iterable"');let t=re(n),o=Array.from(n);return{t:21,i:r,s:void 0,l:o.length,c:void 0,m:void 0,d:t?await ie(e,t):void 0,a:await ge(e,o),f:void 0}}async function ae(e,r,n){return S(e.features&256,'Unsupported type "Promise"'),n.then(async t=>({t:18,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:await b(e,t)}))}async function De(e,r,n,t){return Symbol.iterator in n?Ve(e,r,n):"then"in n&&typeof n.then=="function"?ae(e,r,n):{t:t?17:16,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:await ie(e,n),a:void 0,f:void 0}}async function Me(e,r,n){let t=z(e,n),o=t?await ie(e,t):void 0;return{t:20,i:r,s:void 0,l:n.errors.length,c:void 0,m:p(n.message),d:o,a:await ge(e,n.errors),f:void 0}}async function oe(e,r,n){let t=z(e,n),o=t?await ie(e,t):void 0;return{t:19,i:r,s:void 0,l:void 0,c:D(n),m:p(n.message),d:o,a:void 0,f:void 0}}async function b(e,r){switch(typeof r){case"boolean":return r?V:_;case"undefined":return x;case"string":return H(r);case"number":switch(r){case 1/0:return W;case-1/0:return Y;default:return r!==r?Z:Object.is(r,-0)?F:G(r)}case"bigint":return J(e,r);case"object":{if(!r)return K;let n=w(e,r);if(e.markedRefs.has(n))return R(n);if(I(r))return h(n,r);if(Array.isArray(r))return Xe(e,n,r);switch(r.constructor){case Date:return $(n,r);case RegExp:return q(n,r);case Promise:return ae(e,n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return Q(e,n,r);case BigInt64Array:case BigUint64Array:return X(e,n,r);case Map:return er(e,n,r);case Set:return rr(e,n,r);case Object:return De(e,n,r,!1);case void 0:return De(e,n,r,!0);case AggregateError:return e.features&1?Me(e,n,r):oe(e,n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return oe(e,n,r);case URL:return ne(e,n,r);case URLSearchParams:return te(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?Me(e,n,r):oe(e,n,r);if(r instanceof Error)return oe(e,n,r);if(r instanceof Promise)return ae(e,n,r);if(Symbol.iterator in r)return Ve(e,n,r);if("then"in r&&typeof r.then=="function")return ae(e,n,r);throw new Error("Unsupported type")}case"symbol":if(I(r)){let n=w(e,r);return e.markedRefs.has(n)?R(n):h(n,r)}return ee(e,r);case"function":{S(I(r),"Cannot serialize function without reference ID.");let n=w(e,r);return e.markedRefs.has(n)?R(n):h(n,r)}default:throw new Error("Unsupported type")}}async function se(e,r){let n=await b(e,r),t=n.t===16||n.t===21;return[n,M(e,r),t]}function N(e,r,n){return e.valueMap.set(r,n),n}function ye(e,r,n){let t;for(let o=0,a=r.a.length;o<a;o++)t=r.a[o],t&&(n[o]=k(e,t));return n}function nr(e,r){let n=N(e,r.i,new Array(r.l));return e.stack.push(r.i),ye(e,r,n),e.stack.pop(),n}function ve(e,r,n){if(r.s===0)return{};for(let t=0;t<r.s;t++)n[r.k[t]]=k(e,r.v[t]);return n}function tr(e,r){let n=N(e,r.i,Object.create(null));return e.stack.push(r.i),ve(e,r.d,n),e.stack.pop(),n}function or(e,r){let n=N(e,r.i,{});return e.stack.push(r.i),ve(e,r.d,n),e.stack.pop(),n}function ar(e,r){let n=N(e,r.i,new Set);e.stack.push(r.i);for(let t=0,o=r.a.length;t<o;t++)n.add(k(e,r.a[t]));return e.stack.pop(),n}function ir(e,r){let n=N(e,r.i,new Map);e.stack.push(r.i);for(let t=0;t<r.d.s;t++)n.set(k(e,r.d.k[t]),k(e,r.d.v[t]));return e.stack.pop(),n}function be(e,r,n){if(r.d){e.stack.push(r.i);let t=ve(e,r.d,{});e.stack.pop(),Object.assign(n,t)}return n}function sr(e,r){let n=N(e,r.i,new AggregateError([],L(r.m)));return e.stack.push(r.i),n.errors=ye(e,r,new Array(r.l)),e.stack.pop(),be(e,r,n)}function dr(e,r){let n=Le(r.c),t=N(e,r.i,new n(L(r.m)));return be(e,r,t)}function lr(){let e;return{resolve(r){e(r)},promise:new Promise(r=>{e=r})}}function ur(e,r){let n=lr(),t=N(e,r.i,n.promise);return n.resolve(k(e,r.f)),t}function fr(e,r){let n=je(r.c),t=new n,o=N(e,r.i,new n(t.buffer,r.l));for(let a=0,i=r.s.length;a<i;a++)o[a]=r.t===23?BigInt(r.s[a]):Number(r.s[a]);return o}function cr(e,r){let n=[];ye(e,r,n);let t=N(e,r.i,{[Symbol.iterator]:()=>n.values()});return be(e,r,t)}function k(e,r){switch(r.t){case 0:case 2:return r.s;case 1:return L(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 nr(e,r);case 16:return or(e,r);case 17:return tr(e,r);case 11:return N(e,r.i,new Date(r.s));case 12:return N(e,r.i,new RegExp(r.c,r.m));case 13:return ar(e,r);case 14:return ir(e,r);case 23:case 22:return fr(e,r);case 20:return sr(e,r);case 19:return dr(e,r);case 21:return cr(e,r);case 18:return ur(e,r);case 24:return Ue[r.s];case 25:return N(e,r.i,new URL(r.s));case 26:return N(e,r.i,new URLSearchParams(r.s));case 27:return N(e,r.i,Te(L(r.s)));default:throw new Error("Unsupported type")}}function de(e){switch(e.t){case"index":return e.s+"="+e.v;case"map":return e.s+".set("+e.k+","+e.v+")";case"set":return e.s+".add("+e.v+")";default:return""}}function Sr(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:de(n)}:(r.push(n),n=o);break;case"map":o.s===t.s?n={t:"map",s:de(n),k:o.k,v:o.v}:(r.push(n),n=o);break;case"set":o.s===t.s?n={t:"set",s:de(n),k:void 0,v:o.v}:(r.push(n),n=o);break;default:break}else r.push(n),n=o;t=o}return r.push(n),r}function _e(e){if(e.length){let r="",n=Sr(e);for(let t=0,o=n.length;t<o;t++)r+=de(n[t])+",";return r}}function xe(e){return _e(e.assignments)}function Ke(e,r,n){e.assignments.push({t:"index",s:r,k:void 0,v:n})}function mr(e,r,n){P(e,r),e.assignments.push({t:"set",s:m(e,r),k:void 0,v:n})}function Ae(e,r,n,t){P(e,r),e.assignments.push({t:"map",s:m(e,r),k:n,v:t})}function Ee(e,r,n,t){P(e,r),Ke(e,m(e,r)+"["+n+"]",t)}function Fe(e,r,n,t){P(e,r),Ke(e,m(e,r)+"."+n,t)}function y(e,r,n){return e.markedRefs.has(r)?m(e,r)+"="+n:n}function O(e,r){return r.t===10&&e.stack.includes(r.i)}function Ie(e,r){let n=r.l,t="",o,a=!1;for(let i=0;i<n;i++)i!==0&&(t+=","),o=r.a[i],o?O(e,o)?(Ee(e,r.i,i,m(e,o.i)),a=!0):(t+=g(e,o),a=!1):a=!0;return"["+t+(a?",]":"]")}function pr(e,r){e.stack.push(r.i);let n=Ie(e,r);return e.stack.pop(),y(e,r.i,n)}function We(e,r,n){if(n.s===0)return"{}";let t="";e.stack.push(r);let o,a,i,l,s,u=!1;for(let d=0;d<n.s;d++)o=n.k[d],a=n.v[d],i=Number(o),l=i>=0||Ne(o),O(e,a)?(s=m(e,a.i),l&&Number.isNaN(i)?Fe(e,r,o,s):Ee(e,r,l?o:'"'+p(o)+'"',s)):(t+=(u?",":"")+(l?o:'"'+p(o)+'"')+":"+g(e,a),u=!0);return e.stack.pop(),"{"+t+"}"}function Nr(e,r,n,t){let o=We(e,n,r);return o!=="{}"?"Object.assign("+t+","+o+")":t}function gr(e,r,n){e.stack.push(r);let t=[],o,a,i,l,s,u;for(let d=0;d<n.s;d++)o=e.stack,e.stack=[],a=g(e,n.v[d]),e.stack=o,i=n.k[d],l=Number(i),s=e.assignments,e.assignments=t,u=l>=0||Ne(i),u&&Number.isNaN(l)?Fe(e,r,i,a):Ee(e,r,u?i:'"'+p(i)+'"',a),e.assignments=s;return e.stack.pop(),_e(t)}function le(e,r,n,t){if(n)if(e.features&128)t=Nr(e,n,r,t);else{P(e,r);let o=gr(e,r,n);if(o)return"("+y(e,r,t)+","+o+m(e,r)+")"}return y(e,r,t)}function yr(e,r){return le(e,r.i,r.d,"Object.create(null)")}function vr(e,r){return y(e,r.i,We(e,r.i,r.d))}function br(e,r){let n="new Set",t=r.l;if(t){let o="";e.stack.push(r.i);let a,i=!1;for(let l=0;l<t;l++)a=r.a[l],O(e,a)?mr(e,r.i,m(e,a.i)):(o+=(i?",":"")+g(e,a),i=!0);e.stack.pop(),o&&(n+="(["+o+"])")}return y(e,r.i,n)}function Ar(e,r){let n="new Map";if(r.d.s){let t="";e.stack.push(r.i);let o,a,i,l,s,u=!1;for(let d=0;d<r.d.s;d++)o=r.d.k[d],a=r.d.v[d],O(e,o)?(i=m(e,o.i),O(e,a)?(l=m(e,a.i),Ae(e,r.i,i,l)):(s=e.stack,e.stack=[],Ae(e,r.i,i,g(e,a)),e.stack=s)):O(e,a)?(l=m(e,a.i),s=e.stack,e.stack=[],Ae(e,r.i,g(e,o),l),e.stack=s):(t+=(u?",[":"[")+g(e,o)+","+g(e,a)+"]",u=!0);e.stack.pop(),t&&(n+="(["+t+"])")}return y(e,r.i,n)}function Er(e,r){e.stack.push(r.i);let n="new AggregateError("+Ie(e,r)+',"'+p(r.m)+'")';return e.stack.pop(),le(e,r.i,r.d,n)}function Ir(e,r){let n="new "+r.c+'("'+p(r.m)+'")';return le(e,r.i,r.d,n)}function kr(e,r){let n;if(O(e,r.f)){let t=m(e,r.f.i);e.features&4?n="Promise.resolve().then(()=>"+t+")":n="Promise.resolve().then(function(){return "+t+"})"}else{e.stack.push(r.i);let t=g(e,r.f);e.stack.pop(),n="Promise.resolve("+t+")"}return y(e,r.i,n)}function wr(e,r){let n="",t=r.t===23;for(let a=0,i=r.s.length;a<i;a++)n+=(a!==0?",":"")+r.s[a]+(t?"n":"");let o="["+n+"]"+(r.l!==0?","+r.l:"");return y(e,r.i,"new "+r.c+"("+o+")")}function Rr(e,r){let n=e.stack;e.stack=[];let t=Ie(e,r);e.stack=n;let o=t;return e.features&2?o+=".values()":o+="[Symbol.iterator]()",e.features&4?o="{[Symbol.iterator]:()=>"+o+"}":e.features&64?o="{[Symbol.iterator](){return "+o+"}}":o="{[Symbol.iterator]:function(){return "+o+"}}",le(e,r.i,r.d,o)}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 m(e,r.i);case 15:return pr(e,r);case 16:return vr(e,r);case 17:return yr(e,r);case 11:return y(e,r.i,'new Date("'+r.s+'")');case 12:return y(e,r.i,"/"+r.c+"/"+r.m);case 13:return br(e,r);case 14:return Ar(e,r);case 23:case 22:return wr(e,r);case 20:return Er(e,r);case 19:return Ir(e,r);case 21:return Rr(e,r);case 18:return kr(e,r);case 24:return ze[r.s];case 25:return y(e,r.i,'new URL("'+r.s+'")');case 26:return y(e,r.i,r.s?'new URLSearchParams("'+r.s+'")':"new URLSearchParams");case 27:return y(e,r.i,T+'.get("'+r.s+'")');default:throw new Error("Unsupported type")}}function ke(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],v(a)?o[i]=a:t[i]=A(e,a));for(let i=0;i<n;i++)i in o&&(t[i]=A(e,o[i]));return t}function hr(e,r,n){return{t:15,i:r,s:void 0,l:n.length,c:void 0,m:void 0,d:void 0,a:ke(e,n),f:void 0}}function Pr(e,r,n){S(e.features&32,'Unsupported type "Map"');let t=n.size,o=new Array(t),a=new Array(t),i=new Array(t),l=new Array(t),s=0,u=0;for(let[d,f]of n.entries())v(d)||v(f)?(i[s]=d,l[s]=f,s++):(o[u]=A(e,d),a[u]=A(e,f),u++);for(let d=0;d<s;d++)o[u+d]=A(e,i[d]),a[u+d]=A(e,l[d]);return{t:14,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}}function Cr(e,r,n){S(e.features&512,'Unsupported type "Set"');let t=n.size,o=new Array(t),a=new Array(t),i=0,l=0;for(let s of n.keys())v(s)?a[i++]=s:o[l++]=A(e,s);for(let s=0;s<i;s++)o[l+s]=A(e,a[s]);return{t:13,i:r,s:void 0,l:t,c:void 0,m:void 0,d:void 0,a:o,f:void 0}}function fe(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,u=0,d;for(let f of n)d=r[f],v(d)?(i[s]=f,l[s]=d,s++):(o[u]=f,a[u]=A(e,d),u++);for(let f=0;f<s;f++)o[u+f]=i[f],a[u+f]=A(e,l[f]);return{k:o,v:a,s:t}}function Ge(e,r,n){S(e.features&1024,'Unsupported type "Iterable"');let t=re(n),o=Array.from(n);return{t:21,i:r,s:void 0,l:o.length,c:void 0,m:void 0,d:t?fe(e,t):void 0,a:ke(e,o),f:void 0}}function Ye(e,r,n,t){return Symbol.iterator in n?Ge(e,r,n):{t:t?17:16,i:r,s:void 0,l:void 0,c:void 0,m:void 0,d:fe(e,n),a:void 0,f:void 0}}function Ze(e,r,n){let t=z(e,n),o=t?fe(e,t):void 0;return{t:20,i:r,s:void 0,l:n.errors.length,c:void 0,m:p(n.message),d:o,a:ke(e,n.errors),f:void 0}}function ue(e,r,n){let t=z(e,n),o=t?fe(e,t):void 0;return{t:19,i:r,s:void 0,l:void 0,c:D(n),m:p(n.message),d:o,a:void 0,f:void 0}}function A(e,r){switch(typeof r){case"boolean":return r?V:_;case"undefined":return x;case"string":return H(r);case"number":switch(r){case 1/0:return W;case-1/0:return Y;default:return r!==r?Z:Object.is(r,-0)?F:G(r)}case"bigint":return J(e,r);case"object":{if(!r)return K;let n=w(e,r);if(e.markedRefs.has(n))return R(n);if(I(r))return h(n,r);if(Array.isArray(r))return hr(e,n,r);switch(r.constructor){case Date:return $(n,r);case RegExp:return q(n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return Q(e,n,r);case BigInt64Array:case BigUint64Array:return X(e,n,r);case Map:return Pr(e,n,r);case Set:return Cr(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?Ze(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 ne(e,n,r);case URLSearchParams:return te(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?Ze(e,n,r):ue(e,n,r);if(r instanceof Error)return ue(e,n,r);if(Symbol.iterator in r)return Ge(e,n,r);throw new Error("Unsupported type")}case"symbol":if(I(r)){let n=w(e,r);return e.markedRefs.has(n)?R(n):h(n,r)}return ee(e,r);case"function":{S(I(r),"Cannot serialize function without reference ID.");let n=w(e,r);return e.markedRefs.has(n)?R(n):h(n,r)}default:throw new Error("Unsupported type")}}function ce(e,r){let n=A(e,r),t=n.t===16||n.t===21;return[n,M(e,r),t]}function we(e,r,n,t){if(e.vars.length){let o=xe(e),a=t;if(o){let l=m(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 Or(e,r){let n=U(r),[t,o,a]=ce(n,e),i=B(n),l=g(i,t);return we(i,o,a,l)}async function lo(e,r){let n=U(r),[t,o,a]=await se(n,e),i=B(n),l=g(i,t);return we(i,o,a,l)}function uo(e){return(0,eval)(e)}function fo(e,r){let n=U(r),[t,o,a]=ce(n,e);return{t,r:o,i:a,f:n.features,m:Array.from(n.markedRefs)}}async function co(e,r){let n=U(r),[t,o,a]=await se(n,e);return{t,r:o,i:a,f:n.features,m:Array.from(n.markedRefs)}}function So(e){let r=B({features:e.f,markedRefs:e.m}),n=g(r,e.t);return we(r,e.r,e.i,n)}function mo(e){let r=B({features:e.f,markedRefs:e.m});return k(r,e.t)}var po=Or;export{E as Feature,So as compileJSON,$e as createReference,po as default,uo as deserialize,mo as fromJSON,Or as serialize,lo as serializeAsync,fo as toJSON,co 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;
@@ -19,4 +19,4 @@ export declare const enum Feature {
19
19
  BigIntTypedArray = 4096,
20
20
  WebAPI = 8192
21
21
  }
22
- export declare const ALL_ENABLED = 12287;
22
+ export declare const ALL_ENABLED = 16383;
@@ -4,19 +4,25 @@ interface IndexAssignment {
4
4
  k: undefined;
5
5
  v: string;
6
6
  }
7
- interface MapAssignment {
8
- t: 'map';
7
+ interface SetAssignment {
8
+ t: 'set';
9
9
  s: string;
10
10
  k: string;
11
11
  v: string;
12
12
  }
13
- interface SetAssignment {
14
- t: 'set';
13
+ interface AddAssignment {
14
+ t: 'add';
15
15
  s: string;
16
16
  k: undefined;
17
17
  v: string;
18
18
  }
19
- export type Assignment = IndexAssignment | MapAssignment | SetAssignment;
19
+ interface AppendAssignment {
20
+ t: 'append';
21
+ s: string;
22
+ k: string;
23
+ v: string;
24
+ }
25
+ export type Assignment = IndexAssignment | AddAssignment | SetAssignment | AppendAssignment;
20
26
  export interface ParserContext {
21
27
  refs: Map<unknown, number>;
22
28
  markedRefs: Set<number>;
@@ -24,10 +30,10 @@ export interface ParserContext {
24
30
  }
25
31
  export interface SerializationContext {
26
32
  stack: number[];
27
- validRefs: number[];
33
+ validRefs: (number | undefined)[];
28
34
  refSize: number;
29
35
  markedRefs: Set<number>;
30
- vars: string[];
36
+ vars: (string | undefined)[];
31
37
  assignments: Assignment[];
32
38
  features: number;
33
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
  }
@@ -0,0 +1,3 @@
1
+ export declare function serializeChar(str: string): string | undefined;
2
+ export declare function serializeString(str: string): string;
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,22 +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 } 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;
11
+ export declare function createArrayBufferNode(id: number, current: ArrayBuffer): SerovalArrayBufferNode;
12
+ export declare function serializeArrayBuffer(ctx: ParserContext, current: ArrayBuffer): SerovalNode;
19
13
  export declare function createTypedArrayNode(ctx: ParserContext, id: number, current: TypedArrayValue): SerovalTypedArrayNode;
20
14
  export declare function createBigIntTypedArrayNode(ctx: ParserContext, id: number, current: BigIntTypedArrayValue): SerovalBigIntTypedArrayNode;
21
- export declare function createWKSymbolNode(ctx: ParserContext, current: WellKnownSymbols): SerovalWKSymbolNode;
15
+ export declare function createWKSymbolNode(ctx: ParserContext, id: number, current: WellKnownSymbols): SerovalWKSymbolNode;
22
16
  export declare function createReferenceNode<T>(id: number, ref: T): SerovalReferenceNode;
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,56 +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
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
31
41
  }
32
42
  export interface SerovalBaseNode {
33
43
  t: SerovalNodeType;
34
44
  i: number | undefined;
35
- s: any;
45
+ s: unknown;
36
46
  l: number | undefined;
37
47
  c: string | undefined;
38
48
  m: string | undefined;
39
- d: SerovalDictionaryNode | undefined;
40
- a: SerovalNode[] | undefined;
49
+ d: SerovalObjectRecordNode | SerovalMapRecordNode | undefined;
50
+ a: (SerovalNode | undefined)[] | undefined;
41
51
  f: SerovalNode | undefined;
52
+ b: number | undefined;
42
53
  }
43
- export interface SerovalObjectRecordNode {
54
+ export declare const enum SerovalObjectRecordSpecialKey {
55
+ SymbolIterator = 0
56
+ }
57
+ export type SerovalObjectRecordKey = string | SerovalObjectRecordSpecialKey;
58
+ export interface SerovalPlainRecordNode {
44
59
  k: string[];
45
60
  v: SerovalNode[];
46
61
  s: number;
47
62
  }
63
+ export interface SerovalObjectRecordNode {
64
+ k: SerovalObjectRecordKey[];
65
+ v: SerovalNode[];
66
+ s: number;
67
+ }
48
68
  export interface SerovalMapRecordNode {
49
69
  k: SerovalNode[];
50
70
  v: SerovalNode[];
51
71
  s: number;
52
72
  }
53
- export type SerovalDictionaryNode = SerovalObjectRecordNode | SerovalMapRecordNode;
54
73
  export interface SerovalNumberNode extends SerovalBaseNode {
55
74
  t: SerovalNodeType.Number;
56
75
  s: number;
@@ -59,29 +78,11 @@ export interface SerovalStringNode extends SerovalBaseNode {
59
78
  t: SerovalNodeType.String;
60
79
  s: string;
61
80
  }
62
- export interface SerovalBooleanNode extends SerovalBaseNode {
63
- t: SerovalNodeType.Boolean;
64
- s: boolean;
65
- }
66
- export interface SerovalNullNode extends SerovalBaseNode {
67
- t: SerovalNodeType.Null;
68
- }
69
- export interface SerovalUndefinedNode extends SerovalBaseNode {
70
- t: SerovalNodeType.Undefined;
71
- }
72
- export interface SerovalNegativeZeroNode extends SerovalBaseNode {
73
- t: SerovalNodeType.NegativeZero;
74
- }
75
- export interface SerovalInfinityNode extends SerovalBaseNode {
76
- t: SerovalNodeType.Infinity;
77
- }
78
- export interface SerovalNegativeInfinityNode extends SerovalBaseNode {
79
- t: SerovalNodeType.NegativeInfinity;
80
- }
81
- export interface SerovalNaNNode extends SerovalBaseNode {
82
- t: SerovalNodeType.NaN;
81
+ export interface SerovalConstantNode extends SerovalBaseNode {
82
+ t: SerovalNodeType.Constant;
83
+ s: SerovalConstant;
83
84
  }
84
- export type SerovalPrimitiveNode = SerovalNumberNode | SerovalStringNode | SerovalBooleanNode | SerovalNullNode | SerovalUndefinedNode | SerovalNegativeZeroNode | SerovalNegativeInfinityNode | SerovalInfinityNode | SerovalNaNNode;
85
+ export type SerovalPrimitiveNode = SerovalNumberNode | SerovalStringNode | SerovalConstantNode;
85
86
  export interface SerovalIndexedValueNode extends SerovalBaseNode {
86
87
  t: SerovalNodeType.IndexedValue;
87
88
  i: number;
@@ -101,36 +102,43 @@ export interface SerovalRegExpNode extends SerovalBaseNode {
101
102
  c: string;
102
103
  m: string;
103
104
  }
105
+ export interface SerovalArrayBufferNode extends SerovalBaseNode {
106
+ t: SerovalNodeType.ArrayBuffer;
107
+ i: number;
108
+ s: number[];
109
+ }
104
110
  export interface SerovalTypedArrayNode extends SerovalBaseNode {
105
111
  t: SerovalNodeType.TypedArray;
106
112
  i: number;
107
- s: string[];
108
113
  l: number;
109
114
  c: string;
115
+ f: SerovalNode;
116
+ b: number;
110
117
  }
111
118
  export interface SerovalBigIntTypedArrayNode extends SerovalBaseNode {
112
119
  t: SerovalNodeType.BigIntTypedArray;
113
120
  i: number;
114
- s: string[];
115
121
  l: number;
116
122
  c: string;
123
+ f: SerovalNode;
124
+ b: number;
117
125
  }
118
126
  export type SerovalSemiPrimitiveNode = SerovalBigIntNode | SerovalDateNode | SerovalRegExpNode | SerovalTypedArrayNode | SerovalBigIntTypedArrayNode;
119
127
  export interface SerovalSetNode extends SerovalBaseNode {
120
128
  t: SerovalNodeType.Set;
129
+ i: number;
121
130
  l: number;
122
131
  a: SerovalNode[];
123
- i: number;
124
132
  }
125
133
  export interface SerovalMapNode extends SerovalBaseNode {
126
134
  t: SerovalNodeType.Map;
127
- d: SerovalMapRecordNode;
128
135
  i: number;
136
+ d: SerovalMapRecordNode;
129
137
  }
130
138
  export interface SerovalArrayNode extends SerovalBaseNode {
131
139
  t: SerovalNodeType.Array;
132
140
  l: number;
133
- a: SerovalNode[];
141
+ a: (SerovalNode | undefined)[];
134
142
  i: number;
135
143
  }
136
144
  export interface SerovalObjectNode extends SerovalBaseNode {
@@ -157,21 +165,13 @@ export interface SerovalErrorNode extends SerovalBaseNode {
157
165
  }
158
166
  export interface SerovalAggregateErrorNode extends SerovalBaseNode {
159
167
  t: SerovalNodeType.AggregateError;
160
- m: string;
161
- d: SerovalObjectRecordNode | undefined;
162
- l: number;
163
- a: SerovalNode[];
164
168
  i: number;
165
- }
166
- export interface SerovalIterableNode extends SerovalBaseNode {
167
- t: SerovalNodeType.Iterable;
169
+ m: string;
168
170
  d: SerovalObjectRecordNode | undefined;
169
- l: number;
170
- a: SerovalNode[];
171
- i: number;
172
171
  }
173
172
  export interface SerovalWKSymbolNode extends SerovalBaseNode {
174
173
  t: SerovalNodeType.WKSymbol;
174
+ i: number;
175
175
  s: Symbols;
176
176
  }
177
177
  export interface SerovalURLNode extends SerovalBaseNode {
@@ -189,4 +189,40 @@ export interface SerovalReferenceNode extends SerovalBaseNode {
189
189
  i: number;
190
190
  s: string;
191
191
  }
192
- export type SerovalNode = SerovalPrimitiveNode | SerovalIndexedValueNode | SerovalSemiPrimitiveNode | SerovalSetNode | SerovalMapNode | SerovalArrayNode | SerovalObjectNode | SerovalNullConstructorNode | SerovalPromiseNode | SerovalErrorNode | SerovalAggregateErrorNode | SerovalIterableNode | SerovalWKSymbolNode | SerovalURLNode | SerovalURLSearchParamsNode | SerovalReferenceNode;
192
+ export interface SerovalDataViewNode extends SerovalBaseNode {
193
+ t: SerovalNodeType.DataView;
194
+ i: number;
195
+ l: number;
196
+ f: SerovalNode;
197
+ b: number;
198
+ }
199
+ export interface SerovalBlobNode extends SerovalBaseNode {
200
+ t: SerovalNodeType.Blob;
201
+ i: number;
202
+ c: string;
203
+ f: SerovalNode;
204
+ }
205
+ export interface SerovalFileNode extends SerovalBaseNode {
206
+ t: SerovalNodeType.File;
207
+ i: number;
208
+ c: string;
209
+ m: string;
210
+ f: SerovalNode;
211
+ b: number;
212
+ }
213
+ export interface SerovalHeadersNode extends SerovalBaseNode {
214
+ t: SerovalNodeType.Headers;
215
+ i: number;
216
+ d: SerovalPlainRecordNode;
217
+ }
218
+ export interface SerovalFormDataNode extends SerovalBaseNode {
219
+ t: SerovalNodeType.FormData;
220
+ i: number;
221
+ d: SerovalPlainRecordNode;
222
+ }
223
+ export interface SerovalBoxedNode extends SerovalBaseNode {
224
+ t: SerovalNodeType.Boxed;
225
+ i: number;
226
+ f: SerovalNode;
227
+ }
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,4 +1,6 @@
1
- import { ParserContext } from '../context';
2
- import { 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
+ export declare function createBlobNode(ctx: ParserContext, id: number, current: Blob): Promise<SerovalBlobNode>;
6
+ export declare function createFileNode(ctx: ParserContext, id: number, current: File): Promise<SerovalFileNode>;
@@ -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>;