12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- "use strict";
- exports.__esModule = true;
- exports.default = getStoredState;
- var _constants = require("./constants");
- function getStoredState(config) {
- var transforms = config.transforms || [];
- var storageKey = "".concat(config.keyPrefix !== undefined ? config.keyPrefix : _constants.KEY_PREFIX).concat(config.key);
- var storage = config.storage;
- var debug = config.debug;
- var deserialize;
- if (config.deserialize === false) {
- deserialize = function deserialize(x) {
- return x;
- };
- } else if (typeof config.deserialize === 'function') {
- deserialize = config.deserialize;
- } else {
- deserialize = defaultDeserialize;
- }
- return storage.getItem(storageKey).then(function (serialized) {
- if (!serialized) return undefined;else {
- try {
- var state = {};
- var rawState = deserialize(serialized);
- Object.keys(rawState).forEach(function (key) {
- state[key] = transforms.reduceRight(function (subState, transformer) {
- return transformer.out(subState, key, rawState);
- }, deserialize(rawState[key]));
- });
- return state;
- } catch (err) {
- if (process.env.NODE_ENV !== 'production' && debug) console.log("redux-persist/getStoredState: Error restoring data ".concat(serialized), err);
- throw err;
- }
- }
- });
- }
- function defaultDeserialize(serial) {
- return JSON.parse(serial);
- }
|