UNPKG

@discoveryjs/cli

Version:

CLI tools to serve & build projects based on Discovery.js

2 lines (1 loc) 22.2 kB
var ae=new Uint8Array([0,0,74,83,79,78,88,76]),te=9,ye=255,Re=65535,Ue=16777215,Ie=134217727,re=268435455,ke=1073741823;var le=4294967295,Oe=-127,me=127,Ce=-32767,Me=32767,Se=-8388607,Ye=8388607,Ve=-2147483647,De=2147483647,Le=127,Be=16383,Pe=2097151,X=0,Ge=1,V=2,g=4,Y=8,b=16,F=32,q=64,w=128,y=0,U=1,H=2,K=3,z=4,Q=5,W=6;var D=8,L=9,B=10,P=11,G=12,je=31,J=224,he=7936,R=0,E=1,m=2,C=3,M=4,S=5,j=6,v=7,se=8,ve=0,Z=16,ne=32,Xe=~b,Fe=V|F|q,k=new Uint8Array(256).map((t,e)=>{for(let r=0;r<8;r++)t+=e>>r&1;return t});var Qe=65536,ue=new Uint32Array(16),de=ue.subarray(0,8),qe=ue.subarray(8,16);function xe(t){return Math.fround(t)===t?Q:W}function Te(t){return t<0?t<Ce?t<Se?t<Ve?G:P:B:t<Oe?L:D:t>Me?t>Ye?t>De?G:P:B:t>me?L:D}function We(t){return t>Re?t>Ue?t>le?z:K:H:t>ye?U:y}function pe(t){return Number.isInteger(t)?t<0?Te(t):We(t):xe(t)}function lt(t){return Number.isInteger(t)?Te(t):xe(t)}function He(t,e){let r=Math.max(Math.abs(t),Math.abs(e)),o=t<0?1:0;return Math.max(32-Math.clz32(r)+o,1)}function ht(t,e,r,o){switch(o){case y:e[R]+=1,e[m]+=r>127?2:1,e[M]+=r>7?1:0;break;case U:e[R]+=2,e[m]+=r>16383?3:2,e[M]+=r>1023?2:1;break;case H:e[R]+=3,e[m]+=r>2097151?4:3,e[M]+=r>131071?3:2;break;case K:e[R]+=4,e[m]+=r>268435455?5:4,e[M]+=r>16777215?4:3;break;case z:{let l=t.vlqBytesNeeded(r);e[R]+=l,e[m]+=l,e[M]+=t.vlqBytesNeeded((r-(r&7))/8);break}}}function _t(t,e,r,o){switch(r<0&&(r=-r),o){case D:{e[E]+=1,e[C]+=r>63?2:1,e[S]+=r>3?1:0;break}case L:{e[E]+=2,e[C]+=r>8191?3:2,e[S]+=r>511?2:1;break}case B:{e[E]+=3,e[C]+=r>1048575?4:3,e[S]+=r>65535?3:2;break}case P:{e[E]+=4,e[C]+=r>134217727?5:4,e[S]+=r>8388607?4:3;break}case G:{let l=2*r,n=t.vlqBytesNeeded(l);e[E]+=n,e[C]+=n,e[S]+=t.vlqBytesNeeded((l-(l&7))/8);break}}}function Ke(t,e,r){let o=Te(r);if(_t(t,e,r,o),r>=0){let l=We(r);return ht(t,e,r,l),1<<o|1<<l}return 1<<o|Qe}function Je(t,e,r,o){let l=r&Qe,n=l?E:R,f=l?(r>>8|r&J)&255:r&(je|J),i=k[f],c=e[n]+(i>1?Math.ceil(t*(i<=2?1:i<=4?2:3)/8):0)+(o?2:0);return{encoding:f<<8|n,minBytes:c}}function ze(t,e,r,o,l,n){let f=n<=16?Math.ceil(t*n/8)+(o?2:0):1/0,{encoding:i,minBytes:c}=Je(t,e,r,o);if((i&15)===E){let a=e[C]+(o?1:0),h=e[S]+Math.ceil(t/2)+(o?1:0);f<c&&(i=n<<8|v,c=f),a<c&&(i=C,c=a),h<c&&(i=S,c=h)}else{let a=e[m]+(o?1:0),h=e[M]+Math.ceil(t/2)+(o?1:0);f<c&&(i=n<<8|j,c=f),a<c&&(i=m,c=a),h<c&&(i=M,c=h)}return{encoding:i|l,minBytes:c}}function Nt(t,e,r=!0,o=0,l=e.length){let n=l-o,f=0,i=!1,c=e[o],s=e[o];ue.fill(0);for(let x=o;x<l;x++){let p=e[x];Number.isInteger(p)?f|=Ke(t,de,p):(f|=1<<xe(p),i=!0),p<c&&(c=p),p>s&&(s=p)}if(i||n<2)return Je(n,de,f,r);let a=e[o+1]-e[o],h=a,N=a,d=0;for(let x=o;x<l;x++){let p=e[x];if(x!==o){let A=p-e[x-1];d|=Ke(t,qe,A),a!==A&&(a=!1),A>h&&(h=A),A<N&&(N=A)}}let{encoding:_,minBytes:u}=ze(n,de,f,r,ve,He(c,s)),T=ze(n-1,qe,d,r,Z,He(N,h)),I=T.minBytes+t.intVarBytesNeeded(e[o]);if(I<u&&(_=T.encoding,u=I),n>2&&a!==!1){let x=t.intVarBytesNeeded(e[o])+t.intVarBytesNeeded(a)+(r?1:0);x<u&&(_=se,u=x)}return{encoding:_,minBytes:u}}function Ae(t,e,r=!0){let{encoding:o}=Nt(t,e,r);return o}function It(t,e){switch(e&15){case R:case E:case j:case v:t.writeNumber(e,U);break;default:t.writeNumber(e,y)}}function O(t,e,r){if(r||t.writeVlq(e.length),e.length>0){let o=Ae(t,e,!0);It(t,o),be(t,e,o)}}function be(t,e,r){let o=r&15,l=r&48,n=e;switch(l){case Z:{t.writeIntVar(n[0]),n=Array.from({length:e.length-1},(f,i)=>e[i+1]-e[i]);break}case ne:{let f=n[0];for(let i=1;i<n.length;i++)n[i]<f&&(f=n[i]);t.writeIntVar(f),n=Array.from(e,i=>i-f);break}}switch(o){case m:{for(let f=0;f<n.length;f++)t.writeVlq(n[f]);break}case C:{for(let f=0;f<n.length;f++)t.writeIntVar(n[f]);break}case M:{for(let f=0;f<n.length;f+=2)t.writeNumber((n[f]>7?8:0)|n[f]&7|(n[f+1]>7?128:0)|(n[f+1]&7)<<4,y);for(let f=0;f<n.length;f++)n[f]>7&&t.writeVlq((n[f]-(n[f]&7))/8);break}case S:{for(let f=0;f<n.length;f+=2){let i=n[f],c=Math.abs(i),s=n[f+1]||0,a=Math.abs(s);t.writeNumber((c>3?8:0)|c&3|(i<0?4:0)|(a>3?128:0)|(a&3|(s<0?4:0))<<4,y)}for(let f=0;f<n.length;f++){let i=n[f]>=0?n[f]:-n[f];i>3&&t.writeVlq((i-(i&3))/4)}break}case j:{let f=r>>8,i=0,c=0;for(let s=0;s<n.length;s++)c|=n[s]<<i,i+=f,i>=16&&(t.writeNumber(c,U),i-=16,c>>=16);i>8?t.writeNumber(c,U):i>0&&t.writeNumber(c,y);break}case v:{let f=r>>8,i=0,c=0;for(let s=0;s<n.length;s++){let a=n[s];c|=(a<0?-a<<1|1:a<<1)<<i,i+=f,i>=16&&(t.writeNumber(c,U),i-=16,c>>=16)}i>8?t.writeNumber(c,U):i>0&&t.writeNumber(c,y);break}case se:{t.writeIntVar(n[0]),t.writeIntVar(n[1]-n[0]);break}case R:case E:{let f=o===E,i=r>>8,c=f?r&he|i&J:i;if(k[i]>1){let a=f?n.map(lt):n.map(pe);t.writeTypeIndex(a,c,!1);for(let h=0;h<n.length;h++)t.writeNumber(n[h],a[h])}else{let a=31-Math.clz32(c);for(let h=0;h<n.length;h++)t.writeNumber(n[h],a)}break}default:throw new Error("Unknown numeric array encoding method:",o)}}function dt(t,e){let r=Math.min(t.length,e.length);if(r>=3){let o=0;for(;o<r&&t[o]===e[o];o++);if(o>=3)return o}return 0}function ut(t,e,r){let o=Math.min(t.length,e.length-r);if(o>=3){let l=0;for(;l<o&&t[t.length-1-l]===e[e.length-1-l];l++);if(l>=3)return-l}return 0}function Ze(t,e,r,o,l,n,f,i,c){let s="",a="";r.sort((h,N)=>o[h]<o[N]?-1:1);for(let h=0;h<r.length;h++){let N=c++,d=r[h],_=o[d],u=dt(a,_),T=ut(a,_,u)||_.length,I=u>0,x=T<0,p=I||x?_.slice(u,T):_;i[d]=N,l[N]=p.length<<2|I<<1|x<<0,a=_,s.length+p.length>e?(s!==""&&t.push(s),s=p):s+=p,I&&n.push(u),x&&f.push(-T)}s!==""&&t.push(s)}function $e(t,e,r=16*1024*1024){let o=new Uint32Array(t.length),l=[],n=[],f=new Uint32Array(t.length),i=new Uint32Array(t.length),c=new Set,s=[],a=0;for(let N=0;N<e.length;N++){let d=e[N];++f[d]===2&&c.add(d)}let h=new Uint32Array(c).sort((N,d)=>f[d]-f[N]);for(let N of[[0,127],[127,16383]])if(h.length>a){let d=h.subarray(N[0],N[1]);Ze(s,r,d,t,o,l,n,i,a),a+=d.length;for(let _=0;_<d.length;_++)f[d[_]]=0}for(let N=0,d=0;N<f.length;N++)f[N]!==0&&(f[d++]=N);Ze(s,r,f.subarray(0,f.length-a),t,o,l,n,i,a);for(let N=0;N<e.length;N++)e[N]=i[e[N]];return{strings:s,stringDefs:o,stringSlicesStart:l,stringSlicesEnd:n,stringRefs:e}}var xt=new TextEncoder;function Ee(t=65536){let e=()=>{n=[],r()},r=()=>{f=new Uint8Array(t),i=new DataView(f.buffer),c=0},o=()=>{n.push(f.subarray(0,c)),f=i=null},l=s=>{c+s>f.length&&(o(),r())},n=null,f=null,i=null,c=0;if(t<8)throw new Error("Chunk size can't be less than 8 bytes");return e(),{ensureCapacity:l,reset:e,emit(){if(n===null)return[];o();let s=n;return n=null,s},get written(){return n!==null?n.reduce((s,a)=>s+a.byteLength,0)+c:0},writeBytes(s){let a=0;for(;a<s.byteLength;){let h=f.byteLength-c,N=s.subarray(a,a+=h);f.set(N,c),c+=N.byteLength,a<s.byteLength&&(o(),r())}},writeString(s){let a=0;for(;a<s.length;){let{read:h,written:N}=xt.encodeInto(a>0?s.slice(a):s,c>0?f.subarray(c):f);a+=h,c+=N,a<s.length&&(o(),r())}},writeUint8(s){l(1),i.setUint8(c,s),c+=1},writeInt8(s){l(1),i.setInt8(c,s),c+=1},writeUint16(s){l(2),i.setUint16(c,s,!0),c+=2},writeInt16(s){l(2),i.setInt16(c,s,!0),c+=2},writeUint24(s){l(3),i.setUint16(c,s,!0),i.setUint8(c+2,s>>16),c+=3},writeInt24(s){l(3),i.setInt16(c,s,!0),i.setInt8(c+2,s>>16),c+=3},writeUint32(s){l(4),i.setUint32(c,s,!0),c+=4},writeInt32(s){l(4),i.setInt32(c,s,!0),c+=4},writeUint64(s){l(8),i.setBigUint64(c,BigInt(s),!0),c+=8},writeFloat32(s){l(4),i.setFloat32(c,s,!0),c+=4},writeFloat64(s){l(8),i.setFloat64(c,s,!0),c+=8}}}var Tt=Math.floor(Number.MAX_SAFE_INTEGER/2),tt=new Uint8Array(33);for(let t=0;t<33;t++)tt[32-t]=Math.ceil(t/7)||1;function et(t,e){let r=new Uint32Array(e.length),o=new Uint32Array(e.length).map((n,f)=>f),l=e.slice();for(let n=0;n<t.length;n++)r[t[n]]++;o.sort((n,f)=>r[f]-r[n]||n-f);for(let n=0;n<o.length;n++)r[o[n]]=n,e[n]=l[o[n]];for(let n=0;n<t.length;n++)t[n]=r[t[n]]}function pt(t){let e=t.reduce((l,n)=>l+n.byteLength,0),r=new Uint8Array(e),o=0;for(let l of t)r.set(l,o),o+=l.byteLength;return r}var ie=class{constructor(e){this.backend=Ee(e),this.objectKeys=new Map,this.objectEntryDefs=[],this.arrayLengths=[],this.arrayHeaders=new Map,this.arrayHeaderRefs=[],this.strings=new Map,this.stringRefs=[]}emit(){let e=new Uint8Array(12),r=new DataView(e.buffer);e.set(ae),r.setUint16(8,te,!0);let o=this.backend.emit(!1);for(let _ of this.objectKeys.keys())this.writeString(_);let{strings:l,stringDefs:n,stringSlicesStart:f,stringSlicesEnd:i,stringRefs:c}=$e([...this.strings.keys()],this.stringRefs);this.backend.reset();let s=new TextEncoder,a=Array.from(l,_=>s.encode(_)),h=a.reduce((_,u)=>_+u.byteLength,0);this.writeVlq(h),a.forEach(_=>this.backend.writeBytes(_)),O(this,n),O(this,f),O(this,i),O(this,c),O(this,this.arrayLengths);let N=[...this.arrayHeaders.keys()];et(this.arrayHeaderRefs,N),O(this,N),O(this,this.arrayHeaderRefs),this.writeVlq(this.objectEntryDefs.length),this.writeVlq(this.objectKeys.size);for(let _ of this.objectEntryDefs){let u=[0,..._.keys()],T=_.refs;et(T,u),O(this,u),O(this,T)}let d=this.backend.emit(!1);return pt([e,...d,...o])}writeString(e){let r=this.strings.get(e);r===void 0&&this.strings.set(e,r=this.strings.size),this.stringRefs.push(r)}writeObjectEntryKey(e,r,o){let l=this.objectKeys.get(r);l===void 0&&this.objectKeys.set(r,l=this.objectKeys.size);let n=e>=this.objectEntryDefs.length?this.objectEntryDefs[e]=Object.assign(new Map,{refs:[]}):this.objectEntryDefs[e],f=l<<8|o,i=this.objectEntryDefs[e].get(f);i===void 0&&n.set(f,i=n.size+1),n.refs.push(i)}writeObjectEntriesEnd(e){e>=this.objectEntryDefs.length?this.objectEntryDefs[e]=Object.assign(new Map,{refs:[0]}):this.objectEntryDefs[e].refs.push(0)}writeTypeIndex(e,r,o){let l=0,n=0,f=0;for(;r>0;)r&1&&(l|=f++<<(n<<2)),n++,r>>=1;let i=32-Math.clz32(f-1),c=0,s=0;for(let a=0;a<e.length;a++){let h=o?31-Math.clz32(e[a]||1):e[a],N=l>>(h<<2)&15;s|=N<<c,c+=i,c>=8&&(this.backend.writeUint8(s),c-=8,s>>=8)}c>0&&this.backend.writeUint8(s)}writeArrayLength(e){this.arrayLengths.push(e)}writeArrayHeader(e,r,o,l,n){let i=(l|(e&Xe)<<1|o<<5|n<<9)<<16|r,c=this.arrayHeaders.get(i);c===void 0&&this.arrayHeaders.set(i,c=this.arrayHeaders.size),this.arrayHeaderRefs.push(c)}vlqBytesNeeded(e){let r=0;for(;e>re;)e/=268435456,r+=4;return tt[Math.clz32(e)]+r}writeVlq(e){if(e<=Le)this.backend.writeUint8(e<<1|0);else if(e<=Be)this.backend.writeUint16(e<<2|1);else if(e<=Pe)this.backend.writeUint24(e<<3|3);else{let r=e&re;this.backend.writeUint32((e>r?2147483648:0)+(r<<3|7)),e>r&&this.writeUintVar((e-r)/(1<<28))}}writeUintVar(e){if(e<=127)this.backend.writeUint8(e&127);else if(e<=16383)this.backend.writeUint16(e<<1&32512|128|e&127);else if(e<=2097151)this.backend.writeUint24(e<<2&8323072|32768|e<<1&32512|128|e&127);else{let r=this.vlqBytesNeeded(e);this.backend.ensureCapacity(r);for(let o=0;o<r-1;o++)this.backend.writeUint8(128|e&127),e=e>le?(e-(e&127))/128:e>>>7;this.backend.writeUint8(e&127)}}intVarBytesNeeded(e){return this.vlqBytesNeeded(e<0?-2*e:2*e)}writeIntVar(e){let r=0;if(e<0&&(r=1,e=-e),e<=ke)e=e<<1|r;else if(e<=Tt)e=2*e+r;else{let o=(e&Ie)<<1|r;this.backend.ensureCapacity(4),this.backend.writeUint32(2155905152|o&127|o<<1&32512|o<<2&8323072|o<<3&2130706432),e=Math.floor(e/(Ie+1))}this.writeUintVar(e)}writeNumber(e,r){switch(r){case y:this.backend.writeUint8(e);break;case U:this.backend.writeUint16(e);break;case H:this.backend.writeUint24(e);break;case K:this.backend.writeUint32(e);break;case z:this.writeUintVar(e);break;case D:this.backend.writeInt8(e);break;case L:this.backend.writeInt16(e);break;case B:this.backend.writeInt24(e);break;case P:this.backend.writeInt32(e);break;case G:this.writeIntVar(e);break;case Q:this.backend.writeFloat32(e);break;case W:this.backend.writeFloat64(e);break;default:throw new Error("Unknown numeric type: "+r)}}};function ge(t){return oe(t)||V}function oe(t){switch(typeof t){default:return X;case"boolean":return t?F:q;case"string":return Y;case"number":return Number.isFinite(t)?g:V;case"object":return t===null?V:Array.isArray(t)?w:b}}function ce(t,e){let r=0;for(let o=0;o<t.length;o++)t[o]===e&&r++;return r}var rt=new Map,At=Object.freeze({hasInlinedEntries:!1,columns:rt}),bt=Object.freeze({hasInlinedEntries:!0,columns:rt});function st(t,e,r){if(!(r&b))return At;let o=r===b,l=o?t.length:ce(e,b);if(l>1){let n=new Map,f=!1;for(let i=0,c=0;i<t.length;i++)if(o||e[i]===b){let s=t[i];for(let a of Object.keys(s)){let h=s[a],N=oe(h);if(N===X)continue;let d=n.get(a);d===void 0&&n.set(a,d={key:a,typeBitmap:0,values:new Array(l),valueCount:0}),d.typeBitmap|=N,d.values[c]=h,d.valueCount++}c++}for(let i of n.values()){i.valueCount!==l&&(i.typeBitmap|=Ge);let c=k[i.typeBitmap];if(c===1)continue;let s=32-Math.clz32(c-1),h=2+Math.ceil(s*l/8),N=i.valueCount*(1+!f);h>N&&(f=!0,n.delete(i.key))}if(n.size>0)return{hasInlinedEntries:f,columns:n}}return bt}var Et=it();function nt(){Et=it()}function it(){return new Proxy(Object.create(null),{get(t,e){return Object.hasOwn(t,e)?Reflect.get(...arguments):t[e]=0}})}var gt=Object.hasOwnProperty,wt=new Map;function ot(t){let e=oe(t);return e===X?0:(e===g?pe(t):0)<<3|31-Math.clz32(e)}function yt(t,e={}){function r(i,c=wt){let s=0;for(let a in i)if(gt.call(i,a)&&!c.has(a)){let h=i[a],N=ot(h);if(N===X)continue;n.writeObjectEntryKey(s,a,N),l(N,h),s++}n.writeObjectEntriesEnd(s)}function o(i,c=!1,s=0){if(i.length===0){n.writeArrayLength(0);return}let a=null,h=0,N=null;if(s===0)for(let I=0;I<i.length;I++)s|=ge(i[I]);k[s]>1&&(a=i.map(ge)),s&g&&(N=s===g?i:i.filter((I,x)=>a[x]===g),h=Ae(n,N,!1));let{hasInlinedEntries:d,columns:_}=st(i,a,s),u=_.size!==0,T=0;if(c||n.writeArrayLength(i.length),n.writeArrayHeader(s,h,u,d,T),k[s]>1&&n.writeTypeIndex(a,s,!0),s&Y)for(let I=0;I<i.length;I++)(a===null||a[I]===Y)&&n.writeString(i[I]);if(s&g&&be(n,N,h),T){let I=s===w?i:i.filter(Array.isArray);O(n,I.map(x=>x.length),!0),o(I.flat())}else if(s&w)for(let I=0;I<i.length;I++)(a===null||a[I]===w)&&o(i[I]);if(u){n.writeVlq(_.size);for(let I of _.keys())n.writeString(I);for(let I of _.values())o(I.values,!0,I.typeBitmap)}if(d)for(let I=0;I<i.length;I++)(a===null||a[I]===b)&&r(i[I],_)}function l(i,c){switch(1<<(i&7)){case Y:n.writeString(c);break;case g:n.writeNumber(c,i>>3);break;case b:r(c);break;case w:o(c);break}}let n=new ie(e.chunkSize),f=ot(t);return nt(),n.writeNumber(f,y),l(f,t),n.emit()}function ct(t,e,r,o=new Array(r)){let l=e&15,n=e&48,f=r,i=0,c=0;switch(n){case Z:{i=o[0]=t.readIntVar(),f--,c=1;break}case ne:{i=t.readIntVar();break}}switch(l){case m:{for(let s=0;s<f;s++)o[c+s]=t.readVlq();break}case C:{for(let s=0;s<f;s++)o[c+s]=t.readIntVar();break}case M:{let s=t.readBytes(Math.ceil(f/2));for(let a=0,h=0;a<f;a++)h=a&1?h>>4:s[a>>1],o[c+a]=h&8?t.readVlq()*8+(h&7):h&7;break}case S:{let s=t.readBytes(Math.ceil(f/2));for(let a=0,h=0;a<f;a++){h=a&1?h>>4:s[a>>1];let N=h&4?-1:1;o[c+a]=h&8?N*(t.readVlq()*4+(h&3)):N*(h&3)}break}case j:{let s=e>>8,a=(1<<s)-1,h=t.readBytes(Math.ceil(f*s/8)),N=0,d=0,_=0;for(let u=0;u<f;u++){for(;d<s;)_|=h[N++]<<d,d+=8;o[c+u]=_&a,_>>=s,d-=s}break}case v:{let s=e>>8,a=(1<<s)-1,h=t.readBytes(Math.ceil(f*s/8)),N=0,d=0,_=0;for(let u=0;u<f;u++){for(;d<s;)_|=h[N++]<<d,d+=8;o[c+u]=_&1?-((_&a)>>1):(_&a)>>1,_>>=s,d-=s}break}case se:{let s=o[0]=t.readIntVar(),a=t.readIntVar();for(let h=1;h<r;h++)o[h]=s+=a;break}case R:case E:{let s=l===E,a=e>>8,h=s?e&he|a&J:a;if(k[a]>1){let d=t.readTypeIndex(f,h);for(let _=0;_<f;_++)o[c+_]=t.readNumber(d[_])}else{let d=31-Math.clz32(h);for(let _=0;_<f;_++)o[c+_]=t.readNumber(d)}break}default:throw new Error(`Unknown numeric array encoding method: ${l}`)}switch(n){case Z:{o[0]=i;for(let s=1;s<r;s++)o[s]+=o[s-1];break}case ne:{for(let s=0;s<r;s++)o[s]+=i;break}}return o}function ft(t){let e=Rt(t.readBytes(t.readVlq())),r=t.readNumericArray(),o=t.readNumericArray(),l=t.readNumericArray(),n=new Array(r);for(let f=0,i=0,c=0,s="";f<r.length;f++){let a=r[f],h=e(a>>2);a&2&&(h=s.slice(0,o[i++])+h),a&1&&(h=h+s.slice(-l[c++])),n[f]=h,s=h}return n}function Rt(t){function e(c){if(l!==null){let s=c;c=new Uint8Array(l.length+s.length),c.set(l),c.set(s,l.length),l=null}if(c[c.length-1]>127)for(let s=0;s<c.length;s++){let a=c[c.length-1-s];if(a>>6===3){s++,(s!==4&&a>>3===30||s!==3&&a>>4===14||s!==2&&a>>5===6)&&(l=c.slice(c.length-s),c=c.subarray(0,-s));break}}return r.decode(c)}let r=new TextDecoder("utf8",{ignoreBOM:!0}),o=16*1024*1024,l=null,n=0,f="",i=0;return function(c){for(;c>f.length-i;)f=f.slice(i)+e(t.subarray(n,n+=o)),i=0;return f.slice(i,i+=c)}}var fe=12;function at(t){return t===te||t===9}function Ut(t){try{let{version:e}=we(t);if(at(e))return!0;throw new Error(`Unsupported jsonxl version "${e}", expected "${te}"`)}catch{return!1}}function we(t){if(t.byteLength<fe)throw new Error(`Header length must be at least ${fe} bytes`);let e=new Uint8Array(t.buffer,t.byteOffset,fe);if(e.subarray(0,8).some((f,i)=>f!==ae[i]))throw new Error("Bad magic number");let o=new DataView(e.buffer,e.byteOffset,fe),l=o.getUint16(8,!0),n=o.getUint16(10,!0);return{version:l,flags:n,headerSize:fe}}var _e=class{constructor(e,r){this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.bytes=e,this.pos=0,typeof r=="function"&&r(this),this.consumeHeader(),this.loadStrings(),this.loadArrayLengths(),this.loadArrayHeaders(),this.loadObjectEntries()}consumeHeader(){let{version:e,flags:r,headerSize:o}=we(this.view);return this.pos+=o,{version:e,flags:r}}loadStrings(){this.strings=ft(this),this.stringRefs=this.readNumericArray(),this.stringRefsCursor=0}loadArrayHeaders(){this.arrayHeaders=this.readNumericArray(),this.arrayHeaderRefs=this.readNumericArray(),this.arrayHeaderRefsCursor=0}loadArrayLengths(){this.arrayLengths=this.readNumericArray(),this.arrayLengthsCursor=0}loadObjectEntries(){let e=this.readVlq(),r=this.readVlq();this.objectEntries=new Array(e),this.objectKeys=r?this.stringRefs.slice(-r).map(o=>this.strings[o]):[];for(let o=0;o<e;o++)this.objectEntries[o]={dict:this.readNumericArray(),refs:this.readNumericArray(),cursor:0}}readString(){return this.strings[this.stringRefs[this.stringRefsCursor++]]}readArrayHeader(){return this.arrayHeaders[this.arrayHeaderRefs[this.arrayHeaderRefsCursor++]]}readArrayLength(){return this.arrayLengths[this.arrayLengthsCursor++]}readObjectEntry(e){let r=this.objectEntries[e],o=r.refs[r.cursor++],l=r.dict[o];return l===0?null:{key:this.objectKeys[l>>8],type:l&255}}readBytes(e){return this.bytes.subarray(this.pos,this.pos+=e)}readTypeIndex(e,r,o){let l=0,n=0,f=0;for(;r>0;)r&1&&(l|=f<<(n++<<2)),f++,r>>=1;let i=new Uint8Array(e),c=32-Math.clz32(n-1),s=(1<<c)-1,a=this.readBytes(Math.ceil(c*e/8)),h=0,N=0,d=0;for(let _=0;_<e;_++){d<c&&(N|=a[h++]<<d,d+=8);let u=l>>((N&s)<<2)&15;i[_]=o?1<<u:u,N>>=c,d-=c}return i}readVlq(){let e=this.view.getUint8(this.pos);if(!(e&1))e=e>>1,this.pos+=1;else if(!(e&2))e=this.view.getUint8(this.pos+1)<<6|e>>2,this.pos+=2;else if(!(e&4))e=this.view.getUint16(this.pos+1,!0)<<5|e>>3,this.pos+=3;else{let r=this.view.getUint32(this.pos,!0);e=r>>>3&re,this.pos+=4,r>>>31&&(e+=this.readUintVar()*(1<<28))}return e}readUintVar(){let e=this.view.getUint8(this.pos++),r=e&127,o=128;for(;e&128;)e=this.view.getUint8(this.pos++),r+=(e&127)*o,o*=128;return r}readIntVar(){let e=this.view.getUint8(this.pos++),r=e&128?this.readUintVar()*64:0,o=(e&127)>>1;return e&1?-(o+r):o+r}readUint8(){let e=this.view.getUint8(this.pos);return this.pos++,e}readInt8(){let e=this.view.getInt8(this.pos);return this.pos++,e}readUint16(){let e=this.view.getUint16(this.pos,!0);return this.pos+=2,e}readInt16(){let e=this.view.getInt16(this.pos,!0);return this.pos+=2,e}readUint24(){let e=this.view.getUint16(this.pos,!0)|this.view.getUint8(this.pos+2)<<16;return this.pos+=3,e}readInt24(){let e=this.view.getUint16(this.pos,!0),r=this.view.getUint8(this.pos+2),o=r&128?(r<<16|e)-16777216:r<<16|e;return this.pos+=3,o}readUint32(){let e=this.view.getUint32(this.pos,!0);return this.pos+=4,e}readInt32(){let e=this.view.getInt32(this.pos,!0);return this.pos+=4,e}readFloat32(){let e=this.view.getFloat32(this.pos,!0);return this.pos+=4,e}readFloat64(){let e=this.view.getFloat64(this.pos,!0);return this.pos+=8,e}readNumber(e){switch(e){case y:return this.readUint8();case U:return this.readUint16();case H:return this.readUint24();case K:return this.readUint32();case z:return this.readUintVar();case D:return this.readInt8();case L:return this.readInt16();case B:return this.readInt24();case P:return this.readInt32();case G:return this.readIntVar();case Q:return this.readFloat32();case W:return this.readFloat64()}}readNumericArrayEncoding(){let e=this.readUint8();switch(e&15){case R:case E:case j:case v:e|=this.readUint8()<<8;break}return e}readNumericArray(e=this.readVlq()){if(e===0)return[];let r=this.readNumericArrayEncoding();return this.readNumbers(r,e)}readNumbers(e,r,o){return ct(this,e,r,o)}};function kt(t,e){function r(i={}){let c=0,s;for(;s=n.readObjectEntry(c++);)i[s.key]=l(s.type);return i}function o(i=n.readArrayLength()){if(i===0)return[];let c=n.readArrayHeader(),s=c>>16,a=c&65535,h=s&1,N=s>>5&1,d=s>>9&1,_=s>>1&255|(s&1)<<4,u=new Array(i),T=k[_]>1?n.readTypeIndex(i,_,!0):null;if(_&Fe)if(T===null)switch(_){case V:u.fill(null);break;case F:u.fill(!0);break;case q:u.fill(!1);break}else for(let I=0;I<i;I++)switch(T[I]){case V:u[I]=null;break;case F:u[I]=!0;break;case q:u[I]=!1;break}if(_&Y)for(let I=0;I<i;I++)(T===null||T[I]===Y)&&(u[I]=n.readString());if(_&g)if(_===g)n.readNumbers(a,i,u);else{let I=ce(T,g),x=n.readNumbers(a,I);for(let p=0,A=0;p<i;p++)T[p]===g&&(u[p]=x[A++])}if(_&w)if(d){let I=_===w?i:ce(T,w),x=n.readNumericArray(I),p=o();for(let A=0,Ne=0,$=0;A<i;A++)(T===null||T[A]===w)&&(u[A]=p.slice($,$+=x[Ne++]))}else for(let I=0;I<i;I++)(T===null||T[I]===w)&&(u[I]=o());if(_&b){let I=_===b?u:[];for(let x=0,p=0;x<i;x++)(T===null||T[x]===b)&&(u[x]=I[p++]={});if(N){let x=n.readVlq(),p=new Array(x);for(let A=0;A<x;A++)p[A]=n.readString();for(let A=0;A<x;A++){let Ne=p[A],$=o(I.length);for(let ee=0;ee<I.length;ee++)$[ee]!==void 0&&(I[ee][Ne]=$[ee])}}if(h)for(let x=0;x<I.length;x++)r(I[x])}return u}function l(i){switch(1<<(i&7)){case V:return null;case Y:return n.readString();case g:return n.readNumber(i>>3);case b:return r();case F:return!0;case q:return!1;case w:return o()}}let n=new _e(t,e),f=l(n.readUint8());if(n.pos!==t.byteLength)throw new Error("End of input is not reached");return f}export{ie as Writer,Ee as createWriterBackend,kt as decode,yt as encode,Ut as isHeaderAcceptable,at as isVersionSupported,we as parseHeader};