+3
-2
@@ -53,6 +53,7 @@ /** | ||
| * | ||
| * @param {Uint8Array} bytes | ||
| * @param {()=>any} decode | ||
| * @returns {BenchCID} | ||
| */ | ||
| function cidDecoder (bytes) { | ||
| function cidDecoder (decode) { | ||
| const bytes = decode() | ||
| if (bytes[0] !== 0) { | ||
@@ -59,0 +60,0 @@ throw new Error('Invalid CID for CBOR tag 42; expected leading 0x00') |
+2
-1
@@ -122,3 +122,4 @@ <!DOCTYPE html> | ||
| function cidDecoder(bytes) { | ||
| function cidDecoder(decode) { | ||
| const bytes = decode() | ||
| if (bytes[0] !== 0) { | ||
@@ -125,0 +126,0 @@ throw new Error('Invalid CID for CBOR tag 42; expected leading 0x00') |
+2
-0
@@ -0,1 +1,3 @@ | ||
| ## [6.1.0](https://github.com/rvagg/cborg/compare/v6.0.0...v6.1.0) (2026-07-29) | ||
| ## [6.0.0](https://github.com/rvagg/cborg/compare/v5.1.11...v6.0.0) (2026-07-29) | ||
@@ -2,0 +4,0 @@ |
+1
-0
@@ -81,4 +81,5 @@ import { Token } from './lib/token.js' | ||
| reset(): void; | ||
| pushByte(byte: number): void; | ||
| push(bytes: ByteView | number[]): void; | ||
| toBytes(reset?: boolean | undefined): ByteView; | ||
| } |
+1
-1
@@ -150,3 +150,3 @@ /* globals BigInt */ | ||
| // pack into one byte, minor=0, additional=value | ||
| writer.push([major | nuint]) | ||
| writer.pushByte(major | nuint) | ||
| } else if (uint < uintBoundaries[1]) { | ||
@@ -153,0 +153,0 @@ const nuint = Number(uint) |
+4
-4
@@ -109,9 +109,9 @@ // TODO: shift some of the bytes logic to bytes-utils so we can use Buffer | ||
| if (float === false) { | ||
| writer.push([Type.float.majorEncoded | MINOR_FALSE]) | ||
| writer.pushByte(Type.float.majorEncoded | MINOR_FALSE) | ||
| } else if (float === true) { | ||
| writer.push([Type.float.majorEncoded | MINOR_TRUE]) | ||
| writer.pushByte(Type.float.majorEncoded | MINOR_TRUE) | ||
| } else if (float === null) { | ||
| writer.push([Type.float.majorEncoded | MINOR_NULL]) | ||
| writer.pushByte(Type.float.majorEncoded | MINOR_NULL) | ||
| } else if (float === undefined) { | ||
| writer.push([Type.float.majorEncoded | MINOR_UNDEFINED]) | ||
| writer.pushByte(Type.float.majorEncoded | MINOR_UNDEFINED) | ||
| } else { | ||
@@ -118,0 +118,0 @@ let decoded |
+28
-0
@@ -62,2 +62,20 @@ /** | ||
| /** | ||
| * @param {number} byte | ||
| */ | ||
| pushByte (byte) { | ||
| let topChunk = this.chunks[this.chunks.length - 1] | ||
| if (this.cursor > this.maxCursor) { | ||
| topChunk = alloc(this.chunkSize) | ||
| this.chunks.push(topChunk) | ||
| this.maxCursor += topChunk.length | ||
| if (this._initReuseChunk === null) { | ||
| this._initReuseChunk = topChunk | ||
| } | ||
| } | ||
| const chunkPos = topChunk.length - (this.maxCursor - this.cursor) - 1 | ||
| topChunk[chunkPos] = byte | ||
| this.cursor++ | ||
| } | ||
| /** | ||
| * @param {ByteView|number[]} bytes | ||
@@ -155,2 +173,12 @@ */ | ||
| /** | ||
| * @param {number} byte | ||
| */ | ||
| pushByte (byte) { | ||
| if (this.cursor >= this.dest.length) { | ||
| throw new Error('write out of bounds, destination buffer is too small') | ||
| } | ||
| this.dest[this.cursor++] = byte | ||
| } | ||
| /** | ||
| * @param {ByteView|number[]} bytes | ||
@@ -157,0 +185,0 @@ */ |
+6
-17
@@ -172,12 +172,8 @@ import { decodeErrPrefix } from './common.js' | ||
| function createTagDecodeControl (tokeniser, options) { | ||
| let called = false | ||
| /** | ||
| * @type {TagDecodeControl} | ||
| */ | ||
| /** @type {TagDecodeControl & {_called: boolean}} */ | ||
| const decode = function () { | ||
| if (called) { | ||
| if (decode._called) { | ||
| throw new Error(`${decodeErrPrefix} tag decode() may only be called once`) | ||
| } | ||
| called = true | ||
| decode._called = true | ||
| const value = tokensToObject(tokeniser, options) | ||
@@ -194,8 +190,7 @@ if (value === DONE) { | ||
| decode.entries = function () { | ||
| if (called) { | ||
| if (decode._called) { | ||
| throw new Error(`${decodeErrPrefix} tag decode() may only be called once`) | ||
| } | ||
| called = true | ||
| decode._called = true | ||
| // Get the next token and ensure it's a map | ||
| const token = tokeniser.next() | ||
@@ -206,3 +201,2 @@ if (!Type.equals(token.type, Type.map)) { | ||
| // Collect all entries into an array (ensures full content consumption) | ||
| const entries = [] | ||
@@ -215,8 +209,3 @@ for (const entry of tokenToMapEntries(token, tokeniser, options)) { | ||
| // For internal tracking | ||
| Object.defineProperty(decode, '_called', { | ||
| get () { return called }, | ||
| enumerable: false | ||
| }) | ||
| decode._called = false | ||
| return decode | ||
@@ -223,0 +212,0 @@ } |
+77
-14
@@ -502,2 +502,3 @@ import { is } from './is.js' | ||
| const MAJOR_ARRAY = Type.array.majorEncoded | ||
| const MAJOR_MAP = Type.map.majorEncoded | ||
@@ -514,2 +515,16 @@ // Simple value bytes (CBOR major type 7 + minor value) | ||
| /** | ||
| * Compact direct-path writes avoid the full uint boundary chain. | ||
| * @param {ByteWriter} writer | ||
| * @param {number} major | ||
| * @param {number|bigint} uint | ||
| */ | ||
| function directEncodeUintValue (writer, major, uint) { | ||
| if (uint < 24) { | ||
| writer.pushByte(major | Number(uint)) | ||
| } else { | ||
| encodeUintValue(writer, major, uint) | ||
| } | ||
| } | ||
| /** | ||
| * Check if direct encoding can be used for the given options. | ||
@@ -528,2 +543,50 @@ * Direct encoding bypasses token creation for most values. | ||
| /** | ||
| * Encode a map through the default deterministic sorter while keeping values | ||
| * on the direct path. Only keys need tokens for comparison. | ||
| * @param {ByteWriter} writer | ||
| * @param {any} data | ||
| * @param {string} typ | ||
| * @param {EncodeOptions} options | ||
| * @param {Reference|undefined} refStack | ||
| */ | ||
| function directEncodeMap (writer, data, typ, options, refStack) { | ||
| const isMap = typ === 'Map' | ||
| const keys = isMap ? data.keys() : Object.keys(data) | ||
| const maxLength = isMap ? data.size : keys.length | ||
| if (!maxLength) { | ||
| writer.pushByte(MAJOR_MAP) | ||
| return | ||
| } | ||
| refStack = Ref.createCheck(refStack, data) | ||
| const skipUndefined = !isMap && options.ignoreUndefinedProperties | ||
| const entries = new Array(maxLength) | ||
| let length = 0 | ||
| for (const key of keys) { | ||
| const value = isMap ? data.get(key) : data[key] | ||
| if (skipUndefined && value === undefined) { | ||
| continue | ||
| } | ||
| entries[length++] = [objectToTokens(key, options, refStack), value] | ||
| } | ||
| if (length === 0) { | ||
| writer.pushByte(MAJOR_MAP) | ||
| return | ||
| } | ||
| if (length < maxLength) { | ||
| entries.length = length | ||
| } | ||
| entries.sort((e1, e2) => mapSorter(e1, e2, options)) | ||
| directEncodeUintValue(writer, MAJOR_MAP, length) | ||
| for (const [key, value] of entries) { | ||
| tokensToEncoded(writer, key, cborEncoders, options) | ||
| directEncode(writer, value, options, refStack) | ||
| } | ||
| } | ||
| /** | ||
| * Direct encode a value to the writer, bypassing token creation for most types. | ||
@@ -554,11 +617,11 @@ * Falls back to token-based encoding for custom type encoders. | ||
| case 'null': | ||
| writer.push([SIMPLE_NULL]) | ||
| writer.pushByte(SIMPLE_NULL) | ||
| return | ||
| case 'undefined': | ||
| writer.push([SIMPLE_UNDEFINED]) | ||
| writer.pushByte(SIMPLE_UNDEFINED) | ||
| return | ||
| case 'boolean': | ||
| writer.push([data ? SIMPLE_TRUE : SIMPLE_FALSE]) | ||
| writer.pushByte(data ? SIMPLE_TRUE : SIMPLE_FALSE) | ||
| return | ||
@@ -571,6 +634,6 @@ | ||
| } else if (data >= 0) { | ||
| encodeUintValue(writer, MAJOR_UINT, data) | ||
| directEncodeUintValue(writer, MAJOR_UINT, data) | ||
| } else { | ||
| // Negative integer | ||
| encodeUintValue(writer, MAJOR_NEGINT, data * -1 - 1) | ||
| directEncodeUintValue(writer, MAJOR_NEGINT, data * -1 - 1) | ||
| } | ||
@@ -581,5 +644,5 @@ return | ||
| if (data >= BigInt(0)) { | ||
| encodeUintValue(writer, MAJOR_UINT, data) | ||
| directEncodeUintValue(writer, MAJOR_UINT, data) | ||
| } else { | ||
| encodeUintValue(writer, MAJOR_NEGINT, data * neg1b - pos1b) | ||
| directEncodeUintValue(writer, MAJOR_NEGINT, data * neg1b - pos1b) | ||
| } | ||
@@ -590,3 +653,3 @@ return | ||
| const bytes = fromString(data) | ||
| encodeUintValue(writer, MAJOR_STRING, bytes.length) | ||
| directEncodeUintValue(writer, MAJOR_STRING, bytes.length) | ||
| writer.push(bytes) | ||
@@ -597,3 +660,3 @@ return | ||
| case 'Uint8Array': | ||
| encodeUintValue(writer, MAJOR_BYTES, data.length) | ||
| directEncodeUintValue(writer, MAJOR_BYTES, data.length) | ||
| writer.push(data) | ||
@@ -604,7 +667,7 @@ return | ||
| if (!data.length) { | ||
| writer.push([MAJOR_ARRAY]) // Empty array: 0x80 | ||
| writer.pushByte(MAJOR_ARRAY) // Empty array: 0x80 | ||
| return | ||
| } | ||
| refStack = Ref.createCheck(refStack, data) | ||
| encodeUintValue(writer, MAJOR_ARRAY, data.length) | ||
| directEncodeUintValue(writer, MAJOR_ARRAY, data.length) | ||
| for (const elem of data) { | ||
@@ -617,5 +680,5 @@ directEncode(writer, elem, options, refStack) | ||
| case 'Map': | ||
| // Maps require key sorting, use token-based encoding for efficiency | ||
| // (pre-encoding all keys for sorting is expensive) | ||
| { | ||
| if (options.mapSorter === mapSorter) { | ||
| directEncodeMap(writer, data, typ, options, refStack) | ||
| } else { | ||
| const tokens = typeEncoders.Object(data, typ, options, refStack) | ||
@@ -622,0 +685,0 @@ tokensToEncoded(writer, tokens, cborEncoders, options) |
+1
-1
| { | ||
| "name": "cborg", | ||
| "version": "6.0.0", | ||
| "version": "6.1.0", | ||
| "description": "Fast CBOR with a focus on strictness", | ||
@@ -5,0 +5,0 @@ "main": "cborg.js", |
+21
-1
| /* eslint-env mocha */ | ||
| import * as chai from 'chai' | ||
| import { Bl } from '../lib/bl.js' | ||
| import { Bl, U8Bl } from '../lib/bl.js' | ||
@@ -37,2 +37,22 @@ const { assert } = chai | ||
| }) | ||
| describe('pushByte', () => { | ||
| it('interleaves individual and grouped writes', () => { | ||
| const bl = new Bl(4) | ||
| bl.pushByte(1) | ||
| bl.push([2, 3]) | ||
| bl.pushByte(4) | ||
| bl.pushByte(5) | ||
| assert.deepEqual([...bl.toBytes()], [1, 2, 3, 4, 5]) | ||
| }) | ||
| it('writes into a fixed destination', () => { | ||
| const destination = new Uint8Array(2) | ||
| const bl = new U8Bl(destination) | ||
| bl.pushByte(1) | ||
| bl.pushByte(2) | ||
| assert.deepEqual([...bl.toBytes()], [1, 2]) | ||
| assert.throws(() => bl.pushByte(3), /write out of bounds/) | ||
| }) | ||
| }) | ||
| }) |
@@ -67,2 +67,3 @@ import { Token } from './lib/token.js'; | ||
| reset(): void; | ||
| pushByte(byte: number): void; | ||
| push(bytes: ByteView | number[]): void; | ||
@@ -69,0 +70,0 @@ toBytes(reset?: boolean | undefined): ByteView; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../interface.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../interface.ts"],"names":[],"mappings":"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"} |
@@ -35,2 +35,6 @@ /** | ||
| /** | ||
| * @param {number} byte | ||
| */ | ||
| pushByte(byte: number): void; | ||
| /** | ||
| * @param {ByteView|number[]} bytes | ||
@@ -62,2 +66,6 @@ */ | ||
| /** | ||
| * @param {number} byte | ||
| */ | ||
| pushByte(byte: number): void; | ||
| /** | ||
| * @param {ByteView|number[]} bytes | ||
@@ -64,0 +72,0 @@ */ |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"bl.d.ts","sourceRoot":"","sources":["../../lib/bl.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMA,YAA8C,QAAQ,GAA5C,OAAO,iBAAiB,EAAE,QAAQ,CAAU;AACtD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AAS3E,qBAAa,EAAE;IAKN,SAAS;IACd,qBAAqB;IAChB,MAAM,EADA,MAAM;IAEjB,qBAAqB;IAChB,SAAS,EADH,MAAM;IAEjB,oCAAoC;IAC/B,MAAM,EADA,CAAC,QAAQ,GAAC,MAAM,EAAE,CAAC,EAAE;IAGhC,qCAAqC;IAChC,eAAe,EADT,QAAQ,GAAC,MAAM,EAAE,GAAC,IAAI;IAZnC;;OAEG;IACH,YAAa,SAAS,AAFnB,CAA2B,EAAnB,MAE8B,EAWxC;IAED,KAAK,SAUJ;IAED;;OAEG;IACH,IAAI,CAAE,KAAK,EAFA,QAAQ,GAAC,MAAM,EAEf,QAoCV;IAED;;;OAGG;IACH,OAAO,CAAE,KAAK,AAHX,CACA,EADQ,OAGW,GAFT,iBAAiB,CAuB7B;CACF;AAED;;;;GAIG;AACH,qBAAa,IAAI,CAFc,CAAC,SAAlB,eAAkB;IAOvB,IAAI;IACT,qBAAqB;IAChB,MAAM,EADA,MAAM;IAIjB,mCAAmC;IAC9B,MAAM,EADA,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IATjC;;OAEG;IACH,YAAa,IAAI,EAFN,UAAU,CAAC,CAAC,CAEN,EAQhB;IAED,KAAK,SAEJ;IAED;;OAEG;IACH,IAAI,CAAE,KAAK,EAFA,QAAQ,GAAC,MAAM,EAEf,QAMV;IAED;;;OAGG;IACH,OAAO,CAAE,KAAK,AAHX,CACA,EADQ,OAGW,GAFT,UAAU,CAAC,CAAC,CAAC,CAQzB;CACF"} | ||
| {"version":3,"file":"bl.d.ts","sourceRoot":"","sources":["../../lib/bl.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMA,YAA8C,QAAQ,GAA5C,OAAO,iBAAiB,EAAE,QAAQ,CAAU;AACtD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AAS3E,qBAAa,EAAE;IAKN,SAAS;IACd,qBAAqB;IAChB,MAAM,EADA,MAAM;IAEjB,qBAAqB;IAChB,SAAS,EADH,MAAM;IAEjB,oCAAoC;IAC/B,MAAM,EADA,CAAC,QAAQ,GAAC,MAAM,EAAE,CAAC,EAAE;IAGhC,qCAAqC;IAChC,eAAe,EADT,QAAQ,GAAC,MAAM,EAAE,GAAC,IAAI;IAZnC;;OAEG;IACH,YAAa,SAAS,AAFnB,CAA2B,EAAnB,MAE8B,EAWxC;IAED,KAAK,SAUJ;IAED;;OAEG;IACH,QAAQ,CAAE,IAAI,EAFH,MAEG,QAab;IAED;;OAEG;IACH,IAAI,CAAE,KAAK,EAFA,QAAQ,GAAC,MAAM,EAEf,QAoCV;IAED;;;OAGG;IACH,OAAO,CAAE,KAAK,AAHX,CACA,EADQ,OAGW,GAFT,iBAAiB,CAuB7B;CACF;AAED;;;;GAIG;AACH,qBAAa,IAAI,CAFc,CAAC,SAAlB,eAAkB;IAOvB,IAAI;IACT,qBAAqB;IAChB,MAAM,EADA,MAAM;IAIjB,mCAAmC;IAC9B,MAAM,EADA,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IATjC;;OAEG;IACH,YAAa,IAAI,EAFN,UAAU,CAAC,CAAC,CAEN,EAQhB;IAED,KAAK,SAEJ;IAED;;OAEG;IACH,QAAQ,CAAE,IAAI,EAFH,MAEG,QAKb;IAED;;OAEG;IACH,IAAI,CAAE,KAAK,EAFA,QAAQ,GAAC,MAAM,EAEf,QAMV;IAED;;;OAGG;IACH,OAAO,CAAE,KAAK,AAHX,CACA,EADQ,OAGW,GAFT,UAAU,CAAC,CAAC,CAAC,CAQzB;CACF"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../lib/decode.js"],"names":[],"mappings":"AAMG,YAAsC,KAAK,GAAjC,OAAO,YAAY,EAAE,KAAK,CAAO;AAC3C,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAqD,eAAe,GAA1D,OAAO,iBAAiB,EAAE,eAAe,CAAiB;AACpE,YAAsD,gBAAgB,GAA5D,OAAO,iBAAiB,EAAE,gBAAgB,CAAkB;AAUzE;;GAEG;AACH,cAAM,SAAS,AAFC,YAAA,eAAe;IAQtB,IAAI;IACJ,IAAI;IACJ,OAAO;IAPd;;;OAGG;IACH,YAAa,IAAI,EAHN,UAGM,EAAE,OAAO,GAFf,aAEoB,EAI9B;IAED,GAAG,WAEF;IAED,IAAI,YAEH;IAED,IAAI,+BAeH;CACF;AAED,QAAA,MAAM,IAAI,eAAqB,CAAA;AAC/B,QAAA,MAAM,KAAK,eAAsB,CAAA;AAgKjC;;;;GAIG;AACH,iBAAS,cAAc,CAAE,SAAS,EAJvB,eAIuB,EAAE,OAAO,EAHhC,aAGgC,GAF9B,GAAG,GAAC,OAAO,KAAK,GAAC,OAAO,IAAI,CAuCxC;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAE,IAAI,EAJf,UAIe,EAAE,OAAO,AAHhC,CACA,EADQ,aAGwB,GAFtB,CAAC,GAAG,EAAE,UAAU,CAAC,CAkB7B;AAED;;;;GAIG;AACH,iBAAS,MAAM,CAAE,IAAI,EAJV,UAIU,EAAE,OAAO,AAH3B,CACA,EADQ,aAGmB,GAFjB,GAAG,CAQf;AAED,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA"} | ||
| {"version":3,"file":"decode.d.ts","sourceRoot":"","sources":["../../lib/decode.js"],"names":[],"mappings":"AAMG,YAAsC,KAAK,GAAjC,OAAO,YAAY,EAAE,KAAK,CAAO;AAC3C,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAqD,eAAe,GAA1D,OAAO,iBAAiB,EAAE,eAAe,CAAiB;AACpE,YAAsD,gBAAgB,GAA5D,OAAO,iBAAiB,EAAE,gBAAgB,CAAkB;AAUzE;;GAEG;AACH,cAAM,SAAS,AAFC,YAAA,eAAe;IAQtB,IAAI;IACJ,IAAI;IACJ,OAAO;IAPd;;;OAGG;IACH,YAAa,IAAI,EAHN,UAGM,EAAE,OAAO,GAFf,aAEoB,EAI9B;IAED,GAAG,WAEF;IAED,IAAI,YAEH;IAED,IAAI,+BAeH;CACF;AAED,QAAA,MAAM,IAAI,eAAqB,CAAA;AAC/B,QAAA,MAAM,KAAK,eAAsB,CAAA;AAqJjC;;;;GAIG;AACH,iBAAS,cAAc,CAAE,SAAS,EAJvB,eAIuB,EAAE,OAAO,EAHhC,aAGgC,GAF9B,GAAG,GAAC,OAAO,KAAK,GAAC,OAAO,IAAI,CAuCxC;AAED;;;;GAIG;AACH,iBAAS,WAAW,CAAE,IAAI,EAJf,UAIe,EAAE,OAAO,AAHhC,CACA,EADQ,aAGwB,GAFtB,CAAC,GAAG,EAAE,UAAU,CAAC,CAkB7B;AAED;;;;GAIG;AACH,iBAAS,MAAM,CAAE,IAAI,EAJV,UAIU,EAAE,OAAO,AAH3B,CACA,EADQ,aAGmB,GAFjB,GAAG,CAQf;AAED,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../lib/encode.js"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAQ,MAAM,YAAY,CAAA;AAgBrC,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAA+C,SAAS,GAA9C,OAAO,iBAAiB,EAAE,SAAS,CAAW;AACxD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AACxE,YAAsD,gBAAgB,GAA5D,OAAO,iBAAiB,EAAE,gBAAgB,CAAkB;AACtE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAAgD,UAAU,GAAhD,OAAO,iBAAiB,EAAE,UAAU,CAAY;AAC1D,YAA8C,QAAQ,GAA5C,OAAO,iBAAiB,EAAE,QAAQ,CAAU;AACtD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AAU3E,4BAA4B;AAC5B,eAAO,MAAM,oBAAoB,EADtB,aAIT,CAAA;AAEF,oCAAoC;AACpC,wBAAgB,gBAAgB,IADlB,gBAAgB,EAAE,CAY/B;AAMD,8BAA8B;AAC9B,cAAM,GAAG,AADQ,YAAA,SAAS;IAOjB,GAAG;IACH,MAAM;IANb;;;OAGG;IACH,YAAa,GAAG,EAHL,MAAM,GAAC,GAAG,EAGL,EAAE,MAAM,EAFb,SAAS,GAAC,SAEG,EAGvB;IAED;;;OAGG;IACH,QAAQ,CAAE,GAAG,EAHF,MAAM,GAAC,GAAG,EAGR,GAFA,OAAO,CAWnB;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAE,KAAK,EAJd,SAAS,GAAC,SAII,EAAE,GAAG,EAHnB,MAAM,GAAC,GAAG,EAGS,GAFjB,SAAS,CAOrB;CACF;AAoOD;;;;;GAKG;AACH,iBAAS,cAAc,CAAE,GAAG,EALjB,GAKiB,EAAE,OAAO,AAJlC,CACA,EADQ,aAI+B,EAAE,QAAQ,AAHjD,CACA,EADQ,SAGyC,GAFvC,mBAAmB,CAgB/B;AAsGE,YAAqD,OAAO,GAAlD,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAS;AAwL3D,iBAqBK,YAAY,CAtBU,CAAC,SAAlB,eAAkB,EAEhB,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,EAAuB,WAAW,EAA1B,UAAU,CAAC,CAAC,CACpB,GAAU,UAAU,CAAC,CAAC,CAAC,CALd;AAQR,iBAaK,YAAY,CAZL,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,GAAU,iBAAiB,CAJlB;AAgDZ;;;;GAIG;AACH,iBAAS,MAAM,CAAE,IAAI,EAJV,GAIU,EAAE,OAAO,AAH3B,CACA,EADQ,aAGmB,GAFjB,iBAAiB,CAa7B;AAED;;;;;;GAMG;AACH,iBAAS,UAAU,CANY,CAAC,SAAlB,eAAkB,EAMX,IAAI,EALd,GAKc,EAAE,WAAW,EAJ3B,UAAU,CAAC,CAAC,CAIe,EAAE,OAAO,AAH5C,CACA,EADQ,aAGoC,GAFlC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAc/B;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA"} | ||
| {"version":3,"file":"encode.d.ts","sourceRoot":"","sources":["../../lib/encode.js"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAQ,MAAM,YAAY,CAAA;AAgBrC,YAAmD,aAAa,GAAtD,OAAO,iBAAiB,EAAE,aAAa,CAAe;AAChE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAA+C,SAAS,GAA9C,OAAO,iBAAiB,EAAE,SAAS,CAAW;AACxD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AACxE,YAAsD,gBAAgB,GAA5D,OAAO,iBAAiB,EAAE,gBAAgB,CAAkB;AACtE,YAAyD,mBAAmB,GAAlE,OAAO,iBAAiB,EAAE,mBAAmB,CAAqB;AAC5E,YAAgD,UAAU,GAAhD,OAAO,iBAAiB,EAAE,UAAU,CAAY;AAC1D,YAA8C,QAAQ,GAA5C,OAAO,iBAAiB,EAAE,QAAQ,CAAU;AACtD,YAAuD,iBAAiB,GAA9D,OAAO,iBAAiB,EAAE,iBAAiB,CAAmB;AAU3E,4BAA4B;AAC5B,eAAO,MAAM,oBAAoB,EADtB,aAIT,CAAA;AAEF,oCAAoC;AACpC,wBAAgB,gBAAgB,IADlB,gBAAgB,EAAE,CAY/B;AAMD,8BAA8B;AAC9B,cAAM,GAAG,AADQ,YAAA,SAAS;IAOjB,GAAG;IACH,MAAM;IANb;;;OAGG;IACH,YAAa,GAAG,EAHL,MAAM,GAAC,GAAG,EAGL,EAAE,MAAM,EAFb,SAAS,GAAC,SAEG,EAGvB;IAED;;;OAGG;IACH,QAAQ,CAAE,GAAG,EAHF,MAAM,GAAC,GAAG,EAGR,GAFA,OAAO,CAWnB;IAED;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAE,KAAK,EAJd,SAAS,GAAC,SAII,EAAE,GAAG,EAHnB,MAAM,GAAC,GAAG,EAGS,GAFjB,SAAS,CAOrB;CACF;AAoOD;;;;;GAKG;AACH,iBAAS,cAAc,CAAE,GAAG,EALjB,GAKiB,EAAE,OAAO,AAJlC,CACA,EADQ,aAI+B,EAAE,QAAQ,AAHjD,CACA,EADQ,SAGyC,GAFvC,mBAAmB,CAgB/B;AAsGE,YAAqD,OAAO,GAAlD,KAAK,GAAG;IAAE,SAAS,CAAC,EAAE,iBAAiB,CAAA;CAAE,CAAS;AAuP3D,iBAqBK,YAAY,CAtBU,CAAC,SAAlB,eAAkB,EAEhB,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,EAAuB,WAAW,EAA1B,UAAU,CAAC,CAAC,CACpB,GAAU,UAAU,CAAC,CAAC,CAAC,CALd;AAQR,iBAaK,YAAY,CAZL,IAAI,EAAT,GACR,EAA4B,QAAQ,EAA5B,gBAAgB,EACxB,EAAuB,OAAO,EAAtB,aACR,GAAU,iBAAiB,CAJlB;AAgDZ;;;;GAIG;AACH,iBAAS,MAAM,CAAE,IAAI,EAJV,GAIU,EAAE,OAAO,AAH3B,CACA,EADQ,aAGmB,GAFjB,iBAAiB,CAa7B;AAED;;;;;;GAMG;AACH,iBAAS,UAAU,CANY,CAAC,SAAlB,eAAkB,EAMX,IAAI,EALd,GAKc,EAAE,WAAW,EAJ3B,UAAU,CAAC,CAAC,CAIe,EAAE,OAAO,AAH5C,CACA,EADQ,aAGoC,GAFlC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAc/B;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA"} |
581379
0.58%12469
0.82%