Browser KVS is a versatile key-value store library designed to provide consistent usage across various storage options supported by modern browsers, such as localStorage
and sessionStorage
.
- Unified API: Access different browser storage mechanisms through a single interface.
- Lightweight Dependency: Uses
is-number
to validate numeric inputs. - TypeScript Support: Includes type definitions for seamless integration in TypeScript projects.
- Various integration methods Support
npm install browser-kvs
import {createLocalStorageStore} from "browser-kvs";
const store = createLocalStorageStore<number>();
const saved: boolean = store.save("myKey", 3.14);
console.log(saved); // true
const loaded: number|undefined = store.load("myKey");
console.log(loaded); // 3.14
const removed: number|undefined = store.remove("myKey");
console.log(removed); // 3.14
const reloaded: number|undefined = store.load("myKey");
console.log(reloaded); // undefined
store.clear();
import {createLocalStorageStore} from "browser-kvs";
const store = createLocalStorageStore<number>({
onSaved: (success) => console.log("Default:onSaved", success),
onLoaded: (value) => console.log("Default:onLoaded", value),
onRemoved: (value) => console.log("Default:onRemoved", value),
onCleared: () => console.log("Default:onCleared"),
});
const saved: boolean = store.save("myKey1", 3.14); // "Default:onSaved" true
console.log(saved); // true
const notSaved: boolean = store.save("myKey2", 3/0, (success) => console.log("onSaved", success)); // "onSaved" false
console.log(notSaved); // false
const loaded: number|undefined = store.load("myKey1", (value) => console.log("onLoaded", value)); // "onLoaded" 3.14
console.log(loaded); // 3.14
const removed: number|undefined = store.remove("myKey1"); // "Default:onRemoved" 3.14
console.log(removed); // 3.14
const reloaded: number|undefined = store.load("myKey1"); // "Default:onLoaded" undefined
console.log(reloaded); // undefined
store.clear(); // "Default:onCleared"
Just change the createLocalStorageStore
function to the createSessionStorageStore
function.
The rest is exactly the same as above.
import {createSessionStorageStore} from "browser-kvs";
const store = createSessionStorageStore<number>(/* omitted */);
// The rest is the same as the example of localStorage.
Use the createInMemoryStore
function to create in-memory based key value store.
import {createInMemoryStore} from "browser-kvs";
const store = createInMemoryStore<number>(/* omitted */);
// The rest is the same as the example of localStorage.
- See this Example
- See this Example
- Create in-memory based key value store
- Create
localStorage
based key value store
- Create
sesssionStorage
based key value store
- Save a value with key.
- Optionally accepts a callback function.
- Retrieve a value by key.
- Optionally accepts a callback function.
- Remove a value by key.
- Optionally accepts a callback function.
- Remove all values.
- Optionally accepts a callback function.