decodeCborSequence
import { decodeCborSequence } from "jsr:@ende/cbor";function
function decodeCborSequence(input: Uint8Array): CborType[]Decodes a CBOR-sequence-encoded Uint8Array into the JavaScript equivalent values represented as a CBorType array. RFC 8949 - Concise Binary Object Representation (CBOR)
Limitations:
- While CBOR does support map keys of any type, this implementation only supports map keys being of type string, and will throw if detected decoding otherwise.
- This decoder will throw an error if duplicate keys are detected.
Notice: This decoder handles the tag numbers 0, and 1 automatically, all
others returned are wrapped in a CborTag
input: Uint8ArrayThe value to decode of type CBOR-sequence-encoded Uint8Array.
Returns
A CborType array representing the decoded data.
Example: Usage
import { assertEquals } from "@ende/assert";
import { type CborType, decodeCborSequence, encodeCborSequence } from "@ende/cbor";
const rawMessage = [
"Hello World",
35,
0.5,
false,
-1,
null,
Uint8Array.from([0, 1, 2, 3]),
new Date(),
new Map<CborType, CborType>([[1, 2], ['3', 4], [[5], { a: 6 }]]),
];
const encodedMessage = encodeCborSequence(rawMessage);
const decodedMessage = decodeCborSequence(encodedMessage);
assertEquals(decodedMessage, rawMessage);