Package Exports
- @analytics/storage-utils
- @analytics/storage-utils/lib/analytics-util-storage.browser.cjs.js
- @analytics/storage-utils/lib/analytics-util-storage.browser.es.js
- @analytics/storage-utils/lib/analytics-util-storage.cjs.js
- @analytics/storage-utils/lib/analytics-util-storage.es.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
Storage utilities for analytics
Storage tries to use localStorage then cookies then defaults to global window.
It's also possible to specify exactly where to set, get, and remove data from with the options parameter.
getItem
import { getItem } from '@analytics/storage-utils'
// Default lookup, will try resolve value from `localStorage` -> `cookies` -> `global`
const value = getItem('key')
// Get value from specifically localStorage
const getLSValue = getItem('key', 'localStorage')
// Get value from specifically a cookie
const getLSValue = getItem('key', 'cookie')
// Get value from specifically the global window (or global this in Node)
const getLSValue = getItem('key', 'global')
// Get value from all locations
const valueObj = getItem('otherKey', 'all')
// {cookie: undefined, localStorage: "hahaha", global: null}setItem
import { setItem } from '@analytics/storage-utils'
// Will try save value to `localStorage` -> `cookies` -> `global`
setItem('key', 'value')
// -> { value: "value", oldValue: "old", location: "localStorage" }
// Set value to specifically localStorage
setItem('key', 'otherValue', 'localStorage')
// -> { value: "otherValue", oldValue: "value", location: "localStorage" }
// Set value from specifically a cookie
setItem('keyTwo', 'cookieVal', 'cookie')
// -> { value: "cookieVal", oldValue: "null", location: "cookie" }
// Set value from specifically the global window (or global this in Node)
setItem('keyThree', 'xyz', 'global')
// -> { value: "xyz", oldValue: "foobar", location: "global" }removeItem
import { removeItem } from '@analytics/storage-utils'
// Will try save value to `localStorage` -> `cookies` -> `global`
setItem('key')
// -> { location: "localStorage" }
// Set value to specifically localStorage
setItem('key', 'otherValue', 'localStorage')
// -> { location: "localStorage" }
// Set value from specifically a cookie
setItem('keyTwo', 'cookieVal', 'cookie')
// -> { value: "cookieVal", oldValue: "null", location: "cookie" }
// Set value from specifically the global window (or global this in Node)
setItem('keyThree', 'xyz', 'global')
// -> { value: "xyz", oldValue: "foobar", location: "global" }