diff --git a/lib/internal/streams/operators.js b/lib/internal/streams/operators.js index 2649966fd403ac..f8f0bcb043d966 100644 --- a/lib/internal/streams/operators.js +++ b/lib/internal/streams/operators.js @@ -1,7 +1,6 @@ 'use strict'; const { AbortController } = require('internal/abort_controller'); -const { Buffer } = require('buffer'); const { codes: { @@ -185,9 +184,6 @@ async function toArray(options) { } ArrayPrototypePush(result, val); } - if (!this.readableObjectMode) { - return Buffer.concat(result); - } return result; } module.exports.streamReturningOperators = { diff --git a/test/parallel/test-stream-toArray.js b/test/parallel/test-stream-toArray.js index 3bd15e7c0fbf34..8cc2350edc11f8 100644 --- a/test/parallel/test-stream-toArray.js +++ b/test/parallel/test-stream-toArray.js @@ -24,14 +24,16 @@ const assert = require('assert'); } { - // Works on a non-object-mode stream and flattens it + // Works on a non-object-mode stream (async () => { + const firstBuffer = Buffer.from([1, 2, 3]); + const secondBuffer = Buffer.from([4, 5, 6]); const stream = Readable.from( - [Buffer.from([1, 2, 3]), Buffer.from([4, 5, 6])] - , { objectMode: false }); + [firstBuffer, secondBuffer], + { objectMode: false }); const result = await stream.toArray(); - assert.strictEqual(Buffer.isBuffer(result), true); - assert.deepStrictEqual(Array.from(result), [1, 2, 3, 4, 5, 6]); + assert.strictEqual(Array.isArray(result), true); + assert.deepStrictEqual(result, [firstBuffer, secondBuffer]); })().then(common.mustCall()); }