Skip to content

CSV stringifier implementing the Node.js `stream.Transform` API

License

Notifications You must be signed in to change notification settings

drdmitry/node-csv-stringify

 
 

Repository files navigation

Build Status

This package is a stringifier converting records into a CSV text and implementing the Node.js stream.Transform API. It also provides the easier synchronous and callback-based APIs for conveniency. It is both extremely easy to use and powerful. It was first released in 2010 and is tested against big data sets by a large community.

Documentation

Main features

  • Follow the Node.js streaming API
  • Simplicity with the optional callback API
  • Support for custom formatters, delimiters, quotes, escape characters and header
  • Support big datasets
  • Complete test coverage and samples for inspiration
  • Only 1 external dependency
  • to be used conjointly with csv-generate, csv-parse and stream-transform
  • MIT License

Usage

The module is built on the Node.js Stream API. For the sake of simplicity, a simple callback API is also provided. To give you a quick look, here's an example of the callback API:

var stringify = require('csv-stringify');

input = [ [ '1', '2', '3', '4' ], [ 'a', 'b', 'c', 'd' ] ];
stringify(input, function(err, output){
  output.should.eql('1,2,3,4\na,b,c,d\n');
});

Development

Tests are executed with mocha. To install it, 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 build.

The test suite is run online with Travis. See the Travis definition file to view the tested Node.js version.

Contributors

About

CSV stringifier implementing the Node.js `stream.Transform` API

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 56.2%
  • CoffeeScript 40.3%
  • TypeScript 3.5%