Function decodeCborSequence

  • 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 instance.

    Parameters

    • input: Uint8Array

      The value to decode of type CBOR-sequence-encoded Uint8Array.

    Returns CborType[]

    A CborType array representing the decoded data.

    import { assertEquals } from "@std/assert";
    import { type CborType, decodeCborSequence, encodeCborSequence } from "@std/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);