Files
2025-07-08 14:47:27 +02:00
..
2025-07-08 14:47:27 +02:00
2025-07-08 14:47:27 +02:00
2025-07-08 14:47:27 +02:00
2025-07-08 14:47:27 +02:00

first-chunk-stream Build Status

Buffer and transform the n first bytes of a stream

Install

$ npm install first-chunk-stream

Usage

const fs = require('fs');
const getStream = require('get-stream');
const FirstChunkStream = require('first-chunk-stream');

// unicorn.txt => unicorn rainbow
const stream = fs.createReadStream('unicorn.txt')
	.pipe(new FirstChunkStream({chunkLength: 7}, (error, chunk, encoding, callback) => {
		if (error) {
			callback(error);
			return;
		}

		callback(null, chunk.toString(encoding).toUpperCase());
	}));

(async () => {
	const data = await getStream(stream);

	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.

transform(error, 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 options.chunkLength value. You should check for this yourself if you strictly depend on the length.

options

Type: object

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.

License

MIT © Sindre Sorhus