@mopinion/deploy
Version:
Deploy your Mopinion feedback forms with ease
85 lines (64 loc) • 3.22 kB
JavaScript
;
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