UNPKG

fluorine-lib

Version:

Reactive state and side effect management for React using a single stream of actions

26 lines (22 loc) 742 B
import { combineLatest } from 'rxjs/observable/combineLatest'; import isObservable from './util/isObservable'; export default function combineReducers(reducers) { var keys = Object.keys(reducers); return function (reduce) { return combineLatest.apply(undefined, keys.map(function (key) { var reducer = reducers[key]; if (isObservable(reducer)) { return reducer; } return reduce(reducer); }).concat([function () { for (var _len = arguments.length, values = Array(_len), _key = 0; _key < _len; _key++) { values[_key] = arguments[_key]; } return values.reduce(function (acc, val, index) { acc[keys[index]] = val; return acc; }, {}); }])); }; }