All files / store/reducers/app app-reducer.ts

0% Statements 0/6
0% Branches 0/3
0% Functions 0/2
0% Lines 0/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29                                                         
import { dataLoaded } from '@/store/actions/appActions';
import { Action } from '@/helpers/actionHelper';
 
export interface AppState {
  isLoading: boolean;
}
 
const initialState: AppState = {
  isLoading: true,
};
 
const _dataLoaded = (state: AppState): AppState => ({
  ...state,
  isLoading: false,
});
 
type ReducerMap = {
  [key: string]: (state: AppState, action: Action) => AppState;
};
 
const reducers: ReducerMap = {
  [dataLoaded.type]: _dataLoaded,
};
 
const appReducer = (state = initialState, action: Action): AppState =>
  reducers[action.type] ? reducers[action.type](state, action) : state;
 
export default appReducer;