'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'));
}