UNPKG

@mopinion/deploy

Version:

Deploy your Mopinion feedback forms with ease

64 lines (63 loc) 2.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.clearStorage = clearStorage; exports.getSessionStorage = getSessionStorage; exports.getStorage = getStorage; exports.setSessionStorage = setSessionStorage; exports.setStorage = setStorage; exports.storageKey = void 0; var _utils = require("../utils"); var _excluded = ["time"]; function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; } function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; } function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } var storageKey = exports.storageKey = 'mopDeploy'; function setStorage(key, updateState) { var storageType = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'localStorage'; var storage = window[storageType]; try { (0, _utils.schedule)(function () { var _JSON$parse; var newState = (_JSON$parse = JSON.parse(storage.getItem(storageKey))) !== null && _JSON$parse !== void 0 ? _JSON$parse : {}; if (newState[key] && _typeof(newState[key]) === 'object') { Object.assign(newState[key], updateState); } else { newState[key] = updateState; } storage.setItem(storageKey, JSON.stringify(newState)); }); } catch (e) {} } function getStorage(key) { var storageType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'localStorage'; var storage = window[storageType]; try { return JSON.parse(storage.getItem(storageKey))[key]; } catch (e) { return {}; } } function setSessionStorage(key) { var updateState = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; updateState.time = new Date().getTime() + 60000 * 10; setStorage(key, updateState, 'sessionStorage'); } function getSessionStorage(key) { var _getStorage; var _ref = (_getStorage = getStorage(key, 'sessionStorage')) !== null && _getStorage !== void 0 ? _getStorage : {}, time = _ref.time, data = _objectWithoutProperties(_ref, _excluded); var isExpired = Date.now() > Number(time); if (isExpired) { return {}; } return data; } function clearStorage() { try { localStorage.removeItem(storageKey); } catch (e) {} } //# sourceMappingURL=index.js.map