0.5.2 • Published 11 years ago

range-index v0.5.2

Weekly downloads
2
License
-
Repository
github
Last release
11 years ago

range

levelup based range index

install

npm install [--save/--save-dev] range-index

examples

data set

IDNAMEAGESEX
1Divina Ventimiglia7F
2Nakisha Robuck54F
3Amira Markus18F
4Mohamed Kincannon60M
5Juana Ardon23F
6Hyon Davie60F
7Estell Cromer18F
8Jacob Neeley13M
9Carlene Weatherman42F
10Carie Markland7F

age/id range index

AGEID
71, 10
138
183, 7
235
429
542
604, 6

as seen in Database Indexes for The Inquisitive Mind

data set

DOCUMENTCOUNTRIES
AAustralia, Canada, Portugal
BCanada, Portugal, Togo
CAlgeria, Canada, Portugal, Togo
DAlgeria, Canada, Togo
ECanada, Togo
FTogo

country/document range index

COUNTRYDOCUMENTS
AlgeriaC, D
AustraliaA
CanadaA, B, C, D, E
PortugalA, B, C
TogoB, C, D, E, F

api

var range = require('range-index');

index range(string: location)

var age = range('path/to/location');

void index.put(string/number: value, *: key, function: callback)

age.put(18, 7, function (e) {
  if(e) throw e;
  console.log('index saved successfully');
});

countries.put('Portugal', 'A', function (e) {
  if(e) throw e;
  console.log('index saved successfully');
});

stream index.get(string/number: index)

var user = age.get(18);

user.on('data', function (data) {
  assert(data.value == [3, 7]);
  assert(data.key == 18);
});

user.on('error', function (e) {
  throw e;
});

user.on('close', function () {
  console.log('Stream closed')
});

user.on('end', function () {
  console.log('Stream closed')
});

var country = countries.get('Portugal');

user.on('data', function (data) {
  assert(data.value == ['A', 'B', 'C']);
  assert(data.key == 'Portugal');
});

user.on('error', function (e) {
  throw e;
});

user.on('close', function () {
  console.log('Stream closed')
});

user.on('end', function () {
  console.log('Stream closed')
});

index.all()

var users = age.all();

users.on('data', function (data) {
  console.log('Age: ', data.key, 'ID\'s: ', data.value)
});

user.on('error', function (e) {
  throw e;
});

user.on('close', function () {
  console.log('Stream closed')
});

user.on('end', function () {
  console.log('Stream closed')
});

index.from(start)

var users = age.from(54);

users.on('data', function (data) {
  console.log('Age: ', data.key, 'ID\'s: ', data.value)
});

user.on('error', function (e) {
  throw e;
});

user.on('close', function () {
  console.log('Stream closed')
});

user.on('end', function () {
  console.log('Stream closed')
});

returned indexes:

AGEID
542
604, 6

var from_countries = countries.from('P');

from_countries.on('data', function (data) {
  console.log('Age: ', data.key, 'ID\'s: ', data.value)
});

from_countries.on('error', function (e) {
  throw e;
});

from_countries.on('close', function () {
  console.log('Stream closed')
});

from_countries.on('end', function () {
  console.log('Stream closed')
});

returned indexes:

COUNTRYDOCUMENTS
PortugalA, B, C
TogoB, C, D, E, F

index.between(start, end)

var users = age.between(13, 23);

users.on('data', function (data) {
  console.log('Age: ', data.key, 'ID\'s: ', data.value)
});

user.on('error', function (e) {
  throw e;
});

user.on('close', function () {
  console.log('Stream closed')
});

user.on('end', function () {
  console.log('Stream closed')
});

returned indexes:

AGEID
138
183, 7
235

var between_countries = countries.between('A', 'C');

from_countries.on('data', function (data) {
  console.log('Age: ', data.key, 'ID\'s: ', data.value)
});

from_countries.on('error', function (e) {
  throw e;
});

from_countries.on('close', function () {
  console.log('Stream closed')
});

from_countries.on('end', function () {
  console.log('Stream closed')
});

returned indexes:

COUNTRYDOCUMENTS
AlgeriaC, D
AustraliaA

index.until(end)

var users = age.until(18);

users.on('data', function (data) {
  console.log('Age: ', data.key, 'ID\'s: ', data.value)
});

user.on('error', function (e) {
  throw e;
});

user.on('close', function () {
  console.log('Stream closed')
});

user.on('end', function () {
  console.log('Stream closed')
});

returned indexes:

AGEID
71, 10
138
183, 7

var from_countries = countries.until('P');

from_countries.on('data', function (data) {
  console.log('Age: ', data.key, 'ID\'s: ', data.value)
});

from_countries.on('error', function (e) {
  throw e;
});

from_countries.on('close', function () {
  console.log('Stream closed')
});

from_countries.on('end', function () {
  console.log('Stream closed')
});

returned indexes:

COUNTRYDOCUMENTS
AlgeriaC, D
AustraliaA
CanadaA, B, C, D, E

test Build Status

npm test

license

MIT

0.5.2

11 years ago

0.5.1

11 years ago

0.5.0

11 years ago

0.3.1

11 years ago

0.3.0

11 years ago

0.1.0

11 years ago