minh-custom-hooks-release
Version:
My custom hooks for working easier while developing react web app
54 lines • 2.66 kB
JavaScript
;
/* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createInitGlobalFetchValue = createInitGlobalFetchValue;
exports.default = fetchActionsCreators;
var useTask_1 = require("../hooks/useTask");
var actionCreators_1 = __importDefault(require("./actionCreators"));
function createInitGlobalFetchValue(data, initRunTask, cancel, reset) {
if (initRunTask === void 0) { initRunTask = (function () { }); }
if (cancel === void 0) { cancel = function () { }; }
if (reset === void 0) { reset = function () { }; }
return {
data: data,
isLoading: false,
error: undefined,
refetch: initRunTask,
reset: reset,
cancel: cancel,
isSuccess: false,
isError: false,
isIdle: true,
status: useTask_1.EnumTaskState.IDLE,
};
}
function fetchActionsCreators(key, initData, actions) {
return (0, actionCreators_1.default)(key, initData, __assign({ initFetching: function (state, initRunTask, cancel, reset) {
return __assign(__assign({}, state), { refetch: initRunTask, cancel: cancel, reset: reset });
}, startFetching: function (state) {
return __assign(__assign({}, state), { isLoading: true, isSuccess: false, isError: false, status: useTask_1.EnumTaskState.PENDING });
}, successFetching: function (state, data) {
return __assign(__assign({}, state), { data: data, isLoading: false, isSuccess: true, isError: false, status: useTask_1.EnumTaskState.SUCCESS });
}, errorFetching: function (state, error) {
return __assign(__assign({}, state), { error: error, isLoading: false, isSuccess: false, isError: true, status: useTask_1.EnumTaskState.FAIL });
}, cancelFetching: function (state) {
return __assign(__assign({}, state), { isLoading: false, isSuccess: false, isIdle: true, status: useTask_1.EnumTaskState.IDLE });
}, resetData: function () {
return initData;
} }, actions));
}
//# sourceMappingURL=fetchActionCreators.js.map