☯️ Transforms to parse and stringify ndjson
☯️ Transforms to parse and stringify ndjson.
This module also works in the browser using a naive
stream
shim for
small Browserify bundles.
To stringify an object stream into ndjson:
const StringifyTransform = require('@studio/ndjson/stringify');
object_stream.pipe(new StringifyTransform()).pipe(process.stdout);
To parse ndjson into an object stream:
const ParseTransform = require('@studio/ndjson/parse');
process.stdin.pipe(new ParseTransform()).pipe(object_stream);
❯ npm i @studio/ndjson
Require the transform you need:
@studio/ndjson/stringify
: Exports the StringifyTransform
class which@studio/ndjson/parse
: Exports the ParseTransform
class which readsThe module main exports StringifyTransform
and ParseTransform
if you need
both:
const { StringifyTransform, ParseTransform } = require('@studio/ndjson');
The ParseTransform
constructor accepts an options
object with these
properties:
loose
: Whether to ignore data before the first {
in each line.loose_out
: A stream to receive data that was found before the first {
inloose
.If JSON.parse
or JSON.stringify
throw an error, the transform emits anerror
event with the error object having a code
property withERR_JSON_PARSE
or ERR_JSON_STRINGIFY
. For parse errors, the line
property
on the error is the string that could not be parsed.
stream
shim for small BrowserifyMIT