canape/src/public/js/reducers/torrents.js

18 lines
474 B
JavaScript

import { Map, List, fromJS } from "immutable"
const defaultState = Map({
"fetching": false,
"torrents": List(),
});
const handlers = {
"TORRENTS_FETCH_PENDING": state => state.set("fetching", false),
"TORRENTS_FETCH_FULFILLED": (state, action) => state.merge(fromJS({
fetching: false,
torrents: action.payload.response.data,
})),
}
export default (state = defaultState, action) =>
handlers[action.type] ? handlers[action.type](state, action) : state;