seroval 0.8.0 → 0.9.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.
@@ -1,3 +1,3 @@
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
+ var P=(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))(P||{});var Oe="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",Ie=Oe.length,Be="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Pe=Be.length;function ce(e){let r=e%Ie,n=Oe[r];for(e=(e-r)/Ie;e>0;)r=e%Pe,n+=Be[r],e=(e-r)/Pe;return n}var dr={disabledFeatures:0};function M(e={}){let r=Object.assign({},dr,e);return{markedRefs:new Set,refs:new Map,features:16383^r.disabledFeatures}}function _(e){return{stack:[],vars:[],assignments:[],validRefs:[],refSize:0,features:e.features,markedRefs:new Set(e.markedRefs),valueMap:new Map,flags:[]}}function z(e,r){e.markedRefs.add(r)}function N(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=ce(n),e.vars[n]=t),t}function K(e,r){let n=e.refs.get(r);return n==null?e.refs.size:n}function I(e,r){let n=e.refs.get(r);if(n==null){let t=e.refs.size;return e.refs.set(r,t),t}return z(e,n),n}function y(e,r){if(!e)throw r}function lr(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=lr(e[o]),t&&(r+=e.slice(n,o)+t,n=o+1);return n===0?r=e:r+=e.slice(n),r}function C(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:ur}=Object.prototype,S=class extends Error{constructor(r){super('Unsupported type "'+ur.call(r)+'"')}};function O(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,o:void 0}}var G=O(2),J=O(3),Z=O(1),$=O(0),he=O(4),Te=O(5),De=O(6),Ue=O(7);function je(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 Fe(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 me=new Map,D=new Map;function fr(e,r){return me.set(r,e),D.set(e,r),r}function B(e){return me.has(e)}function cr(e){return D.has(e)}function xe(e){return y(B(e),new Error("Missing reference id")),me.get(e)}function Le(e){return y(cr(e),new Error("Missing reference for id:"+e)),D.get(e)}var j="__SEROVAL__";typeof globalThis!==void 0?Object.defineProperty(globalThis,j,{value:D,configurable:!0,writable:!1,enumerable:!1}):typeof window!==void 0?Object.defineProperty(window,j,{value:D,configurable:!0,writable:!1,enumerable:!1}):typeof self!==void 0?Object.defineProperty(self,j,{value:D,configurable:!0,writable:!1,enumerable:!1}):typeof global!==void 0&&Object.defineProperty(global,j,{value:D,configurable:!0,writable:!1,enumerable:!1});var Ve={[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"},Se={[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},Me={[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 q(e){switch(e){case 1/0:return Te;case-1/0:return De;default:return e!==e?Ue:Object.is(e,-0)?he:{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,o:void 0}}}function Q(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,o:void 0}}function X(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,o:void 0}}function U(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,o:void 0}}function ee(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,o:void 0}}function re(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,o:void 0}}function H(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,o:void 0}}function F(e,r){let n=I(e,r);return e.markedRefs.has(n)?U(n):H(n,r)}function ne(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:F(e,n.buffer),b:n.byteOffset,o:void 0}}var _e=4104;function te(e,r,n){return y((e.features&_e)===_e,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:F(e,n.buffer),b:n.byteOffset,o:void 0}}function mr(e,r,n){return y(e.features&1024,new S(n)),y(n in Se,new Error("Only well-known symbols are supported.")),{t:17,i:r,s:Se[n],l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function x(e,r){return{t:20,i:e,s:v(xe(r)),l:void 0,c:void 0,m:void 0,d:void 0,a:void 0,f:void 0,b:void 0,o:void 0}}function oe(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:F(e,n.buffer),b:n.byteOffset,o:void 0}}function ae(e,r){let n=I(e,r);return e.markedRefs.has(n)?U(n):B(r)?x(n,r):mr(e,n,r)}function ie(e,r){y(B(r),new Error("Cannot serialize function without reference ID."));let n=I(e,r);return e.markedRefs.has(n)?U(n):x(n,r)}function W(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 He(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=W(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 k(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 We(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 Sr=/^[$A-Z_][0-9A-Z_$]*$/i;function ye(e){let r=e[0];return(r==="$"||r==="_"||r>="A"&&r<="Z"||r>="a"&&r<="z")&&Sr.test(e)}function V(e){return Object.isFrozen(e)?3:Object.isSealed(e)?2:Object.isExtensible(e)?0:1}function se(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,o:void 0}}function de(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,o:void 0}}async function Ye(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:F(e,await n.arrayBuffer()),a:void 0,b:void 0,o:void 0}}async function Ge(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:F(e,await n.arrayBuffer()),a:void 0,b:n.lastModified,o:void 0}}function yr(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],k(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 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:yr(e,n),f:void 0,b:void 0,o:V(n)}}function gr(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),u=new Array(t),s=0,d=0;for(let[f,c]of n.entries())k(f)||k(c)?(i[s]=f,u[s]=c,s++):(o[d]=w(e,f),a[d]=w(e,c),d++);for(let f=0;f<s;f++)o[d+f]=w(e,i[f]),a[d+f]=w(e,u[f]);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,o:void 0}}function pr(e,r,n){y(e.features&512,new S(n));let t=n.size,o=new Array(t),a=new Array(t),i=0,u=0;for(let s of n.keys())k(s)?a[i++]=s:o[u++]=w(e,s);for(let s=0;s<i;s++)o[u+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,o: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),u=new Array(t),s=0,d=0,f,c;for(let l of n)f=r[l],c=v(l),k(f)?(i[s]=c,u[s]=f,s++):(o[d]=c,a[d]=w(e,f),d++);for(let l=0;l<s;l++)o[d+l]=i[l],a[d+l]=w(e,u[l]);if(e.features&1024&&Symbol.iterator in r){o[t]=0;let l=Array.from(r),R=I(e,l);a[t]=Ze(e,R,l),t++}return{k:o,v:a,s:t}}function $e(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),a=new Array(t),i=new Array(t),u=new Array(t),s=0,d=0,f,c;for(let l of n)f=r[l],c=v(l),k(f)?(i[s]=c,u[s]=f,s++):(o[d]=c,a[d]=w(e,f),d++);for(let l=0;l<s;l++)o[d+l]=i[l],a[d+l]=w(e,u[l]);return{k:o,v:a,s:t}}function ge(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,o:V(n)}}function Je(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,o:void 0}}function le(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:W(n),m:v(n.message),d:o,a:void 0,f:void 0,b:void 0,o:void 0}}function Nr(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:$e(e,t),a:void 0,f:void 0,b:void 0,o:void 0}}function br(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:$e(e,t),a:void 0,f:void 0,b:void 0,o:void 0}}function vr(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,o:void 0}}function Ar(e,r){if(!r)return $;let n=I(e,r);if(e.markedRefs.has(n))return U(n);if(B(r))return x(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 vr(e,n,r);case Date:return ee(n,r);case RegExp:return re(n,r);case ArrayBuffer:return H(n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ne(e,n,r);case BigInt64Array:case BigUint64Array:return te(e,n,r);case DataView:return oe(e,n,r);case Map:return gr(e,n,r);case Set:return pr(e,n,r);case Object:return ge(e,n,r,!1);case void 0:return ge(e,n,r,!0);case AggregateError:return e.features&1?Je(e,n,r):le(e,n,r);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return le(e,n,r);case URL:return se(e,n,r);case URLSearchParams:return de(e,n,r);case Headers:return Nr(e,n,r);case FormData:return br(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?Je(e,n,r):le(e,n,r);if(r instanceof Error)return le(e,n,r);if(Symbol.iterator in r)return ge(e,n,r,!!r.constructor);throw new S(r)}function w(e,r){switch(typeof r){case"boolean":return r?G:J;case"undefined":return Z;case"string":return Q(r);case"number":return q(r);case"bigint":return X(e,r);case"object":return Ar(e,r);case"symbol":return ae(e,r);case"function":return ie(e,r);default:throw new S(r)}}async function wr(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],k(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 Xe(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 wr(e,n),f:void 0,b:void 0,o:V(n)}}async function Er(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),u=new Array(t),s=0,d=0;for(let[f,c]of n.entries())k(f)||k(c)?(i[s]=f,u[s]=c,s++):(o[d]=await A(e,f),a[d]=await A(e,c),d++);for(let f=0;f<s;f++)o[d+f]=await A(e,i[f]),a[d+f]=await A(e,u[f]);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,o:void 0}}async function kr(e,r,n){y(e.features&512,new S(n));let t=n.size,o=new Array(t),a=new Array(t),i=0,u=0;for(let s of n.keys())k(s)?a[i++]=s:o[u++]=await A(e,s);for(let s=0;s<i;s++)o[u+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,o:void 0}}async function ve(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),a=new Array(t),i=new Array(t),u=new Array(t),s=0,d=0,f,c;for(let l of n)f=r[l],c=v(l),k(f)?(i[s]=c,u[s]=f,s++):(o[d]=c,a[d]=await A(e,f),d++);for(let l=0;l<s;l++)o[d+l]=i[l],a[d+l]=await A(e,u[l]);if(e.features&1024&&Symbol.iterator in r){o[t]=0;let l=Array.from(r);a[t]=await Xe(e,I(e,l),l),t++}return{k:o,v:a,s:t}}async function er(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),a=new Array(t),i=new Array(t),u=new Array(t),s=0,d=0,f,c;for(let l of n)f=r[l],c=v(l),k(f)?(i[s]=c,u[s]=f,s++):(o[d]=c,a[d]=await A(e,f),d++);for(let l=0;l<s;l++)o[d+l]=i[l],a[d+l]=await A(e,u[l]);return{k:o,v:a,s:t}}async function qe(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,o:void 0}}async function be(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 ve(e,n),a:void 0,f:void 0,b:void 0,o:V(n)}}async function Qe(e,r,n){let t=L(e,n),o=t?await ve(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,o:void 0}}async function ue(e,r,n){let t=L(e,n),o=t?await ve(e,t):void 0;return{t:13,i:r,s:void 0,l:void 0,c:W(n),m:v(n.message),d:o,a:void 0,f:void 0,b:void 0,o:void 0}}async function Rr(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 er(e,t),a:void 0,f:void 0,b:void 0,o:void 0}}async function Cr(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 er(e,t),a:void 0,f:void 0,b:void 0,o:void 0}}async function zr(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,o:void 0}}async function Ir(e,r){if(!r)return $;let n=I(e,r);if(e.markedRefs.has(n))return U(n);if(B(r))return x(n,r);if(Array.isArray(r))return Xe(e,n,r);switch(r.constructor){case Number:case Boolean:case String:case BigInt:case Function:case Symbol:return zr(e,n,r);case Date:return ee(n,r);case RegExp:return re(n,r);case Promise:return qe(e,n,r);case ArrayBuffer:return H(n,r);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return ne(e,n,r);case BigInt64Array:case BigUint64Array:return te(e,n,r);case DataView:return oe(e,n,r);case Map:return Er(e,n,r);case Set:return kr(e,n,r);case Object:return be(e,n,r,!1);case void 0:return be(e,n,r,!0);case AggregateError:return e.features&1?Qe(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 se(e,n,r);case URLSearchParams:return de(e,n,r);case Blob:return Ye(e,n,r);case File:return Ge(e,n,r);case Headers:return Rr(e,n,r);case FormData:return Cr(e,n,r);default:break}if(r instanceof AggregateError)return e.features&1?Qe(e,n,r):ue(e,n,r);if(r instanceof Error)return ue(e,n,r);if(r instanceof Promise)return qe(e,n,r);if(Symbol.iterator in r)return be(e,n,r,!!r.constructor);throw new S(r)}async function A(e,r){switch(typeof r){case"boolean":return r?G:J;case"undefined":return Z;case"string":return Q(r);case"number":return q(r);case"bigint":return X(e,r);case"object":return Ir(e,r);case"symbol":return ae(e,r);case"function":return ie(e,r);default:throw new S(r)}}function rr(e,r){switch(r){case 3:return Object.freeze(e);case 1:return Object.preventExtensions(e);case 2:return Object.seal(e);default:return e}}function b(e,r,n){return e.markedRefs.has(r)&&e.valueMap.set(r,n),n}function Pr(e,r){let n=r.l,t=b(e,r.i,new Array(n)),o;for(let a=0;a<n;a++)o=r.a[a],o&&(t[a]=E(e,o));return rr(t,r.o),t}function nr(e,r,n){let t=r.s;if(t){let o,a,i=r.k,u=r.v;for(let s=0;s<t;s++)switch(o=i[s],a=E(e,u[s]),o){case 0:{let d=a;n[Symbol.iterator]=()=>d.values()}break;default:n[C(o)]=a;break}}return n}function Or(e,r){let n=b(e,r.i,r.t===10?{}:Object.create(null));return nr(e,r.d,n),rr(n,r.o),n}function Br(e,r){let n=b(e,r.i,new Set),t=r.a;for(let o=0,a=r.l;o<a;o++)n.add(E(e,t[o]));return n}function hr(e,r){let n=b(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(E(e,t[a]),E(e,o[a]));return n}function tr(e,r,n){if(r.d){let t=nr(e,r.d,{});Object.assign(n,t)}return n}function Tr(e,r){let n=b(e,r.i,new AggregateError([],C(r.m)));return tr(e,r,n)}function Dr(e,r){let n=He(r.c),t=b(e,r.i,new n(C(r.m)));return tr(e,r,t)}function Ur(){let e;return{resolve(r){e(r)},promise:new Promise(r=>{e=r})}}async function jr(e,r){let n=Ur(),t=b(e,r.i,n.promise);return n.resolve(E(e,r.f)),t}function Fr(e,r){let n=new Uint8Array(r.s);return b(e,r.i,n.buffer)}function xr(e,r){let n=We(r.c),t=E(e,r.f);return b(e,r.i,new n(t,r.b,r.l))}function Lr(e,r){return b(e,r.i,new Date(r.s))}function Vr(e,r){return b(e,r.i,new RegExp(r.c,r.m))}function Mr(e,r){return b(e,r.i,new URL(C(r.s)))}function _r(e,r){return b(e,r.i,new URLSearchParams(C(r.s)))}function Kr(e,r){return b(e,r.i,Le(C(r.s)))}function Hr(e,r){let n=E(e,r.f);return b(e,r.i,new DataView(n,r.b,r.l))}function Wr(e,r){let n=E(e,r.f);return b(e,r.i,new Blob([n],{type:C(r.c)}))}function Yr(e,r){let n=E(e,r.f);return b(e,r.i,new File([n],C(r.m),{type:C(r.c),lastModified:r.b}))}function Gr(e,r){let n=b(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(C(t[a]),E(e,o[a]));return n}function Jr(e,r){let n=b(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(C(t[a]),E(e,o[a]));return n}function Zr(e,r){return b(e,r.i,Object(E(e,r.f)))}function E(e,r){switch(r.t){case 2:return Fe(r);case 0:return r.s;case 1:return C(r.s);case 3:return BigInt(r.s);case 4:return e.valueMap.get(r.i);case 9:return Pr(e,r);case 10:case 11:return Or(e,r);case 5:return Lr(e,r);case 6:return Vr(e,r);case 7:return Br(e,r);case 8:return hr(e,r);case 21:return Fr(e,r);case 16:case 15:return xr(e,r);case 22:return Hr(e,r);case 14:return Tr(e,r);case 13:return Dr(e,r);case 12:return jr(e,r);case 17:return Me[r.s];case 18:return Mr(e,r);case 19:return _r(e,r);case 20:return Kr(e,r);case 23:return Wr(e,r);case 24:return Yr(e,r);case 25:return Gr(e,r);case 26:return Jr(e,r);case 27:return Zr(e,r);default:throw new Error("invariant")}}function fe(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""}}var $r={[3]:"Object.freeze",[2]:"Object.seal",[1]:"Object.preventExtensions",[0]:void 0};function qr(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:fe(n)}:(r.push(n),n=o);break;case"set":o.s===t.s?n={t:"set",s:fe(n),k:o.k,v:o.v}:(r.push(n),n=o);break;case"add":o.s===t.s?n={t:"add",s:fe(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 Ee(e){if(e.length){let r="",n=qr(e);for(let t=0,o=n.length;t<o;t++)r+=fe(n[t])+",";return r}}function ke(e,r,n){r!==0&&(z(e,n),e.flags.push({type:r,value:N(e,n)}))}function Qr(e){let r="";for(let n=0,t=e.flags.length;n<t;n++){let o=e.flags[n];r+=$r[o.type]+"("+o.value+"),"}return r}function or(e){let r=Ee(e.assignments),n=Qr(e);return r?n?r+n:r:n}function ar(e,r,n){e.assignments.push({t:"index",s:r,k:void 0,v:n})}function Xr(e,r,n){e.assignments.push({t:"add",s:N(e,r),k:void 0,v:n})}function Ae(e,r,n,t){e.assignments.push({t:"set",s:N(e,r),k:n,v:t})}function en(e,r,n,t){e.assignments.push({t:"append",s:N(e,r),k:n,v:t})}function Y(e,r,n,t){ar(e,N(e,r)+"["+n+"]",t)}function we(e,r,n,t){z(e,r),ar(e,N(e,r)+"."+n,t)}function p(e,r,n){return e.markedRefs.has(r)?N(e,r)+"="+n:n}function h(e,r){return r.t===4&&e.stack.includes(r.i)}function rn(e,r){let n=r.i;e.stack.push(n);let t="",o,a=!1,i=r.a;for(let u=0,s=r.l;u<s;u++)u!==0&&(t+=","),o=i[u],o?h(e,o)?(z(e,n),Y(e,n,u,N(e,o.i)),a=!0):(t+=g(e,o),a=!1):a=!0;return e.stack.pop(),ke(e,r.o,r.i),p(e,n,"["+t+(a?",]":"]"))}function ir(e){return e.features&2?".values()":"[Symbol.iterator]()"}function nn(e,r){let n=e.stack;e.stack=[];let t=g(e,r)+ir(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 Re(e,r,n){let t=n.s;if(t===0)return"{}";let o="";e.stack.push(r);let a,i,u,s,d,f=!1,c=n.k,l=n.v;for(let R=0;R<t;R++)switch(a=c[R],i=l[R],a){case 0:o+=(f?",":"")+nn(e,i),f=!0;break;default:u=Number(a),s=u>=0||ye(a),h(e,i)?(d=N(e,i.i),z(e,r),s&&Number.isNaN(u)?we(e,r,a,d):Y(e,r,s?a:'"'+a+'"',d)):(o+=(f?",":"")+(s?a:'"'+a+'"')+":"+g(e,i),f=!0);break}return e.stack.pop(),"{"+o+"}"}function tn(e,r,n,t){let o=Re(e,n,r);return o!=="{}"?"Object.assign("+t+","+o+")":t}function on(e,r,n){e.stack.push(r);let t=[],o,a,i,u=n.k,s=n.v;for(let d=0,f=n.s;d<f;d++)switch(o=u[d],a=s[d],o){case 0:{let c=e.stack;e.stack=[];let l=g(e,a)+ir(e);e.stack=c,i=e.assignments,e.assignments=t,Y(e,r,"Symbol.iterator",e.features&4?"()=>"+l:"function(){return "+l+"}"),e.assignments=i}break;default:{let c=g(e,a),l=Number(o),R=l>=0||ye(o);h(e,a)?R&&Number.isNaN(l)?we(e,r,o,c):Y(e,r,R?o:'"'+o+'"',c):(i=e.assignments,e.assignments=t,R&&Number.isNaN(l)?we(e,r,o,c):Y(e,r,R?o:'"'+o+'"',c),e.assignments=i)}}return e.stack.pop(),Ee(t)}function Ce(e,r,n,t){if(n)if(e.features&128)t=tn(e,n,r,t);else{z(e,r);let o=on(e,r,n);if(o)return"("+p(e,r,t)+","+o+N(e,r)+")"}return p(e,r,t)}var an="Object.create(null)";function sn(e,r){return ke(e,r.o,r.i),Ce(e,r.i,r.d,an)}function dn(e,r){return ke(e,r.o,r.i),p(e,r.i,Re(e,r.i,r.d))}function ln(e,r){let n="new Set",t=r.l,o=r.i;if(t){let a="",i,u=!1,s=r.a;e.stack.push(o);for(let d=0;d<t;d++)i=s[d],h(e,i)?(z(e,o),Xr(e,o,N(e,i.i))):(a+=(u?",":"")+g(e,i),u=!0);e.stack.pop(),a&&(n+="(["+a+"])")}return p(e,o,n)}function un(e,r){let n="new Map",t=r.d.s,o=r.i;if(t){let a="",i,u,s,d,f,c=!1,l=r.d.k,R=r.d.v;e.stack.push(o);for(let m=0;m<t;m++)i=l[m],u=R[m],h(e,i)?(s=N(e,o),z(e,o),h(e,u)?(d=N(e,u.i),Ae(e,o,s,d)):(f=e.stack,e.stack=[],Ae(e,o,s,g(e,u)),e.stack=f)):h(e,u)?(d=N(e,u.i),z(e,o),f=e.stack,e.stack=[],Ae(e,o,g(e,i),d),e.stack=f):(a+=(c?",[":"[")+g(e,i)+","+g(e,u)+"]",c=!0);e.stack.pop(),a&&(n+="(["+a+"])")}return p(e,o,n)}function fn(e,r){let n=r.i;e.stack.push(n);let t='new AggregateError([],"'+r.m+'")';return e.stack.pop(),Ce(e,n,r.d,t)}function cn(e,r){return Ce(e,r.i,r.d,"new "+r.c+'("'+r.m+'")')}function mn(e,r){let n,t=r.f,o=r.i;if(h(e,t)){let a=N(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 p(e,o,n)}function Sn(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 p(e,r.i,n+").buffer")}function yn(e,r){return p(e,r.i,"new "+r.c+"("+g(e,r.f)+","+r.b+","+r.l+")")}function gn(e,r){return p(e,r.i,'new Date("'+r.s+'")')}function pn(e,r){return p(e,r.i,"/"+r.c+"/"+r.m)}function Nn(e,r){return p(e,r.i,'new URL("'+r.s+'")')}function bn(e,r){return p(e,r.i,r.s?'new URLSearchParams("'+r.s+'")':"new URLSearchParams")}function vn(e,r){return p(e,r.i,j+'.get("'+r.s+'")')}function An(e,r){return p(e,r.i,"new DataView("+g(e,r.f)+","+r.b+","+r.l+")")}function wn(e,r){return p(e,r.i,"new Blob(["+g(e,r.f)+'],{type:"'+r.c+'"})')}function En(e,r){return p(e,r.i,"new File(["+g(e,r.f)+'],"'+r.m+'",{type:"'+r.c+'",lastModified:'+r.b+"})")}function kn(e,r){return p(e,r.i,"new Headers("+Re(e,r.i,r.d)+")")}function Rn(e,r){let n,t,o=r.d.k,a=r.d.v,i=r.i,u=[],s;e.stack.push(i);for(let d=0,f=r.d.s;d<f;d++)t=o[d],n=g(e,a[d]),s=e.assignments,e.assignments=u,en(e,i,'"'+t+'"',n),e.assignments=s;return e.stack.pop(),Ee(u)}function Cn(e,r){let n=r.d.s,t=r.i;n&&z(e,t);let o=p(e,t,"new FormData()");if(n){let a=Rn(e,r);return"("+o+","+(a==null?"":a)+N(e,t)+")"}return o}function zn(e,r){return p(e,r.i,"Object("+g(e,r.f)+")")}function In(e,r){return p(e,r.i,Ve[r.s])}function g(e,r){switch(r.t){case 0:return""+r.s;case 1:return'"'+r.s+'"';case 2:return je(r);case 3:return r.s+"n";case 4:return N(e,r.i);case 9:return rn(e,r);case 10:return dn(e,r);case 11:return sn(e,r);case 5:return gn(e,r);case 6:return pn(e,r);case 7:return ln(e,r);case 8:return un(e,r);case 21:return Sn(e,r);case 16:case 15:return yn(e,r);case 22:return An(e,r);case 14:return fn(e,r);case 13:return cn(e,r);case 12:return mn(e,r);case 17:return In(e,r);case 18:return Nn(e,r);case 19:return bn(e,r);case 20:return vn(e,r);case 23:return wn(e,r);case 24:return En(e,r);case 25:return kn(e,r);case 26:return Cn(e,r);case 27:return zn(e,r);default:throw new Error("invariant")}}function ze(e,r,n,t){if(e.vars.length){let o=or(e),a=t;if(o){let u=N(e,r);a=t+","+o+u,t.startsWith(u+"=")||(a=u+"="+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 Pn(e,r){let n=M(r),t=w(n,e),o=_(n),a=g(o,t);return ze(o,K(n,e),t.t===10,a)}async function to(e,r){let n=M(r),t=await A(n,e),o=_(n),a=g(o,t);return ze(o,K(n,e),t.t===10,a)}function oo(e){return(0,eval)(e)}function ao(e,r){let n=M(r);return{t:w(n,e),r:K(n,e),f:n.features,m:Array.from(n.markedRefs)}}async function io(e,r){let n=M(r);return{t:await A(n,e),r:K(n,e),f:n.features,m:Array.from(n.markedRefs)}}function so(e){let r=_({features:e.f,markedRefs:e.m}),n=g(r,e.t);return ze(r,e.r,e.t.i===10,n)}function lo(e){let r=_({features:e.f,markedRefs:e.m});return E(r,e.t)}var uo=Pn;export{P as Feature,so as compileJSON,fr as createReference,uo as default,oo as deserialize,lo as fromJSON,Pn as serialize,to as serializeAsync,ao as toJSON,io as toJSONAsync};
@@ -1,3 +1,4 @@
1
+ import type { SerovalObjectFlags } from './tree/types';
1
2
  interface IndexAssignment {
2
3
  t: 'index';
3
4
  s: string;
@@ -28,6 +29,10 @@ export interface ParserContext {
28
29
  markedRefs: Set<number>;
29
30
  features: number;
30
31
  }
32
+ export interface FlaggedObject {
33
+ type: SerovalObjectFlags;
34
+ value: string;
35
+ }
31
36
  export interface SerializationContext {
32
37
  stack: number[];
33
38
  validRefs: (number | undefined)[];
@@ -37,6 +42,7 @@ export interface SerializationContext {
37
42
  assignments: Assignment[];
38
43
  features: number;
39
44
  valueMap: Map<number, unknown>;
45
+ flags: FlaggedObject[];
40
46
  }
41
47
  export interface Options {
42
48
  disabledFeatures: number;
@@ -1,5 +1,6 @@
1
1
  import type { ParserContext } from '../context';
2
2
  import type { ErrorValue } from '../types';
3
+ import { SerovalObjectFlags } from './types';
3
4
  export declare function getErrorConstructorName(error: ErrorValue): string;
4
5
  type ErrorConstructors = ErrorConstructor | EvalErrorConstructor | RangeErrorConstructor | ReferenceErrorConstructor | SyntaxErrorConstructor | TypeErrorConstructor | URIErrorConstructor;
5
6
  export declare function getErrorConstructor(errorName: string): ErrorConstructors;
@@ -8,4 +9,5 @@ export declare function isIterable(value: unknown): value is Iterable<unknown>;
8
9
  type TypedArrayConstructor = Int8ArrayConstructor | Int16ArrayConstructor | Int32ArrayConstructor | Uint8ArrayConstructor | Uint16ArrayConstructor | Uint32ArrayConstructor | Uint8ClampedArrayConstructor | Float32ArrayConstructor | Float64ArrayConstructor | BigInt64ArrayConstructor | BigUint64ArrayConstructor;
9
10
  export declare function getTypedArrayConstructor(name: string): TypedArrayConstructor;
10
11
  export declare function isValidIdentifier(name: string): boolean;
12
+ export declare function getObjectFlag(obj: unknown): SerovalObjectFlags;
11
13
  export {};
@@ -39,6 +39,12 @@ export declare const enum SerovalNodeType {
39
39
  FormData = 26,
40
40
  Boxed = 27
41
41
  }
42
+ export declare const enum SerovalObjectFlags {
43
+ None = 0,
44
+ NonExtensible = 1,
45
+ Sealed = 2,
46
+ Frozen = 3
47
+ }
42
48
  export interface SerovalBaseNode {
43
49
  t: SerovalNodeType;
44
50
  i: number | undefined;
@@ -50,6 +56,7 @@ export interface SerovalBaseNode {
50
56
  a: (SerovalNode | undefined)[] | undefined;
51
57
  f: SerovalNode | undefined;
52
58
  b: number | undefined;
59
+ o: SerovalObjectFlags | undefined;
53
60
  }
54
61
  export declare const enum SerovalObjectRecordSpecialKey {
55
62
  SymbolIterator = 0
@@ -140,16 +147,19 @@ export interface SerovalArrayNode extends SerovalBaseNode {
140
147
  l: number;
141
148
  a: (SerovalNode | undefined)[];
142
149
  i: number;
150
+ o: SerovalObjectFlags;
143
151
  }
144
152
  export interface SerovalObjectNode extends SerovalBaseNode {
145
153
  t: SerovalNodeType.Object;
146
154
  d: SerovalObjectRecordNode;
147
155
  i: number;
156
+ o: SerovalObjectFlags;
148
157
  }
149
158
  export interface SerovalNullConstructorNode extends SerovalBaseNode {
150
159
  t: SerovalNodeType.NullConstructor;
151
160
  d: SerovalObjectRecordNode;
152
161
  i: number;
162
+ o: SerovalObjectFlags;
153
163
  }
154
164
  export interface SerovalPromiseNode extends SerovalBaseNode {
155
165
  t: SerovalNodeType.Promise;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "seroval",
3
3
  "type": "module",
4
- "version": "0.8.0",
4
+ "version": "0.9.0",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -14,15 +14,15 @@
14
14
  "pridepack"
15
15
  ],
16
16
  "devDependencies": {
17
- "@types/node": "^18.15.3",
18
- "@vitest/ui": "^0.30.1",
19
- "eslint": "^8.39.0",
20
- "eslint-config-lxsmnsyc": "^0.6.4",
17
+ "@types/node": "^20.4.0",
18
+ "@vitest/ui": "^0.33.0",
19
+ "eslint": "^8.44.0",
20
+ "eslint-config-lxsmnsyc": "^0.6.5",
21
21
  "node-fetch-native": "^1.1.0",
22
22
  "pridepack": "2.4.4",
23
23
  "tslib": "^2.5.0",
24
24
  "typescript": "^4.9.4",
25
- "vitest": "^0.30.1"
25
+ "vitest": "^0.33.0"
26
26
  },
27
27
  "scripts": {
28
28
  "prepublishOnly": "pridepack clean && pridepack build",
@@ -67,5 +67,5 @@
67
67
  "typesVersions": {
68
68
  "*": {}
69
69
  },
70
- "gitHead": "f7fe3305e0295499989d9f675ff54f9305db23b0"
70
+ "gitHead": "a3bfdc3ac2246b5b067f67af1f10d7a416bfed5f"
71
71
  }
package/src/context.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import { ALL_ENABLED } from './compat';
2
2
  import getIdentifier from './get-identifier';
3
+ import type { SerovalObjectFlags } from './tree/types';
3
4
 
4
5
  interface IndexAssignment {
5
6
  t: 'index';
@@ -42,6 +43,11 @@ export interface ParserContext {
42
43
  features: number;
43
44
  }
44
45
 
46
+ export interface FlaggedObject {
47
+ type: SerovalObjectFlags;
48
+ value: string;
49
+ }
50
+
45
51
  export interface SerializationContext {
46
52
  stack: number[];
47
53
  // Map tree refs to actual refs
@@ -57,6 +63,9 @@ export interface SerializationContext {
57
63
  features: number;
58
64
 
59
65
  valueMap: Map<number, unknown>;
66
+
67
+ // Object flags
68
+ flags: FlaggedObject[];
60
69
  }
61
70
 
62
71
  export interface Options {
@@ -92,6 +101,7 @@ export function createSerializationContext(options: SerializationOptions): Seria
92
101
  features: options.features,
93
102
  markedRefs: new Set(options.markedRefs),
94
103
  valueMap: new Map(),
104
+ flags: [],
95
105
  };
96
106
  }
97
107
 
package/src/tree/async.ts CHANGED
@@ -37,6 +37,7 @@ import { hasReferenceID } from './reference';
37
37
  import {
38
38
  getErrorConstructorName,
39
39
  getErrorOptions,
40
+ getObjectFlag,
40
41
  isIterable,
41
42
  } from './shared';
42
43
  import type {
@@ -114,6 +115,7 @@ async function generateArrayNode(
114
115
  a: await generateNodeList(ctx, current),
115
116
  f: undefined,
116
117
  b: undefined,
118
+ o: getObjectFlag(current),
117
119
  };
118
120
  }
119
121
 
@@ -157,6 +159,7 @@ async function generateMapNode(
157
159
  a: undefined,
158
160
  f: undefined,
159
161
  b: undefined,
162
+ o: undefined,
160
163
  };
161
164
  }
162
165
 
@@ -194,6 +197,7 @@ async function generateSetNode(
194
197
  a: nodes,
195
198
  f: undefined,
196
199
  b: undefined,
200
+ o: undefined,
197
201
  };
198
202
  }
199
203
 
@@ -303,6 +307,7 @@ async function generatePromiseNode(
303
307
  a: undefined,
304
308
  f: await parseAsync(ctx, await current),
305
309
  b: undefined,
310
+ o: undefined,
306
311
  };
307
312
  }
308
313
 
@@ -323,6 +328,7 @@ async function generateObjectNode(
323
328
  a: undefined,
324
329
  f: undefined,
325
330
  b: undefined,
331
+ o: getObjectFlag(current),
326
332
  };
327
333
  }
328
334
 
@@ -346,6 +352,7 @@ async function generateAggregateErrorNode(
346
352
  a: undefined,
347
353
  f: undefined,
348
354
  b: undefined,
355
+ o: undefined,
349
356
  };
350
357
  }
351
358
 
@@ -369,6 +376,7 @@ async function generateErrorNode(
369
376
  a: undefined,
370
377
  f: undefined,
371
378
  b: undefined,
379
+ o: undefined,
372
380
  };
373
381
  }
374
382
 
@@ -393,6 +401,7 @@ async function generateHeadersNode(
393
401
  a: undefined,
394
402
  f: undefined,
395
403
  b: undefined,
404
+ o: undefined,
396
405
  };
397
406
  }
398
407
 
@@ -417,6 +426,7 @@ async function generateFormDataNode(
417
426
  a: undefined,
418
427
  f: undefined,
419
428
  b: undefined,
429
+ o: undefined,
420
430
  };
421
431
  }
422
432
 
@@ -436,6 +446,7 @@ async function generateBoxedNode(
436
446
  a: undefined,
437
447
  f: await parseAsync(ctx, current.valueOf()),
438
448
  b: undefined,
449
+ o: undefined,
439
450
  };
440
451
  }
441
452
 
@@ -13,6 +13,7 @@ function createConstantNode(value: SerovalConstant): SerovalConstantNode {
13
13
  a: undefined,
14
14
  f: undefined,
15
15
  b: undefined,
16
+ o: undefined,
16
17
  };
17
18
  }
18
19
 
@@ -37,10 +37,24 @@ import type {
37
37
  SerovalURLSearchParamsNode,
38
38
  } from './types';
39
39
  import {
40
+ SerovalObjectFlags,
40
41
  SerovalNodeType,
41
42
  SerovalObjectRecordSpecialKey,
42
43
  } from './types';
43
44
 
45
+ function applyObjectFlag(obj: unknown, flag: SerovalObjectFlags): unknown {
46
+ switch (flag) {
47
+ case SerovalObjectFlags.Frozen:
48
+ return Object.freeze(obj);
49
+ case SerovalObjectFlags.NonExtensible:
50
+ return Object.preventExtensions(obj);
51
+ case SerovalObjectFlags.Sealed:
52
+ return Object.seal(obj);
53
+ default:
54
+ return obj;
55
+ }
56
+ }
57
+
44
58
  function assignIndexedValue<T>(
45
59
  ctx: SerializationContext,
46
60
  index: number,
@@ -69,6 +83,7 @@ function deserializeArray(
69
83
  result[i] = deserializeTree(ctx, item);
70
84
  }
71
85
  }
86
+ applyObjectFlag(result, node.o);
72
87
  return result;
73
88
  }
74
89
 
@@ -113,6 +128,7 @@ function deserializeObject(
113
128
  : Object.create(null)) as Record<string, unknown>,
114
129
  );
115
130
  deserializeProperties(ctx, node.d, result);
131
+ applyObjectFlag(result, node.o);
116
132
  return result;
117
133
  }
118
134
 
@@ -57,6 +57,7 @@ export function createNumberNode(value: number): SerovalNode {
57
57
  a: undefined,
58
58
  f: undefined,
59
59
  b: undefined,
60
+ o: undefined,
60
61
  };
61
62
  }
62
63
  }
@@ -73,6 +74,7 @@ export function createStringNode(value: string): SerovalStringNode {
73
74
  a: undefined,
74
75
  f: undefined,
75
76
  b: undefined,
77
+ o: undefined,
76
78
  };
77
79
  }
78
80
 
@@ -92,6 +94,7 @@ export function createBigIntNode(
92
94
  a: undefined,
93
95
  f: undefined,
94
96
  b: undefined,
97
+ o: undefined,
95
98
  };
96
99
  }
97
100
 
@@ -107,6 +110,7 @@ export function createIndexedValueNode(id: number): SerovalIndexedValueNode {
107
110
  a: undefined,
108
111
  f: undefined,
109
112
  b: undefined,
113
+ o: undefined,
110
114
  };
111
115
  }
112
116
 
@@ -122,6 +126,7 @@ export function createDateNode(id: number, current: Date): SerovalDateNode {
122
126
  f: undefined,
123
127
  a: undefined,
124
128
  b: undefined,
129
+ o: undefined,
125
130
  };
126
131
  }
127
132
 
@@ -137,6 +142,7 @@ export function createRegExpNode(id: number, current: RegExp): SerovalRegExpNode
137
142
  a: undefined,
138
143
  f: undefined,
139
144
  b: undefined,
145
+ o: undefined,
140
146
  };
141
147
  }
142
148
 
@@ -161,6 +167,7 @@ export function createArrayBufferNode(
161
167
  a: undefined,
162
168
  f: undefined,
163
169
  b: undefined,
170
+ o: undefined,
164
171
  };
165
172
  }
166
173
 
@@ -192,6 +199,7 @@ export function createTypedArrayNode(
192
199
  a: undefined,
193
200
  f: serializeArrayBuffer(ctx, current.buffer),
194
201
  b: current.byteOffset,
202
+ o: undefined,
195
203
  };
196
204
  }
197
205
 
@@ -217,6 +225,7 @@ export function createBigIntTypedArrayNode(
217
225
  a: undefined,
218
226
  f: serializeArrayBuffer(ctx, current.buffer),
219
227
  b: current.byteOffset,
228
+ o: undefined,
220
229
  };
221
230
  }
222
231
 
@@ -238,6 +247,7 @@ export function createWKSymbolNode(
238
247
  a: undefined,
239
248
  f: undefined,
240
249
  b: undefined,
250
+ o: undefined,
241
251
  };
