2.2.0 • Published 3 years ago

stream-collect v2.2.0

Weekly downloads
979
License
ISC
Repository
github
Last release
3 years ago

Stream collect

npm version

Collects a readable streams data as a string, buffer or, for object streams, an array.

npm install stream-collect

collect.Collect(options)

Create a pass through stream with a collect() method and collect event.

const { Collect } = require('stream-collect');
const file = fs.createReadableStream('myfile');

// Collect using a promise
file.pipe(new Collect())
  .collect()
  .then(buffer => { /* use contents */ });

// Collect using an event
file.pipe(new Collect())
  .on('collect', buffer => { /* use contents */ });

// Collect as a string rather than a buffer
file.pipe(new Collect({ encoding: 'utf-8' }))
  .collect()
  .then(string => { /* use contents */ });

// Collect an object stream
file
  .pipe(new Transform({
    readableObjectMode: true,
    transform(chunk, encoding, callback) {
      chunk.toString().split('').forEach(char = this.push(char));
      callback();
    }
  })
  .pipe(new Collect())
  .on('collect', array => { /* -> array of characters */ });  

collect(stream, [encoding], [cb])

Collect a streams contents returning a promise or callback.

const collect = require('stream-collect');
const file = fs.createReadableStream('myfile');

// Collect using a promise
collect(file)
  .then(fileContents => { /* use contents */ });

// Collect using a callback
collect(file, (error, fileContents) => { /* use contents */ });

// Specify an encoding
collect(file, 'base64')
  .then(fileContents => { /* use contents */ });

collect.CollectObjects()

A Collect stream with objectMode set to true.

collect.addToStream(stream)

Augment any stream with a collect event.

Returns the augmented stream.

2.2.0

3 years ago

2.1.5

5 years ago

2.1.4

5 years ago

2.1.3

5 years ago

2.1.2

6 years ago

2.1.1

6 years ago

2.1.0

6 years ago

2.0.0

6 years ago

1.3.1

8 years ago

1.3.0

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.0

9 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago