Socket
Socket
Sign inDemoInstall

@npmcorp/changes-stream

Package Overview
Dependencies
4
Maintainers
52
Versions
4
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @npmcorp/changes-stream

Stream changes from CouchDB via the /_changes api


Version published
Weekly downloads
7
decreased by-12.5%
Maintainers
52
Install size
82.2 kB
Created
Weekly downloads
 

Readme

Source

changes-stream

Forked from https://github.com/jcrugzz/changes-stream

A fault tolerant changes stream with builtin retry.

Inspired by [follow][https://github.com/iriscouch/follow].

Notes

Attaching a 'readable' listener is not supported (yet).

Install

$ npm install @npmcorp/changes-stream --save

Test

# Standup a container with a CouchDB instance
$ npm run docker:fresh
$ npm test

# To enable debug logging from ./index.js:
$ DEBUG=changes-stream npm test

Alternatively, use COUCH_URI to point to an existing CouchDB.

$ COUCH_URI=http://user:pass@example-couch.com:5984/changes_stream_db \
   npm test

Options

Options to customize _changes request.

{
  // full database URL
  db: 'http://localhost:5984/my_db',

  // Can also be longpoll technically but not currently implemented
  feed: 'continuous',

  // Can be a defined couchdb view, a local filter function or an array of IDs
  filter: 'docs/whatever',

  // How long to wait before retrying the request
  inactivity_ms: 60 * 60 * 1000,

  // How long (in milliseconds) CouchDB should wait for a change before closing
  // the feed
  timeout: undefined,

  // http timeout
  requestTimeout: 2 * 60 * 1000,

  // http agent
  agent: undefined,

  // update sequence to start from, 'now' will start it from latest
  since: 0,

  // how often (in milliseconds) we want couchdb to send us a heartbeat message
  heartbeat: 30 * 1000,

  // { main_only | all_docs }
  // Specifies how many revisions are returned in the changes array. The default,
  // main_only, will only return the current “winning” revision; all_docs will
  // return all leaf revisions (including conflicts and deleted former conflicts.)
  style: 'main_only',

  // whether or not we want to return the full document as a property
  include_docs: false,

  // custom arbitrary params to send in request e.g. { hello: 'world' }
  query_params: {},

  // switch the default HTTP method to POST (cannot be used with a filter array)
  use_post: false
}

Keywords

FAQs

Last updated on 18 Jan 2021

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc