Simple implementation of local storage with indexedDB
npm install indexed-storage
yarn add indexed-storage
The main store function:
store(key, data); // sets data under key
store(key); // returns data stored under key
store({key: data, key2: data2}); // sets all key/data pairs in the object
store(); // returns all stored key/data pairs as an object
store(false); // clears all items from storage
There are also more explicit and versatile functions available:
store.set(key, data); // === store(key, data);
store.setAll(data); // === store({key: data, key2: data});
store.get(key); // === store(key);
store.getAll(); // === store();
store.clear(); // === store(false);
store.has(key); // returns true or false
store.remove(key); // removes key and its data, then returns the data
store.add(key, data); // concats, merges, or adds new value into existing one
store.size(); // number of keys, not length of data
store.clearAll(); // clears *ALL* areas (but still namespace sensitive)
All functions are async 🚀 and return Promise
import store from 'indexed-storage'
// set value
store('foo', {bar: "baz"})
.then(key => console.log(key)) // "foo"
// get value
store('foo')
.then(value => console.log(value)) // {foo: "bar"}
// existence of key
store.has('foo').then(res => console.log(res)) // true
//store key/value data from object
store({key1: 'data1', key2: 'data2'})
.then(key => console.log(key)) // "key2"
//get all key/value pairs as object
store()
.then(data => console.log(data))
// {foo: {bar: "baz"}, key1: "data1", key2: "data2"}
//clear all data
store(false).then(data => console.log(data)) // undefined