Encode stream: Baichuan messages to bytes.

Examples

Encode the nonce request

import { assertEquals } from "@std/assert";
import { decodeHex } from "@std/encoding/hex";
import { createMessage } from "@hertzg/reolink-api/protocol/message";
import { createBaichuanEncodeStream } from "@hertzg/reolink-api/streams/encode";

const chunks = await Array.fromAsync(
  ReadableStream.from([
    createMessage({
      cmdId: 1,
      channelId: 250,
      messageId: 1,
      messageClass: 0x1465,
    }),
  ]).pipeThrough(createBaichuanEncodeStream()),
);

assertEquals(chunks, [decodeHex("f0debc0a0100000000000000fa01000012dc1465")]);

Functions

f
createBaichuanEncodeStream(): TransformStream<BaichuanMessage, Uint8Array>

Creates a TransformStream that writes each message as header, body and payload, in one chunk per message.