UNPKG

react-redux-methods

Version:

A lightweight react-redux toolkit for writing strong-typed, minimal code redux boilerplate.

54 lines (53 loc) 2.06 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var reducers_1 = require("./reducers"); // const persistKeys: TInitKeys[] = ['views']; var loadInitialState = function () { return Object.keys(reducers_1.initialState).reduce(function (acc, key) { var _a; // if (persistKeys.includes(key as TInitKeys)) return { ...acc, [key]: loadFromSessionStorage(key) }; return __assign(__assign({}, acc), (_a = {}, _a[key] = reducers_1.initialState[key], _a)); }, {}); }; var savePersistedState = function () { // const state = store.getState(); // persistKeys.forEach((key) => { // saveToSessionStorage(state[key] as any, key); // }); }; var loadStore = function () { try { // persist store data from session storage var persistedState = typeof window !== 'undefined' && window.sessionStorage ? loadInitialState() : reducers_1.initialState; // const composeEnhancers = // typeof window === 'object' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ // ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({}) // : compose; // // create store // const store = createStore( // rootReducer, // persistedState, // compose(), // composeEnhancers() // ); // // run store subscriptions // store.subscribe(() => savePersistedState()); // return store; } catch (err) { // console.error('Redux Store Error: ', err.message); throw new Error(err.message); } }; var store = loadStore(); exports.default = store;