Как собрать два потока в один?
Есть такая функция:
function test() {
const gzip = createGzip();
const write = fs.createWriteStream('./2.zip');
}
Необходимо из нее вернуть один поток, который будет включать и gzip и write в себе, что бы можно было передавать в него так:
const singleStream = test();
const read = fs.createReadStream('./1.png');
read.pipe(singleStream)
или
pipeline(read, singleStream)
Ответы (1 шт):
Автор решения: Lasna
→ Ссылка
Сделал так:
import { PassThrough } from 'stream';
export function merge(...writableStreams) {
const merged = new PassThrough();
writableStreams.forEach((writableStream) => {
merged.pipe(writableStream);
});
return merged;
}