| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 | 
							- import { combineReducers } from 'redux';
 - 
 - /**
 -  * A registry for Redux reducers, allowing features to register themselves
 -  * without needing to create additional inter-feature dependencies.
 -  */
 - class ReducerRegistry {
 -     /**
 -      * Creates a ReducerRegistry instance.
 -      */
 -     constructor() {
 -         /**
 -          * The set of registered reducers, keyed based on the field each reducer
 -          * will manage.
 -          */
 -         this.reducerRegistry = {};
 -     }
 - 
 -     /**
 -      * Combines all registered reducers into a single reducing function.
 -      *
 -      * @param {Object} [additional={}] - Any additional reducers that need to be
 -      * included (such as reducers from third-party modules).
 -      * @returns {Function}
 -      */
 -     combineReducers(additional = {}) {
 -         return combineReducers({
 -             ...this.reducerRegistry,
 -             ...additional
 -         });
 -     }
 - 
 -     /**
 -      * Adds a reducer to the registry.
 -      *
 -      * The method is to be invoked only before {@link #combineReducers()}.
 -      *
 -      * @param {string} name - The field in the state object that will be managed
 -      * by the provided reducer.
 -      * @param {Function} reducer - A Redux reducer.
 -      * @returns {void}
 -      */
 -     register(name, reducer) {
 -         this.reducerRegistry[name] = reducer;
 -     }
 - }
 - 
 - /**
 -  * The public singleton instance of the ReducerRegistry class.
 -  */
 - export default new ReducerRegistry();
 
 
  |