1.6 KiB
1.6 KiB
first-chunk-stream
Buffer and transform the n first bytes of a stream
Install
$ npm install --save first-chunk-stream
Usage
const fs = require('fs');
const concatStream = require('concat-stream');
const firstChunkStream = require('first-chunk-stream');
// unicorn.txt => unicorn rainbow
fs.createReadStream('unicorn.txt')
.pipe(firstChunkStream({chunkLength: 7}, function (chunk, enc, cb) {
this.push(chunk.toUpperCase());
cb();
}))
.pipe(concatStream(function (data) {
if (data.length < 7) {
throw new Error('Couldn\'t get the minimum required first chunk length');
}
console.log(data);
//=> 'UNICORN rainbow'
}));
API
firstChunkStream([options], transform)
Returns a FirstChunkStream
instance.
options
The options object is passed to the Duplex
stream constructor allowing you to customize your stream behavior. In addition you can specify the following option:
chunkLength
Type: number
How many bytes you want to buffer.
transform(chunk, encoding, callback)
Type: function
The function that gets the required options.chunkLength
bytes.
Note that the buffer can have a smaller length than the required one. In that case, it will be due to the fact that the complete stream contents has a length less than the òptions.chunkLength
value. You should check for this yourself if you strictly depend on the length.
License
MIT © Sindre Sorhus