collect-all
v1.0.4
Published
Returns a stream which becomes readable once all input is received
Downloads
1,094,219
Maintainers
Readme
DEPRECATED. This package has been replaced by stream-read-all which does the same job but with a Promises interface.
collect-all
Returns a stream which fires a callback and becomes readable once all input is received.
By default the callback is invoked with a Buffer instance containing all concatenated input. If you set the option { objectMode: true }
the callback is invoked with an array containing all objects received.
collectAll([callback], [options]) ⇒ Duplex ⏏
Kind: Exported function
| Param | Type | Description |
| --- | --- | --- |
| [callback] | function | Called once with the collected input data (by default a Buffer
instance, or array in objectMode
.). The value returned by this callback function will be passed downstream. |
| [options] | object | Stream options object, passed to the constructor for the stream returned by collect-all
. If the callback function supplied returns a non-string/buffer value, set options.objectMode
to true
. |
Example
An example command-line client script - string input received at stdin is stamped with received
then written to stdout.
var collectAll = require('collect-all')
process.stdin
.pipe(collectAll(function (input) {
input = 'received: ' + input
return input
}))
.pipe(process.stdout)
An object-mode example:
var collectAll = require('collect-all')
function onAllCollected (collected) {
console.log('Objects collected: ' + collected.length)
}
var stream = collectAll(onAllCollected, { objectMode: true })
stream.write({})
stream.write({})
stream.end({}) // outputs 'Objects collected: 3'
© 2015-17 Lloyd Brookes <[email protected]>. Documented by jsdoc-to-markdown.