seroval 0.4.0-alpha.11 → 0.4.0-alpha.13

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,2 +1,2 @@
1
- function Ve(e,r){let n=e[0]-r[0];return n===0&&(n=e[1]-r[1]),n===0&&(n=e[2]-r[2]),n}var te={[1]:{es:[2021,0,0],chrome:[85,0,0],edge:[85,0,0],firefox:[79,0,0],opera:[71,0,0],safari:[14,0,0],ios:[14,0,0],samsung:[14,0,0],deno:[1,2,0],node:[15,0,0]},[2]:{es:[6,0,0],chrome:[66,0,0],edge:[14,0,0],firefox:[60,0,0],opera:[53,0,0],safari:[9,0,0],ios:[9,0,0],samsung:[9,0,0],deno:[1,0,0],node:[10,9,0]},[4]:{es:[6,0,0],chrome:[45,0,0],edge:[12,0,0],firefox:[24,0,0],opera:[32,0,0],safari:[10,0,0],ios:[10,0,0],samsung:[5,0,0],deno:[1,0,0],node:[4,0,0]},[8]:{es:[2020,0,0],chrome:[67,0,0],edge:[79,0,0],firefox:[68,0,0],opera:[54,0,0],safari:[14,0,0],ios:[14,0,0],samsung:[9,0,0],deno:[1,0,0],node:[10,4,0]},[16]:{es:[6,0,0],chrome:[38,0,0],edge:[12,0,0],firefox:[13,0,0],opera:[25,0,0],safari:[8,0,0],ios:[8,0,0],samsung:[3,0,0],deno:[1,0,0],node:[0,12,0]},[32]:{es:[6,0,0],chrome:[39,0,0],edge:[12,0,0],firefox:[34,0,0],opera:[26,0,0],safari:[9,0,0],ios:[9,0,0],samsung:[4,0,0],deno:[1,0,0],node:[4,0,0]},[64]:{es:[6,0,0],chrome:[45,0,0],edge:[12,0,0],firefox:[34,0,0],opera:[32,0,0],safari:[9,0,0],ios:[9,0,0],samsung:[5,0,0],deno:[1,0,0],node:[4,0,0]},[128]:{es:[6,0,0],chrome:[32,0,0],edge:[12,0,0],firefox:[29,0,0],opera:[19,0,0],safari:[8,0,0],ios:[8,0,0],samsung:[2,0,0],deno:[1,0,0],node:[0,12,0]},[256]:{es:[6,0,0],chrome:[38,0,0],edge:[12,0,0],firefox:[13,0,0],opera:[25,0,0],safari:[8,0,0],ios:[8,0,0],samsung:[3,0,0],deno:[1,0,0],node:[0,12,0]},[512]:{es:[6,0,0],chrome:[43,0,0],edge:[12,0,0],firefox:[36,0,0],opera:[30,0,0],safari:[10,0,0],ios:[10,0,0],samsung:[4,0,0],deno:[1,0,0],node:[0,12,0]},[1024]:{es:[6,0,0],chrome:[7,0,0],edge:[12,0,0],firefox:[4,0,0],opera:[11,6,0],safari:[5,1,0],ios:[4,2,0],samsung:[1,0,0],deno:[1,0,0],node:[0,10,0]},[2048]:{es:[2020,0,0],chrome:[67,0,0],edge:[79,0,0],firefox:[68,0,0],opera:[54,6,0],safari:[15,1,0],ios:[15,2,0],samsung:[9,0,0],deno:[1,0,0],node:[10,4,0]}},W=["chrome","deno","edge","es","firefox","ios","node","opera","safari","samsung"];function Oe(e){for(let r=0,n=W.length;r<n;r++){let t=e.substring(0,W[r].length);if(t===W[r])return t}throw new Error(`Invalid target "${e}"`)}function oe(e){let r=Oe(e),n=e.substring(r.length),[t,o="0",i="0"]=n.split(".");return[r,[Number(t),Number(o),Number(i)]]}function Pe(e){if(Array.isArray(e)){let r=[];for(let n=0,t=e.length;n<t;n++)r.push(oe(e[n]));return r}return[oe(e)]}function ae(e){let r=Pe(e),n=0;for(let t of Object.keys(te)){let o=te[t],i=!0;for(let[a,d]of r){let s=o[a];i=i&&!!s&&Ve(s,d)<=0}i&&(n|=Number(t))}return n}var de="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",ie=de.length,ue="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",se=ue.length;function Y(e){let r=e%ie,n=de[r];for(e=(e-r)/ie;e>0;)r=e%se,n+=ue[r],e=(e-r)/se;return n}var ke={target:"es2023"};function V(e={}){let r=Object.assign({},ke,e||{});return{markedRefs:{},refs:new Map,features:ae(r.target)}}function P(e){return{stack:[],vars:[],assignments:[],validRefs:[],refSize:0,features:e.features,markedRefs:e.markedRefs}}function b(e,r){e.markedRefs[r]=1}function Ce(e,r){let n=e.validRefs[r];if(n==null){let t=e.refSize++;return e.validRefs[r]=t,t}return n}function c(e,r){let n=Ce(e,r);if(e.vars[n])return e.vars[n];let t=Y(n);return e.vars[n]=t,t}function R(e,r,n){let t=e.refs.get(r);if(t!=null)return n&&b(e,t),t;let o=e.refs.size;return e.refs.set(r,o),o}function S(e,r){if(!e)throw new Error(r)}function A(e){let r="",n=0;for(let t=0,o=e.length;t<o;t++){let i;switch(e[t]){case'"':i='\\"';break;case"\\":i="\\\\";break;case"<":i="\\x3C";break;case`
2
- `:i="\\n";break;case"\r":i="\\r";break;case"\u2028":i="\\u2028";break;case"\u2029":i="\\u2029";break;default:continue}r+=e.slice(n,t)+i,n=t+1}return n===0?r=e:r+=e.slice(n),`"${r}"`}function m(e){return{t:0,i:void 0,s:e,l:void 0,m:void 0,c:void 0,d:void 0,a:void 0,n:void 0}}var h=m("!0"),w=m("!1"),z=m("void 0"),T=m(null),$=m("-0"),pr=m("1/0"),gr=m("-1/0");function j(e,r){return S(e.features&8,'Unsupported type "BigInt"'),{t:1,i:void 0,a:void 0,s:`${r}n`,l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}function B(e){return{t:2,i:e,a:void 0,s:void 0,l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}function D(e,r){return{t:3,i:e,a:void 0,s:r.toISOString(),l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}function U(e,r){return{t:4,i:e,a:void 0,s:String(r),l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}function M(e,r,n){let t=n.constructor.name;return S(e.features&1024,`Unsupported value type "${t}"`),{t:14,i:r,a:void 0,s:n.toString(),l:n.byteOffset,m:void 0,c:t,d:void 0,n:void 0}}function _(e,r,n){let t=n.constructor.name;S(e.features&2048,`Unsupported value type "${t}"`);let o="",i=n.length-1;for(let a=0;a<i;a++)o+=`${n[a]}n,`;return o+=`"${n[i]}"`,{t:15,i:r,a:void 0,s:o,l:n.byteOffset,m:void 0,c:t,d:void 0,n:void 0}}function O(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 I(e){let r,n=O(e);e.name!==n?r={name:e.name}:e.constructor.name!==n&&(r={name:e.constructor.name});let t=Object.getOwnPropertyNames(e);for(let o of t)o!=="name"&&o!=="message"&&(r=r||{},r[o]=e[o]);return r}function L(e){let r=Object.getOwnPropertyNames(e);if(r.length){let n={};for(let t of r)n[t]=e[t];return n}}function E(e,r){return r.t===2&&e.stack.includes(r.i)}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}async function F(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),i=new Array(t),a=new Array(t),d=new Array(t),s=0,f=0,u;for(let l of n)u=r[l],v(u)?(a[s]=l,d[s]=u,s++):(o[f]=l,i[f]=await y(e,u),f++);for(let l=0;l<s;l++)o[f+l]=a[l],i[f+l]=await y(e,d[l]);return{k:o,v:i,s:t}}async function he(e,r,n){S(e.features&256,'Unsupported type "Set"');let t=r.size,o=new Array(t),i=new Array(t),a=0,d=0;for(let s of r.keys())v(s)?i[a++]=s:o[d++]=await y(e,s);for(let s=0;s<a;s++)o[d+s]=await y(e,i[s]);return{t:5,i:n,a:o,s:void 0,l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}async function we(e,r,n){S(e.features&16,'Unsupported type "Map"');let t=r.size,o=new Array(t),i=new Array(t),a=new Array(t),d=new Array(t),s=0,f=0;for(let[u,l]of r.entries())v(u)||v(l)?(a[s]=u,d[s]=l,s++):(o[f]=await y(e,u),i[f]=await y(e,l),f++);for(let u=0;u<s;u++)o[f+u]=await y(e,a[u]),i[f+u]=await y(e,d[u]);return{t:6,i:n,a:void 0,s:void 0,l:void 0,m:void 0,c:void 0,d:{k:o,v:i,s:t},n:void 0}}async function ce(e,r){let n=r.length,t=new Array(n),o=new Array(n),i;for(let a=0;a<n;a++)a in r&&(i=r[a],v(i)?o[a]=i:t[a]=await y(e,i));for(let a=0;a<n;a++)a in o&&(t[a]=await y(e,o[a]));return t}async function ze(e,r,n){return{t:7,i:n,a:await ce(e,r),s:void 0,l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}async function le(e,r,n){let t=I(r),o=t?await F(e,t):void 0;return{t:12,i:n,a:void 0,s:void 0,l:void 0,m:r.message,c:void 0,d:o,n:await y(e,r.errors)}}async function Q(e,r,n){let t=I(r),o=t?await F(e,t):void 0;return{t:11,i:n,a:void 0,s:void 0,l:void 0,m:r.message,c:O(r),d:o,n:void 0}}async function me(e,r,n){S(e.features&512,'Unsupported type "Iterable"');let t=L(r);return{t:13,i:n,s:void 0,l:void 0,m:void 0,c:void 0,d:t?await F(e,t):void 0,a:await ce(e,Array.from(r)),n:void 0}}async function fe(e,r,n,t){return Symbol.iterator in r?me(e,r,n):"then"in r&&typeof r.then=="function"?x(e,r,n):{t:t?9:8,i:n,s:void 0,l:void 0,m:void 0,c:void 0,d:await F(e,r),a:void 0,n:void 0}}async function x(e,r,n){return S(e.features&128,'Unsupported type "Promise"'),r.then(async t=>({t:10,i:n,s:void 0,l:void 0,m:void 0,c:void 0,d:void 0,a:void 0,n:await y(e,t)}))}async function y(e,r){switch(typeof r){case"boolean":return r?h:w;case"undefined":return z;case"string":return m(A(r));case"number":return Object.is(r,-0)?$:Object.is(r,1/0)?m("1/0"):Object.is(r,-1/0)?m("-1/0"):m(r);case"bigint":return j(e,r);case"object":{if(!r)return T;let n=R(e,r,!0);if(e.markedRefs[n])return B(n);if(Array.isArray(r))return ze(e,r,n);switch(r.constructor){case Date:return D(n,r);case RegExp:return U(n,r);case Promise:return x(e,r,n);case Map:return we(e,r,n);case Set:return he(e,r,n);case Object:return fe(e,r,n,!1);case void 0:return fe(e,r,n,!0);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return M(e,n,r);case BigInt64Array:case BigUint64Array:return _(e,n,r);case AggregateError:return e.features&1?le(e,r,n):Q(e,r,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return Q(e,r,n);default:break}if(r instanceof AggregateError&&e.features&1)return le(e,r,n);if(r instanceof Error)return Q(e,r,n);if(r instanceof Promise)return x(e,r,n);if(Symbol.iterator in r)return me(e,r,n);if("then"in r&&typeof r.then=="function")return x(e,r,n);throw new Error("Unsupported type")}default:throw new Error("Unsupported type")}}async function J(e,r){let n=await y(e,r),t=n.t===8||n.t===13;return[n,R(e,r,!1),t]}function H(e){switch(e.type){case"index":return`${e.source}=${e.value}`;case"map":return`${e.source}.set(${e.key},${e.value})`;case"set":return`${e.source}.add(${e.value})`;default:return""}}function Te(e){let r=[],n=e[0],t=n;for(let o=1,i=e.length;o<i;o++){let a=e[o];a.type===t.type?a.type==="index"&&a.value===t.value?n={type:"index",source:a.source,value:H(n)}:a.type==="map"&&a.source===t.source?n={type:"map",source:H(n),key:a.key,value:a.value}:a.type==="set"&&a.source===t.source?n={type:"set",source:H(n),value:a.value}:(r.push(n),n=a):(r.push(n),n=a),t=a}return r.push(n),r}function pe(e){if(e.length){let r="",n=Te(e);for(let t=0,o=n.length;t<o;t++)r+=`${H(n[t])},`;return r}}function ge(e){return pe(e.assignments)}function p(e,r,n){return e.markedRefs[r]?`${c(e,r)}=${n}`:n}function Se(e,r,n){e.assignments.push({type:"index",source:r,value:n})}function $e(e,r,n){b(e,r),e.assignments.push({type:"set",source:c(e,r),value:n})}function X(e,r,n,t){b(e,r),e.assignments.push({type:"map",source:c(e,r),key:n,value:t})}function ee(e,r,n,t){b(e,r),Se(e,`${c(e,r)}[${n}]`,t)}function ye(e,r,n,t){b(e,r),Se(e,`${c(e,r)}.${n}`,t)}var ve=/^([$A-Z_][0-9A-Z_$]*)$/i;function K(e,r,n){e.stack.push(r);let t=[];for(let o=0;o<n.s;o++){let i=e.stack;e.stack=[];let a=g(e,n.v[o]);e.stack=i;let d=n.k[o],s=Number(d),f=e.assignments;e.assignments=t;let u=s>=0||ve.test(d);u&&Number.isNaN(s)?ye(e,r,d,a):ee(e,r,u?d:A(d),a),e.assignments=f}return e.stack.pop(),pe(t)}function Ne(e,r,n){if(n.s===0)return"{}";let t="";e.stack.push(r);for(let o=0;o<n.s;o++){let i=n.k[o],a=n.v[o],d=Number(i),s=d>=0||ve.test(i);if(E(e,a)){let f=c(e,a.i);s&&Number.isNaN(d)?ye(e,r,i,f):ee(e,r,s?i:A(i),f)}else t+=`${s?i:A(i)}:${g(e,a)},`}return e.stack.pop(),`{${t.substring(0,t.length-1)}}`}function je(e,r){let n;if(E(e,r.n))n=`Promise.resolve().then(()=>${c(e,r.n.i)})`;else{e.stack.push(r.i);let t=g(e,r.n);e.stack.pop(),n=`Promise.resolve(${t})`}return p(e,r.i,n)}function Be(e,r){let n=`[${r.s}]`;return r.l!==0&&(n+=`,${r.l}`),p(e,r.i,`new ${r.c}(${n})`)}function De(e,r){let n="new Set",t=r.a.length;if(t){let o="";e.stack.push(r.i);for(let i=0;i<t;i++){let a=r.a[i];E(e,a)?$e(e,r.i,c(e,a.i)):o+=`${g(e,a)},`}e.stack.pop(),o&&(n+=`([${o.substring(0,o.length-1)}])`)}return p(e,r.i,n)}function Ue(e,r){let n="new Map";if(r.d.s){let t="";e.stack.push(r.i);for(let o=0;o<r.d.s;o++){let i=r.d.k[o],a=r.d.v[o];if(E(e,i)){let d=c(e,i.i);if(E(e,a)){let s=c(e,a.i);X(e,r.i,d,s)}else{let s=e.stack;e.stack=[],X(e,r.i,d,g(e,a)),e.stack=s}}else if(E(e,a)){let d=c(e,a.i),s=e.stack;e.stack=[],X(e,r.i,g(e,i),d),e.stack=s}else t+=`[${g(e,i)},${g(e,a)}],`}e.stack.pop(),t&&(n+=`([${t.substring(0,t.length-1)}])`)}return p(e,r.i,n)}function Ae(e,r){let n=r.a.length,t="";for(let o=0;o<n;o++){let i=r.a[o];i?E(e,i)?(ee(e,r.i,o,c(e,i.i)),t+=","):(t+=g(e,i),o<n-1&&(t+=",")):t+=","}return`[${t}]`}function Me(e,r){e.stack.push(r.i);let n=Ae(e,r);return e.stack.pop(),p(e,r.i,n)}function Z(e,r,n,t){let o=Ne(e,n,r);return o!=="{}"?`Object.assign(${t},${o})`:t}function _e(e,r){e.stack.push(r.i);let n=`new AggregateError(${g(e,r.n)},${A(r.m)})`;if(e.stack.pop(),r.d)if(e.features&64)n=Z(e,r.d,r.i,n);else{b(e,r.i);let t=K(e,r.i,r.d);if(t){let o=c(e,r.i);return`(${p(e,r.i,n)},${t}${o})`}}return p(e,r.i,n)}function Le(e,r){let n=`new ${r.c}(${A(r.m)})`;if(r.d)if(e.features&64)n=Z(e,r.d,r.i,n);else{b(e,r.i);let t=K(e,r.i,r.d);if(t){let o=c(e,r.i);return`(${p(e,r.i,n)},${t}${o})`}}return p(e,r.i,n)}function xe(e,r){let n=e.stack;e.stack=[];let t=Ae(e,r);e.stack=n;let o;if(e.features&2?o=`${t}.values()`:o=`${t}[Symbol.iterator]()`,e.features&4?o=`{[Symbol.iterator]:()=>${o}}`:e.features&32?o=`{[Symbol.iterator](){return ${o}}}`:o=`{[Symbol.iterator]:function(){return ${o}}}`,r.d)if(e.features&64)o=Z(e,r.d,r.i,o);else{b(e,r.i);let i=K(e,r.i,r.d);if(i){let a=c(e,r.i);return`(${p(e,r.i,o)},${i}${a})`}}return p(e,r.i,o)}function Fe(e,r){let n="Object.create(null)";if(e.features&64)n=Z(e,r.d,r.i,n);else{b(e,r.i);let t=K(e,r.i,r.d);if(t){let o=c(e,r.i);return`(${p(e,r.i,n)},${t}${o})`}}return p(e,r.i,n)}function g(e,r){switch(r.t){case 0:return String(r.s);case 2:return c(e,r.i);case 10:return je(e,r);case 1:return r.s;case 3:return p(e,r.i,`new Date("${r.s}")`);case 4:return p(e,r.i,r.s);case 15:case 14:return Be(e,r);case 5:return De(e,r);case 6:return Ue(e,r);case 7:return Me(e,r);case 12:return _e(e,r);case 11:return Le(e,r);case 13:return xe(e,r);case 9:return Fe(e,r);case 8:return p(e,r.i,Ne(e,r.i,r.d));default:throw new Error("Unsupported type")}}function q(e,r){let n=Object.keys(r),t=n.length,o=new Array(t),i=new Array(t),a=new Array(t),d=new Array(t),s=0,f=0,u;for(let l of n)u=r[l],v(u)?(a[s]=l,d[s]=u,s++):(o[f]=l,i[f]=N(e,u),f++);for(let l=0;l<s;l++)o[f+l]=a[l],i[f+l]=N(e,d[l]);return{k:o,v:i,s:t}}function Je(e,r,n){S(e.features&256,'Unsupported type "Set"');let t=r.size,o=new Array(t),i=new Array(t),a=0,d=0;for(let s of r.keys())v(s)?i[a++]=s:o[d++]=N(e,s);for(let s=0;s<a;s++)o[d+s]=N(e,i[s]);return{t:5,i:n,a:o,s:void 0,l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}function He(e,r,n){S(e.features&16,'Unsupported type "Map"');let t=r.size,o=new Array(t),i=new Array(t),a=new Array(t),d=new Array(t),s=0,f=0;for(let[u,l]of r.entries())v(u)||v(l)?(a[s]=u,d[s]=l,s++):(o[f]=N(e,u),i[f]=N(e,l),f++);for(let u=0;u<s;u++)o[f+u]=N(e,a[u]),i[f+u]=N(e,d[u]);return{t:6,i:n,a:void 0,s:void 0,l:void 0,m:void 0,c:void 0,d:{k:o,v:i,s:t},n:void 0}}function Re(e,r){let n=r.length,t=new Array(n),o=new Array(n),i;for(let a=0;a<n;a++)a in r&&(i=r[a],v(i)?o[a]=i:t[a]=N(e,i));for(let a=0;a<n;a++)a in o&&(t[a]=N(e,o[a]));return t}function Ke(e,r,n){return{t:7,i:n,a:Re(e,r),s:void 0,l:void 0,m:void 0,c:void 0,d:void 0,n:void 0}}function be(e,r,n){let t=I(r),o=t?q(e,t):void 0;return{t:12,i:n,a:void 0,s:void 0,l:void 0,m:r.message,c:void 0,d:o,n:N(e,r.errors)}}function re(e,r,n){let t=I(r),o=t?q(e,t):void 0;return{t:11,i:n,a:void 0,s:void 0,l:void 0,m:r.message,c:O(r),d:o,n:void 0}}function Ie(e,r,n){S(e.features&512,'Unsupported type "Iterable"');let t=L(r);return{t:13,i:n,s:void 0,l:void 0,m:void 0,c:void 0,d:t?q(e,t):void 0,a:Re(e,Array.from(r)),n:void 0}}function Ee(e,r,n,t){return Symbol.iterator in r?Ie(e,r,n):{t:t?9:8,i:n,s:void 0,l:void 0,m:void 0,c:void 0,d:q(e,r),a:void 0,n:void 0}}function N(e,r){switch(typeof r){case"boolean":return r?h:w;case"undefined":return z;case"string":return m(A(r));case"number":return Object.is(r,-0)?$:Object.is(r,1/0)?m("1/0"):Object.is(r,-1/0)?m("-1/0"):m(r);case"bigint":return j(e,r);case"object":{if(!r)return T;let n=R(e,r,!0);if(e.markedRefs[n])return B(n);if(Array.isArray(r))return Ke(e,r,n);switch(r.constructor){case Date:return D(n,r);case RegExp:return U(n,r);case Map:return He(e,r,n);case Set:return Je(e,r,n);case Object:return Ee(e,r,n,!1);case void 0:return Ee(e,r,n,!0);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return M(e,n,r);case BigInt64Array:case BigUint64Array:return _(e,n,r);case AggregateError:return e.features&1?be(e,r,n):re(e,r,n);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return re(e,r,n);default:break}if(r instanceof AggregateError&&e.features&1)return be(e,r,n);if(r instanceof Error)return re(e,r,n);if(Symbol.iterator in r)return Ie(e,r,n);throw new Error("Unsupported type")}default:throw new Error("Unsupported type")}}function G(e,r){let n=N(e,r),t=n.t===8||n.t===13;return[n,R(e,r,!1),t]}function ne(e,r,n,t){if(e.vars.length){let o=ge(e),i=t;if(o){let d=c(e,r);t.startsWith(`${d}=`)?i=`${t},${o}${d}`:i=`${d}=${t},${o}${d}`}let a=e.vars.length>1?e.vars.join(","):e.vars[0];return e.features&4?(a=e.vars.length>1||e.vars.length===0?`(${a})`:a,`(${a}=>(${i}))()`):`(function(${a}){return ${i}})()`}return n?`(${t})`:t}function Ze(e,r){let n=V(r),[t,o,i]=G(n,e),a=P(n),d=g(a,t);return ne(a,o,i,d)}async function $n(e,r){let n=V(r),[t,o,i]=await J(n,e),a=P(n),d=g(a,t);return ne(a,o,i,d)}function qe(e){return(0,eval)(e)}function jn(e,r){let n=V(r),[t,o,i]=G(n,e);return JSON.stringify([t,o,i,n.features,n.markedRefs])}async function Bn(e,r){let n=V(r),[t,o,i]=await J(n,e);return JSON.stringify([t,o,i,n.features,n.markedRefs])}function Ge(e){let r=JSON.parse(e),n=P({features:r[3],markedRefs:r[4]}),t=g(n,r[0]);return ne(n,r[1],r[2],t)}function Dn(e){return qe(Ge(e))}var Un=Ze;export{Ge as compileJSON,Un as default,qe as deserialize,Dn as fromJSON,Ze as serialize,$n as serializeAsync,jn as toJSON,Bn as toJSONAsync};
1
+ var Ie=Object.defineProperty;var Ve=(r,e,t)=>e in r?Ie(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var i=(r,e,t)=>(Ve(r,typeof e!="symbol"?e+"":e,t),t);function Re(r,e){let t=r[0]-e[0];return t===0&&(t=r[1]-e[1]),t===0&&(t=r[2]-e[2]),t}var de={[1]:{es:[2021,0,0],chrome:[85,0,0],edge:[85,0,0],firefox:[79,0,0],opera:[71,0,0],safari:[14,0,0],ios:[14,0,0],samsung:[14,0,0],deno:[1,2,0],node:[15,0,0]},[2]:{es:[6,0,0],chrome:[66,0,0],edge:[14,0,0],firefox:[60,0,0],opera:[53,0,0],safari:[9,0,0],ios:[9,0,0],samsung:[9,0,0],deno:[1,0,0],node:[10,9,0]},[4]:{es:[6,0,0],chrome:[45,0,0],edge:[12,0,0],firefox:[24,0,0],opera:[32,0,0],safari:[10,0,0],ios:[10,0,0],samsung:[5,0,0],deno:[1,0,0],node:[4,0,0]},[8]:{es:[2020,0,0],chrome:[67,0,0],edge:[79,0,0],firefox:[68,0,0],opera:[54,0,0],safari:[14,0,0],ios:[14,0,0],samsung:[9,0,0],deno:[1,0,0],node:[10,4,0]},[16]:{es:[6,0,0],chrome:[38,0,0],edge:[12,0,0],firefox:[13,0,0],opera:[25,0,0],safari:[8,0,0],ios:[8,0,0],samsung:[3,0,0],deno:[1,0,0],node:[0,12,0]},[32]:{es:[6,0,0],chrome:[39,0,0],edge:[12,0,0],firefox:[34,0,0],opera:[26,0,0],safari:[9,0,0],ios:[9,0,0],samsung:[4,0,0],deno:[1,0,0],node:[4,0,0]},[64]:{es:[6,0,0],chrome:[45,0,0],edge:[12,0,0],firefox:[34,0,0],opera:[32,0,0],safari:[9,0,0],ios:[9,0,0],samsung:[5,0,0],deno:[1,0,0],node:[4,0,0]},[128]:{es:[6,0,0],chrome:[32,0,0],edge:[12,0,0],firefox:[29,0,0],opera:[19,0,0],safari:[8,0,0],ios:[8,0,0],samsung:[2,0,0],deno:[1,0,0],node:[0,12,0]},[256]:{es:[6,0,0],chrome:[38,0,0],edge:[12,0,0],firefox:[13,0,0],opera:[25,0,0],safari:[8,0,0],ios:[8,0,0],samsung:[3,0,0],deno:[1,0,0],node:[0,12,0]},[512]:{es:[6,0,0],chrome:[43,0,0],edge:[12,0,0],firefox:[36,0,0],opera:[30,0,0],safari:[10,0,0],ios:[10,0,0],samsung:[4,0,0],deno:[1,0,0],node:[0,12,0]},[1024]:{es:[6,0,0],chrome:[7,0,0],edge:[12,0,0],firefox:[4,0,0],opera:[11,6,0],safari:[5,1,0],ios:[4,2,0],samsung:[1,0,0],deno:[1,0,0],node:[0,10,0]},[2048]:{es:[2020,0,0],chrome:[67,0,0],edge:[79,0,0],firefox:[68,0,0],opera:[54,6,0],safari:[15,1,0],ios:[15,2,0],samsung:[9,0,0],deno:[1,0,0],node:[10,4,0]}},se=["chrome","deno","edge","es","firefox","ios","node","opera","safari","samsung"];function ke(r){for(let e=0,t=se.length;e<t;e++){let s=r.substring(0,se[e].length);if(s===se[e])return s}throw new Error(`Invalid target "${r}"`)}function pe(r){let e=ke(r),t=r.substring(e.length),[s,o="0",a="0"]=t.split(".");return[e,[Number(s),Number(o),Number(a)]]}function Pe(r){if(Array.isArray(r)){let e=[];for(let t=0,s=r.length;t<s;t++)e.push(pe(r[t]));return e}return[pe(r)]}function ge(r){let e=Pe(r),t=0;for(let s of Object.keys(de)){let o=de[s],a=!0;for(let[n,u]of e){let l=o[n];a=a&&!!l&&Re(l,u)<=0}a&&(t|=Number(s))}return t}var ye="hjkmoquxzABCDEFGHIJKLNPQRTUVWXYZ$_",me=ye.length,Ne="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$_",Se=Ne.length;function oe(r){let e=r%me,t=ye[e];for(r=(r-e)/me;r>0;)e=r%Se,t+=Ne[e],r=(r-e)/Se;return t}var Te={target:"es2023"},h=class{constructor(e={}){i(this,"refs",new Map);i(this,"markedRefs",{});i(this,"features");let t=Object.assign({},Te,e||{});this.features=ge(t.target)}},E=class{constructor(e){i(this,"stack",[]);i(this,"validRefs",[]);i(this,"refSize",0);i(this,"vars",[]);i(this,"assignments",[]);i(this,"features");i(this,"markedRefs");this.features=e.features,this.markedRefs=e.markedRefs}};function b(r,e){r.markedRefs[e]=1}function ze(r,e){let t=r.validRefs[e];if(t==null){let s=r.refSize++;return r.validRefs[e]=s,s}return t}function p(r,e){let t=ze(r,e);if(r.vars[t])return r.vars[t];let s=oe(t);return r.vars[t]=s,s}function w(r,e,t){let s=r.refs.get(e);if(s!=null)return t&&b(r,s),s;let o=r.refs.size;return r.refs.set(e,o),o}function g(r,e){if(!r)throw new Error(e)}function v(r){let e="",t=0;for(let s=0,o=r.length;s<o;s++){let a;switch(r[s]){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}e+=r.slice(t,s)+a,t=s+1}return t===0?e=r:e+=r.slice(t),`"${e}"`}var L=class{constructor(e,t,s){i(this,"k");i(this,"v");i(this,"s");this.k=e,this.v=t,this.s=s}},O=class{constructor(e,t,s){i(this,"k");i(this,"v");i(this,"s");this.k=e,this.v=t,this.s=s}},m=class{constructor(e){i(this,"t",0);i(this,"s");this.s=e}},I=class{constructor(e){i(this,"t",2);i(this,"i");this.i=e}},V=class{constructor(e){i(this,"t",1);i(this,"s");this.s=`${e}n`}},R=class{constructor(e,t){i(this,"t",3);i(this,"i");i(this,"s");this.i=e,this.s=t.toISOString()}},k=class{constructor(e,t){i(this,"t",4);i(this,"i");i(this,"s");this.i=e,this.s=String(t)}},P=class{constructor(e,t){i(this,"t",14);i(this,"i");i(this,"s");i(this,"l");i(this,"c");this.i=e,this.s=t.toString(),this.l=t.byteOffset,this.c=t.constructor.name}},T=class{constructor(e,t){i(this,"t",15);i(this,"i");i(this,"s");i(this,"l");i(this,"c");let s="",o=t.length-1;for(let a=0;a<o;a++)s+=`${t[a]}n,`;s+=`"${t[o]}"`,this.i=e,this.s=s,this.l=t.byteOffset,this.c=t.constructor.name}},z=class{constructor(e,t){i(this,"t",5);i(this,"i");i(this,"a");this.i=e,this.a=t}},$=class{constructor(e,t){i(this,"t",6);i(this,"i");i(this,"d");this.i=e,this.d=t}},j=class{constructor(e,t){i(this,"t",7);i(this,"i");i(this,"a");this.i=e,this.a=t}},C=class{constructor(e,t){i(this,"t",8);i(this,"i");i(this,"d");this.i=e,this.d=t}},x=class{constructor(e,t){i(this,"t",9);i(this,"i");i(this,"d");this.i=e,this.d=t}},F=class{constructor(e,t){i(this,"t",10);i(this,"i");i(this,"n");this.i=e,this.n=t}},B=class{constructor(e,t,s,o){i(this,"t",11);i(this,"i");i(this,"c");i(this,"m");i(this,"d");this.i=e,this.c=t,this.m=s,this.d=o}},U=class{constructor(e,t,s,o){i(this,"t",12);i(this,"i");i(this,"m");i(this,"d");i(this,"n");this.i=e,this.m=t,this.d=s,this.n=o}},D=class{constructor(e,t,s){i(this,"t",13);i(this,"i");i(this,"d");i(this,"a");this.i=e,this.d=t,this.a=s}};var J=new m("!0"),G=new m("!1"),Y=new m("void 0"),H=new m(null),K=new m("-0"),Z=new m("1/0"),q=new m("-1/0");function M(r){return r instanceof EvalError?"EvalError":r instanceof RangeError?"RangeError":r instanceof ReferenceError?"ReferenceError":r instanceof SyntaxError?"SyntaxError":r instanceof TypeError?"TypeError":r instanceof URIError?"URIError":"Error"}function _(r){let e,t=M(r);r.name!==t?e={name:r.name}:r.constructor.name!==t&&(e={name:r.constructor.name});let s=Object.getOwnPropertyNames(r);for(let o of s)o!=="name"&&o!=="message"&&(e=e||{},e[o]=r[o]);return e}function W(r){let e=Object.getOwnPropertyNames(r);if(e.length){let t={};for(let s of e)t[s]=r[s];return t}}function A(r,e){return e.t===2&&r.stack.includes(e.i)}function N(r){if(!r||typeof r!="object"||Array.isArray(r))return!1;switch(r.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 r}var ne=class{constructor(e){i(this,"ctx");this.ctx=e}async generateNodeList(e){let t=e.length,s=new Array(t),o=new Array(t),a;for(let n=0;n<t;n++)n in e&&(a=e[n],N(a)?o[n]=a:s[n]=await this.parse(a));for(let n=0;n<t;n++)n in o&&(s[n]=await this.parse(o[n]));return s}async generateArrayNode(e,t){return new j(e,await this.generateNodeList(t))}async generateMapNode(e,t){g(this.ctx.features&16,'Unsupported type "Map"');let s=t.size,o=new Array(s),a=new Array(s),n=new Array(s),u=new Array(s),l=0,d=0;for(let[c,f]of t.entries())N(c)||N(f)?(n[l]=c,u[l]=f,l++):(o[d]=await this.parse(c),a[d]=await this.parse(f),d++);for(let c=0;c<l;c++)o[d+c]=await this.parse(n[c]),a[d+c]=await this.parse(u[c]);return new $(e,new O(o,a,s))}async generateSetNode(e,t){g(this.ctx.features&256,'Unsupported type "Set"');let s=t.size,o=new Array(s),a=new Array(s),n=0,u=0;for(let l of t.keys())N(l)?a[n++]=l:o[u++]=await this.parse(l);for(let l=0;l<n;l++)o[u+l]=await this.parse(a[l]);return new z(e,o)}async generateProperties(e){let t=Object.keys(e),s=t.length,o=new Array(s),a=new Array(s),n=new Array(s),u=new Array(s),l=0,d=0,c;for(let f of t)c=e[f],N(c)?(n[l]=f,u[l]=c,l++):(o[d]=f,a[d]=await this.parse(c),d++);for(let f=0;f<l;f++)o[d+f]=n[f],a[d+f]=await this.parse(u[f]);return new L(o,a,s)}async generateIterableNode(e,t){g(this.ctx.features&512,'Unsupported type "Iterable"');let s=W(t);return new D(e,s?await this.generateProperties(s):void 0,await this.generateNodeList(Array.from(t)))}async generatePromiseNode(e,t){return g(this.ctx.features&128,'Unsupported type "Promise"'),t.then(async s=>new F(e,await this.parse(s)))}async generateObjectNode(e,t,s){if(Symbol.iterator in t)return this.generateIterableNode(e,t);if("then"in t&&typeof t.then=="function")return this.generatePromiseNode(e,t);let o=await this.generateProperties(t);return s?new x(e,o):new C(e,o)}async generateAggregateErrorNode(e,t){let s=_(t),o=s?await this.generateProperties(s):void 0;return new U(e,t.message,o,await this.parse(t.errors))}async generateErrorNode(e,t){let s=_(t),o=s?await this.generateProperties(s):void 0;return new B(e,M(t),t.message,o)}async parse(e){switch(typeof e){case"boolean":return e?J:G;case"undefined":return Y;case"string":return new m(v(e));case"number":return Object.is(e,-0)?K:Object.is(e,1/0)?Z:Object.is(e,-1/0)?q:new m(e);case"bigint":return g(this.ctx.features&8,'Unsupported type "BigInt"'),new V(e);case"object":{if(!e)return H;let t=w(this.ctx,e,!0);if(this.ctx.markedRefs[t])return new I(t);if(Array.isArray(e))return this.generateArrayNode(t,e);switch(e.constructor){case Date:return new R(t,e);case RegExp:return new k(t,e);case Promise:return this.generatePromiseNode(t,e);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return g(this.ctx.features&1024,`Unsupported value type "${e.constructor.name}"`),new P(t,e);case BigInt64Array:case BigUint64Array:return g(this.ctx.features&2048,`Unsupported value type "${e.constructor.name}"`),new T(t,e);case Map:return this.generateMapNode(t,e);case Set:return this.generateSetNode(t,e);case Object:return this.generateObjectNode(t,e,!1);case void 0:return this.generateObjectNode(t,e,!0);case AggregateError:return this.ctx.features&1?this.generateAggregateErrorNode(t,e):this.generateErrorNode(t,e);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.generateErrorNode(t,e);default:break}if(e instanceof AggregateError&&this.ctx.features&1)return this.generateAggregateErrorNode(t,e);if(e instanceof Error)return this.generateErrorNode(t,e);if(e instanceof Promise)return this.generatePromiseNode(t,e);if(Symbol.iterator in e)return this.generateIterableNode(t,e);if("then"in e&&typeof e.then=="function")return this.generatePromiseNode(t,e);throw new Error("Unsupported type")}default:throw new Error("Unsupported type")}}};async function Q(r,e){let t=await new ne(r).parse(e),s=t.t===8||t.t===13;return[t,w(r,e,!1),s]}function X(r){switch(r.type){case"index":return`${r.source}=${r.value}`;case"map":return`${r.source}.set(${r.key},${r.value})`;case"set":return`${r.source}.add(${r.value})`;default:return""}}function $e(r){let e=[],t=r[0],s=t;for(let o=1,a=r.length;o<a;o++){let n=r[o];n.type===s.type?n.type==="index"&&n.value===s.value?t={type:"index",source:n.source,value:X(t)}:n.type==="map"&&n.source===s.source?t={type:"map",source:X(t),key:n.key,value:n.value}:n.type==="set"&&n.source===s.source?t={type:"set",source:X(t),value:n.value}:(e.push(t),t=n):(e.push(t),t=n),s=n}return e.push(t),e}function ve(r){if(r.length){let e="",t=$e(r);for(let s=0,o=t.length;s<o;s++)e+=`${X(t[s])},`;return e}}function be(r){return ve(r.assignments)}function S(r,e,t){return r.markedRefs[e]?`${p(r,e)}=${t}`:t}function Ae(r,e,t){r.assignments.push({type:"index",source:e,value:t})}function je(r,e,t){b(r,e),r.assignments.push({type:"set",source:p(r,e),value:t})}function le(r,e,t,s){b(r,e),r.assignments.push({type:"map",source:p(r,e),key:t,value:s})}function ue(r,e,t,s){b(r,e),Ae(r,`${p(r,e)}[${t}]`,s)}function he(r,e,t,s){b(r,e),Ae(r,`${p(r,e)}.${t}`,s)}var Ee=/^([$A-Z_][0-9A-Z_$]*)$/i;function ee(r,e,t){r.stack.push(e);let s=[];for(let o=0;o<t.s;o++){let a=r.stack;r.stack=[];let n=y(r,t.v[o]);r.stack=a;let u=t.k[o],l=Number(u),d=r.assignments;r.assignments=s;let c=l>=0||Ee.test(u);c&&Number.isNaN(l)?he(r,e,u,n):ue(r,e,c?u:v(u),n),r.assignments=d}return r.stack.pop(),ve(s)}function we(r,e,t){if(t.s===0)return"{}";let s="";r.stack.push(e);for(let o=0;o<t.s;o++){let a=t.k[o],n=t.v[o],u=Number(a),l=u>=0||Ee.test(a);if(A(r,n)){let d=p(r,n.i);l&&Number.isNaN(u)?he(r,e,a,d):ue(r,e,l?a:v(a),d)}else s+=`${l?a:v(a)}:${y(r,n)},`}return r.stack.pop(),`{${s.substring(0,s.length-1)}}`}function Ce(r,e){let t;if(A(r,e.n))t=`Promise.resolve().then(()=>${p(r,e.n.i)})`;else{r.stack.push(e.i);let s=y(r,e.n);r.stack.pop(),t=`Promise.resolve(${s})`}return S(r,e.i,t)}function xe(r,e){let t=`[${e.s}]`;return e.l!==0&&(t+=`,${e.l}`),S(r,e.i,`new ${e.c}(${t})`)}function Be(r,e){let t="new Set",s=e.a.length;if(s){let o="";r.stack.push(e.i);for(let a=0;a<s;a++){let n=e.a[a];A(r,n)?je(r,e.i,p(r,n.i)):o+=`${y(r,n)},`}r.stack.pop(),o&&(t+=`([${o.substring(0,o.length-1)}])`)}return S(r,e.i,t)}function Ue(r,e){let t="new Map";if(e.d.s){let s="";r.stack.push(e.i);for(let o=0;o<e.d.s;o++){let a=e.d.k[o],n=e.d.v[o];if(A(r,a)){let u=p(r,a.i);if(A(r,n)){let l=p(r,n.i);le(r,e.i,u,l)}else{let l=r.stack;r.stack=[],le(r,e.i,u,y(r,n)),r.stack=l}}else if(A(r,n)){let u=p(r,n.i),l=r.stack;r.stack=[],le(r,e.i,y(r,a),u),r.stack=l}else s+=`[${y(r,a)},${y(r,n)}],`}r.stack.pop(),s&&(t+=`([${s.substring(0,s.length-1)}])`)}return S(r,e.i,t)}function Oe(r,e){let t=e.a.length,s="";for(let o=0;o<t;o++){let a=e.a[o];a?A(r,a)?(ue(r,e.i,o,p(r,a.i)),s+=","):(s+=y(r,a),o<t-1&&(s+=",")):s+=","}return`[${s}]`}function De(r,e){r.stack.push(e.i);let t=Oe(r,e);return r.stack.pop(),S(r,e.i,t)}function re(r,e,t,s){let o=we(r,t,e);return o!=="{}"?`Object.assign(${s},${o})`:s}function _e(r,e){r.stack.push(e.i);let t=`new AggregateError(${y(r,e.n)},${v(e.m)})`;if(r.stack.pop(),e.d)if(r.features&64)t=re(r,e.d,e.i,t);else{b(r,e.i);let s=ee(r,e.i,e.d);if(s){let o=p(r,e.i);return`(${S(r,e.i,t)},${s}${o})`}}return S(r,e.i,t)}function Me(r,e){let t=`new ${e.c}(${v(e.m)})`;if(e.d)if(r.features&64)t=re(r,e.d,e.i,t);else{b(r,e.i);let s=ee(r,e.i,e.d);if(s){let o=p(r,e.i);return`(${S(r,e.i,t)},${s}${o})`}}return S(r,e.i,t)}function Le(r,e){let t=r.stack;r.stack=[];let s=Oe(r,e);r.stack=t;let o;if(r.features&2?o=`${s}.values()`:o=`${s}[Symbol.iterator]()`,r.features&4?o=`{[Symbol.iterator]:()=>${o}}`:r.features&32?o=`{[Symbol.iterator](){return ${o}}}`:o=`{[Symbol.iterator]:function(){return ${o}}}`,e.d)if(r.features&64)o=re(r,e.d,e.i,o);else{b(r,e.i);let a=ee(r,e.i,e.d);if(a){let n=p(r,e.i);return`(${S(r,e.i,o)},${a}${n})`}}return S(r,e.i,o)}function Fe(r,e){let t="Object.create(null)";if(r.features&64)t=re(r,e.d,e.i,t);else{b(r,e.i);let s=ee(r,e.i,e.d);if(s){let o=p(r,e.i);return`(${S(r,e.i,t)},${s}${o})`}}return S(r,e.i,t)}function y(r,e){switch(e.t){case 0:return String(e.s);case 2:return p(r,e.i);case 10:return Ce(r,e);case 1:return e.s;case 3:return S(r,e.i,`new Date("${e.s}")`);case 4:return S(r,e.i,e.s);case 15:case 14:return xe(r,e);case 5:return Be(r,e);case 6:return Ue(r,e);case 7:return De(r,e);case 12:return _e(r,e);case 11:return Me(r,e);case 13:return Le(r,e);case 9:return Fe(r,e);case 8:return S(r,e.i,we(r,e.i,e.d));default:throw new Error("Unsupported type")}}var ce=class{constructor(e){i(this,"ctx");this.ctx=e}generateNodeList(e){let t=e.length,s=new Array(t),o=new Array(t),a;for(let n=0;n<t;n++)n in e&&(a=e[n],N(a)?o[n]=a:s[n]=this.parse(a));for(let n=0;n<t;n++)n in o&&(s[n]=this.parse(o[n]));return s}generateArrayNode(e,t){return new j(e,this.generateNodeList(t))}generateMapNode(e,t){g(this.ctx.features&16,'Unsupported type "Map"');let s=t.size,o=new Array(s),a=new Array(s),n=new Array(s),u=new Array(s),l=0,d=0;for(let[c,f]of t.entries())N(c)||N(f)?(n[l]=c,u[l]=f,l++):(o[d]=this.parse(c),a[d]=this.parse(f),d++);for(let c=0;c<l;c++)o[d+c]=this.parse(n[c]),a[d+c]=this.parse(u[c]);return new $(e,new O(o,a,s))}generateSetNode(e,t){g(this.ctx.features&256,'Unsupported type "Set"');let s=t.size,o=new Array(s),a=new Array(s),n=0,u=0;for(let l of t.keys())N(l)?a[n++]=l:o[u++]=this.parse(l);for(let l=0;l<n;l++)o[u+l]=this.parse(a[l]);return new z(e,o)}generateProperties(e){let t=Object.keys(e),s=t.length,o=new Array(s),a=new Array(s),n=new Array(s),u=new Array(s),l=0,d=0,c;for(let f of t)c=e[f],N(c)?(n[l]=f,u[l]=c,l++):(o[d]=f,a[d]=this.parse(c),d++);for(let f=0;f<l;f++)o[d+f]=n[f],a[d+f]=this.parse(u[f]);return{k:o,v:a,s}}generateIterableNode(e,t){g(this.ctx.features&512,'Unsupported type "Iterable"');let s=W(t);return new D(e,s?this.generateProperties(s):void 0,this.generateNodeList(Array.from(t)))}generateObjectNode(e,t,s){return Symbol.iterator in t?this.generateIterableNode(e,t):s?new x(e,this.generateProperties(t)):new C(e,this.generateProperties(t))}generateAggregateErrorNode(e,t){let s=_(t),o=s?this.generateProperties(s):void 0;return new U(e,t.message,o,this.parse(t.errors))}generateErrorNode(e,t){let s=_(t),o=s?this.generateProperties(s):void 0;return new B(e,M(t),t.message,o)}parse(e){switch(typeof e){case"boolean":return e?J:G;case"undefined":return Y;case"string":return new m(v(e));case"number":return Object.is(e,-0)?K:Object.is(e,1/0)?Z:Object.is(e,-1/0)?q:new m(e);case"bigint":return g(this.ctx.features&8,'Unsupported type "BigInt"'),new V(e);case"object":{if(!e)return H;let t=w(this.ctx,e,!0);if(this.ctx.markedRefs[t])return new I(t);if(Array.isArray(e))return this.generateArrayNode(t,e);switch(e.constructor){case Date:return new R(t,e);case RegExp:return new k(t,e);case Int8Array:case Int16Array:case Int32Array:case Uint8Array:case Uint16Array:case Uint32Array:case Uint8ClampedArray:case Float32Array:case Float64Array:return g(this.ctx.features&1024,`Unsupported value type "${e.constructor.name}"`),new P(t,e);case BigInt64Array:case BigUint64Array:return g(this.ctx.features&2048,`Unsupported value type "${e.constructor.name}"`),new T(t,e);case Map:return this.generateMapNode(t,e);case Set:return this.generateSetNode(t,e);case Object:return this.generateObjectNode(t,e,!1);case void 0:return this.generateObjectNode(t,e,!0);case AggregateError:return this.ctx.features&1?this.generateAggregateErrorNode(t,e):this.generateErrorNode(t,e);case Error:case EvalError:case RangeError:case ReferenceError:case SyntaxError:case TypeError:case URIError:return this.generateErrorNode(t,e);default:break}if(e instanceof AggregateError&&this.ctx.features&1)return this.generateAggregateErrorNode(t,e);if(e instanceof Error)return this.generateErrorNode(t,e);if(Symbol.iterator in e)return this.generateIterableNode(t,e);throw new Error("Unsupported type")}default:throw new Error("Unsupported type")}}};function te(r,e){let t=new ce(r).parse(e),s=t.t===8||t.t===13;return[t,w(r,e,!1),s]}function fe(r,e,t,s){if(r.vars.length){let o=be(r),a=s;if(o){let u=p(r,e);s.startsWith(`${u}=`)?a=`${s},${o}${u}`:a=`${u}=${s},${o}${u}`}let n=r.vars.length>1?r.vars.join(","):r.vars[0];return r.features&4?(n=r.vars.length>1||r.vars.length===0?`(${n})`:n,`(${n}=>(${a}))()`):`(function(${n}){return ${a}})()`}return t?`(${s})`:s}function Je(r,e){let t=new h(e),[s,o,a]=te(t,r),n=new E(t),u=y(n,s);return fe(n,o,a,u)}async function at(r,e){let t=new h(e),[s,o,a]=await Q(t,r),n=new E(t),u=y(n,s);return fe(n,o,a,u)}function Ge(r){return(0,eval)(r)}function nt(r,e){let t=new h(e),[s,o,a]=te(t,r);return JSON.stringify([s,o,a,t.features,t.markedRefs])}async function it(r,e){let t=new h(e),[s,o,a]=await Q(t,r);return JSON.stringify([s,o,a,t.features,t.markedRefs])}function Ye(r){let e=JSON.parse(r),t=new E({features:e[3],markedRefs:e[4]}),s=y(t,e[0]);return fe(t,e[1],e[2],s)}function lt(r){return Ge(Ye(r))}var ut=Je;export{Ye as compileJSON,ut as default,Ge as deserialize,lt as fromJSON,Je as serialize,at as serializeAsync,nt as toJSON,it as toJSONAsync};
@@ -15,29 +15,29 @@ interface SetAssignment {
15
15
  value: string;
16
16
  }
17
17
  export type Assignment = IndexAssignment | MapAssignment | SetAssignment;
18
- export interface ParserContext {
18
+ export interface Options {
19
+ target: string | string[];
20
+ }
21
+ export declare class ParserContext {
19
22
  refs: Map<unknown, number>;
20
23
  markedRefs: Record<number, number>;
21
24
  features: number;
25
+ constructor(options?: Partial<Options>);
26
+ }
27
+ export interface SerializationOptions {
28
+ markedRefs: Record<number, number>;
29
+ features: number;
22
30
  }
23
- export interface SerializationContext {
31
+ export declare class SerializationContext {
24
32
  stack: number[];
25
33
  validRefs: number[];
26
34
  refSize: number;
27
- markedRefs: Record<number, number>;
28
35
  vars: string[];
29
36
  assignments: Assignment[];
30
37
  features: number;
31
- }
32
- export interface Options {
33
- target: string | string[];
34
- }
35
- export declare function createParserContext(options?: Partial<Options>): ParserContext;
36
- export interface SerializationOptions {
37
38
  markedRefs: Record<number, number>;
38
- features: number;
39
+ constructor(options: SerializationOptions);
39
40
  }
40
- export declare function createSerializationContext(options: SerializationOptions): SerializationContext;
41
41
  /**
42
42
  * Increments the number of references the referenced value has
43
43
  */
@@ -1,7 +1,4 @@
1
- import { ParserContext } from '../context';
2
- import { BigIntTypedArrayValue, TypedArrayValue } from '../types';
3
- import { SerovalBigIntNode, SerovalBigIntTypedArrayNode, SerovalDateNode, SerovalPrimitiveNode, SerovalReferenceNode, SerovalRegExpNode, SerovalTypedArrayNode } from './types';
4
- export declare function createPrimitiveNode(value: string | number | null): SerovalPrimitiveNode;
1
+ import { SerovalPrimitiveNode } from './types';
5
2
  export declare const TRUE_NODE: SerovalPrimitiveNode;
6
3
  export declare const FALSE_NODE: SerovalPrimitiveNode;
7
4
  export declare const UNDEFINED_NODE: SerovalPrimitiveNode;
@@ -9,9 +6,3 @@ export declare const NULL_NODE: SerovalPrimitiveNode;
9
6
  export declare const NEG_ZERO_NODE: SerovalPrimitiveNode;
10
7
  export declare const INFINITY_NODE: SerovalPrimitiveNode;
11
8
  export declare const NEG_INFINITY_NODE: SerovalPrimitiveNode;
12
- export declare function createBigIntNode(ctx: ParserContext, current: bigint): SerovalBigIntNode;
13
- export declare function createReferenceNode(id: number): SerovalReferenceNode;
14
- export declare function createDateNode(id: number, current: Date): SerovalDateNode;
15
- export declare function createRegExpNode(id: number, current: RegExp): SerovalRegExpNode;
16
- export declare function createTypedArrayNode(ctx: ParserContext, id: number, current: TypedArrayValue): SerovalTypedArrayNode;
17
- export declare function createBigIntTypedArrayNode(ctx: ParserContext, id: number, current: BigIntTypedArrayValue): SerovalBigIntTypedArrayNode;
@@ -1,4 +1,4 @@
1
- import { PrimitiveValue } from '../types';
1
+ import { BigIntTypedArrayValue, PrimitiveValue, TypedArrayValue } from '../types';
2
2
  export declare const enum SerovalNodeType {
3
3
  Primitive = 0,
4
4
  BigInt = 1,
@@ -18,111 +18,130 @@ export declare const enum SerovalNodeType {
18
18
  BigIntTypedArray = 15
19
19
  }
20
20
  export interface SerovalBaseNode {
21
- t: SerovalNodeType;
22
- s: PrimitiveValue | undefined;
23
- i: number | undefined;
24
- l: number | undefined;
25
- c: string | undefined;
26
- d: SerovalDictionaryNode | undefined;
27
- m: string | undefined;
28
- n: SerovalNode | undefined;
29
- a: SerovalNode[] | undefined;
30
- }
31
- export interface SerovalObjectRecordNode {
21
+ t?: SerovalNodeType;
22
+ s?: PrimitiveValue;
23
+ i?: number;
24
+ l?: number;
25
+ c?: string;
26
+ d?: SerovalDictionaryNode;
27
+ m?: string;
28
+ n?: SerovalNode;
29
+ a?: SerovalNode[];
30
+ }
31
+ export declare class SerovalObjectRecordNode {
32
32
  k: string[];
33
33
  v: SerovalNode[];
34
34
  s: number;
35
+ constructor(k: string[], v: SerovalNode[], s: number);
35
36
  }
36
- export interface SerovalMapRecordNode {
37
+ export declare class SerovalMapRecordNode {
37
38
  k: SerovalNode[];
38
39
  v: SerovalNode[];
39
40
  s: number;
41
+ constructor(k: SerovalNode[], v: SerovalNode[], s: number);
40
42
  }
41
43
  export type SerovalDictionaryNode = SerovalObjectRecordNode | SerovalMapRecordNode;
42
- export interface SerovalPrimitiveNode extends SerovalBaseNode {
44
+ export declare class SerovalPrimitiveNode implements SerovalBaseNode {
43
45
  t: SerovalNodeType.Primitive;
46
+ s: string | number | null;
47
+ constructor(current: string | number | null);
44
48
  }
45
- export interface SerovalReferenceNode extends SerovalBaseNode {
49
+ export declare class SerovalReferenceNode implements SerovalBaseNode {
46
50
  t: SerovalNodeType.Reference;
47
51
  i: number;
52
+ constructor(id: number);
48
53
  }
49
- export interface SerovalBigIntNode extends SerovalBaseNode {
54
+ export declare class SerovalBigIntNode implements SerovalBaseNode {
50
55
  t: SerovalNodeType.BigInt;
51
56
  s: string;
57
+ constructor(current: bigint);
52
58
  }
53
- export interface SerovalDateNode extends SerovalBaseNode {
59
+ export declare class SerovalDateNode implements SerovalBaseNode {
54
60
  t: SerovalNodeType.Date;
55
61
  i: number;
56
62
  s: string;
63
+ constructor(id: number, current: Date);
57
64
  }
58
- export interface SerovalRegExpNode extends SerovalBaseNode {
65
+ export declare class SerovalRegExpNode implements SerovalBaseNode {
59
66
  t: SerovalNodeType.RegExp;
60
67
  i: number;
61
68
  s: string;
69
+ constructor(id: number, current: RegExp);
62
70
  }
63
- export interface SerovalTypedArrayNode extends SerovalBaseNode {
71
+ export declare class SerovalTypedArrayNode implements SerovalBaseNode {
64
72
  t: SerovalNodeType.TypedArray;
65
73
  i: number;
66
74
  s: string;
67
75
  l: number;
68
76
  c: string;
77
+ constructor(id: number, current: TypedArrayValue);
69
78
  }
70
- export interface SerovalBigIntTypedArrayNode extends SerovalBaseNode {
79
+ export declare class SerovalBigIntTypedArrayNode implements SerovalBaseNode {
71
80
  t: SerovalNodeType.BigIntTypedArray;
72
81
  i: number;
73
82
  s: string;
74
83
  l: number;
75
84
  c: string;
85
+ constructor(id: number, current: BigIntTypedArrayValue);
76
86
  }
77
87
  export type SerovalSemiPrimitiveNode = SerovalBigIntNode | SerovalDateNode | SerovalRegExpNode | SerovalTypedArrayNode | SerovalBigIntTypedArrayNode;
78
- export interface SerovalSetNode extends SerovalBaseNode {
88
+ export declare class SerovalSetNode implements SerovalBaseNode {
79
89
  t: SerovalNodeType.Set;
80
- a: SerovalNode[];
81
90
  i: number;
91
+ a: SerovalNode[];
92
+ constructor(id: number, a: SerovalNode[]);
82
93
  }
83
- export interface SerovalMapNode extends SerovalBaseNode {
94
+ export declare class SerovalMapNode implements SerovalBaseNode {
84
95
  t: SerovalNodeType.Map;
85
- d: SerovalMapRecordNode;
86
96
  i: number;
97
+ d: SerovalMapRecordNode;
98
+ constructor(id: number, d: SerovalMapRecordNode);
87
99
  }
88
- export interface SerovalArrayNode extends SerovalBaseNode {
100
+ export declare class SerovalArrayNode implements SerovalBaseNode {
89
101
  t: SerovalNodeType.Array;
90
- a: SerovalNode[];
91
102
  i: number;
103
+ a: SerovalNode[];
104
+ constructor(id: number, a: SerovalNode[]);
92
105
  }
93
- export interface SerovalObjectNode extends SerovalBaseNode {
106
+ export declare class SerovalObjectNode implements SerovalBaseNode {
94
107
  t: SerovalNodeType.Object;
95
- d: SerovalObjectRecordNode;
96
108
  i: number;
109
+ d: SerovalObjectRecordNode;
110
+ constructor(id: number, d: SerovalObjectRecordNode);
97
111
  }
98
- export interface SerovalNullConstructorNode extends SerovalBaseNode {
112
+ export declare class SerovalNullConstructorNode implements SerovalBaseNode {
99
113
  t: SerovalNodeType.NullConstructor;
100
- d: SerovalObjectRecordNode;
101
114
  i: number;
115
+ d: SerovalObjectRecordNode;
116
+ constructor(id: number, d: SerovalObjectRecordNode);
102
117
  }
103
- export interface SerovalPromiseNode extends SerovalBaseNode {
118
+ export declare class SerovalPromiseNode implements SerovalBaseNode {
104
119
  t: SerovalNodeType.Promise;
105
- n: SerovalNode;
106
120
  i: number;
121
+ n: SerovalNode;
122
+ constructor(id: number, n: SerovalNode);
107
123
  }
108
- export interface SerovalErrorNode extends SerovalBaseNode {
124
+ export declare class SerovalErrorNode implements SerovalBaseNode {
109
125
  t: SerovalNodeType.Error;
126
+ i: number;
110
127
  c: string;
111
128
  m: string;
112
129
  d: SerovalObjectRecordNode | undefined;
113
- i: number;
130
+ constructor(id: number, c: string, m: string, d: SerovalObjectRecordNode | undefined);
114
131
  }
115
- export interface SerovalAggregateErrorNode extends SerovalBaseNode {
132
+ export declare class SerovalAggregateErrorNode implements SerovalBaseNode {
116
133
  t: SerovalNodeType.AggregateError;
134
+ i: number;
117
135
  m: string;
118
136
  d: SerovalObjectRecordNode | undefined;
119
137
  n: SerovalNode;
120
- i: number;
138
+ constructor(id: number, m: string, d: SerovalObjectRecordNode | undefined, n: SerovalNode);
121
139
  }
122
- export interface SerovalIterableNode extends SerovalBaseNode {
140
+ export declare class SerovalIterableNode implements SerovalBaseNode {
123
141
  t: SerovalNodeType.Iterable;
142
+ i: number;
124
143
  d: SerovalObjectRecordNode | undefined;
125
144
  a: SerovalNode[];
126
- i: number;
145
+ constructor(id: number, d: SerovalObjectRecordNode | undefined, a: SerovalNode[]);
127
146
  }
128
147
  export type SerovalNode = SerovalPrimitiveNode | SerovalReferenceNode | SerovalSemiPrimitiveNode | SerovalSetNode | SerovalMapNode | SerovalArrayNode | SerovalObjectNode | SerovalNullConstructorNode | SerovalPromiseNode | SerovalErrorNode | SerovalAggregateErrorNode | SerovalIterableNode;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "seroval",
3
3
  "type": "module",
4
- "version": "0.4.0-alpha.11",
4
+ "version": "0.4.0-alpha.13",
5
5
  "files": [
6
6
  "dist",
7
7
  "src"
@@ -64,5 +64,5 @@
64
64
  "typesVersions": {
65
65
  "*": {}
66
66
  },
67
- "gitHead": "743b4f2421f9c15c39b89a7dc9983f32aff3aa52"
67
+ "gitHead": "3f71e898ce27170bade38120eddc9afe96390498"
68
68
  }
package/src/context.ts CHANGED
@@ -1,3 +1,5 @@
1
+ /* eslint-disable prefer-object-spread */
2
+ /* eslint-disable max-classes-per-file */
1
3
  import { parseTargets } from './compat';
2
4
  import getIdentifier from './get-identifier';
3
5
 
@@ -26,27 +28,6 @@ export type Assignment =
26
28
  | MapAssignment
27
29
  | SetAssignment;
28
30
 
29
- export interface ParserContext {
30
- refs: Map<unknown, number>;
31
- markedRefs: Record<number, number>;
32
- features: number;
33
- }
34
-
35
- export interface SerializationContext {
36
- stack: number[];
37
- // Map tree refs to actual refs
38
- validRefs: number[];
39
- refSize: number;
40
- // Refs that are...referenced
41
- markedRefs: Record<number, number>;
42
- // Variables
43
- vars: string[];
44
- // Array of assignments to be done (used for recursion)
45
- assignments: Assignment[];
46
- // Supported features
47
- features: number;
48
- }
49
-
50
31
  export interface Options {
51
32
  target: string | string[];
52
33
  }
@@ -55,14 +36,17 @@ const DEFAULT_OPTIONS: Options = {
55
36
  target: 'es2023',
56
37
  };
57
38
 
58
- export function createParserContext(options: Partial<Options> = {}): ParserContext {
59
- // eslint-disable-next-line prefer-object-spread
60
- const result = Object.assign({}, DEFAULT_OPTIONS, options || {});
61
- return {
62
- markedRefs: {},
63
- refs: new Map(),
64
- features: parseTargets(result.target),
65
- };
39
+ export class ParserContext {
40
+ refs = new Map<unknown, number>();
41
+
42
+ markedRefs: Record<number, number> = {};
43
+
44
+ features: number;
45
+
46
+ constructor(options: Partial<Options> = {}) {
47
+ const result = Object.assign({}, DEFAULT_OPTIONS, options || {});
48
+ this.features = parseTargets(result.target);
49
+ }
66
50
  }
67
51
 
68
52
  export interface SerializationOptions {
@@ -70,16 +54,30 @@ export interface SerializationOptions {
70
54
  features: number;
71
55
  }
72
56
 
73
- export function createSerializationContext(options: SerializationOptions): SerializationContext {
74
- return {
75
- stack: [],
76
- vars: [],
77
- assignments: [],
78
- validRefs: [],
79
- refSize: 0,
80
- features: options.features,
81
- markedRefs: options.markedRefs,
82
- };
57
+ export class SerializationContext {
58
+ stack: number[] = [];
59
+
60
+ // Map tree refs to actual refs
61
+ validRefs: number[] = [];
62
+
63
+ refSize = 0;
64
+
65
+ // Variables
66
+ vars: string[] = [];
67
+
68
+ // Array of assignments to be done (used for recursion)
69
+ assignments: Assignment[] = [];
70
+
71
+ // Supported features
72
+ features: number;
73
+
74
+ // Refs that are...referenced
75
+ markedRefs: Record<number, number>;
76
+
77
+ constructor(options: SerializationOptions) {
78
+ this.features = options.features;
79
+ this.markedRefs = options.markedRefs;
80
+ }
83
81
  }
84
82
 
85
83
  /**
package/src/index.ts CHANGED
@@ -4,8 +4,7 @@ import {
4
4
  SerializationContext,
5
5
  getRefParam,
6
6
  Options,
7
- createParserContext,
8
- createSerializationContext,
7
+ ParserContext,
9
8
  } from './context';
10
9
  import parseAsync from './tree/async';
11
10
  import serializeTree, { resolvePatches } from './tree/serialize';
@@ -70,9 +69,9 @@ export function serialize<T extends ServerValue>(
70
69
  source: T,
71
70
  options?: Partial<Options>,
72
71
  ) {
73
- const ctx = createParserContext(options);
72
+ const ctx = new ParserContext(options);
74
73
  const [tree, rootID, isObject] = parseSync(ctx, source);
75
- const serial = createSerializationContext(ctx);
74
+ const serial = new SerializationContext(ctx);
76
75
  const result = serializeTree(serial, tree);
77
76
  return finalize(serial, rootID, isObject, result);
78
77
  }
@@ -81,9 +80,9 @@ export async function serializeAsync<T extends AsyncServerValue>(
81
80
  source: T,
82
81
  options?: Partial<Options>,
83
82
  ) {
84
- const ctx = createParserContext(options);
83
+ const ctx = new ParserContext(options);
85
84
  const [tree, rootID, isObject] = await parseAsync(ctx, source);
86
- const serial = createSerializationContext(ctx);
85
+ const serial = new SerializationContext(ctx);
87
86
  const result = serializeTree(serial, tree);
88
87
  return finalize(serial, rootID, isObject, result);
89
88
  }
@@ -105,7 +104,7 @@ export function toJSON<T extends ServerValue>(
105
104
  source: T,
106
105
  options?: Partial<Options>,
107
106
  ) {
108
- const ctx = createParserContext(options);
107
+ const ctx = new ParserContext(options);
109
108
  const [tree, root, isObject] = parseSync(ctx, source);
110
109
  return JSON.stringify([
111
110
  tree,
@@ -120,7 +119,7 @@ export async function toJSONAsync<T extends AsyncServerValue>(
120
119
  source: T,
121
120
  options?: Partial<Options>,
122
121
  ) {
123
- const ctx = createParserContext(options);
122
+ const ctx = new ParserContext(options);
124
123
  const [tree, root, isObject] = await parseAsync(ctx, source);
125
124
  return JSON.stringify([
126
125
  tree,
@@ -133,7 +132,7 @@ export async function toJSONAsync<T extends AsyncServerValue>(
133
132
 
134
133
  export function compileJSON(source: string): string {
135
134
  const parsed = JSON.parse(source) as SerovalJSON;
136
- const serial = createSerializationContext({
135
+ const serial = new SerializationContext({
137
136
  features: parsed[3],
138
137
  markedRefs: parsed[4],
139
138
  });