You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
629 B
18 lines
629 B
3 years ago
|
"use strict";
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.merge = void 0;
|
||
|
const merge2 = require("merge2");
|
||
|
function merge(streams) {
|
||
|
const mergedStream = merge2(streams);
|
||
|
streams.forEach((stream) => {
|
||
|
stream.once('error', (error) => mergedStream.emit('error', error));
|
||
|
});
|
||
|
mergedStream.once('close', () => propagateCloseEventToSources(streams));
|
||
|
mergedStream.once('end', () => propagateCloseEventToSources(streams));
|
||
|
return mergedStream;
|
||
|
}
|
||
|
exports.merge = merge;
|
||
|
function propagateCloseEventToSources(streams) {
|
||
|
streams.forEach((stream) => stream.emit('close'));
|
||
|
}
|