cbor-x 0.9.2 → 1.1.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.
package/dist/index.min.js CHANGED
@@ -1,56 +1,87 @@
1
- (function(a,b){"object"==typeof exports&&"undefined"!=typeof module?b(exports):"function"==typeof define&&define.amd?define(["exports"],b):(a=a||self,b(a.CBOR={}))})(this,function(a){'use strict';function b(){try{let a=c();if(B==A)// finished reading this source, cleanup references
2
- E=null,z=null,G&&(G=null);else if(B>A){// over read
3
- let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}else if(!Q)throw new Error("Data read, but end of buffer not reached");// else more to read, but we are reading sequentially, so don't clear source yet
4
- return a}catch(a){throw o(),(a instanceof RangeError||a.message.startsWith("Unexpected end of buffer"))&&(a.incomplete=!0),a}}function c(){let a=z[B++],b=a>>5;if(a&=31,23<a)switch(a){case 24:a=z[B++];break;case 25:if(7==b)return j();a=I.getUint16(B),B+=2;break;case 26:if(7==b){let a=I.getFloat32(B);if(2<K.useFloat32){// this does rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved
5
- let b=aa[(127&z[B])<<1|z[B+1]>>7];return B+=4,(b*a+(0<a?.5:-.5)>>0)/b}return B+=4,a}a=I.getUint32(B),B+=4;break;case 27:if(7==b){let a=I.getFloat64(B);return B+=8,a}if(K.uint64AsNumber)return 72057594037927940*z[B++]+281474976710656*z[B++]+1099511627776*z[B++]+4294967296*z[B++]+16777216*z[B++]+(z[B++]<<16)+(z[B++]<<8)+z[B++];a=I.getBigUint64(B),B+=8;break;case 31:// indefinite length
6
- switch(b){case 2:// byte string
1
+ (function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):(e=e||self,t(e.CBOR={}))})(this,function(e){'use strict';var t=Math.log,s=Math.exp;function n(){try{let e=a();if(K&&(// bundled strings to skip past
2
+ x=K.postBundlePosition),x==V)w=null,C=null,T&&(T=null);else if(x>V){// over read
3
+ let e=new Error("Unexpected end of CBOR data");throw e.incomplete=!0,e}else if(!Q)throw new Error("Data read, but end of buffer not reached");// else more to read, but we are reading sequentially, so don't clear source yet
4
+ return e}catch(e){throw b(),(e instanceof RangeError||e.message.startsWith("Unexpected end of buffer"))&&(e.incomplete=!0),e}}function a(){let e=C[x++],t=e>>5;if(e&=31,23<e)switch(e){case 24:e=C[x++];break;case 25:if(7==t)return c();e=N.getUint16(x),x+=2;break;case 26:if(7==t){let e=N.getFloat32(x);if(2<z.useFloat32){// this does rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved
5
+ let t=ue[(127&C[x])<<1|C[x+1]>>7];return x+=4,(t*e+(0<e?.5:-.5)>>0)/t}return x+=4,e}e=N.getUint32(x),x+=4;break;case 27:if(7==t){let e=N.getFloat64(x);return x+=8,e}if(1<t){if(0<N.getUint32(x))throw new Error("JavaScript does not support arrays, maps, or strings with length over 4294967295");e=N.getUint32(x+4)}else z.int64AsNumber?(e=4294967296*N.getUint32(x),e+=N.getUint32(x+4)):e=N.getBigUint64(x);x+=8;break;case 31:// indefinite length
6
+ switch(t){case 2:// byte string
7
7
  case 3:// text string
8
- case 4:// array
9
- let a,d=[],e=0;for(;(a=c())!=D;)d[e++]=a;return 4==b?d:3==b?d.join(""):Buffer.concat(d);case 5:// map
10
- let f;if(K.mapsAsObjects){let a={};for(;(f=k())!=D;)a[f]=c();return a}else{J&&(K.mapsAsObjects=!0,J=!1);let a=new Map;for(;(f=c())!=D;)a.set(f,c());return a}case 7:return D;default:throw new Error("Invalid major type for indefinite length "+b);}default:throw new Error("Unknown token "+a);}switch(b){case 0:// positive int
11
- return a;case 1:// negative int
12
- return~a;case 2:// buffer
13
- return i(a);case 3:// string
14
- if(M>=B)return F.slice(B-L,(B+=a)-L);if(0==M&&140>A&&32>a){// for small blocks, avoiding the overhead of the extract call is helpful
15
- let b=16>a?h(a):g(a);if(null!=b)return b}return T(a);case 4:// array
16
- let e=Array(a);for(let b=0;b<a;b++)e[b]=c();return e;case 5:// map
17
- if(K.mapsAsObjects){let b={};for(let d=0;d<a;d++)b[k()]=c();return b}else{J&&(K.mapsAsObjects=!0,J=!1);let b=new Map;for(let d=0;d<a;d++)b.set(c(),c());return b}case 6:// extension
18
- if(a>>8==C){// record structures
19
- let b=E[255&a];if(b)return b.read||(b.read=d(b)),b.read();if(K.getStructures){let c=n(()=>(z=null,K.getStructures()));return!0===E?K.structures=E=c:E.splice.apply(E,[0,c.length].concat(c)),b=E[255&a],b?(b.read||(b.read=d(b)),b.read()):a}return a}else{let b=N[a];if(b)return b.handlesRead?b(c):b(c());else{let b=c();for(let c,d=0;d<O.length;d++)if(c=O[d](a,b),void 0!==c)return c;return new W(b)}}case 7:// fixed value
20
- switch(a){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;// undefined
21
- case 31:default:let b=H[a];if(void 0!==b)return b;throw new Error("Unknown token "+a);}default:// negative int
22
- if(isNaN(a)){let a=new Error("Unexpected end of CBOR data");throw a.incomplete=!0,a}throw new Error("Unknown CBOR token "+a);}}function d(a){function b(){// This initial function is quick to instantiate, but runs slower. After several iterations pay the cost to build the faster function
23
- if(2<b.count++)return this.read=new Function("a","r","return function(){a();return {"+a.map(a=>S.test(a)?a+":r()":"["+JSON.stringify(a)+"]:r()").join(",")+"}}")(e,c),this.read();e();let f={};for(let b,e=0;e<d;e++)b=a[e],f[b]=c();return f}let d=a.length;return b.count=0,b}function e(){// consume the array header, TODO: check expected length
24
- let a=z[B++];//let majorType = token >> 5
25
- a&=31;23<a&&(24===a?B++:25===a?B+=2:26===a?B+=4:void 0)}function f(a){let b;if(16>a&&(b=h(a)))return b;if(64<a&&y)return y.decode(z.subarray(B,B+=a));const c=B+a,d=[];for(b="";B<c;){const a=z[B++];if(0==(128&a))d.push(a);else if(192==(224&a)){// 2 bytes
26
- const b=63&z[B++];d.push((31&a)<<6|b)}else if(224==(240&a)){// 3 bytes
27
- const b=63&z[B++],c=63&z[B++];d.push((31&a)<<12|b<<6|c)}else if(240==(248&a)){// 4 bytes
28
- const b=63&z[B++],c=63&z[B++],e=63&z[B++];let f=(7&a)<<18|b<<12|c<<6|e;65535<f&&(f-=65536,d.push(55296|1023&f>>>10),f=56320|1023&f),d.push(f)}else d.push(a);4096<=d.length&&(b+=U.apply(String,d),d.length=0)}return 0<d.length&&(b+=U.apply(String,d)),b}function g(a){let b=B,c=Array(a);for(let d=0;d<a;d++){const a=z[B++];if(0<(128&a))return void(B=b);c[d]=a}return U.apply(String,c)}function h(p){if(4>p){if(!(2>p)){let d=z[B++],a=z[B++];if(0<(128&d)||0<(128&a))return void(B-=2);if(3>p)return U(d,a);let b=z[B++];return 0<(128&b)?void(B-=3):U(d,a,b)}if(0===p)return"";else{let b=z[B++];return 1<(128&b)?void(B-=1):U(b)}}else{let q=z[B++],a=z[B++],b=z[B++],c=z[B++];if(0<(128&q)||0<(128&a)||0<(128&b)||0<(128&c))return void(B-=4);if(6>p){if(4===p)return U(q,a,b,c);else{let d=z[B++];return 0<(128&d)?void(B-=5):U(q,a,b,c,d)}}else if(8>p){let d=z[B++],e=z[B++];if(0<(128&d)||0<(128&e))return void(B-=6);if(7>p)return U(q,a,b,c,d,e);let f=z[B++];return 0<(128&f)?void(B-=7):U(q,a,b,c,d,e,f)}else{let d=z[B++],e=z[B++],f=z[B++],g=z[B++];if(0<(128&d)||0<(128&e)||0<(128&f)||0<(128&g))return void(B-=8);if(10>p){if(8===p)return U(q,a,b,c,d,e,f,g);else{let h=z[B++];return 0<(128&h)?void(B-=9):U(q,a,b,c,d,e,f,g,h)}}else if(12>p){let h=z[B++],i=z[B++];if(0<(128&h)||0<(128&i))return void(B-=10);if(11>p)return U(q,a,b,c,d,e,f,g,h,i);let j=z[B++];return 0<(128&j)?void(B-=11):U(q,a,b,c,d,e,f,g,h,i,j)}else{let h=z[B++],i=z[B++],j=z[B++],k=z[B++];if(0<(128&h)||0<(128&i)||0<(128&j)||0<(128&k))return void(B-=12);if(!(14>p)){let l=z[B++],m=z[B++];if(0<(128&l)||0<(128&m))return void(B-=14);if(15>p)return U(q,a,b,c,d,e,f,g,h,i,j,k,l,m);let n=z[B++];return 0<(128&n)?void(B-=15):U(q,a,b,c,d,e,f,g,h,i,j,k,l,m,n)}if(12===p)return U(q,a,b,c,d,e,f,g,h,i,j,k);else{let l=z[B++];return 0<(128&l)?void(B-=13):U(q,a,b,c,d,e,f,g,h,i,j,k,l)}}}}}function i(a){return K.copyBuffers?// specifically use the copying slice (not the node one)
29
- Uint8Array.prototype.slice.call(z,B,B+=a):z.subarray(B,B+=a)}function j(){var a=Math.exp;let b,c=z[B++],d=z[B++],e=(c<<8)+d,f=31&e>>10,g=1023&e;return b=0==f?a(g,-24):31==f?0==g?1/0:NaN:a(g+1024,f-25),32768&e?-b:b}function k(){let a=z[B++];if(96<=a&&120>a){if(a-=96,M>=B)// if it has been extracted, must use it (and faster anyway)
30
- return F.slice(B-L,(B+=a)-L);if(!(0==M&&180>A))return T(a)}else return B--,c();let b,d=4095&(a<<5^(1<a?I.getUint16(B):0<a?z[B]:0)),e=V[d],f=B,j=B+a-3,k=0;if(e&&e.bytes==a){for(;f<j;){if(b=I.getUint32(f),b!=e[k++]){f=1879048192;break}f+=4}for(j+=3;f<j;)if(b=z[f++],b!=e[k++]){f=1879048192;break}if(f===j)return B=f,e.string;j-=3,f=B}for(e=[],V[d]=e,e.bytes=a;f<j;)b=I.getUint32(f),e.push(b),f+=4;for(j+=3;f<j;)b=z[f++],e.push(b);// for small blocks, avoiding the overhead of the extract call is helpful
31
- let l=16>a?h(a):g(a);return null==l?e.string=T(a):e.string=l}function l(c,a){return"string"==typeof c?c+a:c instanceof Array?c.concat(a):Object.assign({},c,a)}function m(a,b){N[b]=b=>{if(!a)throw new Error("Could not find typed array for code "+typeCode);// we have to always slice/copy here to get a new ArrayBuffer that is word/byte aligned
32
- return new X[a](Uint8Array.prototype.slice.call(b,0).buffer)}}function n(a){let b=A,c=B,d=L,e=M,f=F,g=G,h=new Uint8Array(z.slice(0,A)),i=E,j=K,k=Q,l=a();return A=b,B=c,L=d,M=e,F=f,G=g,z=h,Q=k,E=i,K=j,I=new DataView(z.buffer,z.byteOffset,z.byteLength),l}function o(){z=null,G=null,E=null}function p(a){N[a.tag]=a.decode}function q(a){24>a?qa[ta++]=128|a:256>a?(qa[ta++]=152,qa[ta++]=a):65536>a?(qa[ta++]=153,qa[ta++]=a>>8,qa[ta++]=255&a):(qa[ta++]=154,ra.setUint32(ta,a),ta+=4)}function r(a,b){switch(typeof a){case"string":if(3<a.length){if(-1<b.objectMap[a]||b.values.length>=b.maxValues)return;let c=b.get(a);if(c)2==++c.count&&b.values.push(a);else if(b.set(a,{count:1}),b.samplingPackedValues){let c=b.samplingPackedValues.get(a);c?c.count++:b.samplingPackedValues.set(a,{count:1})}}break;case"object":if(a)if(a instanceof Array)for(let c=0,d=a.length;c<d;c++)r(a[c],b);else{let d=!b.encoder.useRecords;for(var c in a)a.hasOwnProperty(c)&&(d&&r(c,b),r(a[c],b))}break;case"function":console.log(a);}}function s(a){return{tag:a,encode:function(a,b){let c=a.byteLength,d=a.byteOffset||0,e=a.buffer||a;b(ka?Buffer.from(e,d,c):new Uint8Array(e,d,c))}}}function t(a,b){let c=a.byteLength;24>c?qa[ta++]=64+c:256>c?(qa[ta++]=88,qa[ta++]=c):65536>c?(qa[ta++]=89,qa[ta++]=c>>8,qa[ta++]=255&c):(qa[ta++]=90,ra.setUint32(ta,c),ta+=4),ta+c>=qa.length&&b(ta+c),qa.set(a,ta),ta+=c}function u(a,b){// insert the ids that need to be referenced for structured clones
33
- let c,d=8*b.length,e=a.length-d;for(b.sort((c,a)=>c.offset>a.offset?1:-1);c=b.pop();){let b=c.offset,f=c.id;a.copyWithin(b+d,b,e),d-=8;let g=b+d;// uint32
34
- a[g++]=217,a[g++]=156,a[g++]=73,a[g++]=26,a[g++]=f>>24,a[g++]=255&f>>16,a[g++]=255&f>>8,a[g++]=255&f,e=b}return a}function v(a){if(a.Class){if(!a.encode)throw new Error("Extension has no encode function");ja.unshift(a.Class),ia.unshift(a)}p(a)}function*w(a,b){const c=new va(b);for(const d of a)yield c.encode(d)}async function*x(a,b){const c=new va(b);for await(const d of a)yield c.encode(d)}/**
8
+ throw new Error("Indefinite length not supported for byte or text strings");case 4:// array
9
+ let e,s=[],n=0;for(;(e=a())!=j;)s[n++]=e;return 4==t?s:3==t?s.join(""):Buffer.concat(s);case 5:// map
10
+ let r;if(z.mapsAsObjects){let e={};if(z.keyMap)for(;(r=a())!=j;)e[z.decodeKey(r)]=a();else for(;(r=a())!=j;)e[r]=a();return e}else{W&&(z.mapsAsObjects=!0,W=!1);let e=new Map;if(z.keyMap)for(;(r=a())!=j;)e.set(z.decodeKey(r),a());else for(;(r=a())!=j;)e.set(r,a());return e}case 7:return j;default:throw new Error("Invalid major type for indefinite length "+t);}default:throw new Error("Unknown token "+e);}switch(t){case 0:// positive int
11
+ return e;case 1:// negative int
12
+ return~e;case 2:// buffer
13
+ return u(e);case 3:// string
14
+ if(G>=x)return F.slice(x-q,(x+=e)-q);if(0==G&&140>V&&32>e){// for small blocks, avoiding the overhead of the extract call is helpful
15
+ let t=16>e?d(e):o(e);if(null!=t)return t}return ee(e);case 4:// array
16
+ let s=Array(e);//if (currentDecoder.keyMap) for (let i = 0; i < token; i++) array[i] = currentDecoder.decodeKey(read())
17
+ //else
18
+ for(let t=0;t<e;t++)s[t]=a();return s;case 5:// map
19
+ if(z.mapsAsObjects){let t={};if(z.keyMap)for(let s=0;s<e;s++)t[z.decodeKey(a())]=a();else for(let s=0;s<e;s++)t[a()]=a();return t}else{W&&(z.mapsAsObjects=!0,W=!1);let t=new Map;if(z.keyMap)for(let s=0;s<e;s++)t.set(z.decodeKey(a()),a());else for(let s=0;s<e;s++)t.set(a(),a());return t}case 6:// extension
20
+ if(e>=L){let t=w[8191&e];// check record structures first
21
+ // At some point we may provide an option for dynamic tag assignment with a range like token >= 8 && (token < 16 || (token > 0x80 && token < 0xc0) || (token > 0x130 && token < 0x4000))
22
+ if(t)return t.read||(t.read=r(t)),t.read();if(65536>e){if(e==D)// we do a special check for this so that we can keep the currentExtensions as densely stored array (v8 stores arrays densely under about 3000 elements)
23
+ return re(a());if(e==B){let e=h(),t=a();for(let s=2;s<e;s++)re([t++,a()]);return a()}if(e==L)return f();if(z.getShared&&(y(),t=w[8191&e],t))return t.read||(t.read=r(t)),t.read()}}let n=H[e];if(n)return n.handlesRead?n(a):n(a());else{let t=a();for(let s,n=0;n<J.length;n++)if(s=J[n](e,t),void 0!==s)return s;return new ne(t,e)}case 7:// fixed value
24
+ switch(e){case 20:return!1;case 21:return!0;case 22:return null;case 23:return;// undefined
25
+ case 31:default:let t=(Y||p())[e];if(void 0!==t)return t;throw new Error("Unknown token "+e);}default:// negative int
26
+ if(isNaN(e)){let e=new Error("Unexpected end of CBOR data");throw e.incomplete=!0,e}throw new Error("Unknown CBOR token "+e);}}function r(e){function t(){// get the array size from the header
27
+ let e=C[x++];//let majorType = token >> 5
28
+ if(e&=31,23<e)switch(e){case 24:e=C[x++];break;case 25:e=N.getUint16(x),x+=2;break;case 26:e=N.getUint32(x),x+=4;break;default:throw new Error("Expected array header, but got "+C[x-1]);}// This initial function is quick to instantiate, but runs slower. After several iterations pay the cost to build the faster function
29
+ let t=this.compiledReader;// first look to see if we have the fast compiled function
30
+ for(;t;){// we have a fast compiled object literal reader
31
+ if(t.propertyCount===e)return t(a);// with the right length, so we use it
32
+ t=t.next}if(3<=this.slowReads++){// create a fast compiled reader
33
+ let s=this.length==e?this:this.slice(0,e);return t=z.keyMap?new Function("r","return {"+s.map(e=>z.decodeKey(e)).map(e=>Z.test(e)?e+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"):new Function("r","return {"+s.map(e=>Z.test(e)?e+":r()":"["+JSON.stringify(e)+"]:r()").join(",")+"}"),this.compiledReader&&(t.next=this.compiledReader),t.propertyCount=e,this.compiledReader=t,t(a)}let s={};if(z.keyMap)for(let t=0;t<e;t++)s[z.decodeKey(this[t])]=a();else for(let t=0;t<e;t++)s[this[t]]=a();return s}return e.slowReads=0,t}function i(e){let t;if(16>e&&(t=d(e)))return t;if(64<e&&A)return A.decode(C.subarray(x,x+=e));const s=x+e,n=[];for(t="";x<s;){const e=C[x++];if(0==(128&e))n.push(e);else if(192==(224&e)){// 2 bytes
34
+ const t=63&C[x++];n.push((31&e)<<6|t)}else if(224==(240&e)){// 3 bytes
35
+ const t=63&C[x++],s=63&C[x++];n.push((31&e)<<12|t<<6|s)}else if(240==(248&e)){// 4 bytes
36
+ const t=63&C[x++],s=63&C[x++],a=63&C[x++];let r=(7&e)<<18|t<<12|s<<6|a;65535<r&&(r-=65536,n.push(55296|1023&r>>>10),r=56320|1023&r),n.push(r)}else n.push(e);4096<=n.length&&(t+=te.apply(String,n),n.length=0)}return 0<n.length&&(t+=te.apply(String,n)),t}function o(e){let t=x,s=Array(e);for(let n=0;n<e;n++){const e=C[x++];if(0<(128&e))return void(x=t);s[n]=e}return te.apply(String,s)}function d(t){if(4>t){if(!(2>t)){let e=C[x++],s=C[x++];if(0<(128&e)||0<(128&s))return void(x-=2);if(3>t)return te(e,s);let n=C[x++];return 0<(128&n)?void(x-=3):te(e,s,n)}if(0===t)return"";else{let e=C[x++];return 1<(128&e)?void(x-=1):te(e)}}else{let s=C[x++],a=C[x++],r=C[x++],u=C[x++];if(0<(128&s)||0<(128&a)||0<(128&r)||0<(128&u))return void(x-=4);if(6>t){if(4===t)return te(s,a,r,u);else{let t=C[x++];return 0<(128&t)?void(x-=5):te(s,a,r,u,t)}}else if(8>t){let n=C[x++],e=C[x++];if(0<(128&n)||0<(128&e))return void(x-=6);if(7>t)return te(s,a,r,u,n,e);let i=C[x++];return 0<(128&i)?void(x-=7):te(s,a,r,u,n,e,i)}else{let d=C[x++],e=C[x++],c=C[x++],p=C[x++];if(0<(128&d)||0<(128&e)||0<(128&c)||0<(128&p))return void(x-=8);if(10>t){if(8===t)return te(s,a,r,u,d,e,c,p);else{let t=C[x++];return 0<(128&t)?void(x-=9):te(s,a,r,u,d,e,c,p,t)}}else if(12>t){let n=C[x++],i=C[x++];if(0<(128&n)||0<(128&i))return void(x-=10);if(11>t)return te(s,a,r,u,d,e,c,p,n,i);let o=C[x++];return 0<(128&o)?void(x-=11):te(s,a,r,u,d,e,c,p,n,i,o)}else{let g=C[x++],i=C[x++],f=C[x++],h=C[x++];if(0<(128&g)||0<(128&i)||0<(128&f)||0<(128&h))return void(x-=12);if(!(14>t)){let l=C[x++],y=C[x++];if(0<(128&l)||0<(128&y))return void(x-=14);if(15>t)return te(s,a,r,u,d,e,c,p,g,i,f,h,l,y);let n=C[x++];return 0<(128&n)?void(x-=15):te(s,a,r,u,d,e,c,p,g,i,f,h,l,y,n)}if(12===t)return te(s,a,r,u,d,e,c,p,g,i,f,h);else{let t=C[x++];return 0<(128&t)?void(x-=13):te(s,a,r,u,d,e,c,p,g,i,f,h,t)}}}}}function u(e){return z.copyBuffers?// specifically use the copying slice (not the node one)
37
+ Uint8Array.prototype.slice.call(C,x,x+=e):C.subarray(x,x+=e)}function c(){let e,t=C[x++],n=C[x++],a=(t<<8)+n,r=31&a>>10,i=1023&a;return e=0==r?s(i,-24):31==r?0==i?1/0:NaN:s(i+1024,r-25),32768&a?-e:e}function l(e,t){return"string"==typeof e?e+t:e instanceof Array?e.concat(t):Object.assign({},e,t)}function p(){if(!Y)if(z.getShared)y();else throw new Error("No packed values available");return Y}function g(e,t){H[t]=t=>{if(!e)throw new Error("Could not find typed array for code "+typeCode);// we have to always slice/copy here to get a new ArrayBuffer that is word/byte aligned
38
+ return new ae[e](Uint8Array.prototype.slice.call(t,0).buffer)}}function f(){let e=h(),t=x+a();for(let t,s=2;s<e;s++)// skip past bundles that were already read
39
+ // this will increment position, so must add to position afterwards
40
+ t=h(),x+=t;let s=x;return x=t,K=[i(h()),i(h())],K.position0=0,K.position1=0,K.postBundlePosition=x,x=s,a()}function h(){let e=31&C[x++];return 23<e&&(24===e?e=C[x++]:25===e?(e=N.getUint16(x),x+=2):26===e?(e=N.getUint32(x),x+=4):void 0),e}function y(){if(z.getShared){let e=m(()=>(C=null,z.getShared()))||{},t=e.structures||[];z.sharedVersion=e.version,Y=z.sharedValues=e.packedValues,!0===w?z.structures=w=t:w.splice.apply(w,[0,t.length].concat(t))}}function m(e){let t=V,s=x,n=q,a=G,r=F,i=T,o=K,d=new Uint8Array(C.slice(0,V)),u=w,c=z,l=Q,p=e();return V=t,x=s,q=n,G=a,F=r,T=i,K=o,C=d,Q=l,w=u,z=c,N=new DataView(C.buffer,C.byteOffset,C.byteLength),p}function b(){C=null,T=null,w=null}function k(e){H[e.tag]=e.decode}function O(e){24>e?_e[Ee++]=128|e:256>e?(_e[Ee++]=152,_e[Ee++]=e):65536>e?(_e[Ee++]=153,_e[Ee++]=e>>8,_e[Ee++]=255&e):(_e[Ee++]=154,Ie.setUint32(Ee,e),Ee+=4)}function R(e,t){switch(typeof e){case"string":if(3<e.length){if(-1<t.objectMap[e]||t.values.length>=t.maxValues)return;let s=t.get(e);if(s)2==++s.count&&t.values.push(e);else if(t.set(e,{count:1}),t.samplingPackedValues){let s=t.samplingPackedValues.get(e);s?s.count++:t.samplingPackedValues.set(e,{count:1})}}break;case"object":if(e)if(e instanceof Array)for(let s=0,n=e.length;s<n;s++)R(e[s],t);else{let n=!t.encoder.useRecords;for(var s in e)e.hasOwnProperty(s)&&(n&&R(s,t),R(e[s],t))}break;case"function":console.log(e);}}function M(e){return{tag:e,encode:function(e,t){let s=e.byteLength,n=e.byteOffset||0,a=e.buffer||e;t(ke?Buffer.from(a,n,s):new Uint8Array(a,n,s))}}}function S(e,t){let s=e.byteLength;24>s?_e[Ee++]=64+s:256>s?(_e[Ee++]=88,_e[Ee++]=s):65536>s?(_e[Ee++]=89,_e[Ee++]=s>>8,_e[Ee++]=255&s):(_e[Ee++]=90,Ie.setUint32(Ee,s),Ee+=4),Ee+s>=_e.length&&t(Ee+s),_e.set(e,Ee),Ee+=s}function _(e,t){// insert the ids that need to be referenced for structured clones
41
+ let s,n=2*t.length,a=e.length-n;t.sort((e,t)=>e.offset>t.offset?1:-1);for(let s,n=0;n<t.length;n++){s=t[n],s.id=n;for(let t of s.references)e[t++]=n>>8,e[t]=255&n}for(;s=t.pop();){let t=s.offset;e.copyWithin(t+n,t,a),n-=2;let r=t+n;// http://cbor.schmorp.de/value-sharing
42
+ e[r++]=216,e[r++]=28,a=t}return e}function I(e,t){Ie.setUint32(ve.position+e,Ee-ve.position-e+1);// the offset to bundle
43
+ let s=ve;ve=null,t(s[0]),t(s[1])}function U(e){if(e.Class){if(!e.encode)throw new Error("Extension has no encode function");be.unshift(e.Class),me.unshift(e)}k(e)}function*E(e,t){const s=new Ce(t);for(const n of e)yield s.encode(n)}async function*v(e,t){const s=new Ce(t);for await(const n of e)yield s.encode(n)}/**
35
44
  * Given an Iterable/Iterator input which yields buffers, returns an IterableIterator which yields sync decoded objects
36
45
  * Or, given an Async Iterable/Iterator which yields promises resolving in buffers, returns an AsyncIterableIterator.
37
46
  * @param {Iterable|Iterator|AsyncIterable|AsyncIterableIterator} bufferIterator
38
47
  * @param {object} [options] - Decoder options
39
48
  * @returns {IterableIterator|Promise.<AsyncIterableIterator}
40
- */let y;try{y=new TextDecoder}catch(a){}let z,A,B=0;const C=105,D={};let E,F,G,H,I,J,K={},L=0,M=0,N=[],O=[],P={useRecords:!1,mapsAsObjects:!0},Q=!1;class R{constructor(a){a&&(!1===a.useRecords&&a.mapsAsObjects===void 0&&(a.mapsAsObjects=!0),a.getStructures&&!a.structures&&((a.structures=[]).uninitialized=!0)),Object.assign(this,a)}decode(a,c){if(z)// re-entrant execution, save the state and restore it after we do this decode
41
- return n(()=>(o(),this?this.decode(a,c):R.prototype.decode.call(P,a,c)));if(A=-1<c?c:a.length,B=0,M=0,F=null,z=a,I=a.dataView||(a.dataView=new DataView(a.buffer,a.byteOffset,a.byteLength)),this){if(K=this,H=this.sharedValues&&(this.pack?Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return E=this.structures,b();(!E||0<E.length)&&(E=[])}else K=P,(!E||0<E.length)&&(E=[]),H=null;return b()}decodeMultiple(a,c){let d,e=0;try{let f=a.length;Q=!0;let g=this?this.decode(a,f):ba.decode(a,f);if(c){if(!1===c(g))return;for(;B<f;)if(e=B,!1===c(b()))return}else{for(d=[g];B<f;)e=B,d.push(b());return d}}catch(a){throw a.lastPosition=e,a.values=d,a}finally{Q=!1,o()}}}const S=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;let T=f,U=String.fromCharCode,V=Array(4096);class W{constructor(a){this.value=a}}let X="object"==typeof window?window:global;N[0]=a=>new Date(a),N[1]=a=>new Date(1e3*a),N[2]=a=>new DataView(a.buffer,a.byteOffset,a.byteLength).getBigUint64(0),N[3]=a=>BigInt(-1)-new DataView(a.buffer,a.byteOffset,a.byteLength).getBigUint64(0);// the registration of the record definition extension (tag 105)
42
- const Y=()=>{let a=c(),b=a[0],e=a[1];E[255&e]=b,b.read=d(b);let f={};for(let c,d=2,e=a.length;d<e;d++)c=b[d-2],f[c]=a[d];return f};Y.handlesRead=!0,N[105]=Y,N[27]=a=>(X[a[0]]||Error)(a[1],a[2]);const Z=a=>{if(132!=z[B++])throw new Error("Packed values structure must be followed by 4 element array");let b=a();// packed values
43
- return H=H?b.concat(H.slice(b.length)):b,H.prefixes=a(),H.suffixes=a(),a();// read the rump
44
- };Z.handlesRead=!0,N[51]=Z,N[6]=a=>{// packed reference
45
- if("number"==typeof a)return H[16+(0<=a?2*a:-2*a-1)];throw new Error("No support for non-integer packed references yet")},N[40009]=a=>{G||(G=new Map);let b,d=z[B];b=4==d>>5?[]:{};let e={target:b};// a placeholder object
46
- G.set(a,e);let f=c();// read the next value as the target object to id
47
- return e.used?Object.assign(b,f):(e.target=f,f);// no cycle, can just use the returned read object
48
- },N[40010]=a=>{// pointer extension (for structured clones)
49
- let b=G.get(a);return b.used=!0,b.target},N[258]=a=>new Set(a),(N[259]=a=>(K.mapsAsObjects&&(K.mapsAsObjects=!1,J=!0),a())).handlesRead=!0,O.push((a,b)=>225<=a&&255>=a?l(Z.prefixes[a-224],b):28704<=a&&32767>=a?l(Z.prefixes[a-28672],b):1879052288<=a&&2147483647>=a?l(Z.prefixes[a-1879048192],b):216<=a&&223>=a?l(b,Z.suffixes[a-216]):27647<=a&&28671>=a?l(b,Z.suffixes[a-27639]):1811940352<=a&&1879048191>=a?l(b,Z.suffixes[a-1811939328]):void 0);const $=["Uint8","Uint8Clamped","Uint16","Uint32","BigUint64","Int8","Int16","Int32","BigInt64","Float32","Float64"].map(a=>a+"Array"),_=[64,68,69,70,71,72,77,78,79,81,82];for(let b=0;b<$.length;b++)m($[b],_[b]);const aa=Array(147);// this is a table matching binary exponents to the multiplier to determine significant digit rounding
50
- for(let b=0;256>b;b++)aa[b]=+("1e"+Math.floor(45.15-.30103*b));let ba=new R({useRecords:!1});const ca=ba.decode,da=ba.decodeMultiple,ea={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};let fa,ga=new Float32Array(1),ha=new Uint8Array(ga.buffer,0,4);try{fa=new TextEncoder}catch(a){}let ia,ja;const ka="undefined"!=typeof Buffer,la=ka?Buffer.allocUnsafeSlow:Uint8Array,ma=ka?Buffer:Uint8Array,na=105,oa=256,pa=ka?4294967296:2144337920;let qa,ra,sa,ta=0;const ua=Symbol("record-id");class va extends R{constructor(a){super(a),this.offset=0;let b,c,d,e,f;a=a||{};let g=0,h=ma.prototype.utf8Write?function(a,b,c){return qa.utf8Write(a,b,c)}:!!(fa&&fa.encodeInto)&&function(a,b){return fa.encodeInto(a,qa.subarray(b)).written},i=this,j=64,k=a.sequential;k&&(j=0,this.structures=[]);let l,m,n,o=a.sharedValues;if(o){n=Object.create(null);for(let a=0,b=o.length;a<b;a++)n[o[a]]=a}let p=[],s=0,t=0;this.encode=function(h,w){if(qa||(qa=new la(8192),ra=new DataView(qa.buffer,0,8192),ta=0),sa=qa.length-10,2048>sa-ta?(qa=new la(qa.length),ra=new DataView(qa.buffer,0,qa.length),sa=qa.length-10,ta=0):w===Ca&&(ta=2147483640&ta+7),b=ta,f=i.structuredClone?new Map:null,c=i.structures,c){c.uninitialized&&(i.structures=c=i.getStructures());let a=c.length;if(a>j&&!k&&(a=j),!c.transitions){c.transitions=Object.create(null);for(let b,d=0;d<a;d++){if(b=c[d],!b)continue;let a,e=c.transitions;for(let c,d=0,f=b.length;d<f;d++)c=b[d],a=e[c],a||(a=e[c]=Object.create(null)),e=a;e[ua]=d}g=c.length}k||(c.nextId=a)}if(d&&(d=!1),e=c||[],m=n,a.pack){let b=new Map;if(b.values=[],b.encoder=i,b.maxValues=a.maxPrivatePackedValues||(n?16:1/0),b.objectMap=n||!1,b.samplingPackedValues=l,r(h,b),0<b.values.length){qa[ta++]=216,qa[ta++]=51,q(4);let a=b.values;v(a),q(0),q(0),m=Object.create(n||null);for(let b=0,c=a.length;b<c;b++)m[a[b]]=b}}try{// update the offset so next serialization doesn't write over our buffer, but can continue writing to same buffer sequentially
51
- if(v(h),i.offset=ta,f&&f.idsToInsert){ta+=8*f.idsToInsert.length,ta>sa&&x(ta),i.offset=ta;let a=u(qa.subarray(b,ta),f.idsToInsert);return f=null,a}return w===Ca?(qa.start=b,qa.end=ta,qa):qa.subarray(b,ta);// position can change if we call pack again in saveStructures, so we get the buffer now
52
- }finally{if(c){if(10>t&&t++,1e4<s)c.transitions=null,t=0,s=0,0<p.length&&(p=[]);else if(0<p.length&&!k){for(let a=0,b=p.length;a<b;a++)p[a][ua]=void 0;p=[]}if(d&&i.saveStructures){i.structures.length>j&&(i.structures=i.structures.slice(0,j));// we can't rely on start/end with REUSE_BUFFER_MODE since they will (probably) change when we save
53
- let a=qa.subarray(b,ta),c=i.structures||[];return(o&&(c=c.concat(o)),!1===i.saveStructures(i.structures,g))?(i.structures=i.getStructures()||[],i.encode(h)):(g=c.length,a)}}}},this.findCommonStringsToPack=()=>(l=new Map,n||(n=Object.create(null)),({threshold:b})=>{b=b||4;let c=this.pack?a.maxPrivatePackedValues||16:0;o||(o=this.sharedValues=[]);for(let[a,e]of l)e.count>b&&(n[a]=c++,o.push(a),d=!0);l=null});const v=c=>{ta>sa&&(qa=x(ta));var d,e=typeof c;if("string"==e){if(m){let b=m[c];if(0<=b)return void(16>b?qa[ta++]=b+224:(qa[ta++]=198,1&b?v(15-b>>1):v(b-16>>1)));/* } else if (packedStatus.serializationId != serializationId) {
49
+ */let A;try{A=new TextDecoder}catch(e){}let C,V,x=0;const B=57342,D=57343,L=57337,P=6,j={};let w,F,K,T,Y,N,W,z={},q=0,G=0,H=[],J=[],$={useRecords:!1,mapsAsObjects:!0},Q=!1;class X{constructor(e){if(e&&((e.keyMap||e._keyMap)&&!e.useRecords&&(e.useRecords=!1,e.mapsAsObjects=!0),!1===e.useRecords&&void 0===e.mapsAsObjects&&(e.mapsAsObjects=!0),e.getStructures&&(e.getShared=e.getStructures),e.getShared&&!e.structures&&((e.structures=[]).uninitialized=!0),e.keyMap))// this is what we use to denote an uninitialized structures
50
+ {this.mapKey=new Map;for(let[t,s]of Object.entries(e.keyMap))this.mapKey.set(s,t)}Object.assign(this,e)}/*
51
+ decodeKey(key) {
52
+ return this.keyMap
53
+ ? Object.keys(this.keyMap)[Object.values(this.keyMap).indexOf(key)] || key
54
+ : key
55
+ }
56
+ */decodeKey(e){return this.keyMap?this.mapKey.get(e)||e:e}encodeKey(e){return this.keyMap&&this.keyMap.hasOwnProperty(e)?this.keyMap[e]:e}encodeKeys(e){if(!this._keyMap)return e;let t=new Map;for(let[s,n]of Object.entries(e))t.set(this._keyMap.hasOwnProperty(s)?this._keyMap[s]:s,n);return t}decodeKeys(e){if(!this._keyMap||"Map"!=e.constructor.name)return e;if(!this._mapKey){this._mapKey=new Map;for(let[e,t]of Object.entries(this._keyMap))this._mapKey.set(t,e)}let t={};//map.forEach((v,k) => res[Object.keys(this._keyMap)[Object.values(this._keyMap).indexOf(k)] || k] = v)
57
+ return e.forEach((e,s)=>t[this._mapKey.has(s)?this._mapKey.get(s):s]=e),t}mapDecode(e){let t=this.decode(e);if(this._keyMap)//Experiemntal support for Optimised KeyMap decoding
58
+ switch(t.constructor.name){case"Array":return t.map(e=>this.decodeKeys(e));//case 'Map': return this.decodeKeys(res)
59
+ }return t}decode(e,t){if(C)// re-entrant execution, save the state and restore it after we do this decode
60
+ return m(()=>(b(),this?this.decode(e,t):X.prototype.decode.call($,e,t)));V=-1<t?t:e.length,x=0,G=0,F=null,K=null,C=e;// this provides cached access to the data view for a buffer if it is getting reused, which is a recommend
61
+ // technique for getting data from a database where it can be copied into an existing buffer instead of creating
62
+ // new ones
63
+ try{N=e.dataView||(e.dataView=new DataView(e.buffer,e.byteOffset,e.byteLength))}catch(t){if(C=null,e instanceof Uint8Array)throw t;throw new Error("Source must be a Uint8Array or Buffer but was a "+(e&&"object"==typeof e?e.constructor.name:typeof e))}if(this instanceof X){if(z=this,Y=this.sharedValues&&(this.pack?Array(this.maxPrivatePackedValues||16).concat(this.sharedValues):this.sharedValues),this.structures)return w=this.structures,n();(!w||0<w.length)&&(w=[])}else z=$,(!w||0<w.length)&&(w=[]),Y=null;return n()}decodeMultiple(e,t){let s,a=0;try{let r=e.length;Q=!0;let i=this?this.decode(e,r):ce.decode(e,r);if(t){if(!1===t(i))return;for(;x<r;)if(a=x,!1===t(n()))return}else{for(s=[i];x<r;)a=x,s.push(n());return s}}catch(e){throw e.lastPosition=a,e.values=s,e}finally{Q=!1,b()}}}const Z=/^[a-zA-Z_$][a-zA-Z\d_$]*$/;let ee=i,te=String.fromCharCode,se=Array(4096);class ne{constructor(e,t){this.value=e,this.tag=t}}let ae="object"==typeof self?self:global;H[0]=e=>new Date(e),H[1]=e=>new Date(1e3*e),H[2]=e=>{// bigint extension
64
+ let t=BigInt(0);for(let s=0,n=e.byteLength;s<n;s++)t=BigInt(e[s])+t<<BigInt(8);return t},H[3]=e=>BigInt(-1)-H[2](e),H[4]=e=>+(e[1]+"e"+e[0]),H[5]=e=>e[1]*s(e[0]*t(2));// the registration of the record definition extension
65
+ const re=e=>{let t=e[0]-57344,s=e[1],n=w[t];n&&n.isShared&&((w.restoreStructures||(w.restoreStructures=[]))[t]=n),w[t]=s,s.read=r(s);let a={};if(z.keyMap)for(let t,n=2,r=e.length;n<r;n++)t=z.decodeKey(s[n-2]),a[t]=e[n];else for(let t,n=2,r=e.length;n<r;n++)t=s[n-2],a[t]=e[n];return a};H[105]=re,H[14]=e=>K?K[0].slice(K.position0,K.position0+=e):new ne(e,14),H[15]=e=>K?K[1].slice(K.position1,K.position1+=e):new ne(e,15),H[27]=e=>(ae[e[0]]||Error)(e[1],e[2]);const ie=e=>{if(132!=C[x++])throw new Error("Packed values structure must be followed by a 4 element array");let t=e();// packed values
66
+ return Y=Y?t.concat(Y.slice(t.length)):t,Y.prefixes=e(),Y.suffixes=e(),e();// read the rump
67
+ };ie.handlesRead=!0,H[51]=ie,H[P]=e=>{// packed reference
68
+ if(!Y)if(z.getShared)y();else return new ne(e,P);if("number"==typeof e)return Y[16+(0<=e?2*e:-2*e-1)];throw new Error("No support for non-integer packed references yet")},H[25]=e=>stringRefs[e],H[256]=e=>{stringRefs=[];try{return e()}finally{stringRefs=null}},H[256].handlesRead=!0,H[28]=e=>{T||(T=new Map,T.id=0);let t,s=T.id++,n=C[x];t=4==n>>5?[]:{};let a={target:t};// a placeholder object
69
+ T.set(s,a);let r=e();// read the next value as the target object to id
70
+ return a.used?Object.assign(t,r):(a.target=r,r);// no cycle, can just use the returned read object
71
+ },H[28].handlesRead=!0,H[29]=e=>{// sharedref http://cbor.schmorp.de/value-sharing (for structured clones)
72
+ let t=T.get(e);return t.used=!0,t.target},H[258]=e=>new Set(e),(H[259]=e=>(z.mapsAsObjects&&(z.mapsAsObjects=!1,W=!0),e())).handlesRead=!0;J.push((e,t)=>225<=e&&255>=e?l(p().prefixes[e-224],t):28704<=e&&32767>=e?l(p().prefixes[e-28672],t):1879052288<=e&&2147483647>=e?l(p().prefixes[e-1879048192],t):216<=e&&223>=e?l(t,p().suffixes[e-216]):27647<=e&&28671>=e?l(t,p().suffixes[e-27639]):1811940352<=e&&1879048191>=e?l(t,p().suffixes[e-1811939328]):e==1399353956?{packedValues:Y,structures:w.slice(0),version:t}:55799==e?t:void 0);const oe=["Uint8","Uint8Clamped","Uint16","Uint32","BigUint64","Int8","Int16","Int32","BigInt64","Float32","Float64"].map(e=>e+"Array"),de=[64,68,69,70,71,72,77,78,79,81,82];for(let t=0;t<oe.length;t++)g(oe[t],de[t]);const ue=Array(147);// this is a table matching binary exponents to the multiplier to determine significant digit rounding
73
+ for(let t=0;256>t;t++)ue[t]=+("1e"+Math.floor(45.15-.30103*t));let ce=new X({useRecords:!1});const le=ce.decode,pe=ce.decodeMultiple,ge={NEVER:0,ALWAYS:1,DECIMAL_ROUND:3,DECIMAL_FIT:4};let fe,he=new Float32Array(1),ye=new Uint8Array(he.buffer,0,4);try{fe=new TextEncoder}catch(e){}let me,be;const ke="undefined"!=typeof Buffer,Oe=ke?Buffer.allocUnsafeSlow:Uint8Array,Re=ke?Buffer:Uint8Array,Me=256,Se=ke?4294967296:2144337920;let _e,Ie,Ue,Ee=0,ve=null;const Ae=Symbol("record-id");class Ce extends X{constructor(e){super(e),this.offset=0;let t,s,n,a,r;e=e||{};let i=Re.prototype.utf8Write?function(e,t,s){return _e.utf8Write(e,t,s)}:!!(fe&&fe.encodeInto)&&function(e,t){return fe.encodeInto(e,_e.subarray(t)).written},o=this,d=e.structures||e.saveStructures,u=e.maxSharedStructures;if(null==u&&(u=d?128:0),8190<u)throw new Error("Maximum maxSharedStructure is 8190");let c=e.sequential;c&&(u=0),this.structures||(this.structures=[]),this.saveStructures&&(this.saveShared=this.saveStructures);let l,p,g,f=e.sharedValues;if(f){g=Object.create(null);for(let e=0,t=f.length;e<t;e++)g[f[e]]=e}let h=[],y=0,m=0;this.mapEncode=function(e,t){// Experimental support for premapping keys using _keyMap instad of keyMap - not optiimised yet)
74
+ if(this._keyMap&&!this._mapped)//console.log('encoding ', value)
75
+ switch(e.constructor.name){case"Array":e=e.map(e=>this.encodeKeys(e));//case 'Map':
76
+ // value = this.encodeKeys(value)
77
+ // break
78
+ }//this._mapped = true
79
+ return this.encode(e,t)},this.encode=function(i,d){if(_e||(_e=new Oe(8192),Ie=new DataView(_e.buffer,0,8192),Ee=0),Ue=_e.length-10,2048>Ue-Ee?(_e=new Oe(_e.length),Ie=new DataView(_e.buffer,0,_e.length),Ue=_e.length-10,Ee=0):d===we&&(Ee=2147483640&Ee+7),t=Ee,o.useSelfDescribedHeader&&(Ie.setUint32(Ee,3654940416),Ee+=3),r=o.structuredClone?new Map:null,o.bundleStrings&&"string"!=typeof i?(ve=[],ve.size=1/0):ve=null,s=o.structures,s){if(s.uninitialized){let e=o.getShared()||{};o.structures=s=e.structures||[],o.sharedVersion=e.version;let t=o.sharedValues=e.packedValues;if(t){g={};for(let e=0,s=t.length;e<s;e++)g[t[e]]=e}}let e=s.length;if(e>u&&!c&&(e=u),!s.transitions){s.transitions=Object.create(null);for(let t,n=0;n<e;n++){//console.log('shared struct keys:', keys)
80
+ if(t=s[n],!t)continue;let e,a=s.transitions;for(let s=0,r=t.length;s<r;s++){void 0===a[Ae]&&(a[Ae]=n);let r=t[s];e=a[r],e||(e=a[r]=Object.create(null)),a=e}a[Ae]=1048576|n}}c||(s.nextId=e)}if(n&&(n=!1),a=s||[],p=g,e.pack){let t=new Map;if(t.values=[],t.encoder=o,t.maxValues=e.maxPrivatePackedValues||(g?16:1/0),t.objectMap=g||!1,t.samplingPackedValues=l,R(i,t),0<t.values.length){_e[Ee++]=216,_e[Ee++]=51,O(4);let e=t.values;b(e),O(0),O(0),p=Object.create(g||null);for(let t=0,s=e.length;t<s;t++)p[e[t]]=t}}try{// update the offset so next serialization doesn't write over our buffer, but can continue writing to same buffer sequentially
81
+ if(b(i),ve&&I(t,b),o.offset=Ee,r&&r.idsToInsert){Ee+=2*r.idsToInsert.length,Ee>Ue&&M(Ee),o.offset=Ee;let e=_(_e.subarray(t,Ee),r.idsToInsert);return r=null,e}return d&we?(_e.start=t,_e.end=Ee,_e):_e.subarray(t,Ee);// position can change if we call encode again in saveShared, so we get the buffer now
82
+ }finally{if(s)if(10>m&&m++,s.length>u&&(s.length=u),1e4<y)s.transitions=null,m=0,y=0,0<h.length&&(h=[]);else if(0<h.length&&!c){for(let e=0,t=h.length;e<t;e++)h[e][Ae]=void 0;h=[]}if(n&&o.saveShared){o.structures.length>u&&(o.structures=o.structures.slice(0,u));// we can't rely on start/end with REUSE_BUFFER_MODE since they will (probably) change when we save
83
+ let e=_e.subarray(t,Ee);return!1===o.updateSharedData()?o.encode(i):e;// re-encode if it fails
84
+ }d&Fe&&(Ee=t)}},this.findCommonStringsToPack=()=>(l=new Map,g||(g=Object.create(null)),e=>{let t=e&&e.threshold||4,s=this.pack?e.maxPrivatePackedValues||16:0;f||(f=this.sharedValues=[]);for(let[a,r]of l)r.count>t&&(g[a]=s++,f.push(a),n=!0);for(;this.saveShared&&!1===this.updateSharedData(););l=null});const b=s=>{Ee>Ue&&(_e=M(Ee));var n,a=typeof s;if("string"==a){if(p){let t=p[s];if(0<=t)return void(16>t?_e[Ee++]=t+224:(_e[Ee++]=198,1&t?b(15-t>>1):b(t-16>>1)));/* } else if (packedStatus.serializationId != serializationId) {
54
85
  packedStatus.serializationId = serializationId
55
86
  packedStatus.count = 1
56
87
  if (options.sharedPack) {
@@ -63,68 +94,30 @@ let a=qa.subarray(b,ta),c=i.structures||[];return(o&&(c=c.concat(o)),!1===i.save
63
94
 
64
95
  }
65
96
  }
66
- } // else any in-doc incrementation?*/if(l&&!a.pack){let a=l.get(c);a?a.count++:l.set(c,{count:1})}}let b,e=c.length;b=32>e?1:256>e?2:65536>e?3:5;let f=3*e;if(ta+f>sa&&(qa=x(ta+f)),64>e||!h){let a,f,g,h=ta+b;for(a=0;a<e;a++)f=c.charCodeAt(a),128>f?qa[h++]=f:2048>f?(qa[h++]=192|f>>6,qa[h++]=128|63&f):55296==(64512&f)&&56320==(64512&(g=c.charCodeAt(a+1)))?(f=65536+((1023&f)<<10)+(1023&g),a++,qa[h++]=240|f>>18,qa[h++]=128|63&f>>12,qa[h++]=128|63&f>>6,qa[h++]=128|63&f):(qa[h++]=224|f>>12,qa[h++]=128|63&f>>6,qa[h++]=128|63&f);d=h-ta-b}else d=h(c,ta+b,f);24>d?qa[ta++]=96|d:256>d?(2>b&&qa.copyWithin(ta+2,ta+1,ta+1+d),qa[ta++]=120,qa[ta++]=d):65536>d?(3>b&&qa.copyWithin(ta+3,ta+2,ta+2+d),qa[ta++]=121,qa[ta++]=d>>8,qa[ta++]=255&d):(5>b&&qa.copyWithin(ta+5,ta+3,ta+3+d),qa[ta++]=122,ra.setUint32(ta,d),ta+=4),ta+=d}else if("number"===e){if(c>>>0===c)24>c?qa[ta++]=c:256>c?(qa[ta++]=24,qa[ta++]=c):65536>c?(qa[ta++]=25,qa[ta++]=c>>8,qa[ta++]=255&c):(qa[ta++]=26,ra.setUint32(ta,c),ta+=4);else if(c>>0===c)-24<=c?qa[ta++]=31-c:-256<=c?(qa[ta++]=56,qa[ta++]=~c):-65536<=c?(qa[ta++]=57,ra.setUint16(ta,~c),ta+=2):(qa[ta++]=58,ra.setUint32(ta,~c),ta+=4);else{let a;if(0<(a=this.useFloat32)&&4294967296>c&&-2147483648<=c){qa[ta++]=250,ra.setFloat32(ta,c);let b;if(4>a||// this checks for rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved
67
- (b=c*aa[(127&qa[ta])<<1|qa[ta+1]>>7])>>0===b)return void(ta+=4);// move back into position for writing a double
68
- ta--}qa[ta++]=251,ra.setFloat64(ta,c),ta+=8}}else if("object"===e){if(!c)qa[ta++]=246;else{if(f){let a=f.get(c);if(a){if(!a.id){let b=f.idsToInsert||(f.idsToInsert=[]);a.id=b.push(a)}return qa[ta++]=217,qa[ta++]=156,qa[ta++]=74,qa[ta++]=26,ra.setUint32(ta,a.id),void(ta+=4)}f.set(c,{offset:ta-b})}let a=c.constructor;if(a===Object)w(c,!0);else if(a===Array){d=c.length,24>d?qa[ta++]=128|d:q(d);for(let a=0;a<d;a++)v(c[a])}else if(a===Map){(this.mapsAsObjects?!1!==this.useTag259ForMaps:this.useTag259ForMaps)&&(qa[ta++]=217,qa[ta++]=1,qa[ta++]=3),d=c.size,24>d?qa[ta++]=160|d:256>d?(qa[ta++]=184,qa[ta++]=d):65536>d?(qa[ta++]=185,qa[ta++]=d>>8,qa[ta++]=255&d):(qa[ta++]=186,ra.setUint32(ta,d),ta+=4);for(let[a,b]of c)v(a),v(b)}else{for(let a,b=0,d=ia.length;b<d;b++)if(a=ja[b],c instanceof a){let a=ia[b],d=a.tag;return 24>d?qa[ta++]=192|d:256>d?(qa[ta++]=216,qa[ta++]=d):65536>d?(qa[ta++]=217,qa[ta++]=d>>8,qa[ta++]=255&d):-1<d&&(qa[ta++]=218,ra.setUint32(ta,d),ta+=4),void a.encode.call(this,c,v,x)}if(c[Symbol.iterator]){qa[ta++]=159;// indefinite length array
69
- for(let a of c)v(a);// stop-code
70
- return void(qa[ta++]=255)}// no extension found, write as object
71
- w(c,!c.hasOwnProperty)}}}else if("boolean"===e)qa[ta++]=c?245:244;else if("bigint"===e){if(c<BigInt(1)<<BigInt(64)&&0<=c)qa[ta++]=27,ra.setBigUint64(ta,c);else if(c>-(BigInt(1)<<BigInt(64))&&0>c)qa[ta++]=59,ra.setBigUint64(ta,-c-BigInt(1));else// overflow
72
- if(this.largeBigIntToFloat)qa[ta++]=251,ra.setFloat64(ta,+c);else throw new RangeError(c+" was too large to fit in CBOR 64-bit integer format, set largeBigIntToFloat to convert to float-64");ta+=8}else if("undefined"===e)qa[ta++]=247;else throw new Error("Unknown type: "+e)},w=!1===this.useRecords?this.variableMapSize?a=>{// this method is slightly slower, but generates "preferred serialization" (optimally small for smaller objects)
73
- let b=Object.keys(a),c=b.length;24>c?qa[ta++]=160|c:256>c?(qa[ta++]=184,qa[ta++]=c):65536>c?(qa[ta++]=185,qa[ta++]=c>>8,qa[ta++]=255&c):(qa[ta++]=186,ra.setUint32(ta,c),ta+=4);let d;for(let e=0;e<c;e++)v(d=b[e]),v(a[d])}:(a,c)=>{qa[ta++]=185;// always use map 16, so we can preallocate and set the length afterwards
74
- let d=ta-b;ta+=2;let e=0;for(let b in a)(c||a.hasOwnProperty(b))&&(v(b),v(a[b]),e++);qa[d++ +b]=e>>8,qa[d+b]=255&e}:/* sharedStructures ? // For highly stable structures, using for-in can a little bit faster
75
- (object, safePrototype) => {
76
- let nextTransition, transition = structures.transitions || (structures.transitions = Object.create(null))
77
- let objectOffset = position++ - start
78
- let wroteKeys
79
- for (let key in object) {
80
- if (safePrototype || object.hasOwnProperty(key)) {
81
- nextTransition = transition[key]
82
- if (!nextTransition) {
83
- nextTransition = transition[key] = Object.create(null)
84
- nextTransition.__keys__ = (transition.__keys__ || []).concat([key])
85
- /*let keys = Object.keys(object)
86
- if
87
- let size = 0
88
- let startBranch = transition.__keys__ ? transition.__keys__.length : 0
89
- for (let i = 0, l = keys.length; i++) {
90
- let key = keys[i]
91
- size += key.length << 2
92
- if (i >= startBranch) {
93
- nextTransition = nextTransition[key] = Object.create(null)
94
- nextTransition.__keys__ = keys.slice(0, i + 1)
95
- }
96
- }
97
- makeRoom(position + size)
98
- nextTransition = transition[key]
99
- target.copy(target, )
100
- objectOffset
101
- }
102
- transition = nextTransition
103
- encode(object[key])
104
- }
105
- }
106
- let id = transition.id
107
- if (!id) {
108
- id = transition.id = structures.push(transition.__keys__) + 63
109
- if (sharedStructures.onUpdate)
110
- sharedStructures.onUpdate(id, transition.__keys__)
111
- }
112
- target[objectOffset + start] = id
113
- }*/a=>{let b,f=Object.keys(a),g=e.transitions||(e.transitions=Object.create(null)),h=0,k=f.length;for(let c,d=0;d<k;d++)c=f[d],b=g[c],b||(b=g[c]=Object.create(null),h++),g=b;let l=g[ua];if(void 0!==l)// tag two byte
114
- qa[ta++]=217,qa[ta++]=na,qa[ta++]=l;else if(l=e.nextId++,l||(l=0,e.nextId=1),l>=oa&&(e.nextId=(l=j)+1),g[ua]=l,e[l]=f,c&&c.length<=j)// tag two byte
115
- // tag number
116
- qa[ta++]=217,qa[ta++]=na,qa[ta++]=l,d=!0;else{qa[ta++]=216,qa[ta++]=na,h&&(s+=t*h),p.length>=oa-j&&(p.shift()[ua]=void 0),p.push(g),q(k+2),v(f),qa[ta++]=25,qa[ta++]=na,qa[ta++]=l;// now write the values
117
- for(let b=0;b<k;b++)v(a[f[b]]);return}24>k?qa[ta++]=128|k:q(k);for(let b=0;b<k;b++)v(a[f[b]])},x=a=>{var c=Math.min,d=Math.round,e=Math.max;let f;if(16777216<a){// special handling for really large buffers
118
- if(a-b>pa)throw new Error("Encoded buffer would be larger than maximum buffer size");f=c(pa,4096*d(e((a-b)*(67108864<a?1.25:2),16777216)/4096))}else// faster handling for smaller buffers
119
- f=(e(a-b<<2,qa.length-1)>>12)+1<<12;let g=new la(f);return ra=new DataView(g.buffer,0,f),qa.copy?qa.copy(g,0,b,a):g.set(qa.slice(b,a)),ta-=b,b=0,sa=g.length-10,qa=g}}useBuffer(a){// this means we are finished using our own buffer and we can write over it safely
120
- qa=a,ra=new DataView(qa.buffer,qa.byteOffset,qa.byteLength),ta=0}}ja=[Date,Set,Error,RegExp,ArrayBuffer,ma,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,BigUint64Array,Int8Array,Int16Array,Int32Array,BigInt64Array,Float32Array,Float64Array],ia=[{tag:1,encode(a){let b=a.getTime()/1e3;(this.useTimestamp32||0===a.getMilliseconds())&&0<=b&&4294967296>b?(qa[ta++]=26,ra.setUint32(ta,b),ta+=4):(qa[ta++]=251,ra.setFloat64(ta,b),ta+=8)}},{tag:258,// https://github.com/input-output-hk/cbor-sets-spec/blob/master/CBOR_SETS.md
121
- encode(a,b){let c=Array.from(a);b(c)}},{tag:27,// http://cbor.schmorp.de/generic-object
122
- encode(a,b){b([a.name,a.message])}},{tag:27,// http://cbor.schmorp.de/generic-object
123
- encode(a,b){b(["RegExp",a.source,a.flags])}},{encode(a,b,c){t(a,c)}},{encode(a,b,c){t(a,c)}},s(64),s(68),s(69),s(70),s(71),s(72),s(77),s(78),s(79),s(81),s(82)];let wa=new va({useRecords:!1});const xa=wa.encode,{NEVER:ya,ALWAYS:za,DECIMAL_ROUND:Aa,DECIMAL_FIT:Ba}=ea,Ca=1e3;a.ALWAYS=za,a.DECIMAL_FIT=Ba,a.DECIMAL_ROUND=Aa,a.Decoder=R,a.Encoder=va,a.FLOAT32_OPTIONS=ea,a.NEVER=ya,a.Tag=W,a.addExtension=v,a.clearSource=o,a.decode=ca,a.decodeIter=function(a,b={}){if(!a||"object"!=typeof a)throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a promise");const c=new R(b);let d;const e=a=>{let b;// if there's incomplete data from previous chunk, concatinate and try again
124
- d&&(a=Buffer.concat([d,a]),d=void 0);try{b=c.decodeMultiple(a)}catch(c){if(c.incomplete)d=a.slice(c.lastPosition),b=c.values;else throw c}return b};if("function"==typeof a[Symbol.iterator])return function*(){for(const b of a)yield*e(b)}();return"function"==typeof a[Symbol.asyncIterator]?async function*(){for await(const b of a)yield*e(b)}():void 0},a.decodeMultiple=da,a.encode=xa,a.encodeIter=/**
97
+ } // else any in-doc incrementation?*/if(l&&!e.pack){let e=l.get(s);e?e.count++:l.set(s,{count:1})}}let a=s.length;if(ve&&4<=a&&1024>a){if((ve.size+=a)>61440){let e,s=(ve[0]?3*ve[0].length+ve[1].length:0)+10;Ee+s>Ue&&(_e=M(Ee+s)),_e[Ee++]=217,_e[Ee++]=223,_e[Ee++]=249,_e[Ee++]=ve.position?132:130,_e[Ee++]=26,e=Ee-t,Ee+=4,ve.position&&I(t,b),ve=["",""],ve.size=0,ve.position=e}let e=/[\u0080-\uFFFF]/.test(s);return ve[e?0:1]+=s,_e[Ee++]=e?206:207,void b(a)}let r=32>a?1:256>a?2:65536>a?3:5;// first we estimate the header size, so we can write to the correct location
98
+ let o=3*a;if(Ee+o>Ue&&(_e=M(Ee+o)),64>a||!i){let e,t,i,o=Ee+r;for(e=0;e<a;e++)t=s.charCodeAt(e),128>t?_e[o++]=t:2048>t?(_e[o++]=192|t>>6,_e[o++]=128|63&t):55296==(64512&t)&&56320==(64512&(i=s.charCodeAt(e+1)))?(t=65536+((1023&t)<<10)+(1023&i),e++,_e[o++]=240|t>>18,_e[o++]=128|63&t>>12,_e[o++]=128|63&t>>6,_e[o++]=128|63&t):(_e[o++]=224|t>>12,_e[o++]=128|63&t>>6,_e[o++]=128|63&t);n=o-Ee-r}else n=i(s,Ee+r,o);24>n?_e[Ee++]=96|n:256>n?(2>r&&_e.copyWithin(Ee+2,Ee+1,Ee+1+n),_e[Ee++]=120,_e[Ee++]=n):65536>n?(3>r&&_e.copyWithin(Ee+3,Ee+2,Ee+2+n),_e[Ee++]=121,_e[Ee++]=n>>8,_e[Ee++]=255&n):(5>r&&_e.copyWithin(Ee+5,Ee+3,Ee+3+n),_e[Ee++]=122,Ie.setUint32(Ee,n),Ee+=4),Ee+=n}else if("number"===a){if(s>>>0===s)24>s?_e[Ee++]=s:256>s?(_e[Ee++]=24,_e[Ee++]=s):65536>s?(_e[Ee++]=25,_e[Ee++]=s>>8,_e[Ee++]=255&s):(_e[Ee++]=26,Ie.setUint32(Ee,s),Ee+=4);else if(s>>0===s)-24<=s?_e[Ee++]=31-s:-256<=s?(_e[Ee++]=56,_e[Ee++]=~s):-65536<=s?(_e[Ee++]=57,Ie.setUint16(Ee,~s),Ee+=2):(_e[Ee++]=58,Ie.setUint32(Ee,~s),Ee+=4);else{let e;if(0<(e=this.useFloat32)&&4294967296>s&&-2147483648<=s){_e[Ee++]=250,Ie.setFloat32(Ee,s);let t;if(4>e||// this checks for rounding of numbers that were encoded in 32-bit float to nearest significant decimal digit that could be preserved
99
+ (t=s*ue[(127&_e[Ee])<<1|_e[Ee+1]>>7])>>0===t)return void(Ee+=4);// move back into position for writing a double
100
+ Ee--}_e[Ee++]=251,Ie.setFloat64(Ee,s),Ee+=8}}else if("object"===a){if(!s)_e[Ee++]=246;else{if(r){let e=r.get(s);if(e){// 16-bit uint
101
+ if(_e[Ee++]=216,_e[Ee++]=29,_e[Ee++]=25,!e.references){let t=r.idsToInsert||(r.idsToInsert=[]);e.references=[],t.push(e)}// TODO: also support 32-bit
102
+ return e.references.push(Ee-t),void(Ee+=2)}r.set(s,{offset:Ee-t})}let e=s.constructor;if(e===Object)k(s,!0);else if(e===Array){n=s.length,24>n?_e[Ee++]=128|n:O(n);for(let e=0;e<n;e++)b(s[e])}else if(e!==Map){for(let e,t=0,n=me.length;t<n;t++)if(e=be[t],s instanceof e){let e=me[t],n=e.tag||e.getTag&&e.getTag(s);return 24>n?_e[Ee++]=192|n:256>n?(_e[Ee++]=216,_e[Ee++]=n):65536>n?(_e[Ee++]=217,_e[Ee++]=n>>8,_e[Ee++]=255&n):-1<n&&(_e[Ee++]=218,Ie.setUint32(Ee,n),Ee+=4),void e.encode.call(this,s,b,M)}if(s[Symbol.iterator]){_e[Ee++]=159;// indefinite length array
103
+ for(let e of s)b(e);// stop-code
104
+ return void(_e[Ee++]=255)}// no extension found, write as object
105
+ k(s,!s.hasOwnProperty)}else if((this.mapsAsObjects?!1!==this.useTag259ForMaps:this.useTag259ForMaps)&&(_e[Ee++]=217,_e[Ee++]=1,_e[Ee++]=3),n=s.size,24>n?_e[Ee++]=160|n:256>n?(_e[Ee++]=184,_e[Ee++]=n):65536>n?(_e[Ee++]=185,_e[Ee++]=n>>8,_e[Ee++]=255&n):(_e[Ee++]=186,Ie.setUint32(Ee,n),Ee+=4),o.keyMap)for(let[e,t]of s)b(o.encodeKey(e)),b(t);else for(let[e,t]of s)b(e),b(t)}}else if("boolean"===a)_e[Ee++]=s?245:244;else if("bigint"===a){if(s<BigInt(1)<<BigInt(64)&&0<=s)_e[Ee++]=27,Ie.setBigUint64(Ee,s);else if(s>-(BigInt(1)<<BigInt(64))&&0>s)_e[Ee++]=59,Ie.setBigUint64(Ee,-s-BigInt(1));else// overflow
106
+ if(this.largeBigIntToFloat)_e[Ee++]=251,Ie.setFloat64(Ee,+s);else throw new RangeError(s+" was too large to fit in CBOR 64-bit integer format, set largeBigIntToFloat to convert to float-64");Ee+=8}else if("undefined"===a)_e[Ee++]=247;else throw new Error("Unknown type: "+a)},k=!1===this.useRecords?this.variableMapSize?e=>{// this method is slightly slower, but generates "preferred serialization" (optimally small for smaller objects)
107
+ let t=Object.keys(e),s=Object.values(e),n=t.length;if(24>n?_e[Ee++]=160|n:256>n?(_e[Ee++]=184,_e[Ee++]=n):65536>n?(_e[Ee++]=185,_e[Ee++]=n>>8,_e[Ee++]=255&n):(_e[Ee++]=186,Ie.setUint32(Ee,n),Ee+=4),o.keyMap)for(let e=0;e<n;e++)b(encodeKey(t[e])),b(s[e]);else for(let e=0;e<n;e++)b(t[e]),b(s[e])}:(e,s)=>{_e[Ee++]=185;// always use map 16, so we can preallocate and set the length afterwards
108
+ let n=Ee-t;Ee+=2;let a=0;if(o.keyMap)for(let t in e)(s||e.hasOwnProperty(t))&&(b(o.encodeKey(t)),b(e[t]),a++);else for(let t in e)(s||e.hasOwnProperty(t))&&(b(t),b(e[t]),a++);_e[n++ +t]=a>>8,_e[n+t]=255&a}:(e,t)=>{let s,r,o,d=a.transitions||(a.transitions=Object.create(null)),c=0,l=0;if(this.keyMap){o=Object.keys(e).map(e=>this.encodeKey(e)),l=o.length;for(let e,t=0;t<l;t++)e=o[t],s=d[e],s||(s=d[e]=Object.create(null),c++),d=s}else for(let n in e)(t||e.hasOwnProperty(n))&&(s=d[n],s||(1048576&d[Ae]&&(r=65535&d[Ae]),s=d[n]=Object.create(null),c++),d=s,l++);let p=d[Ae];if(void 0!==p)p&=65535,_e[Ee++]=217,_e[Ee++]=224|p>>8,_e[Ee++]=255&p;else if(o||(o=d.__keys__||(d.__keys__=Object.keys(e))),void 0===r?(p=a.nextId++,!p&&(p=0,a.nextId=1),p>=Me&&(a.nextId=(p=u)+1)):p=r,a[p]=o,p<u){_e[Ee++]=217,_e[Ee++]=224|p>>8,_e[Ee++]=255&p,d=a.transitions;for(let e=0;e<l;e++)(void 0===d[Ae]||1048576&d[Ae])&&(d[Ae]=p),d=d[o[e]];d[Ae]=1048576|p,n=!0}else{d[Ae]=p,Ie.setUint32(Ee,3655335680),Ee+=3,c&&(y+=m*c),h.length>=Me-u&&(h.shift()[Ae]=void 0),h.push(d),O(l+2),b(57344+p),b(o);for(let t of Object.values(e))b(t);return}for(let s in 24>l?_e[Ee++]=128|l:O(l),e)(t||e.hasOwnProperty(s))&&b(e[s])},M=e=>{var s=Math.min,n=Math.round,a=Math.max;let r;if(16777216<e){// special handling for really large buffers
109
+ if(e-t>Se)throw new Error("Encoded buffer would be larger than maximum buffer size");r=s(Se,4096*n(a((e-t)*(67108864<e?1.25:2),4194304)/4096))}else// faster handling for smaller buffers
110
+ r=(a(e-t<<2,_e.length-1)>>12)+1<<12;let i=new Oe(r);return Ie=new DataView(i.buffer,0,r),_e.copy?_e.copy(i,0,t,e):i.set(_e.slice(t,e)),Ee-=t,t=0,Ue=i.length-10,_e=i}}useBuffer(e){// this means we are finished using our own buffer and we can write over it safely
111
+ _e=e,Ie=new DataView(_e.buffer,_e.byteOffset,_e.byteLength),Ee=0}clearSharedData(){this.structures&&(this.structures=[]),this.sharedValues&&(this.sharedValues=void 0)}updateSharedData(){let e=this.sharedVersion||0;this.sharedVersion=e+1;let t=this.structures.slice(0),s=new Ve(t,this.sharedValues,this.sharedVersion),n=this.saveShared(s,t=>(t&&t.version||0)==e);// saveShared may fail to write and reload, or may have reloaded to check compatibility and overwrite saved data, either way load the correct shared data
112
+ return!1===n?(s=this.getShared()||{},this.structures=s.structures||[],this.sharedValues=s.packedValues,this.sharedVersion=s.version,this.structures.nextId=this.structures.length):t.forEach((e,t)=>this.structures[t]=e),n}}class Ve{constructor(e,t,s){this.structures=e,this.packedValues=t,this.version=s}}be=[Date,Set,Error,RegExp,ne,ArrayBuffer,Re,Uint8Array,Uint8ClampedArray,Uint16Array,Uint32Array,"undefined"==typeof BigUint64Array?function(){}:BigUint64Array,Int8Array,Int16Array,Int32Array,"undefined"==typeof BigInt64Array?function(){}:BigInt64Array,Float32Array,Float64Array,Ve],me=[{tag:1,encode(e){let t=e.getTime()/1e3;(this.useTimestamp32||0===e.getMilliseconds())&&0<=t&&4294967296>t?(_e[Ee++]=26,Ie.setUint32(Ee,t),Ee+=4):(_e[Ee++]=251,Ie.setFloat64(Ee,t),Ee+=8)}},{tag:258,// https://github.com/input-output-hk/cbor-sets-spec/blob/master/CBOR_SETS.md
113
+ encode(e,t){let s=Array.from(e);t(s)}},{tag:27,// http://cbor.schmorp.de/generic-object
114
+ encode(e,t){t([e.name,e.message])}},{tag:27,// http://cbor.schmorp.de/generic-object
115
+ encode(e,t){t(["RegExp",e.source,e.flags])}},{getTag(e){return e.tag},encode(e,t){t(e.value)}},{encode(e,t,s){S(e,s)}},{encode(e,t,s){S(e,s)}},M(64),M(68),M(69),M(70),M(71),M(72),M(77),M(78),M(79),M(81),M(82),{encode(e,t){// write SharedData
116
+ let s=e.packedValues||[],n=e.structures||[];if(0<s.values.length){_e[Ee++]=216,_e[Ee++]=51,O(4);let e=s.values;t(e),O(0),O(0),packedObjectMap=Object.create(sharedPackedObjectMap||null);for(let t=0,s=e.length;t<s;t++)packedObjectMap[e[t]]=t}if(n){Ie.setUint32(Ee,3655335424),Ee+=3;let s=n.slice(0);s.unshift(57344),s.push(new ne(e.version,1399353956)),t(s)}else t(new ne(e.version,1399353956))}}];let xe=new Ce({useRecords:!1});const Be=xe.encode,{NEVER:De,ALWAYS:Le,DECIMAL_ROUND:Pe,DECIMAL_FIT:je}=ge,we=512,Fe=1024;e.ALWAYS=Le,e.DECIMAL_FIT=je,e.DECIMAL_ROUND=Pe,e.Decoder=X,e.Encoder=Ce,e.FLOAT32_OPTIONS=ge,e.NEVER=De,e.REUSE_BUFFER_MODE=we,e.Tag=ne,e.addExtension=U,e.clearSource=b,e.decode=le,e.decodeIter=function(e,t={}){if(!e||"object"!=typeof e)throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a promise");const s=new X(t);let n;const a=e=>{let t;// if there's incomplete data from previous chunk, concatinate and try again
117
+ n&&(e=Buffer.concat([n,e]),n=void 0);try{t=s.decodeMultiple(e)}catch(s){if(s.incomplete)n=e.slice(s.lastPosition),t=s.values;else throw s}return t};if("function"==typeof e[Symbol.iterator])return function*(){for(const t of e)yield*a(t)}();return"function"==typeof e[Symbol.asyncIterator]?async function*(){for await(const t of e)yield*a(t)}():void 0},e.decodeMultiple=pe,e.encode=Be,e.encodeIter=/**
125
118
  * Given an Iterable first argument, returns an Iterable where each value is encoded as a Buffer
126
119
  * If the argument is only Async Iterable, the return value will be an Async Iterable.
127
120
  * @param {Iterable|Iterator|AsyncIterable|AsyncIterator} objectIterator - iterable source, like a Readable object stream, an array, Set, or custom object
128
121
  * @param {options} [options] - cbor-x Encoder options
129
122
  * @returns {IterableIterator|Promise.<AsyncIterableIterator>}
130
- */function(a,b={}){if(!a||"object"!=typeof a)throw new Error("first argument must be an Iterable, Async Iterable, or a Promise for an Async Iterable");else{if("function"==typeof a[Symbol.iterator])return w(a,b);if("function"==typeof a.then||"function"==typeof a[Symbol.asyncIterator])return x(a,b);throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a Promise")}},a.mapsAsObjects=!0,a.roundFloat32=function(a){ga[0]=a;let b=aa[(127&ha[3])<<1|ha[2]>>7];return(b*a+(0<a?.5:-.5)>>0)/b},a.useRecords=!1,Object.defineProperty(a,"__esModule",{value:!0})});
123
+ */function(e,t={}){if(!e||"object"!=typeof e)throw new Error("first argument must be an Iterable, Async Iterable, or a Promise for an Async Iterable");else{if("function"==typeof e[Symbol.iterator])return E(e,t);if("function"==typeof e.then||"function"==typeof e[Symbol.asyncIterator])return v(e,t);throw new Error("first argument must be an Iterable, Async Iterable, Iterator, Async Iterator, or a Promise")}},e.isNativeAccelerationEnabled=!1,e.roundFloat32=function(e){he[0]=e;let t=ue[(127&ye[3])<<1|ye[2]>>7];return(t*e+(0<e?.5:-.5)>>0)/t},Object.defineProperty(e,"__esModule",{value:!0})});
@@ -0,0 +1,93 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ __markAsModule(target);
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && key !== "default")
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toModule = (module2) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ __export(exports, {
25
+ ALWAYS: () => import_encode.ALWAYS,
26
+ DECIMAL_FIT: () => import_encode.DECIMAL_FIT,
27
+ DECIMAL_ROUND: () => import_encode.DECIMAL_ROUND,
28
+ Decoder: () => import_decode.Decoder,
29
+ DecoderStream: () => import_stream.DecoderStream,
30
+ Encoder: () => import_encode.Encoder,
31
+ EncoderStream: () => import_stream.EncoderStream,
32
+ FLOAT32_OPTIONS: () => import_decode.FLOAT32_OPTIONS,
33
+ NEVER: () => import_encode.NEVER,
34
+ REUSE_BUFFER_MODE: () => import_encode.REUSE_BUFFER_MODE,
35
+ Tag: () => import_decode.Tag,
36
+ addExtension: () => import_encode.addExtension,
37
+ clearSource: () => import_decode.clearSource,
38
+ decode: () => import_decode.decode,
39
+ decodeIter: () => import_iterators.decodeIter,
40
+ decodeMultiple: () => import_decode.decodeMultiple,
41
+ encode: () => import_encode.encode,
42
+ encodeIter: () => import_iterators.encodeIter,
43
+ isNativeAccelerationEnabled: () => import_decode.isNativeAccelerationEnabled,
44
+ mapsAsObjects: () => mapsAsObjects,
45
+ roundFloat32: () => import_decode.roundFloat32,
46
+ useRecords: () => useRecords
47
+ });
48
+ var import_encode = __toModule(require("./encode.js"));
49
+ var import_decode = __toModule(require("./decode.js"));
50
+ var import_stream = __toModule(require("./stream.js"));
51
+ var import_iterators = __toModule(require("./iterators.js"));
52
+ var import_decode2 = __toModule(require("./decode.js"));
53
+ var import_module = __toModule(require("module"));
54
+ const import_meta = {};
55
+ const useRecords = false;
56
+ const mapsAsObjects = true;
57
+ const extractor = tryRequire("cbor-extract");
58
+ if (extractor)
59
+ (0, import_decode2.setExtractor)(extractor.extractStrings);
60
+ function tryRequire(moduleId) {
61
+ try {
62
+ let require2 = (0, import_module.createRequire)(import_meta.url);
63
+ return require2(moduleId);
64
+ } catch (error) {
65
+ if (typeof window != "undefined")
66
+ console.warn("For browser usage, directly use cbor-x/decode or cbor-x/encode modules. " + error.message.split("\n")[0]);
67
+ }
68
+ }
69
+ // Annotate the CommonJS export names for ESM import in node:
70
+ 0 && (module.exports = {
71
+ ALWAYS,
72
+ DECIMAL_FIT,
73
+ DECIMAL_ROUND,
74
+ Decoder,
75
+ DecoderStream,
76
+ Encoder,
77
+ EncoderStream,
78
+ FLOAT32_OPTIONS,
79
+ NEVER,
80
+ REUSE_BUFFER_MODE,
81
+ Tag,
82
+ addExtension,
83
+ clearSource,
84
+ decode,
85
+ decodeIter,
86
+ decodeMultiple,
87
+ encode,
88
+ encodeIter,
89
+ isNativeAccelerationEnabled,
90
+ mapsAsObjects,
91
+ roundFloat32,
92
+ useRecords
93
+ });