import { GET_REDIS_INFO_BEGIN , GET_REDIS_INFO_ERROR , GET_REDIS_INFO_SUCCESS , RedisInfoActionTypes , } from "../actions/redisInfoActions" ; import { QueueLocation , RedisInfo } from "../api" ; interface RedisInfoState { loading : boolean ; error : string ; address : string ; data : RedisInfo | null ; rawData : string | null ; cluster : boolean ; rawClusterNodes : string | null ; queueLocations : QueueLocation [ ] | null ; } const initialState = { loading : false , error : "" , address : "" , data : null , rawData : null , cluster : false , rawClusterNodes : null , queueLocations : null , } ; export default function redisInfoReducer ( state = initialState , action ) { switch ( action . type ) { case GET_REDIS_INFO_BEGIN : return { ... state , loading : true , } ; case GET_REDIS_INFO_ERROR : return { ... state , loading : false , error : action . error , } ; case GET_REDIS_INFO_SUCCESS : return { loading : false , error : "" , address : action . payload . address , data : action . payload . info , rawData : action . payload . raw_info , cluster : action . payload . cluster , rawClusterNodes : action . payload . raw_cluster_nodes , queueLocations : action . payload . queue_locations , } ; default : return state ; } }