Ninety Percent Muffin

    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)

    Install

    npm i format-data

    DownloadsWeekly Downloads

    708

    Version

    2.1.2

    License

    MIT

    Last publish

    Collaborators

    • finnpauls
    • maxogden
    • karissa