Skip to content

an-distr/js-streams

Repository files navigation

Streams

Stream utilities for JavaScript/TypeScript.

  • This is a project that I made as a hobby while learning TypeScript. Sudden breaking changes and management that do not take into account distribution may occur. If you want long-term retention, plese fork or copy.

  • I don't understand English very well. I use a translation tool. I'm sorry if the sentence is wrong.

Compatibility

  • >= ECMAScript2018
  • Engines
    • V8(Chromium, Node.js, Deno)
    • JavaScriptCore(Safari, Browser on iOS/iPadOS, Bun)
    • SpiderMonkey(FireFox)

How to build and test

  • Node.js is required. (Deno/Bun is optional.)
  • For the first time, execute node_prepare.sh or node_prepare.bat.
  • Run tasks.
    Task Node Deno Bun
    Build npm run build deno task build bun run build-bun
    Test for browser npm run test-web deno task test-web bun run test-web
    Test for Node npm run test-node deno task test-node bun run test-node
    Test for Deno npm run test-deno deno task test-deno bun run test-deno
    Test for Bun npm run test-bun deno task test-bun bun run test-bun

Modules

Module Description
ArrayAccumulator Accumulate the stream and emit it at a constant size array.
ArrayBufferAccumulator Accumulate the ArrayBuffer stream and emit it at a constant size or condition.
AssertStream Assert for Stream.
BaseStreams Streaming encode/decode for BaseN.
CombinedTransformStream Combine multiple TransfromStreams.
CsvDeserializer Convert the CSV/TSV to a object.
CsvSerializer Convert the object to a CSV/TSV.
DownloadStream Download the stream.
Flattener Flatten the array.
JsonDeserializer Convert the string to a JSON/JSON Lines/JSON with comments array.
JsonSerializer Convert the object to a JSON/JSON Lines string.
PeekStream Peeking chunk of stream.
PerformanceStream Measure the processing time of the Stream.
Utf8Streams Convert streams and UTF-8 strings to and from each other.

Functions

Polyfill

Unrelated

Demos and Examples

License

This project is licensed under the MIT No Attribution (MIT-0).