Security News
tea.xyz Spam Plagues npm and RubyGems Package Registries
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
minipass-collect
Advanced tools
Package description
The minipass-collect package is a Node.js stream utility that collects all the data from a stream and then emits a 'collect' event with the collected data. It is built on top of the Minipass stream library, which is a minimal pass-through stream implementation.
Data collection from streams
This feature allows you to collect all the data from a stream. When the stream ends, the 'collect' event is emitted with the collected data as its argument.
const Collect = require('minipass-collect')
const collectStream = new Collect()
collectStream.on('collect', data => {
console.log('Collected data:', data)
})
collectStream.write('some data')
collectStream.end()
concat-stream is a writable stream that concatenates all the data from a stream and calls a callback with the result. It is similar to minipass-collect but uses callbacks instead of emitting an event.
Buffer List (bl) is a storage object for collections of Node Buffers, which can also be a stream. It is similar to minipass-collect in that it collects stream data, but it also provides more features for manipulating the collected data.
get-stream is a module to get a stream as a string or buffer. It's similar to minipass-collect but focuses on promise-based API and does not use events.
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 12,396,849 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 for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Tea.xyz, a crypto project aimed at rewarding open source contributions, is once again facing backlash due to an influx of spam packages flooding public package registries.
Security News
As cyber threats become more autonomous, AI-powered defenses are crucial for businesses to stay ahead of attackers who can exploit software vulnerabilities at scale.
Security News
UnitedHealth Group disclosed that the ransomware attack on Change Healthcare compromised protected health information for millions in the U.S., with estimated costs to the company expected to reach $1 billion.