@patternplate/client
Version:
Universal javascript client application for patternplate
25 lines (20 loc) • 631 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = composeReducers;
var _lodash = require("lodash");
function composeReducers(...args) {
const required = args.reduce((registry, arg) => {
const amend = arg.dependencies || [];
return [...registry, ...amend];
}, []);
const reducer = (state, action, dependencies) => {
return args.reduce((state, arg) => {
return arg(state, action, (0, _lodash.pick)(dependencies, arg.dependencies || []));
}, state);
};
reducer.dependencies = required;
return reducer;
}
//# sourceMappingURL=compose-reducers.js.map