Skip to content

Rmafive/node-stream-transform

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 for the "csv-parse" package is available here.

Features

  • Follow the Node.js streaming API
  • Simplicity with the optional callback API
  • Synchronous and asynchronous user handler functions
  • Accepts arrays of strings, or arrays of objects as input
  • Sequential or user-defined concurrent execution
  • Skip and create new records
  • Alter or clone input data
  • BSD License

Usage

Refer to the project webpage for an exhaustive list of options and some usage examples.

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 against the versions 0.10, 0.11 and 0.12 of Node.js.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 76.8%
  • JavaScript 23.2%