242
252
  }
243
253
 
@@ -256,6 +266,7 @@ export function createReferenceNode<T>(
256
266
  a: undefined,
257
267
  f: undefined,
258
268
  b: undefined,
269
+ o: undefined,
259
270
  };
260
271
  }
261
272
 
@@ -275,6 +286,7 @@ export function createDataViewNode(
275
286
  a: undefined,
276
287
  f: serializeArrayBuffer(ctx, current.buffer),
277
288
  b: current.byteOffset,
289
+ o: undefined,
278
290
  };
279
291
  }
280
292
 
@@ -1,4 +1,3 @@
1
- /* eslint-disable @typescript-eslint/no-unnecessary-condition */
2
1
  /* eslint-disable no-restricted-globals */
3
2
  import assert from '../assert';
4
3
 
@@ -42,6 +42,8 @@ import type {
42
42
  SerovalWKSymbolNode,
43
43
  } from './types';
44
44
  import {
45
+ SerovalObjectFlags,
46
+
45
47
  SerovalNodeType,
46
48
  SerovalObjectRecordSpecialKey,
47
49
  } from './types';
@@ -61,6 +63,13 @@ function getAssignmentExpression(assignment: Assignment): string {
61
63
  }
62
64
  }
63
65
 
66
+ const OBJECT_FLAG_CONSTRUCTOR: Record<SerovalObjectFlags, string | undefined> = {
67
+ [SerovalObjectFlags.Frozen]: 'Object.freeze',
68
+ [SerovalObjectFlags.Sealed]: 'Object.seal',
69
+ [SerovalObjectFlags.NonExtensible]: 'Object.preventExtensions',
70
+ [SerovalObjectFlags.None]: undefined,
71
+ };
72
+
64
73
  function mergeAssignments(assignments: Assignment[]): Assignment[] {
65
74
  const newAssignments: Assignment[] = [];
66
75
  let current = assignments[0];
@@ -148,8 +157,35 @@ function resolveAssignments(assignments: Assignment[]): string | undefined {
148
157
  return undefined;
149
158
  }
150
159
 
160
+ function pushObjectFlag(ctx: SerializationContext, flag: SerovalObjectFlags, id: number): void {
161
+ if (flag !== SerovalObjectFlags.None) {
162
+ markRef(ctx, id);
163
+ ctx.flags.push({
164
+ type: flag,
165
+ value: getRefParam(ctx, id),
166
+ });
167
+ }
168
+ }
169
+
170
+ function resolveFlags(ctx: SerializationContext): string | undefined {
171
+ let result = '';
172
+ for (let i = 0, len = ctx.flags.length; i < len; i++) {
173
+ const flag = ctx.flags[i];
174
+ result += OBJECT_FLAG_CONSTRUCTOR[flag.type] + '(' + flag.value + '),';
175
+ }
176
+ return result;
177
+ }
178
+
151
179
  export function resolvePatches(ctx: SerializationContext): string | undefined {
152
- return resolveAssignments(ctx.assignments);
180
+ const assignments = resolveAssignments(ctx.assignments);
181
+ const flags = resolveFlags(ctx);
182
+ if (assignments) {
183
+ if (flags) {
184
+ return assignments + flags;
185
+ }
186
+ return assignments;
187
+ }
188
+ return flags;
153
189
  }
154
190
 
155
191
  /**
@@ -284,6 +320,7 @@ function serializeArray(
284
320
  }
285
321
  }
286
322
  ctx.stack.pop();
323
+ pushObjectFlag(ctx, node.o, node.i);
287
324
  return assignIndexedValue(ctx, id, '[' + values + (isHoley ? ',]' : ']'));
288
325
  }
289
326
 
@@ -392,14 +429,14 @@ function serializeAssignments(
392
429
  for (let i = 0, len = node.s; i < len; i++) {
393
430
  key = keys[i];
394
431
  value = values[i];
395
- parentAssignment = ctx.assignments;
396
- ctx.assignments = mainAssignments;
397
432
  switch (key) {
398
433
  case SerovalObjectRecordSpecialKey.SymbolIterator: {
399
434
  const parent = ctx.stack;
400
435
  ctx.stack = [];
401
436
  const serialized = serializeTree(ctx, value) + getIterableAccess(ctx);
402
437
  ctx.stack = parent;
438
+ parentAssignment = ctx.assignments;
439
+ ctx.assignments = mainAssignments;
403
440
  createArrayAssign(
404
441
  ctx,
405
442
  sourceID,
@@ -408,22 +445,35 @@ function serializeAssignments(
408
445
  ? '()=>' + serialized
409
446
  : 'function(){return ' + serialized + '}',
410
447
  );
448
+ ctx.assignments = parentAssignment;
411
449
  }
412
450
  break;
413
451
  default: {
414
452
  const serialized = serializeTree(ctx, value);
415
453
  const check = Number(key);
416
- // Test if key is a valid number or JS identifier
417
- // so that we don't have to serialize the key and wrap with brackets
418
454
  const isIdentifier = check >= 0 || isValidIdentifier(key);
419
- if (isIdentifier && Number.isNaN(check)) {
420
- createObjectAssign(ctx, sourceID, key, serialized);
455
+ if (isIndexedValueInStack(ctx, value)) {
456
+ // Test if key is a valid number or JS identifier
457
+ // so that we don't have to serialize the key and wrap with brackets
458
+ if (isIdentifier && Number.isNaN(check)) {
459
+ createObjectAssign(ctx, sourceID, key, serialized);
460
+ } else {
461
+ createArrayAssign(ctx, sourceID, isIdentifier ? key : ('"' + key + '"'), serialized);
462
+ }
421
463
  } else {
422
- createArrayAssign(ctx, sourceID, isIdentifier ? key : ('"' + key + '"'), serialized);
464
+ // Test if key is a valid number or JS identifier
465
+ // so that we don't have to serialize the key and wrap with brackets
466
+ parentAssignment = ctx.assignments;
467
+ ctx.assignments = mainAssignments;
468
+ if (isIdentifier && Number.isNaN(check)) {
469
+ createObjectAssign(ctx, sourceID, key, serialized);
470
+ } else {
471
+ createArrayAssign(ctx, sourceID, isIdentifier ? key : ('"' + key + '"'), serialized);
472
+ }
473
+ ctx.assignments = parentAssignment;
423
474
  }
424
475
  }
425
476
  }
426
- ctx.assignments = parentAssignment;
427
477
  }
428
478
  ctx.stack.pop();
429
479
  return resolveAssignments(mainAssignments);
@@ -455,6 +505,7 @@ function serializeNullConstructor(
455
505
  ctx: SerializationContext,
456
506
  node: SerovalNullConstructorNode,
457
507
  ): string {
508
+ pushObjectFlag(ctx, node.o, node.i);
458
509
  return serializeDictionary(ctx, node.i, node.d, NULL_CONSTRUCTOR);
459
510
  }
460
511
 
@@ -462,6 +513,7 @@ function serializeObject(
462
513
  ctx: SerializationContext,
463
514
  node: SerovalObjectNode,
464
515
  ): string {
516
+ pushObjectFlag(ctx, node.o, node.i);
465
517
  return assignIndexedValue(ctx, node.i, serializeProperties(ctx, node.i, node.d));
466
518
  }
467
519