Yet another indexedDB facade.


Keywords
mlasq, indexedDB
License
MIT
Install
npm install mlasq@0.1.0

Documentation

NPM version Build Status Dependency Status

mlasq

Yet another indexedDB facade. Supports callbacks and promises API.

Install

$ npm install --save mlasq

Usage

With callbacks:

const mlasq = require('mlasq');


// create database and storage

const db = mlasq('My DB', [ 'horses', 'cats' ]);

// put, get, count, remove etc.
const cats = db.store('cats');

cats.put('burek', {
  name: 'burek',
  age: 3
}, function(err, key) {
  assert.equal(key, 'burek');
  // 'burek' now in DB
});

// close and remove db
db.close(function(err) {
  console.log('closed now');
});
db.remove(function(err) {
  console.log('all stores removed now');
});

With promises:

const mlasq = require('mlasq');


// create database and storage

async function doSometing() {
  const db = mlasq('My DB', [ 'horses', 'cats' ]);

  // put, get, count, remove etc.
  const cats = db.store('cats');

  const key = await cats.put('burek', {
    name: 'burek',
    age: 3
  });

  assert.equal(key, 'burek');

  // close and remove db
  await db.close();
  console.log('closed now');
  await db.remove();
  console.log('all stores removed now');  
}

API

For all methods fn callback is optional. If fn is not provided Promise is returned that resolves to the result.

These are the object store methods:

put(key, item, fn)

Puts item under the key. Returns the key.

get(key, fn)

Retrieves item identified by key.

getAll(fn)

Retrieves all items in the store.

getAllKeys(fn)

Retrieves all keys in the store.

update(key, item, fn)

Upserts item: if item identified by key already exists it is merged (using Onject.assign) with the passed item. Returns the key and the updated value of the item.

remove(key, fn)

Removes item identified by the key.

count(key, fn)

Counts number of items in store.

clear(fn)

Clears the store: removes all the items.

License

MIT © Damian Krzeminski