jiti-meet/react/features/base/testing/reducer.ts

46 lines
1.1 KiB
TypeScript

import ReducerRegistry from '../redux/ReducerRegistry';
import { assign } from '../redux/functions';
import { SET_CONNECTION_STATE } from './actionTypes';
/**
* The initial state of the feature testing.
*
* @type {{
* connectionState: string
* }}
*/
const INITIAL_STATE = {
connectionState: ''
};
export interface ITestingState {
connectionState: string;
}
ReducerRegistry.register(
'features/testing',
(state: ITestingState = INITIAL_STATE, action) => {
switch (action.type) {
case SET_CONNECTION_STATE:
return _setConnectionState(state, action);
default:
return state;
}
});
/**
* Reduces a specific Redux action SET_CONNECTION_STATE of the feature
* testing.
*
* @param {Object} state - The Redux state of the feature base/logging.
* @param {Action} action - The Redux action SET_CONNECTION_STATE to reduce.
* @private
* @returns {Object} The new state of the feature testing after the
* reduction of the specified action.
*/
function _setConnectionState(state: ITestingState, action: any) {
return assign(state, { connectionState: action.connectionState });
}