UNPKG

@mopinion/deploy

Version:

Deploy your Mopinion feedback forms with ease

85 lines (64 loc) 3.22 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(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; } function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; } function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } var storageKey = 'mopDeploy'; exports.storageKey = storageKey; 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