Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

basicdays/node-stream-to-async-iterator

Repository files navigation

Stream To Async Iterator npm version build

Overview

stream-to-async-iterator provides a wrapper that implements Symbol.asyncIterator. This will allow streams to be usable as async iterables that can be used in for-await-of loops.

Supports node.js 12 and up.

Installation

With NPM:

npm install stream-to-async-iterator

With Yarn:

yarn add stream-to-async-iterator

The included examples use async/await syntax for for-of loops. This assumes you are in an environment that natively supports this new syntax, or that you use a tool such as Babel. In addition, for async iterators to work properly, the Symbol.asyncIterator symbol must be defined. Core-js can help with that.

Usage

Import the StreamToAsyncIterator class and pass the stream to its constructor. The iterator instance can be directly used in for-of contexts.

If the stream is in object mode, each iteration will produce the next object. See the node documentation for more information.

#!/usr/bin/env node
"use strict";
const { Readable } = require("stream");
const S2A = require("../").default;
(async function () {
 const readStream = Readable.from([1, 2, 3]);
 for await (const chunk of new S2A(readStream)) {
 console.dir({ chunk });
 }
})();

Outputs:

{ chunk: 1 }
{ chunk: 2 }
{ chunk: 3 }

References

About

ES async iterator wrapper for node streams

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

AltStyle によって変換されたページ (->オリジナル) /