stream-chunker
A transform stream which chunks incoming data into chunkSize
byte chunks.
![build status](https://secure.travis-ci.org/klyngbaek/stream-chunker.png)
![NPM](https://nodei.co/npm/stream-chunker.png)
API
var chunker = require('stream-chunker')(chunkSize, [opts])
Returns a new chunker. Chunker is a duplex (transform) stream. You can write data into the
chunker, and regardless of the incoming data, the readable side will emit data
in chunkSize
byte chunks. This modules has no notion of objectMode
, everything
written to this stream must be a string
or a buffer
.
chunkSize
: integer
- Size in bytes of the desired chunks.opts
flush
: boolean
- Optional. Flush incomplete chunk data on stream end. Default is false
.encoding
: string
- Optional. Encoding of String chunks. Must be a valid Buffer encoding, such as utf8
or ascii
.
Simple Example
var fs = require('fs');
var chunker = require('stream-chunker');
fs.createReadStream('/someFile')
.pipe(chunker(16))
.pipe(somethingThatExpects16ByteChunks());
Full Working Example
var Lorem = require('loremipstream');
var sampleStream = new Lorem({
size: 100,
dataSize: 10,
dataInteval: 100
});
var Chunker = require('stream-chunker');
var opts = {
flush: true,
encoding: 'utf8'
};
var chunker = Chunker(16, opts);
chunker.on('data', function(data) {
console.log('Chunk: ' + data);
});
sampleStream.pipe(chunker);
License
MIT