btree-range-store
v1.0.2
Published
Simple ordered key-value store with range queries, built on btree-core.
Maintainers
Readme
btree-range-store
Simple ordered key-value store with range queries, built on btree-core.
Install
npm install btree-range-storeUsage
const RangeStore = require('btree-range-store');
const store = new RangeStore();
store.set(100, 'Alice');
store.set(200, 'Bob');
store.set(300, 'Charlie');
store.set(400, 'Dana');
store.get(200); // 'Bob'
// Keys from 150 to 350 (inclusive)
store.range(150, 350);
// [[200, 'Bob'], [300, 'Charlie']]
store.rangeValues(100, 300);
// ['Alice', 'Bob', 'Charlie']
store.size; // 4Bulk load
store.setMany([
[1, 'one'],
[2, 'two'],
[3, 'three'],
]);Custom comparator
const byName = new RangeStore((a, b) => a.localeCompare(b));
byName.set('zeta', 1);
byName.set('alpha', 2);API
| Method | Description |
| --- | --- |
| set(key, value) | Insert or update |
| get(key) | Lookup value |
| has(key) | Check key exists |
| delete(key) | Remove key |
| clear() | Remove all entries |
| range(low, high, inclusive?) | Entries in key range |
| rangeValues(low, high, inclusive?) | Values in key range |
| setMany(entries) | Bulk insert |
| toArray() | All entries as array |
| size | Number of entries |
License
MIT
