diff options
author | Matthew Miller <matthew@millerti.me> | 2023-08-22 10:13:03 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-22 10:13:03 -0700 |
commit | fefc95e4535e6ecf903f647124a492fba3fd11d6 (patch) | |
tree | 4c924d43d32fb12a780533302eaf5dee08875d75 /packages/server/src/helpers/iso/isoCBOR.ts | |
parent | 443c341bc2163f07b93a3ef84a43294d10b826f8 (diff) | |
parent | 2935857c76d458c26701842e500f8d97d17499c5 (diff) |
Merge pull request #425 from MasterKale/feat/server-esm-take-2-dnt
feat/server-esm-take-2-dnt
Diffstat (limited to 'packages/server/src/helpers/iso/isoCBOR.ts')
-rw-r--r-- | packages/server/src/helpers/iso/isoCBOR.ts | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/packages/server/src/helpers/iso/isoCBOR.ts b/packages/server/src/helpers/iso/isoCBOR.ts index 9f7cbd7..bbf4118 100644 --- a/packages/server/src/helpers/iso/isoCBOR.ts +++ b/packages/server/src/helpers/iso/isoCBOR.ts @@ -1,5 +1,4 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -import * as cborx from 'cbor-x'; +import { cborx } from '../../deps.ts'; /** * This encoder should keep CBOR data the same length when data is re-encoded @@ -11,7 +10,10 @@ import * as cborx from 'cbor-x'; * So long as these requirements are maintained, then CBOR sequences can be encoded and decoded * freely while maintaining their lengths for the most accurate pointer movement across them. */ -const encoder = new cborx.Encoder({ mapsAsObjects: false, tagUint8Array: false }); +const encoder = new cborx.Encoder({ + mapsAsObjects: false, + tagUint8Array: false, +}); /** * Decode and return the first item in a sequence of CBOR-encoded values @@ -21,7 +23,9 @@ const encoder = new cborx.Encoder({ mapsAsObjects: false, tagUint8Array: false } * `false` */ export function decodeFirst<Type>(input: Uint8Array): Type { - const decoded = encoder.decodeMultiple(input) as undefined | Type[]; + // Make a copy so we don't mutate the original + const _input = new Uint8Array(input); + const decoded = encoder.decodeMultiple(_input) as undefined | Type[]; if (decoded === undefined) { throw new Error('CBOR input data was empty'); @@ -41,6 +45,6 @@ export function decodeFirst<Type>(input: Uint8Array): Type { /** * Encode data to CBOR */ -export function encode(input: any): Uint8Array { +export function encode(input: unknown): Uint8Array { return encoder.encode(input); } |