import { RECONNECT } from '../constants/socketActionTypes' ; import { ConnectionType , StoreAction } from '../actions' ; export interface ConnectionStateOptions { readonly hostname : string ; readonly port : number ; readonly secure : boolean ; } export interface ConnectionState { readonly options : ConnectionStateOptions ; readonly type : ConnectionType ; } export function connection ( state = { options : { hostname : 'localhost' , port : 8000 , secure : false } , type : 'disabled' , } , action ) { if ( action . type === RECONNECT ) { const { type , ... options } = action . options ; return { ... state , type , options } ; } return state ; }