From 0abd4f0861b50d78bef3cfc6fa1db6b5fdf12025 Mon Sep 17 00:00:00 2001 From: Robert Nagy Date: Sat, 18 Jan 2020 09:59:25 +0100 Subject: [PATCH] stream: simplify pipeline PR-URL: #31316 Reviewed-By: Anna Henningsen Reviewed-By: Matteo Collina Reviewed-By: Rich Trott Reviewed-By: Minwoo Jung Backport-PR-URL: https://github.com/nodejs/node/pull/32174 --- lib/internal/streams/pipeline.js | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/lib/internal/streams/pipeline.js b/lib/internal/streams/pipeline.js index 3e9915c24f26b7..29b6be7b864087 100644 --- a/lib/internal/streams/pipeline.js +++ b/lib/internal/streams/pipeline.js @@ -97,39 +97,19 @@ function makeAsyncIterable(val) { return val; } else if (isReadable(val)) { // Legacy streams are not Iterable. - return _fromReadable(val); + return fromReadable(val); } else { throw new ERR_INVALID_ARG_TYPE( 'val', ['Readable', 'Iterable', 'AsyncIterable'], val); } } -async function* _fromReadable(val) { +async function* fromReadable(val) { if (!createReadableStreamAsyncIterator) { createReadableStreamAsyncIterator = require('internal/streams/async_iterator'); } - - try { - if (typeof val.read !== 'function') { - // createReadableStreamAsyncIterator does not support - // v1 streams. Convert it into a v2 stream. - - if (!PassThrough) { - PassThrough = require('_stream_passthrough'); - } - - const pt = new PassThrough(); - val - .on('error', (err) => pt.destroy(err)) - .pipe(pt); - yield* createReadableStreamAsyncIterator(pt); - } else { - yield* createReadableStreamAsyncIterator(val); - } - } finally { - destroyStream(val); - } + yield* createReadableStreamAsyncIterator(val); } async function pump(iterable, writable, finish) {