skills/bun-guides-binary-typedarray-to-readablestream/SKILL.md
Convert a Uint8Array to a ReadableStream
npx skillsauth add jarle/bun-skills Bun Convert a Uint8Array to a ReadableStreamInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The naive approach to creating a ReadableStream from a Uint8Array is to use the ReadableStream constructor and enqueue the entire array as a single chunk. For larger chunks, this may be undesirable as it isn't actually "streaming" the data.
const arr = new Uint8Array(64);
const stream = new ReadableStream({
start(controller) {
controller.enqueue(arr);
controller.close();
},
});
To stream the data in smaller chunks, first create a Blob instance from the Uint8Array. Then use the Blob.stream() method to create a ReadableStream that streams the data in chunks of a specified size.
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
const stream = blob.stream();
The chunk size can be set by passing a number to the .stream() method.
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
// set chunk size of 1024 bytes
const stream = blob.stream(1024);
See Docs > API > Binary Data for complete documentation on manipulating binary data with Bun.
development
Using TypeScript with Bun, including type definitions and compiler options
development
Learn how to write tests using Bun's Jest-compatible API with support for async tests, timeouts, and various test modifiers
testing
Learn how to use snapshot testing in Bun to save and compare output between test runs
testing
Learn about Bun test's runtime integration, environment variables, timeouts, and error handling