import { List, Map, fromJS } from "immutable"; const defaultState = Map({ loadingPublic: false, loadingManaged: false, public: List(), managed: List(), }); const handlers = { PUBLIC_POLOCHON_LIST_FETCH_PENDING: (state) => state.set("loadingPublic", true), PUBLIC_POLOCHON_LIST_FETCH_FULFILLED: (state, action) => { return state.merge({ loadingPublic: false, public: List(fromJS(action.payload.response.data)), }); }, MANAGED_POLOCHON_LIST_FETCH_PENDING: (state) => state.set("loadingManaged", true), MANAGED_POLOCHON_LIST_FETCH_FULFILLED: (state, action) => { return state.merge({ loadingManaged: false, managed: List(fromJS(action.payload.response.data)), }); }, }; export default (state = defaultState, action) => handlers[action.type] ? handlers[action.type](state, action) : state;