Super Storage
Super Storage provides some helpers over cookie, localStorage and sessionStorage.
Install
Install npm package
npm install @jaysalvat/super-storage
Usage
import { SuperCookie, SuperLocalStorage, SuperSessionStorage } from '@jaysalvat/super-storage'
const settings = {
storagePrefix: 'myApp'
}
const superCookie = new SuperCookie(settings)
const superLocalStorage = new SuperLocalStorage(settings)
const superSessionStorage = new SuperSessionStorage(settings)
Settings
Default settings.
{
storagePrefix: '',
sessionCookieName: '__superStorageSession',
sessionNative: false,
sessionPrefix: 'session',
cookiePrefix: '',
cookieOptions: {
domain: null,
path: null,
maxAge: null,
expires: null,
secure: null
}
}
SuperLocalStorage
setItem
Set a value
superLocalStorage.setItem('key', 'data')
getItem
Get a value
superLocalStorage.getItem('key')
superLocalStorage.getItem('key', 'default value')
removeItem
Remove a value
superLocalStorage.removeItem('key')
clear
Remove all value
superLocalStorage.clear()
SuperSessionStorage
Note: If sessionNative set to false (default) in the settings, SuperSessionStorage
will use the localStorage to store values and a cookie to watch the browser session.
This trick allows SuperSessionStorage to be kept between tabs and windows (unlike
native sessionStorage)
setItem
Set a value
superSessionStorage.setItem('key', 'data')
getItem
Get a value
superSessionStorage.getItem('key')
superSessionStorage.getItem('key', 'default value')
removeItem
Remove a value
superSessionStorage.removeItem('key')
clear
Remove all value
superSessionStorage.clear()
SuperCookie
setItem
Set a value.
Options can be passed (merges with global settings cookieOptions)
const options = {
domain: null,
path: null,
maxAge: null,
expires: null,
secure: null
}
See Cookie specs.
superCookie.setItem('key', 'data', [options]))
getItem
Get a value
superCookie.getItem('key')
superCookie.getItem('key', 'default value')
removeItem
Remove a value. Path and domain options can be passed.
const options = {
domain: 'mydomain.com',
path: '/',
}
superCookie.removeItem('key', [options])
Dev
Dev mode
npm run dev
Build
npm run build
Lint
npm run lint
Fix lint errors
npm run lint:fix
Bump version and publish to NPM
npm run release
npm run release:patch
npm run release:minor
npm run release:major