1.1.6 • Published 4 years ago
@jaysalvat/super-storage v1.1.6
Super Storage
Super Storage provides some helpers over cookie, localStorage and sessionStorage.
- 1Kb gzipped
- Store all type of values (objects and arrays)
- Default value when empty
- Prefix key
- Session kept between tabs
Install
Install npm package
npm install @jaysalvat/super-storageUsage
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 devBuild
npm run buildLint
npm run lintFix lint errors
npm run lint:fixBump version and publish to NPM
npm run release
npm run release:patch
npm run release:minor
npm run release:major