ref: Convert some reducers to TS (#11886)
This commit is contained in:
parent
24b9f5d113
commit
c1e9724bba
|
@ -12,9 +12,11 @@ import { IFlagsState } from '../base/flags/reducer';
|
|||
import { IJwtState } from '../base/jwt/reducer';
|
||||
import { ILastNState } from '../base/lastn/reducer';
|
||||
import { ILibJitsiMeetState } from '../base/lib-jitsi-meet/reducer';
|
||||
import { ILoggingState } from '../base/logging/reducer';
|
||||
import { IMediaState } from '../base/media/reducer';
|
||||
import { INetInfoState } from '../base/net-info/reducer';
|
||||
import { INoiseSuppressionState } from '../noise-suppression/reducer';
|
||||
|
||||
|
||||
export interface IStore {
|
||||
dispatch: Function,
|
||||
getState: Function
|
||||
|
@ -35,6 +37,9 @@ export interface IState {
|
|||
'features/base/jwt': IJwtState,
|
||||
'features/base/known-domains': Array<string>,
|
||||
'features/base/lastn': ILastNState,
|
||||
'features/base/lib-jitsi-meet': ILibJitsiMeetState
|
||||
'features/base/lib-jitsi-meet': ILibJitsiMeetState,
|
||||
'features/base/logging': ILoggingState,
|
||||
'features/base/media': IMediaState,
|
||||
'features/base/net-info': INetInfoState,
|
||||
'features/noise-suppression': INoiseSuppressionState
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
// @flow
|
||||
|
||||
import { equals, ReducerRegistry, set } from '../redux';
|
||||
import ReducerRegistry from '../redux/ReducerRegistry';
|
||||
import { equals, set } from '../redux/functions';
|
||||
|
||||
import { SET_LOG_COLLECTOR, SET_LOGGING_CONFIG } from './actionTypes';
|
||||
|
||||
|
@ -38,9 +37,23 @@ if (navigator.product === 'ReactNative') {
|
|||
};
|
||||
}
|
||||
|
||||
type LogLevel = 'trace' | 'log' | 'info' | 'warn' | 'error';
|
||||
|
||||
interface LoggingLevel {
|
||||
[key: string]: LogLevel;
|
||||
}
|
||||
|
||||
export interface ILoggingState {
|
||||
config: LoggingLevel & {
|
||||
defaultLogLevel: LogLevel;
|
||||
disableLogCollector?: boolean;
|
||||
};
|
||||
logCollector?: Object;
|
||||
}
|
||||
|
||||
ReducerRegistry.register(
|
||||
'features/base/logging',
|
||||
(state = DEFAULT_STATE, action) => {
|
||||
(state: ILoggingState = DEFAULT_STATE, action) => {
|
||||
switch (action.type) {
|
||||
case SET_LOGGING_CONFIG:
|
||||
return _setLoggingConfig(state, action);
|
||||
|
@ -63,7 +76,7 @@ ReducerRegistry.register(
|
|||
* @returns {Object} The new state of the feature base/logging after the
|
||||
* reduction of the specified action.
|
||||
*/
|
||||
function _setLoggingConfig(state, action) {
|
||||
function _setLoggingConfig(state: ILoggingState, action: any) {
|
||||
const config = {
|
||||
// The config of DEFAULT_STATE is the default configuration of the
|
||||
// feature base/logging.
|
||||
|
@ -91,6 +104,6 @@ function _setLoggingConfig(state, action) {
|
|||
* @returns {Object} The new state of the feature base/logging after the
|
||||
* reduction of the specified action.
|
||||
*/
|
||||
function _setLogCollector(state, action) {
|
||||
function _setLogCollector(state: ILoggingState, action: any) {
|
||||
return set(state, 'logCollector', action.logCollector);
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
import { combineReducers } from 'redux';
|
||||
|
||||
import { CONFERENCE_FAILED, CONFERENCE_LEFT } from '../conference/actionTypes';
|
||||
import { ReducerRegistry } from '../redux';
|
||||
import ReducerRegistry from '../redux/ReducerRegistry';
|
||||
import { TRACK_REMOVED } from '../tracks/actionTypes';
|
||||
|
||||
import {
|
||||
|
@ -49,7 +49,7 @@ export const _AUDIO_INITIAL_MEDIA_STATE = {
|
|||
* @private
|
||||
* @returns {AudioMediaState}
|
||||
*/
|
||||
function _audio(state = _AUDIO_INITIAL_MEDIA_STATE, action) {
|
||||
function _audio(state: IAudioState = _AUDIO_INITIAL_MEDIA_STATE, action: any) {
|
||||
switch (action.type) {
|
||||
case SET_AUDIO_AVAILABLE:
|
||||
return {
|
||||
|
@ -103,7 +103,7 @@ export const _SCREENSHARE_INITIAL_MEDIA_STATE = {
|
|||
* @private
|
||||
* @returns {ScreenshareMediaState}
|
||||
*/
|
||||
function _screenshare(state = _SCREENSHARE_INITIAL_MEDIA_STATE, action) {
|
||||
function _screenshare(state: IScreenshareState = _SCREENSHARE_INITIAL_MEDIA_STATE, action: any) {
|
||||
switch (action.type) {
|
||||
case SET_SCREENSHARE_MUTED:
|
||||
return {
|
||||
|
@ -161,7 +161,7 @@ export const _VIDEO_INITIAL_MEDIA_STATE = {
|
|||
* @private
|
||||
* @returns {VideoMediaState}
|
||||
*/
|
||||
function _video(state = _VIDEO_INITIAL_MEDIA_STATE, action) {
|
||||
function _video(state: IVideoState = _VIDEO_INITIAL_MEDIA_STATE, action: any) {
|
||||
switch (action.type) {
|
||||
case CONFERENCE_FAILED:
|
||||
case CONFERENCE_LEFT:
|
||||
|
@ -216,6 +216,32 @@ function _video(state = _VIDEO_INITIAL_MEDIA_STATE, action) {
|
|||
}
|
||||
}
|
||||
|
||||
interface IAudioState {
|
||||
available: boolean;
|
||||
muted: boolean;
|
||||
unmuteBlocked: boolean;
|
||||
}
|
||||
|
||||
interface IScreenshareState {
|
||||
available: boolean;
|
||||
muted: number;
|
||||
unmuteBlocked: boolean;
|
||||
}
|
||||
|
||||
interface IVideoState {
|
||||
available: boolean;
|
||||
facingMode: string;
|
||||
muted: number;
|
||||
transforms: Object;
|
||||
unmuteBlocked: boolean;
|
||||
}
|
||||
|
||||
export interface IMediaState {
|
||||
audio: IAudioState;
|
||||
screenshare: IScreenshareState;
|
||||
video: IVideoState;
|
||||
}
|
||||
|
||||
/**
|
||||
* Listen for various actions related to media devices.
|
||||
*
|
||||
|
@ -239,7 +265,7 @@ ReducerRegistry.register('features/base/media', combineReducers({
|
|||
* @private
|
||||
* @returns {Object}
|
||||
*/
|
||||
function _clearAllVideoTransforms(state) {
|
||||
function _clearAllVideoTransforms(state: IVideoState) {
|
||||
return {
|
||||
...state,
|
||||
transforms: _VIDEO_INITIAL_MEDIA_STATE.transforms
|
||||
|
@ -254,7 +280,7 @@ function _clearAllVideoTransforms(state) {
|
|||
* @private
|
||||
* @returns {Object}
|
||||
*/
|
||||
function _storeVideoTransform(state, { streamId, transform }) {
|
||||
function _storeVideoTransform(state: IVideoState, { streamId, transform }: { streamId: string, transform: string }) {
|
||||
return {
|
||||
...state,
|
||||
transforms: {
|
||||
|
@ -273,12 +299,12 @@ function _storeVideoTransform(state, { streamId, transform }) {
|
|||
* @private
|
||||
* @returns {Object}
|
||||
*/
|
||||
function _trackRemoved(state, { track: { jitsiTrack } }) {
|
||||
function _trackRemoved(state: IVideoState, { track: { jitsiTrack } } : {track: {jitsiTrack: any}}) {
|
||||
if (jitsiTrack) {
|
||||
const streamId = jitsiTrack.getStreamId();
|
||||
|
||||
if (streamId && streamId in state.transforms) {
|
||||
const nextTransforms = {
|
||||
const nextTransforms: any = {
|
||||
...state.transforms
|
||||
};
|
||||
|
|
@ -1,5 +1,7 @@
|
|||
// @flow
|
||||
import { assign, ReducerRegistry } from '../redux';
|
||||
import { NetInfoCellularGeneration, NetInfoStateType } from '@react-native-community/netinfo';
|
||||
|
||||
import ReducerRegistry from '../redux/ReducerRegistry';
|
||||
import { assign } from '../redux/functions';
|
||||
|
||||
import { SET_NETWORK_INFO, _STORE_NETWORK_INFO_CLEANUP } from './actionTypes';
|
||||
import { STORE_NAME } from './constants';
|
||||
|
@ -8,10 +10,18 @@ const DEFAULT_STATE = {
|
|||
isOnline: true
|
||||
};
|
||||
|
||||
export interface INetInfoState {
|
||||
_cleanup?: Function;
|
||||
cellularGeneration?: NetInfoCellularGeneration;
|
||||
details?: Object;
|
||||
isOnline?: boolean;
|
||||
networkType?: NetInfoStateType;
|
||||
}
|
||||
|
||||
/**
|
||||
* The base/net-info feature's reducer.
|
||||
*/
|
||||
ReducerRegistry.register(STORE_NAME, (state = DEFAULT_STATE, action) => {
|
||||
ReducerRegistry.register(STORE_NAME, (state: INetInfoState = DEFAULT_STATE, action) => {
|
||||
switch (action.type) {
|
||||
case SET_NETWORK_INFO:
|
||||
return assign(state, {
|
|
@ -1,5 +1,4 @@
|
|||
// @ts-ignore
|
||||
import { ReducerRegistry } from '../base/redux';
|
||||
import ReducerRegistry from '../base/redux/ReducerRegistry';
|
||||
|
||||
import {
|
||||
SET_NOISE_SUPPRESSION_ENABLED
|
||||
|
|
Loading…
Reference in New Issue