0.2.0 • Published 9 years ago

parse-concat-stream v0.2.0

Weekly downloads
2
License
MIT
Repository
github
Last release
9 years ago

parse-concat-stream Build Status Dependency Status DevDependency Status

npm

The simplest possible combination of concat-stream and native JSON.parse. It provides callback interface just like concat-stream does and accepts custom parser functions.

Example

> stread('{ "foo": 1, "bar": [2, 3] }')
    .pipe(parseConcat(function (err, data) {
      if (err) throw err;
      console.log(JSON.stringify(data, null, 1));
    }));
{
 "foo": 1,
 "bar": [
  2,
  3
 ]
}

Custom parser:

> var caps = function (string) {
    return (string.match(/[A-Z]/g) || []).join('').toLowerCase();
  };
> stread('   {\nMEdiS]]\n} SorAs    \tGEt')
    .pipe(parseConcat({ parse: caps }, function (err, data) {
      if (err) throw err;
      console.log(JSON.stringify(data));
    }));
"message"

API

parseConcat(opts, cb(err, data))

Return a writable stream, run cb once it closes.

data is JSON.parsed by default, unless custom opts.parse is provided.

null is a shorthand for the identity function, so that

parseConcat({ parse: null }, cb);

is equivalent to

require('concat-stream')({ encoding: 'string' }, cb.bind(null, null));
OptionTypeRequired?Default
parsefunction(string)NoJSON.parse

Install

npm install parse-concat-stream

License

MIT