Skip to content

Replacements for concat-stream ​

Utility Consumers (native, since Node.js 16.7.0) ​

Consuming as a string ​

js
import concat from 'concat-stream'
import { text } from 'node:stream/consumers'

readable.pipe(concat((data) => { 
  const str = data.toString('utf-8') 
  console.log(str) 
})) 

const str = await text(readable) 
console.log(str) 

Consuming as Buffer ​

js
import concat from 'concat-stream'
import { buffer } from 'node:stream/consumers'

readable.pipe(concat((data) => { 
  console.log(data.length) 
})) 

const data = await buffer(readable) 
console.log(data.length) 

Consuming as an Array ​

js
import concat from 'concat-stream'
import { toArray } from 'node:stream/consumers'

readable.pipe(concat({ encoding: 'object' }, (items) => { 
  console.log(items) 
})) 

const items = await toArray(readable) 
console.log(items) 

Alternatively, using an async iterable loop:

js
for await (const chunk of readable) {
  // ...
}

Released under the MIT License. (13757e3d)