$ cnpm install isostore
A simple isomorphic key-value store with a Map-like API for persisting data.
The following stores are provided:
AbstractStore: A generic store with no backend, for using a custom persistence mechanism.MemoryStore: An in-memory store, useful if you don't need persistence, but you want to use the same API.LocalStore: A store for persisting data reliably and indefinitely.
localStorage API.SessionStore: A store per persisting data somewhat unreliably and/or not indefinitely.
sessionStorage API.npm install --save isostore
import {AbstractStore, LocalStore, MemoryStore, SessionStore} from 'isostore';
// Creating a local store, for indefinite persistence
const store = new LocalStore ( 'my-store' ); // The id of the store decides the name of the file on disk
store.has ( 'foo' ); // => false
store.set ( 'foo', 'some_string' ); // => store
store.get ( 'foo' ); // => 'some_string'
store.delete ( 'foo' ); // => true
// Creating another local store, with the same id
const store2 = new LocalStore ( 'my-store' );
console.log ( store === store2 ); // => true, with ???? magic ????
// Creating a session store, for temporary persistence
const store3 = new SessionStore ( 'my-store' );
// Creating an in-memory store, for no persistence
const store4 = new MemoryStore ();
// Creating a custom store, with a custom backend
const MY_BACKEND = { // It's important to define this outside of the store class
read ( id ) {
// Return a [string, string][]
},
write ( id, entries ) {
// Write the entries somewhere
}
};
class MyStore extends AbstractStore {
constructor ( id ) {
super ({
id,
backend: MY_BACKEND
});
}
}
const store5 = new MyStore ( 'my-store' );
MIT © Fabio Spampinato
Copyright 2013 - present © cnpmjs.org | Home |