@sindresorhus/merge-streams
TypeScript icon, indicating that this package has built-in type declarations

4.0.0 • Public • Published

merge-streams

Merge multiple streams into a unified stream

Install

npm install @sindresorhus/merge-streams

Usage

import mergeStreams from '@sindresorhus/merge-streams';

const stream = mergeStreams([streamA, streamB]);

for await (const chunk of stream) {
	console.log(chunk);
	//=> 'A1'
	//=> 'B1'
	//=> 'A2'
	//=> 'B2'
}

API

mergeStreams(streams: stream.Readable[]): MergedStream

Merges an array of readable streams and returns a new readable stream that emits data from the individual streams as it arrives.

If you provide an empty array, the stream remains open but can be manually ended.

MergedStream

Type: stream.Readable

A single stream combining the output of multiple streams.

MergedStream.add(stream: stream.Readable): void

Pipe a new readable stream.

Throws if MergedStream has already ended.

MergedStream.remove(stream: stream.Readable): Promise<boolean>

Unpipe a stream previously added using either mergeStreams(streams) or MergedStream.add(stream).

Returns false if the stream was not previously added, or if it was already removed by MergedStream.remove(stream).

The removed stream is not automatically ended.

Package Sidebar

Install

npm i @sindresorhus/merge-streams

Weekly Downloads

2,162,441

Version

4.0.0

License

MIT

Unpacked Size

11.4 kB

Total Files

5

Last publish

Collaborators

  • sindresorhus