level-probe

0.0.2 • Public • Published

level-probe

Get the first result in a range, using an iterator or stream.

npm status Travis build status AppVeyor build status Dependency status

example

const probe = require('level-probe')
const disk = require('test-level')({ clean: true })

const db = disk()

db.batch([
  { key: 'a', value: 'value a' },
  { key: 'b', value: 'value b' },
  { key: 'c', value: 'value c' }
], function(err) {
  probe(db, { gte: 'b' }, function(err, kv){
    console.log(kv)
  })

  probe.value(db, { lt: 'x', reverse: true }, function(err, val){
    console.log(val)
  })

  probe(db, { gt: 'd', lt: 'x' }, function(err){
    console.log(err.message)
    console.log(err.notFound)
  })
})

Output:

{ key: 'b', value: 'value b' }
value c
No result in range { gt: "d", lt: "x" }
true

probe(db, [opts], callback)

  • If opts.iterate is false, level-probe will use a stream. If true, it will use an iterator or throw if iterators are not available. If not specified, it will prefer iterators and fall back to streams.
  • Other options are passed to level-iterator or db.createReadStream()

probe.key(db, [opts], callback)

Shortcut to probe(db, { values: false }, callback).

probe.value(db, [opts], callback)

Shortcut to probe(db, { keys: false }, callback).

install

With npm do:

npm install level-probe

license

MIT © Vincent Weevers

Package Sidebar

Install

npm i level-probe

Weekly Downloads

0

Version

0.0.2

License

MIT

Last publish

Collaborators

  • vweevers