18 lines
646 B
JavaScript
18 lines
646 B
JavaScript
|
"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'));
|
||
|
}
|