Home

Awesome

level-live-stream

Stream live changes from levelup.

Build Status

Works just like LevelUp#readStream except instead of ending, it will stay open and stream changes to the database as they are inserted!

Just like the couchdb changes feed, but for any arbitrary range of keys!

see also, level-livefeed for the same idea, but with a streams2 api.


var level = require('level')

level('/tmp/level-live-stream', 
  {createIfMissing: true}, function (err, db) {

  var liveStream = require('level-live-stream')(db)

  liveStream
    .on('data', console.log)

  setInterval(function () {
    db.put('time', new Date().toString())

  }, 1000)

})

You can also attach liveStream as a method to the db like below. This will allow multilevel clients to use db.liveStream().

var LiveStream = require('level-live-stream');

// attach the `liveStream` method using `install`
LiveStream.install(db);

// then invoke the method using the `db` instance
db.liveStream()
  .on('data', console.dir);

options

LiveStream(db, {
  tail: true,   //follow
  old : true,   //get old records from data base
                //if old=false you will only get live updates
  min : loKey,  //lowest key in range
  max : hiKey,  //highest key in range
  reverse: true //stream in reverse (only applies to old records)
})

License

MIT