BrowserStorage
Browser key-value(JSON) storage library with cow powers.
Build: 
Size
Normal (dist/browserstorage.js) |  |
Minified (dist/browserstorage.min.js) |  |
Minified + Gzipped (dist/browserstorage.min.js) |  |
Types of storages available (in default priority order)
- IndexedDB
- WebSQL
- LocalStorage
- Cookies
How to use
Directly in Browser using standalone distribution
Add any of /dist/browserstorage.js or /dist/browserstorage.min.js as script tag in your website.
Compatibility table for standalone distribution
- chrome >= 55
- safari >= 10.1
- opera >= 42
- firefox >= 53
Using npm
Do npm install browserstorage or add the package to your package.json.
API
BrowserStorage uses Promises API.
Initialization
- Initialize a storage with a type
let storage = new BrowserStorage(type)
where type is one of indexeddb, websql, localstorage, cookies.
Note: If that type is not supported in the browser, then first supported storage will be selected based on priority order.
let options = {
priority: ['indexeddb', 'websql', 'localstorage', 'cookies'],
name: 'BroswerStorage',
version: 1,
desciption: 'Browser Storage',
size: 5 * 1024 * 1024
}
storage = new BrowserStorage(options)
Inserting key-value
let key = 'key';
let value = { value: 'value' };
storage.insert(key, value).then(() => {});
let data = { a: 'b', c: { d: 'e' } }
storage.insert(data).then(() => {});
Getting value
storage.select('key').then((value) => console.log(value));
storage.select(['a', 'c']).then((value) => console.log(value));
Deleting a key
storage.delete('key').then(() => {});
storage.delete(['a', 'c']).then(() => {});
Updating a key
let newValue = { newValue: 'new' };
storage.update('key', newValue).then(() => {
storage.select('key').then((v) => console.log(v));
});
storage.update({ a: 'bnew', c: { dnew: 'enew' } }).then(() => {
storage.select(['a', 'c']).then((v) => console.log(v));
});
Upserting a key-value (Insert else update)
let upValue = { upValue: 'up' };
storage.upsert('key', upValue).then(() => {
storage.select('key').then((v) => console.log(v));
});
storage.upsert({ a: 'bup', c: { dup: 'eup' } }).then(() => {
storage.select(['a', 'c']).then((v) => console.log(v));
});
Clear table
storage.clear().then(() => {
storage.select('key').then((v) => console.log(v));
});
Get all data in table
storage.data().then((data) => console.log(data));
Get all created storage instances
BrowserStorage.all;