import { favorites } from './initialState.json'; import { FavoritesActionTypes, FavoritesAction, FavoritesState, } from '../redux-types/favorites.redux-types'; export default ( state: FavoritesState = favorites as FavoritesState, action: FavoritesAction, ): FavoritesState => { switch (action.type) { case FavoritesActionTypes.GET_FAVORITES_ERROR: return { ...state, error: action.error, loading: false, }; case FavoritesActionTypes.GET_FAVORITES_LOADING: return { ...state, loading: true, }; case FavoritesActionTypes.GET_FAVORITES_SUCCESS: return { ...state, data: action.data, error: null, keys: action.keys, loading: false, }; case FavoritesActionTypes.SET_FAVORITE_ERROR: return { ...state, error: action.error, }; case FavoritesActionTypes.SET_FAVORITE_SUCCESS: return { ...state, data: action.data, error: null, keys: action.keys, }; case FavoritesActionTypes.SET_FAVORITE_FROM_FAVORITE: return { ...state, error: null, keys: action.keys, }; case FavoritesActionTypes.SET_FAVORITES_ALERT: return { ...state, alert: action.alert, }; case FavoritesActionTypes.SET_FAVORITES_FILTERS: return { ...state, filters: action.filters, }; case FavoritesActionTypes.UNSET_FAVORITE_ERROR: return { ...state, error: action.error, }; case FavoritesActionTypes.UNSET_FAVORITE_SUCCESS: return { ...state, data: action.data, error: null, keys: action.keys, }; default: return state; } };