JSON.stringify as pull stream
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)
)
pull(
pull.values([A, B, C]),
stringify.lines(),
toPull(process.stdout)
)
options
is an object with the following optional keys:
open
: string to be prepended to first output stringprefix
: string to be prepended to every non-first output stringsuffix
: string to be appended to every output stringclose
: string to be appended after stream is completeindent
: passed as third argument toJSON.stringify
stringify
: custom function to use instead ofJSON.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
}
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)
for a single json array use stringify.array()
{
open: '[',
separator: ',\n',
close: ']\n',
indent: 2
}
MIT