import { FETCH_PROJECTS_SUCCESS } from "../actions/projects"; export const defaultState = { byName: {}, }; export function projectsReducer(state = defaultState, action: any) { switch(action.type) { case FETCH_PROJECTS_SUCCESS: return handleFetchProjectsSuccess(state, action); default: return state; } } function handleFetchProjectsSuccess(state: any, action: any) { const projectsByName = action.projects.reduce((byName: any, project: any) => { byName[project.full_name] = project; return byName; }, {}); return { ...state, byName: { ...projectsByName, } }; }