$ npm install level-change-processorFollows a changes-feed and processes each entry, storing state in a levelup. Automatically handles resuming the changes processing from where it left off when restarted.
Designed for creating secondary indexes with leveldb but can be used in many different applications.
require('level-change-processor')(opts)Construct a new change processor instance.
opts is an object:
db (required) - a levelup to store the change state infeed (required) - a changes-feed instanceworker (required) - a function (see below) that processes each changekey (default latest) - a key to use to store the change state in the db abovedbOptions (default {valueEncoding: 'utf8'}) - options to pass to the db .get and .put callsexample:
var processor = changeProcessor({
db: stateDb,
feed: feed,
worker: worker
})
A function that takes two arguments: (change, cb).
change will be an object with these properties:
change - this will be a js Number that increments by 1 for every change, starting at 1value - this will be the change payload that the changes feed writes to you. usually is a Buffer but depends on the feedThese are the two guaranteed properties. There may be other properties on change depending on the feed.
To catch errors attach a processor.on('error', errorHandler) event