import { Map, List, fromJS } from "immutable"; export const defaultState = Map({ fetchingModules: false, users: List(), stats: Map({}), modules: Map({}) }); const handlers = { ADMIN_LIST_USERS_FULFILLED: (state, action) => state.set("users", fromJS(action.payload.response.data)), ADMIN_GET_STATS_FULFILLED: (state, action) => state.set("stats", fromJS(action.payload.response.data)), ADMIN_GET_MODULES_PENDING: state => state.set("fetchingModules", true), ADMIN_GET_MODULES_FULFILLED: (state, action) => state.merge( fromJS({ modules: action.payload.response.data, fetchingModules: false }) ) }; export default (state = defaultState, action) => handlers[action.type] ? handlers[action.type](state, action) : state;