@jaysalvat/super-storage

1.1.6 • Public • Published

npm version

Super Storage

Super Storage provides some helpers over cookie, localStorage and sessionStorage.

  • [x] 1Kb gzipped
  • [x] Store all type of values (objects and arrays)
  • [x] Default value when empty
  • [x] Prefix key
  • [x] Session kept between tabs

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

Package Sidebar

Install

npm i @jaysalvat/super-storage

Weekly Downloads

92

Version

1.1.6

License

ISC

Unpacked Size

36.8 kB

Total Files

19

Last publish

Collaborators

  • jaysalvat