rummage
stream friendly JSON.stringify
installation
npm install rummage
example
var fs = var rummage = // produces '{"message":"contents of message.txt\n"}'
special types
By default stream data is concatenated and output as a string, as per the above example. However, there are special instructions to treat streams as arrays, objects or raw JSON.
Imagine you want to retrieve a list of newline-delimited messages from a file and output them as JSON:
var fs = var rummage = var split = { return fs} // produces '{"messages":["message 1","message 2","message 3"]}\n'
Or as an object:
var fs = var rummage = var split = var through = { return fs // transform so that we get [key, value] for each message { var key = chunk }} // produces '{"messages":{"1":"message 1","2":"message 2","3":"message 3"]}\n'
And lastly, as raw JSON:
var fs = var rummage = { return fs} // produces '{"messages":{"1":"message 1","2":"message 2","3":"message 3"]}\n'
api
var stream = rummage(value)
Return a new readable stream
of JSON from value
If a stream is encountered within value
, or value
is itself a stream, its data will be concatenated and output as a string by default. This behaviour can be overridden using special types, which are:
_string
- outputvalue
as a string (default)_json
- outputvalue
as raw JSON_array
- outputvalue
as an array_object
- outputvalue
as an object. Each chunk ofvalue
must be an array consisting of[key, value]
See above for examples
similar modules
license
MIT