UNPKG

reducerless-redux

Version:
41 lines (36 loc) 1 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var _common = require('./common'); function isReducerlessAction(action) { if (action.type === _common.type) { return true; } return false; } function reduce() { var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; var action = arguments[1]; if (isReducerlessAction(action)) { if (action.update) { return action.update(state); } return action.setKey(state, action.key, action.value); } return state; } function reducerEnhancer(rootReducer) { return function (state, action) { return Object.assign({}, rootReducer && rootReducer(state, action), reduce(state, action)); }; } function storeEnhancer() { return function (createStore) { return function (reducer, preloadedState, enhancer) { var store = createStore(reducerEnhancer(reducer), preloadedState, enhancer); return store; }; }; } exports.default = storeEnhancer;