linx-simulator2/node_modules/stream-chunker/README.md

66 lines
2.5 KiB
Markdown
Raw Normal View History

2019-09-18 08:11:16 +00:00
# stream-chunker
A transform stream which chunks incoming data into `chunkSize` byte chunks.
[![NPM](https://nodei.co/npm/stream-chunker.png)](https://nodei.co/npm/stream-chunker/)
[![Build Status](https://travis-ci.org/klyngbaek/stream-chunker.svg?branch=master)](https://travis-ci.org/klyngbaek/stream-chunker)
[![Coverage Status](https://coveralls.io/repos/github/klyngbaek/stream-chunker/badge.svg?branch=master)](https://coveralls.io/github/klyngbaek/stream-chunker?branch=master)
[![Dependency Status](https://david-dm.org/klyngbaek/stream-chunker.svg)](https://david-dm.org/klyngbaek/stream-chunker)
[![devDependency Status](https://david-dm.org/klyngbaek/stream-chunker/dev-status.svg)](https://david-dm.org/klyngbaek/stream-chunker#info=devDependencies)
## 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`.
- `align`: `boolean` - Optional. Pad incomplete chunk data on stream end. Should be used in combination with `flush`. Default is `false`.
- `encoding`: `string` - Optional. Encoding of String chunks. Must be a valid Buffer encoding, such as `utf8` or `ascii`.
## Simple Example
```javascript
var fs = require('fs');
var chunker = require('stream-chunker');
fs.createReadStream('/someFile')
.pipe(chunker(16))
.pipe(somethingThatExpects16ByteChunks());
```
## Full Working Example
```javascript
// Create sample input stream with 10 byte chunks
var Lorem = require('loremipstream');
var sampleStream = new Lorem({
size: 100,
dataSize: 10,
dataInteval: 100
});
// Create stream chunker with 16 byte chunks
var Chunker = require('stream-chunker');
var opts = {
flush: true,
encoding: 'utf8'
};
var chunker = Chunker(16, opts);
// make sure to add any data event listeners to chunker stream
// before you write any data to it
chunker.on('data', function(data) {
// do something with a chunk of data
// notice the last chunk is the flushed data
console.log('Chunk: ' + data);
});
sampleStream.pipe(chunker); // write some data to chunker to get chunked
```
## License
MIT