csv-generate
TypeScript icon, indicating that this package has built-in type declarations

4.4.0 • Public • Published

CSV generator for Node.js and the web

Build Status NPM NPM

The csv-generate package provides a flexible generator of random CSV strings and Javascript objects implementing the Node.js stream.Readable API. It is part of the CSV project.

Documentation

Main features

  • Scalable stream.Readable implementation
  • random or pseudo-random seed based generation
  • Idempotence with the "seed" option
  • User-defined value generation
  • Multiple types of values (integer, boolean, dates, ...)
  • MIT License

Usage

Run npm install csv to install the full CSV module or run npm install csv-generate if you are only interested by the CSV generator.

Use the callback and sync APIs for simplicity or the stream based API for scalability.

Example

The API is available in multiple flavors. This example illustrates the stream API.

import { generate } from 'csv-generate';
import assert from 'assert';

const records = [];
// Initialize the generator
generate({
  seed: 1,
  objectMode: true,
  columns: 2,
  length: 2
})
  // Use the readable stream api to consume generated records
  .on('readable', function(){
    let record; while((record = this.read()) !== null){
      records.push(record);
    }
  })
  // Catch any error
  .on('error', function(err){
    console.error(err);
  })
  // Test that the generated records matched the expected records
  .on('end', function(){
    assert.deepEqual(records, [
      [ 'OMH', 'ONKCHhJmjadoA' ],
      [ 'D', 'GeACHiN' ]
    ]);
  });

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.

Contributors

The project is sponsored by Adaltas, an Big Data consulting firm based in Paris, France.

Package Sidebar

Install

npm i csv-generate

Weekly Downloads

1,166,700

Version

4.4.0

License

MIT

Unpacked Size

1.2 MB

Total Files

30

Last publish

Collaborators

  • david