
Product
Rust Support Now in Beta
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
chunking-streams
Advanced tools
A set of Node.js streams to process data in chunks
To intstall with NPM
npm install chunking-streams
To use with Node.JS
var chunkingStreams = require('chunking-streams');
var LineCounter = chunkingStreams.LineCounter;
var SeparatorChunker = chunkingStreams.SeparatorChunker;
var SizeChunker = chunkingStreams.SizeChunker;
// ad so on...
Simple TransformStream
which counts lines (\n
is a separator) and emit data chunks contains exactly specified number
of them.
new LineCounter({
numLines: 1, // number of lines in a single output chunk. 1 is default
flushTail: false // on stream end, flush or not remaining buffer. false is default
});
Split incoming data into chunks based on specified separator. After each separator found data chunk is emitted.
By default separator sequence is set to \n
, so it is equals to LineCounter with numLines: 1
new SeparatorChunker({
separator: '\n', // separator sequence
flushTail: false // on stream end, flush or not remaining buffer. false is default
});
Split streams into chunks having exactly specified number of bytes. It is object mode stream! Each data chunk is an object with the following fields:
Buffer
with dataSizeChunker has 2 additional events:
Both event handlers must accept two arguments:
If some tail data is not fit fully into specified chunk size, it can be emitted at the end if flushTail
flag is set.
new SizeChunker({
chunkSize: 1024 // must be a number greater than zero.
flushTail: true // flush or not remainder of an incoming stream. Defaults to false
});
var input = fs.createReadStream('./input'),
chunker = new SizeChunker({
chunkSize: 1024
}),
output;
chunker.on('chunkStart', function(id, done) {
output = fs.createWriteStream('./output-' + id);
done();
});
chunker.on('chunkEnd', function(id, done) {
output.end();
done();
});
chunker.on('data', function(chunk) {
output.write(chunk.data);
});
input.pipe(chunker);
INCOMPLETE
FAQs
NodeJS chunking streams
The npm package chunking-streams receives a total of 1,058 weekly downloads. As such, chunking-streams popularity was classified as popular.
We found that chunking-streams demonstrated a not healthy version release cadence and project activity because the last version was released 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.
Product
Socket's Rust support is moving to Beta: all users can scan Cargo projects and generate SBOMs, including Cargo.toml-only crates, with Rust-aware supply chain checks.
Product
Socket Fix 2.0 brings targeted CVE remediation, smarter upgrade planning, and broader ecosystem support to help developers get to zero alerts.
Security News
Socket CEO Feross Aboukhadijeh joins Risky Business Weekly to unpack recent npm phishing attacks, their limited impact, and the risks if attackers get smarter.