UNPKG

fluorine-lib

Version:

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

41 lines (31 loc) 1.1 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = combineReducers; var _combineLatest = require('rxjs/observable/combineLatest'); var combineLatest = _combineLatest.combineLatest; var _isObservable = require('./util/isObservable'); var isObservable = _interopRequireDefault(_isObservable).default; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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; }, {}); }])); }; } module.exports = exports['default'];