Skip to content

timkuijsten/level.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo

level.js an implementation of the leveldown API on top of IndexedDB (which is in turn implemented on top of LevelDB, which brings this whole shebang full circle)

Most people use levelup on top of this library. See test-levelup.js for details

For some demos of it working, see @brycebaril's presentation "Path of the NodeBases Jedi": http://brycebaril.github.io/nodebase_jedi/#/vanilla

NPM

level.js uses IDBWrapper by jensarps to ensure compatibility between IDB implementations.

Here are the goals of this level.js:

  • Store large amounts of ascii (strings, JSON) and binary (ArrayBuffers, Typed Arrays) data in modern browsers
  • Be as fast as possible
  • Use the leveldown test suite and sync with multilevel over either ascii or binary transports (websockets and xhr both have ascii/binary modes in browsers now)

Being leveldown compatible means you can use many of the level-* modules on top of this library.

install

npm install level-js

(Not to be confused with leveljs)

This library is best used with browserify

code examples

var leveljs = require('level-js')
var db = leveljs('bigdata')
db.open(function onOpen() { })

The test suite for this library is in the abstract-leveldown repo and is shared between various leveldown implementations across different environments and platforms.

For more code examples see the abstract-leveldown test suite

The only differences between this and leveldown is that you can store ArrayBuffers in this (whereas leveldown just uses node Buffer objects)

run the tests

git clone git@github.com:maxogden/level.js.git
cd level.js
npm install
npm test
open localhost:9966

Then look in your browser console

license

BSD

Packages

No packages published

Languages

  • JavaScript 99.8%
  • HTML 0.2%