🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

cborg

Package Overview
Dependencies
Maintainers
1
Versions
120
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cborg - npm Package Compare versions

Comparing version
6.0.0
to
6.1.0
+3
-2
bench/bench.js

@@ -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')

@@ -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 @@

@@ -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;
}

@@ -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)

@@ -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

@@ -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 @@ */

@@ -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 @@ }

@@ -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)

{
"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",

/* 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"}