minh-custom-hooks-release
Version:
My custom hooks for working easier while developing react web app
47 lines • 2.28 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);
};
import { EnumTaskState } from '../hooks/useTask';
import actionCreators from './actionCreators';
export 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: EnumTaskState.IDLE,
};
}
export default function fetchActionsCreators(key, initData, actions) {
return actionCreators(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: EnumTaskState.PENDING });
}, successFetching: function (state, data) {
return __assign(__assign({}, state), { data: data, isLoading: false, isSuccess: true, isError: false, status: EnumTaskState.SUCCESS });
}, errorFetching: function (state, error) {
return __assign(__assign({}, state), { error: error, isLoading: false, isSuccess: false, isError: true, status: EnumTaskState.FAIL });
}, cancelFetching: function (state) {
return __assign(__assign({}, state), { isLoading: false, isSuccess: false, isIdle: true, status: EnumTaskState.IDLE });
}, resetData: function () {
return initData;
} }, actions));
}
//# sourceMappingURL=fetchActionCreators.js.map