From b3d3b804557f144d69944fc42fb59663ce94ec06 Mon Sep 17 00:00:00 2001 From: Vignesh Shanmugam Date: Mon, 10 Sep 2018 19:43:27 +0200 Subject: [PATCH] (fix): handle streams in object mode while buffering (#258) --- lib/streams/stringifier-stream.js | 5 ++++- tests/streams/stringifier-stream.js | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/lib/streams/stringifier-stream.js b/lib/streams/stringifier-stream.js index da16d8e..ba27424 100644 --- a/lib/streams/stringifier-stream.js +++ b/lib/streams/stringifier-stream.js @@ -83,7 +83,10 @@ module.exports = class StringifierStream extends stream.Transform { // Consume streams in parallel if (st instanceof stream) { st.buffer = []; - const onData = data => st.buffer.push(data); + const onData = data => { + data = data instanceof Buffer ? data : Buffer.from(data); + st.buffer.push(data); + }; st.setMaxListeners(st.getMaxListeners() + 1); st.on('data', onData); diff --git a/tests/streams/stringifier-stream.js b/tests/streams/stringifier-stream.js index d8bac31..0f09a17 100644 --- a/tests/streams/stringifier-stream.js +++ b/tests/streams/stringifier-stream.js @@ -117,7 +117,7 @@ describe('Stringifier Stream', () => { let streams = [ new PassThrough(), new PassThrough(), - new PassThrough() + new PassThrough({ objectMode: true }) ]; const stream = new StringifierStream(tag => { if (tag && tag.name) {