0.1.2 • Published 11 years ago

level-superlevel v0.1.2

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

superlevel Build Status

Sublevel partitions the database. Superlevel adds a super level to the root partition that allows accessing the entire database. This allows things like discovering sublevels and browsing the database content without knowledge of the sublevel structure.

Getting Started

Install the module with: npm install level-superlevel

var assert= require('assert')
var Superlevel= require('level-superlevel');
var Sublevel= require('level-sublevel');
var db= Sublevel(Superlevel(levelup('testdb'),{writable:true} ));
var sub1= db.sublevel('alphabet')
sub1.put('a','apple',function(err) {
  assert.ifError(err)
  db.superlevel.get('\xffalphabet\xffa',function(err,data){
    assert.ifError(err)
    console.log(data)
  })
})

Documentation

Superlevel adds a superlevel property to a levelDB object. The superlevel function adds a superlevel object to the database object. The superlevel object includes a get method and methods to create read, key and value streams. The get method can get any object in the database, unrestrained by sublevel's partitioning. Likewise the steam methods can access any object in the database.

By default, the super level is read only. If the writable option is true, put, del, batch and createWriteStream methods will also be added.

The superlevel function must be called with the database object before sublevel's initialization function or that of other libraries, such as subindex, that invoke sublevel. Superlevel is added to the original database object but not to the sublevels.

The purpose of superlevel is not to break sublevel's partitioning, but to allow it to be opened up when needed for purposes like browsing or backup where the sublevel structure may not be known.

Contributing

In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using Grunt.

Release History

0.1.0: Newly released

License

Copyright (c) 2013 Randy McLaughlin Licensed under the MIT license.