CSV for Node.js

IssuesGitHub

Vanilla JavaScript (IIFE) for older browsers

Table of Contents

The IIFE distribution targets browsers which don't support ECMAScript modules.

The files are located inside the packages/csv/dist/iife folder. Import them inside your project or use NPM to download the package and to reference them.

It is globally available in the page context with:

  • Stream and callback API: stream_transform.transform(/* arguments */);
  • Sync API: stream_transform_sync.transform(/* arguments */);

Example

A working demo is available in the demo/browser directory.

With Express, expose the files with:

const app = express();
app.use('/lib/csv/',
  express.static(`node_modules/csv/dist/iife/`));
app.listen(3000);

The HTML code looks like:

<script src="/lib/csv/index.js"></script>
<script>
  csv
  // Generate 20 records
  .generate(/* arguments */)
  // Transform CSV data into records
  .pipe(csv.parse(/* arguments */))
  // Transform each value into uppercase
  .pipe(csv.transform(/* arguments */))
  // Convert objects into a stream
  .pipe(csv.stringify(/* arguments */))
  .pipe(/* consume the output */)
</script>

If you wish to use the sync API, use:

<script src="/lib/csv/sync.js"></script>
<script>
  const input = csv_sync.generate(/* arguments */);
  const rawRecords = csv_sync.parse(input, /* arguments */);
  const refinedRecords = csv_sync.transform(rawRecords, /* arguments */);
  const output = csv_sync.stringify(refinedRecords, /* arguments */);
</script>