level-js

leveldown/leveldb library for browsers using IndexedDB

npm install level-js
222 downloads in the last day
1 771 downloads in the last week
4 967 downloads in the last month

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

testling badge

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

npm loves you