UNPKG

@calvear/react-redux

Version:

Preconfigured Redux store initializer with Redux Saga, Redux Logger and Reselect for React SPA applications.

59 lines (51 loc) 1.58 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = createMiddleware; var _redux = require("redux"); var _reduxSaga = _interopRequireDefault(require("redux-saga")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } /** * Redux middleware initializer. * * Initializes Saga with Redux Logger. * * @see https://redux-saga.js.org/ * @see https://github.com/LogRocket/redux-logger * * @summary Redux middleware initializer. * @author Alvear Candia, Cristopher Alejandro <calvear93@gmail.com> * * Created at : 2020-07-26 13:45:06 * Last modified : 2021-03-09 20:20:00 */ /** * Generates a middleware conditionally * by current debug mode. * * @param {boolean} debug - whether redux should load redux-logger. * * @returns {Array} middleware apply and run functions. */ function createMiddleware() { var debug = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false; // creates Saga middleware factory. var saga = (0, _reduxSaga["default"])(); if (debug) { var _require = require('redux-logger'), createLogger = _require.createLogger; var logger = createLogger({ duration: true, timestamp: true, diff: true, collapsed: function collapsed(getState, action, logEntry) { return !logEntry.error; } }); return [(0, _redux.applyMiddleware)(saga, logger), saga]; } else { return [(0, _redux.applyMiddleware)(saga), saga]; } } //# sourceMappingURL=middleware.js.map