toByteStream

import { toByteStream } from "jsr:@ende/streams/unstable-to-byte-stream";

function ยท experimental

function toByteStream(readable: ReadableStream<Uint8Array>): ReadableStream<Uint8Array>

The function takes a ReadableStream<Uint8Array> and wraps it in a BYOB stream if it doesn't already support it.

readable: ReadableStream<Uint8Array>

The ReadableStream to be wrapped if needed.

Returns

A BYOB ReadableStream.

Example: Usage

import { assertEquals } from "@ende/assert";
import { toByteStream } from "@ende/streams/unstable-to-byte-stream";

const reader = toByteStream(ReadableStream.from([new Uint8Array(100)]))
  .getReader({ mode: "byob" });

while (true) {
  const { done, value } = await reader.read(new Uint8Array(10), { min: 10 });
  if (done) break;
  assertEquals(value.length, 10);
}

reader.releaseLock();

Source