Skip to content

pull-stream/pull-stringify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pull-stringify

JSON.stringify as pull stream

example

var pull = require('pull-stream')
var stringify = require('pull-stringify')
var toPull = require('stream-to-pull-stream')

pull(
  pull.values([A, B, C]),
  stringify(),
  toPull(process.stdout)
)

usage

stringify = require('pull-stringify')

pull(
  pull.values([A, B, C]),
  stringify.lines(),
  toPull(process.stdout)
)

stringify(options)

options is an object with the following optional keys:

  • open: string to be prepended to first output string
  • prefix: string to be prepended to every non-first output string
  • suffix: string to be appended to every output string
  • close: string to be appended after stream is complete
  • indent: passed as third argument to JSON.stringify
  • stringify: custom function to use instead of JSON.stringify

stringify(options) returns a through pull-stream.

defaults options are for double newline delimited json. double newline delimiting means you can use indented json as the stream format, which is more human readable.

{
  open: '',
  prefix: '',
  suffix: '\n\n',
  close: '',
  indent: 2,
  stringify: JSON.stringify
}

stringify.ldjson(stringify)

stringify.lines(stringify)

for single newline delimited json use stringify.ldjson() or stringify.lines():

{
  suffix: '\n',
  indent: 0
}

you can pass a custom stringify as an argument.

// compatible with JSON but supports buffers.
var JSONB = require('json-buffer')

// use defaults
stringify({ stringify: JSONB.stringify })

// or
stringify.lines(JSONB.stringify)

stringify.array(stringify)

for a single json array use stringify.array()

{
  open: '[',
  separator: ',\n',
  close: ']\n',
  indent: 2
}

License

MIT

About

JSON.stringify as pull stream

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published