Decode stream: bytes to Baichuan messages.
Decode a subscribe reply that arrives in two chunks
Decode a subscribe reply that arrives in two chunks
import { assertEquals } from "@std/assert"; import { decodeHex } from "@std/encoding/hex"; import { createBaichuanDecodeStream } from "@hertzg/reolink-api/streams/decode"; const bytes = decodeHex("f0debc0a1f00000000000000fb030000c800146400000000"); const messages = await Array.fromAsync( ReadableStream.from([bytes.subarray(0, 10), bytes.subarray(10)]) .pipeThrough(createBaichuanDecodeStream()), ); assertEquals(messages.length, 1); assertEquals(messages[0].header.cmdId, 31); assertEquals(messages[0].header.status, 200);
f
createBaichuanDecodeStream(): TransformStream<Uint8Array, BaichuanMessage>
Creates a TransformStream that frames a Baichuan byte stream into messages.
Usage
import * as mod from "streams/decode.ts";