| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 | 
							- // @flow
 - 
 - import { equals, ReducerRegistry, set } from '../redux';
 - 
 - import { SET_LOG_COLLECTOR, SET_LOGGING_CONFIG } from './actionTypes';
 - 
 - /**
 -  * The default/initial redux state of the feature base/logging.
 -  *
 -  * @type {{
 -  *     config: Object
 -  * }}
 -  */
 - const DEFAULT_STATE = {
 -     config: require('../../../../logging_config.js'),
 - 
 -     /**
 -      * The log collector.
 -      */
 -     logCollector: undefined
 - };
 - 
 - ReducerRegistry.register(
 -     'features/base/logging',
 -     (state = DEFAULT_STATE, action) => {
 -         switch (action.type) {
 -         case SET_LOGGING_CONFIG:
 -             return _setLoggingConfig(state, action);
 -         case SET_LOG_COLLECTOR: {
 -             return _setLogCollector(state, action);
 -         }
 - 
 -         default:
 -             return state;
 -         }
 -     });
 - 
 - /**
 -  * Reduces a specific Redux action SET_LOGGING_CONFIG of the feature
 -  * base/logging.
 -  *
 -  * @param {Object} state - The Redux state of the feature base/logging.
 -  * @param {Action} action - The Redux action SET_LOGGING_CONFIG to reduce.
 -  * @private
 -  * @returns {Object} The new state of the feature base/logging after the
 -  * reduction of the specified action.
 -  */
 - function _setLoggingConfig(state, action) {
 -     const config = {
 -         // The config of DEFAULT_STATE is the default configuration of the
 -         // feature base/logging.
 -         ...DEFAULT_STATE.config,
 -         ...action.config
 -     };
 - 
 -     if (equals(state.config, config)) {
 -         return state;
 -     }
 - 
 -     return {
 -         ...state,
 -         config
 -     };
 - }
 - 
 - /**
 -  * Reduces a specific Redux action SET_LOG_COLLECTOR of the feature
 -  * base/logging.
 -  *
 -  * @param {Object} state - The Redux state of the feature base/logging.
 -  * @param {Action} action - The Redux action SET_LOG_COLLECTOR to reduce.
 -  * @private
 -  * @returns {Object} The new state of the feature base/logging after the
 -  * reduction of the specified action.
 -  */
 - function _setLogCollector(state, action) {
 -     return set(state, 'logCollector', action.logCollector);
 - }
 
 
  |