UNPKG

react-hooks-toolbox

Version:

React hooks toolbox

38 lines (32 loc) 1.21 kB
"use strict"; 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; } }