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

41 lines
765 B
JavaScript
Raw Normal View History

2016-12-06 23:23:35 +00:00
var NAMESPACE = 'emoji-mart'
2016-07-06 17:34:04 +00:00
2017-09-17 08:54:22 +00:00
const _JSON = JSON
var isLocalStorageSupported = typeof window !== 'undefined' &&
'localStorage' in window
2016-07-06 17:34:04 +00:00
function update(state) {
for (let key in state) {
let value = state[key]
set(key, value)
}
}
function set(key, value) {
if (!isLocalStorageSupported) return
try {
2017-09-17 08:54:22 +00:00
window.localStorage[`${NAMESPACE}.${key}`] = _JSON.stringify(value)
} catch (e) {
}
2016-07-06 17:34:04 +00:00
}
function get(key) {
if (!isLocalStorageSupported) return
try {
var value = window.localStorage[`${NAMESPACE}.${key}`]
} catch (e) {
return
}
2016-07-06 17:34:04 +00:00
if (value) {
return JSON.parse(value)
}
}
2016-12-08 01:57:42 +00:00
function setNamespace(namespace) {
NAMESPACE = namespace
2016-12-06 23:23:35 +00:00
}
export default { update, set, get, setNamespace }