2.5 KiB
Part of the CSV module, this project is a simple object transformation framework. It implements the Node.js stream.Transform
API. It also provides a simple callback-based API for convenience. It is both extremely easy to use and powerful.
Documentation
Features
- Extends the native Node.js transform stream API
- Simplicity with the optional callback and sync API
- Pipe transformations between readable and writable streams
- Synchronous versus asynchronous user functions
- Sequential and parallel execution
- Accept object, array or JSON as input and output
- Sequential or user-defined concurrent execution
- Skip and multiply records
- Alter or clone input records
- MIT License
Usage
The module is built on the Node.js Stream API. For the sake of simplify, a simple callback API is also provided. To give you a quick look, here's an example of the callback API:
var transform = require('stream-transform');
input = [ [ '1', '2', '3', '4' ], [ 'a', 'b', 'c', 'd' ] ];
transform(input, function(data){
data.push(data.shift());
return data.join(',')+'\n';
}, function(err, output){
output.should.eql([ '2,3,4,1\n', 'b,c,d,a\n' ]);
});
Development
Tests are executed with mocha. To install it, simple run npm install
followed by npm test
. It will install mocha and its dependencies in your project "node_modules" directory and run the test suite. The tests run against the CoffeeScript source files.
To generate the JavaScript files, run npm run coffee
.
The test suite is run online with Travis. See the Travis definition file to view the tested Node.js version.