@zcorky/storage
v1.4.7
Published
A minimal API wrapper for localStorage
Downloads
1,359
Maintainers
Readme
storage
A minimal API wrapper for localStorages, inspired by tsironis/lockr and marcuswestin/store.js. It is written fully with Typescript.
- 🕒 Familiar
store
API & patterns - 🔥 TypeScript
Install
$ npm install @zcorky/storage
Usage
import storage from '@zcorky/storage';
// set sets the value of the given key
// suport maxAge, unit: ms
storage.set('user', { name:'Marcus' }, 30 * 1000)
// get returns the value of the given key
storage.get('user')
// remove removes the value of the given key
storage.remove('user')
// clear clears the storage
storage.clear()
// keys returns the keys of the storage
storage.keys()
// getAll returns the all items of the storage
storage.getAll()
// has checks whether the given key exists
storage.has('user')
Enhancement
// built-in drivers
// local - use localStorage
// session - use sessionStorage
// indexeddb - use IndexedDB
// service - use service with http request
storage.setDriver('session')
// custom prefix
storage.setPrefix('my-prefix-')
Advanced Usage
1. Create a new Storage
Default storage is a global storage with singleton pattern.
If you want to create a new storage, you can use storage.create()
method.
const storage = storage.create(options);
2. Create Custom Driver
import { StorageDriver } from '@zcorky/storage';
// 1. Create a class implements StorageDriver
export class CustomStorage extends StorageDriver {
...
}
// 2. Register the driver
storage.setDriver('custom', CustomStorage)
API
- See the detailed API Reference.
Relatived
License
MIT © Moeover