UNPKG

thunk-request-status

Version:
30 lines (29 loc) 1.39 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useIsFulfilled = exports.useIsRejected = exports.useIsLoading = exports.useIsIdle = void 0; const react_redux_1 = require("react-redux"); const selectors_1 = require("./selectors"); const request_statuses_utils_1 = require("./request-statuses.utils"); const request_statuses_contstants_1 = require("./request-statuses.contstants"); const useRootStatusSelector = (thunk) => { return (0, react_redux_1.useSelector)((0, selectors_1.getThunkRequestStatus)((0, request_statuses_utils_1.getThunkPrefix)(thunk))); }; const checkIsSomeThunkEqualOfStatus = (thunk, status) => { return useRootStatusSelector(thunk) === status; }; const useIsIdle = (thunk) => { return checkIsSomeThunkEqualOfStatus(thunk, request_statuses_contstants_1.IDLE_STATUS); }; exports.useIsIdle = useIsIdle; const useIsLoading = (thunk) => { return checkIsSomeThunkEqualOfStatus(thunk, request_statuses_contstants_1.PENDING_STATUS); }; exports.useIsLoading = useIsLoading; const useIsRejected = (thunk) => { return checkIsSomeThunkEqualOfStatus(thunk, request_statuses_contstants_1.REJECTED_STATUS); }; exports.useIsRejected = useIsRejected; const useIsFulfilled = (thunk) => { return checkIsSomeThunkEqualOfStatus(thunk, request_statuses_contstants_1.FULFILLED_STATUS); }; exports.useIsFulfilled = useIsFulfilled;