Skip to content

imclab/level-live-stream

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published