Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lib
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Build Status

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.

About

Object transformations implementing the Node.js `stream.Transform` API

Resources

License

Packages

No packages published
You can’t perform that action at this time.