0.0.6 • Published 10 years ago
bplus-index v0.0.6
bplus-index
A JavaScript implementation of a B+tree structure.
A B+tree is very useful for fast lookups, ranges and sorting.
API
inject(key, value)
Adds a new value to the index at the given key.
| Argument | Type | Description |
|---|---|---|
| Key | String or Number | The key that the value will be indexed by |
| Value | String or Number | The value stored at the given key |
eject(key, value)
Removes a value from the index at the given key. If value is undefined, eject removes all values at the given key.
| Argument | Type | Description |
|---|---|---|
| Key | String or Number | The key where the value is stored |
| Value | String or Number | The value to be removed |
get(key)
Retrieves all values stored at given key
| Argument | Type | Description |
|---|---|---|
| Key | String or Number | The key to search for |
getAll(options)
Gets all values from the index sorted by key.
| Argument | Type | Description |
|---|---|---|
| options | object | see below |
options
| name | Type | Description | Default |
|---|---|---|---|
| sortDescending | Boolean | Sort values by key in descending order | False |
getRange(lowerBound, upperBound, options)
getRange will return all values where that value's key is in the specified range
| Argument | Type | Description |
|---|---|---|
| lowerBound | String or Number | The lower boundary of the range |
| upperBound | String or Number | The upper boundary of the range |
| options | object | see below |
options
| name | Type | Description | Default |
|---|---|---|---|
| lowerInclusive | Boolean | Include values where the key equals lowerBound | True |
| upperInclusive | Boolean | Include values where the key equals upperBound | False |
| sortDescending | Boolean | Sort values by key in descending order | False |
Running mocha tests
npm test
Running performance tests
npm install -g babel
babel-node benchmark.js
