import { FETCH_PROJECTS_SUCCESS, FETCH_PROJECT_MILESTONES_SUCCESS } from "../actions/projects"; export const defaultState = { byName: {}, milestones: {} }; export function projectsReducer(state = defaultState, action: any) { switch (action.type) { case FETCH_PROJECTS_SUCCESS: return handleFetchProjectsSuccess(state, action); case FETCH_PROJECT_MILESTONES_SUCCESS: return handleFetchProjectMilestonesSuccess(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, } }; } function handleFetchProjectMilestonesSuccess(state: any, action: any) { console.log(action.milestones); return { ...state, milestones: action.milestones, }; }