make using levelup reverse ranges easy

npm install level-fix-range
295 downloads in the last day
1 945 downloads in the last week
7 316 downloads in the last month


make reverse ranges easier to use.


Stable: Expect patches, possible features additions.


When you use reverse ranges, you have to reverse the start and end also,

db.createReadStream({start: 'a', end: 'z'})
db.createReadStream({start: 'z', end: 'a', reverse: true})

this is confusing and bug-ridden.

level-fix-range fixes the options so they always make sense. if you want a range to reverse, just set reverse.

var fix = require('level-fix-range')
db.createReadStream({start: 'a', end: 'z'})
db.createReadStream(fix({start: 'a', end: 'z', reverse: true}))

When you either start OR end, and the order is reversed: true, it will also reverse the range, so that:

{start: X, end: null} //from X to end of database
{start: null, end: X} //from start of database to X

and you will get the some data, whether you have reverse=true|false, but only the order will change.



npm loves you