UNPKG

redux-tiles

Version:

Library to create and easily compose redux pieces together in less verbose manner

27 lines 1.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var redux_1 = require("redux"); var helpers_1 = require("./helpers"); var selectors_1 = require("./tiles/selectors"); var utils_1 = require("./utils"); function createNestedReducers(value) { return redux_1.combineReducers(Object.keys(value).reduce(function (hash, key) { var elem = value[key]; hash[key] = utils_1.isFunction(elem) ? elem : createNestedReducers(elem); return hash; }, {})); } exports.createNestedReducers = createNestedReducers; function createReducers(modules, topReducer) { if (topReducer === void 0) { topReducer = selectors_1.DEFAULT_REDUCER; } if (topReducer !== selectors_1.DEFAULT_REDUCER) { selectors_1.changeDefaultReducer(topReducer); } var nestedModules = helpers_1.iterate(modules).reduce(function (hash, module) { helpers_1.populateHash(hash, module.tileName, module.reducer); return hash; }, {}); return createNestedReducers(nestedModules); } exports.createReducers = createReducers; //# sourceMappingURL=createReducers.js.map