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;