Class CborMapEncoderStream

A TransformStream that encodes a ReadableStream into CBOR "Indefinite Length Map". RFC 8949 - Concise Binary Object Representation (CBOR)

import { assert, assertEquals } from "@std/assert";
import {
CborMapDecodedStream,
CborMapEncoderStream,
CborSequenceDecoderStream,
} from "@std/cbor";

const rawMessage: Record<string, number> = {
a: 0,
b: 1,
c: 2,
d: 3,
};

for await (
const value of ReadableStream.from(Object.entries(rawMessage))
.pipeThrough(new CborMapEncoderStream)
.pipeThrough(new CborSequenceDecoderStream())
) {
assert(value instanceof CborMapDecodedStream);
for await (const [k, v] of value) {
assertEquals(rawMessage[k], v);
}
}
Implements

Constructors

Accessors

Methods

Constructors

Accessors

  • get readable(): ReadableStream<Uint8Array>
  • The ReadableStream associated with the instance, which provides the encoded CBOR data as Uint8Array chunks.

    Returns ReadableStream<Uint8Array>

    A ReadableStream.

    import { assert, assertEquals } from "@std/assert";
    import {
    CborMapDecodedStream,
    CborMapEncoderStream,
    CborSequenceDecoderStream,
    } from "@std/cbor";

    const rawMessage: Record<string, number> = {
    a: 0,
    b: 1,
    c: 2,
    d: 3,
    };

    for await (
    const value of ReadableStream.from(Object.entries(rawMessage))
    .pipeThrough(new CborMapEncoderStream)
    .pipeThrough(new CborSequenceDecoderStream())
    ) {
    assert(value instanceof CborMapDecodedStream);
    for await (const [k, v] of value) {
    assertEquals(rawMessage[k], v);
    }
    }
  • get writable(): WritableStream<CborMapStreamInput>
  • The WritableStream associated with the instance, which accepts CborMapStreamInput chunks to be encoded into CBOR format.

    Returns WritableStream<CborMapStreamInput>

    A WritableStream.

    import { assert, assertEquals } from "@std/assert";
    import {
    CborMapDecodedStream,
    CborMapEncoderStream,
    CborSequenceDecoderStream,
    } from "@std/cbor";

    const rawMessage: Record<string, number> = {
    a: 0,
    b: 1,
    c: 2,
    d: 3,
    };

    for await (
    const value of ReadableStream.from(Object.entries(rawMessage))
    .pipeThrough(new CborMapEncoderStream)
    .pipeThrough(new CborSequenceDecoderStream())
    ) {
    assert(value instanceof CborMapDecodedStream);
    for await (const [k, v] of value) {
    assertEquals(rawMessage[k], v);
    }
    }

Methods

  • Creates a CborMapEncoderStream instance from an iterable of CborMapStreamInput chunks.

    Parameters

    Returns CborMapEncoderStream

    A CborMapEncoderStream instance of the encoded data.

    import { assert, assertEquals } from "@std/assert";
    import {
    CborMapDecodedStream,
    CborMapEncoderStream,
    CborSequenceDecoderStream,
    } from "@std/cbor";

    const rawMessage: Record<string, number> = {
    a: 0,
    b: 1,
    c: 2,
    d: 3,
    };

    for await (
    const value of CborMapEncoderStream.from(Object.entries(rawMessage))
    .readable
    .pipeThrough(new CborSequenceDecoderStream())
    ) {
    assert(value instanceof CborMapDecodedStream);
    for await (const [k, v] of value) {
    assertEquals(rawMessage[k], v);
    }
    }