react-hooks-toolbox
Version:
React hooks toolbox
38 lines (32 loc) • 1.21 kB
JavaScript
exports.__esModule = true;
exports.init = undefined;
exports.reducer = reducer;
var _immer = require("immer");
var _immer2 = _interopRequireDefault(_immer);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var init = exports.init = { status: "init", response: null, error: null };
function reducer(state, action) {
switch (action.type) {
case "FETCH_START":
return (0, _immer2.default)(state, function (draftState) {
draftState.status = "loading";
draftState.error = null;
draftState.response = null;
});
case "FETCH_SUCCESS":
return (0, _immer2.default)(state, function (draftState) {
draftState.status = "success";
draftState.error = null;
draftState.response = action.payload;
});
case "FETCH_FAILURE":
return (0, _immer2.default)(state, function (draftState) {
draftState.status = "error";
draftState.error = action.error;
draftState.response = null;
});
default:
break;
}
}
;