mirror-rhinstaller-node-cache/@sindresorhus/merge-streams
2026-09-23 15:43:33 +00:00
..
index.d.ts 599101c2959ea504d8e9185b484074f77867d03949caa8f1d6b61909f57eba72 package.json 2026-09-23 15:43:33 +00:00
index.js 599101c2959ea504d8e9185b484074f77867d03949caa8f1d6b61909f57eba72 package.json 2026-09-23 15:43:33 +00:00
license 599101c2959ea504d8e9185b484074f77867d03949caa8f1d6b61909f57eba72 package.json 2026-09-23 15:43:33 +00:00
package.json 599101c2959ea504d8e9185b484074f77867d03949caa8f1d6b61909f57eba72 package.json 2026-09-23 15:43:33 +00:00
readme.md 599101c2959ea504d8e9185b484074f77867d03949caa8f1d6b61909f57eba72 package.json 2026-09-23 15:43:33 +00:00

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.