vlad 6f123ff03e 18.07 | 6 år sedan | |
---|---|---|
.. | ||
node_modules | 6 år sedan | |
index.js | 6 år sedan | |
license | 6 år sedan | |
package.json | 6 år sedan | |
readme.md | 6 år sedan |
Buffer and transform the n first bytes of a stream
$ npm install --save first-chunk-stream
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'
}));
Returns a FirstChunkStream
instance.
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:
Type: number
How many bytes you want to buffer.
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.
MIT © Sindre Sorhus