Js storage wrap ·
js-storage-wrap
is a simple web storage interface.
Features:
- json parsing logic
- TTL handling · optional lifespan can be associated to each saved element
- node friendly · won't invoke the storage functions in node
- TS definitions
Installation
npm
npm install --save js-storage-wrap
yarn
yarn add js-storage-wrap
It will be available through:
Import StorageWrap from 'js-storage-wrap';
CDN
<script crossorigin src="https://unpkg.com/js-storage-wrap@1.0.1/dist/bundle.min.js"></script>
Api
In order to access localStorage and sessionStorage you'll use respectively:
StorageWrap.local
StorageWrap.session
Storage methods
load(itemName: string): any
Loads item from storage. Returns null if item or storage is not available
const token = StorageWrap.local.load('my_token');
set(itemName: string, item: any, lifespan: ?number): boolean
Adds / replaces item in storage.
Returns a boolean that indicates the success of the operation.
the item attribute can be:
- any primitive value
- object
- array
if lifespan === 0
, than the item won't be stored. lifespan
can be omitted.
const success = StorageWrap.local.set('my_token', 'bearer test', 3000); // expires after 3 seconds
has(itemName: string): boolean
Returns a boolean that indicates if the item exists and it isn't expired.
const isItemAvailable = StorageWrap.local.has('my_token');
setLifespan(itemName: string, lifespan: number): boolean
Sets the lifespan of a specific item.
This requires the previous item to have a valid ttl assigned
const success = StorageWrap.local.setLifespan('my_token', 3000);
Contibruting
Any pull request / ideas for improvements or bugfixing is welcome.
This repository manages semantic versioning.
License
js-storage-wrap
is MIT licensed.