minipass-collect
Advanced tools
Weekly downloads
Readme
A Minipass stream that collects all the data into a single chunk
Note that this buffers ALL data written to it, so it's only good for situations where you are sure the entire stream fits in memory.
Note: this is primarily useful for the Collect.PassThrough
class, since
Minipass streams already have a .collect()
method which returns a promise
that resolves to the array of chunks, and a .concat()
method that returns
the data concatenated into a single Buffer or String.
const Collect = require('minipass-collect')
const collector = new Collect()
collector.on('data', allTheData => {
console.log('all the data!', allTheData)
})
someSourceOfData.pipe(collector)
// note that you can also simply do:
someSourceOfData.pipe(new Minipass()).concat().then(data => ...)
// or even, if someSourceOfData is a Minipass:
someSourceOfData.concat().then(data => ...)
// but you might prefer to have it stream-shaped rather than
// Promise-shaped in some scenarios.
If you want to collect the data, but also act as a passthrough stream,
then use Collect.PassThrough
instead (for example to memoize streaming
responses), and listen on the collect
event.
const Collect = require('minipass-collect')
const collector = new Collect.PassThrough()
collector.on('collect', allTheData => {
console.log('all the data!', allTheData)
})
someSourceOfData.pipe(collector).pipe(someOtherStream)
All minipass options are supported.
FAQs
A Minipass stream that collects all the data into a single chunk
The npm package minipass-collect receives a total of 9,623,132 weekly downloads. As such, minipass-collect popularity was classified as popular.
We found that minipass-collect demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.