format-data

2.1.2 • Public • Published

format-data

Windows Mac/Linux
Windows Build status Build Status

Module for formatting tabular data from object streams in different standard ways. Supporting csv, ndjson, json and sse. Install with npm install format-data.

Usage

formatData(format, [opts])

The opts object will be passed to the underlying serializing module (see below).

or just pass an options object with format as a key.

formatData(opts)

full control of prefix, separator, suffix

You can pass a custom prefix, separator, or suffix to the stream builder for csv and json cases.

Examples:

## default separator for csv is ','
> formatData('csv')
'a,b\n1,2\nhello,world\n'
 
## change separator to a tab
> formatData({format: 'csv', separator: '\t'})
'a\tb\n1\t2\nhello\tworld\n'
 
## default object style finishes with }]
> formatData({
  format: 'json',
  style: 'object'
})
{"rows":[{"a":1,"b":2},{"a":"hello","b":"world"}]}
 
## custom suffix
> formatData({
  format: 'json',
  style: 'object',
  suffix: ', "next": "/api/rows?page=2"}'
})
{"rows":[{"a":1,"b":2},{"a":"hello","b":"world"}], "next": "/api/rows?page=2"}
 
## suffix still added in cases of error
> formatData({
  format: 'json',
  style: 'object',
  suffix: ', "next": "/api/rows?page=2"}'
})
{"rows":[], "error":"Oh no!", "next": "/api/rows?page=2"}
 

format

Formats and the used modules:

  • 'csv' - require('csv-write-stream')(opts)
  • 'ndjson' - require('ndjson').stringify(opts)
  • json - new require('./json.js')(opts)
  • sse - require('ssejson').serialize(opts)

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 2.1.2
    105
    • latest

Version History

Package Sidebar

Install

npm i format-data

Weekly Downloads

82

Version

2.1.2

License

MIT

Last publish

Collaborators

  • finnpauls
  • maxogden
  • karissa