UNPKG

redux-modules

Version:

A library for defining clear, boilerplate free Redux reducers.

26 lines (21 loc) 840 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var reduceTransformations = function reduceTransformations(reducerMap, _ref) { var formattedConstant = _ref.formattedConstant; var reducer = _ref.reducer; // eslint-disable-next-line no-param-reassign reducerMap[formattedConstant] = reducer; return reducerMap; }; var createReducer = exports.createReducer = function createReducer(initialState, transformations) { var reducerMap = transformations.reduce(reduceTransformations, {}); return function () { var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0]; var action = arguments[1]; var reducer = reducerMap[action.type]; return typeof reducer !== 'undefined' ? reducer(state, action) : state; }; }; exports.default = createReducer;