Skip to content

Isomorphic WHATWG Streams API package for browser and Node.js

License

Notifications You must be signed in to change notification settings

ksm2/isomorphic-streams

Repository files navigation

isomorphic-streams

Node.js CI NPM version license TypeScript types

Isomorphic WHATWG Streams API package for browser and Node.js

This package has

  • zero dependencies
  • provides TypeScript typings
  • supports ReadableStream, WritableStream and TransformStream

Table of Contents

Install

Use either

yarn add isomorphic-streams

or

npm install isomorphic-streams

Usage

In the browser: Instead of using the global ReadbaleStream or window.ReadableStream, import from this package instead.

In Node.js: Instead of importing node:stream/web or requiring stream/web, import from this package instead.

The following code will work in both Node.js and the browser:

import { ReadableStream } from "isomorphic-streams";

const SECOND = 1000;

const stream = new ReadableStream({
  start(controller) {
    setInterval(() => {
      controller.enqueue(Date.now());
    }, SECOND);
  },
});

for await (const value of stream) {
  console.log(value);
}

More examples

Contributing

This project is open to feedback and contributions, please open an issue.

isomorphic-streams follows the Contributor Covenant Code of Conduct.

License

MIT © 2021 Konstantin Möllers, see LICENSE.