redux
Version:
Atomic Flux with hot reloading
29 lines (20 loc) • 804 B
JavaScript
;
exports.__esModule = true;
exports['default'] = composeStores;
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _utilsMapValues = require('../utils/mapValues');
var _utilsMapValues2 = _interopRequireDefault(_utilsMapValues);
var _utilsPick = require('../utils/pick');
var _utilsPick2 = _interopRequireDefault(_utilsPick);
function composeStores(stores) {
var finalStores = (0, _utilsPick2['default'])(stores, function (val) {
return typeof val === 'function';
});
return function Composition(atom, action) {
if (atom === undefined) atom = {};
return (0, _utilsMapValues2['default'])(finalStores, function (store, key) {
return store(atom[key], action);
});
};
}
module.exports = exports['default'];