emoji-mart-lazyload/src/utils/store.js

41 lines
765 B
JavaScript

var NAMESPACE = 'emoji-mart'
const _JSON = JSON
var isLocalStorageSupported = typeof window !== 'undefined' &&
'localStorage' in window
function update(state) {
for (let key in state) {
let value = state[key]
set(key, value)
}
}
function set(key, value) {
if (!isLocalStorageSupported) return
try {
window.localStorage[`${NAMESPACE}.${key}`] = _JSON.stringify(value)
} catch (e) {
}
}
function get(key) {
if (!isLocalStorageSupported) return
try {
var value = window.localStorage[`${NAMESPACE}.${key}`]
} catch (e) {
return
}
if (value) {
return JSON.parse(value)
}
}
function setNamespace(namespace) {
NAMESPACE = namespace
}
export default { update, set, get, setNamespace }