1.1.2 • Published 9 years ago
parallel-stream v1.1.2
parallel-stream
Transform and writable streams capable of processing chunks concurrently.
Usage
transform
A concurrent transform stream
Parameters
workfunction a function to process a single chunk. Function signature should beprocess(chunk, enc, callback). When finished processing, fire the providedcallback.optionsobject options to pass to the transform stream. (optional, defaultundefined)options.concurrencynumber number of chunks to process concurrently. (optional, default1)
Examples
var parallel = require('parallel-stream');
var transform = parallel.transform(function(chunk, enc, callback) {
processAsync(chunk)
.on('done', function(processedData) {
callback(null, processedData);
});
}, { objectMode: true, concurrency: 15 });
readable.pipe(transform)
.on('data', function(data) {
console.log('got processed data: %j', data);
})
.on('end', function() {
console.log('complete!');
});Returns object a transform stream. Do not override the ._transform function.
writable
A concurrent writable stream
Parameters
workfunction a function to process a single chunk. Function signature should beprocess(chunk, enc, callback). When finished processing, fire the providedcallback.flushfunction a function to run once all chunks have been processed, but before the stream emits afinishedevent. Function signature should beflush(callback), fire the providedcallbackwhen complete. (optional, defaultundefined)optionsobject options to pass to the writable stream. (optional, defaultundefined)options.concurrencynumber number of chunks to process concurrently. (optional, default1)
Examples
var parallel = require('parallel-stream');
var writable = parallel.writable(function(chunk, enc, callback) {
processAsync(chunk)
.on('done', callback);
}, { objectMode: true, concurrency: 15 });
readable.pipe(writable)
.on('finish', function() {
console.log('complete!');
});Returns object a writable stream. Do not override the ._write function.