MongoDB inspired interface for
IDBKeyRange
.
npm install --save idb-range
import range from 'idb-range'
range({ lte: 'a', gt: 'b' }) // IDBKeyRange {lower: "a", upper: "b", lowerOpen: true, upperOpen: true}
range({ gte: 'c' }) // IDBKeyRange {lower: "c", upper: undefined, lowerOpen: false, upperOpen: true}
// it accepts a specific value as a shortcut to IDBKeyRange.only
range('hello') // IDBKeyRange {lower: "hello", upper: "hello", lowerOpen: false, upperOpen: false}
// but it's more explicit to always use object notation
range({ eq: 'hello' })
// IDBKeyRange and no arguments are ignored
range(IDBKeyRange.only('hello')) // ignores IDBKeyRange instances
range() // null
Parse opts
to valid IDBKeyRange
.
Available options, when opts
is an object:
gt
- greaterlt
- lightergte
- greater equallte
- lighter equaleq
- equal