Super Storage
Super Storage provides some helpers over cookie, localStorage and sessionStorage.
Install
Install npm package
npm install @jaysalvat/super-storage
Usage
Module
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)
CDN
<script src="https://unpkg.com/@jaysalvat/super-storage@latest/build/super-storage.umd.min.js"></script>
<script>
const settings = {
storagePrefix: 'myApp'
}
const superCookie = new superStorage.SuperCookie(settings)
const superLocalStorage = new superStorage.SuperLocalStorage(settings)
const superSessionStorage = new superStorage.SuperSessionStorage(settings)
</script>
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 native localStorage
to store values and a cookie in order 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 (merged 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. Options path
and domain
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