Package Exports
- @analytics/storage-utils
- @analytics/storage-utils/dist/analytics-util-storage.cjs
- @analytics/storage-utils/dist/analytics-util-storage.module.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (@analytics/storage-utils) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Analytics Storage Utils
A tiny storage utility library with fallback mechanism in 1017 bytes.
By default, @analytics/storage-utils will persist values in browser in this order:
- Try
localStorage - If no
localStorage, usecookies - If no
cookies, usesessionStorage - If no
sessionStorage, useglobalwindow
If you want to specify which storage mechanism to use, use the options parameter.
setItem
Set a value.
import { setItem } from '@analytics/storage-utils'
/**
* Basic usage
*/
/* Save value to `localStorage` or `cookies` or `global` */
setItem('key', 'value')
// { value: "value", oldValue: "old", location: "localStorage" }
/** Setting values to specific location */
/* Set value to specifically localStorage */
setItem('key', 'otherValue', { storage: 'localStorage' })
// { value: "otherValue", oldValue: "value", location: "localStorage" }
/* Set value to specifically cookie */
setItem('keyTwo', 'cookieVal', { storage: 'cookie' })
// { value: "cookieVal", oldValue: "null", location: "cookie" }
/* Set value from specifically sessionStorage */
setItem('keyThree', 'xyz', { storage: 'sessionStorage' })
// { value: "cookieVal", oldValue: "null", location: "sessionStorage" }
/* Set value from specifically the global window (or global this in node.js) */
setItem('keyThree', 'xyz', { storage: 'global' })
// { value: "cookieVal", oldValue: "null", location: "cookie" }getItem
Get a value.
import { getItem } from '@analytics/storage-utils'
/* Basic usage */
/* Lookup value from `localStorage` or `cookies` or `global` */
const value = getItem('key')
/**
* Getting values to specific locations
*/
// Get value to specifically localStorage
const getLocalStorageValue = getItem('key', { storage: 'localStorage' })
/* Get value to specifically cookie */
const getCookieValue = getItem('key', { storage: 'cookie' })
// Get value to specifically sessionStorage
const getSessionStorageValue = getItem('key', { storage: 'sessionStorage' })
/* Get value from specifically the global window (or global this in node.js) */
const getGlobalValue = getItem('key', { storage: 'global' })
/* Get value from all locations */
const valueObj = getItem('otherKey', { storage: '*' })
// { cookie: undefined, localStorage: "hahaha", global: null }removeItem
Remote a value.
import { removeItem } from '@analytics/storage-utils'
/* Basic usage */
// Will try remove value from `localStorage` -> `cookies` -> `global`
removeItem('key')
/** Removing values to specific locations */
/* Remove value to specifically localStorage */
removeItem('key', { storage: 'localStorage' })
/* Remove value to specifically cookie */
removeItem('keyTwo', { storage: 'cookie' })
/* Remove value to specifically sessionStorage */
removeItem('key', { storage: 'sessionStorage' })
/* Remove value to specifically global */
removeItem('keyThree', { storage: 'global' })
/* Remove value from all locations */
removeItem('otherKey', { storage: '*' })