function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function noop() {} var noopStorage = { getItem: noop, setItem: noop, removeItem: noop }; function hasStorage(storageType) { if ((typeof self === "undefined" ? "undefined" : _typeof(self)) !== 'object' || !(storageType in self)) { return false; } try { var storage = self[storageType]; var testKey = "redux-persist ".concat(storageType, " test"); storage.setItem(testKey, 'test'); storage.getItem(testKey); storage.removeItem(testKey); } catch (e) { if (process.env.NODE_ENV !== 'production') console.warn("redux-persist ".concat(storageType, " test failed, persistence will be disabled.")); return false; } return true; } export default function getStorage(type) { var storageType = "".concat(type, "Storage"); if (hasStorage(storageType)) return self[storageType];else { if (process.env.NODE_ENV !== 'production') { console.error("redux-persist failed to create sync storage. falling back to noop storage."); } return noopStorage; } }