jstream

1.1.1 • Public • Published

node-jstream

Continuously reads in JSON and outputs Javascript objects. Meant to be used with keep-alive connections that send back JSON on updates.

Build Status Dependency Status codecov

Usage

const JStream = require('jstream');
const request = require('request');
 
request('http://api.myhost.com/updates.json')
  .pipe(new JStream()).on('data', (obj) => {
    console.log('new js object');
    console.log(obj);
  });

API

new JStream([path])

Creates an instance of JStream. Inherits from Stream. Can be written to and emits data events with Javascript objects.

path can be an array of property names, RegExp's, booleans, and/or functions. Objects that match will be emitted in data events. Passing no path means emitting whole Javascript objects as they come in. For example, given the path ['results', true, 'id'] and the following JSON gets written into JStream

{ "results": [
  {"seq":99230
  ,"id":"newsemitter"
  ,"changes":[{"rev":"5-aca7782ab6beeaef30c36b888f817d2e"}]}
, {"seq":99235
  ,"id":"chain-tiny"
  ,"changes":[{"rev":"19-82224279a743d2744f10d52697cdaea9"}]}
, {"seq":99238
  ,"id":"Hanzi"
  ,"changes":[{"rev":"4-5ed20f975bd563ae5d1c8c1d574fe24c"}],"deleted":true}
] }

JStream will emit newsemitter, chain-tiny, and Hanzi in its data event.

JStream.MAX_BUFFER_LENGTH

Defaults to 64 * 1024.

Install

npm install jstream

Tests

Tests are written with mocha

npm test

Dependents (8)

Package Sidebar

Install

npm i jstream

Weekly Downloads

169

Version

1.1.1

License

MIT

Unpacked Size

8.07 kB

Total Files

4

Last publish

Collaborators

  • fent