1.0.0 • Published 11 years ago
level-change-processor v1.0.0
level-change-processor
Follows 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.
Usage
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) - achanges-feedinstanceworker(required) - a function (see below) that processes each changekey(defaultlatest) - a key to use to store the change state in thedbabovedbOptions(default{valueEncoding: 'utf8'}) - options to pass to thedb.getand.putcalls
example:
var processor = changeProcessor({
db: stateDb,
feed: feed,
worker: worker
})Worker function
A function that takes two arguments: (change, cb).
change will be an object with these properties:
change- this will be a jsNumberthat increments by 1 for every change, starting at1value- this will be the change payload that the changes feed writes to you. usually is aBufferbut depends on the feed
These are the two guaranteed properties. There may be other properties on change depending on the feed.
error handling
To catch errors attach a processor.on('error', errorHandler) event
1.0.0
11 years ago
