localstorage-down

A Node.js and browserify leveldown API implementation that maps to localstorage in the browser

localstorage-down

Localstorage implementation of leveldown for mobile and desktop browsers.

The idea is to be able to use the level stack on phone and desktops.

The scenarios envisaged are :

  1. Occasionally connected clients

  2. Adhoc Networks where clients need to sync directly with each other.

This project is intended for use with the level eco-system.

npm install localstorage-down

Basically we support any browser that has localStorage, but since we also rely on an ES5 environment due to dependencies from abstract-leveldown, in practice you will need the following shims in order to work correctly on all browsers (e.g. IE 8/9):

At the command prompt in your chosen directory :

npm install localstorage-down
npm install levelup 
npm install browserify -g
npm install beefy -g

Create a file called index.js and enter the following:

var localstorage = require('localstorage-down');
var levelup = require('levelup');
var db = levelup('/does/not/matter', { db: localstorage });
 
db.put('name', 'Yuri Irsenovich Kim');
db.put('dob', '16 February 1941');
db.put('spouse', 'Kim Young-sook');
db.put('occupation', 'Clown');
 
db.readStream()
   .on('data', function (data) {
      if (typeof data.value !== 'undefined') {
         console.log(data.key, '=', data.value);
      }
   })
   .on('error', function (err) {
      console.log('Oh my!', err);
   })
   .on('close', function () {
      console.log('Stream closed');
   })
   .on('end', function () {
     console.log('Stream ended');
   });

Publish the site :

beefy index.js

See the output :

http://localhost:9966

Listen to John Cage :

http://www.youtube.com/watch?v=ExUosomc8Uc

npm run test

Browse to http://localhost:9966. View console logs in the browser to see test output.

Anton Whalley https://github.com/no9

Adam Shih https://github.com/adamshih

Nolan Lawson https://github.com/nolanlawson