react-query
Version:
Hooks for managing, caching and syncing asynchronous and remote data in React
25 lines (17 loc) • 977 B
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.useIsMutating = useIsMutating;
var _react = _interopRequireDefault(require("react"));
var _shim = require("use-sync-external-store/shim");
var _notifyManager = require("../core/notifyManager");
var _utils = require("../core/utils");
var _QueryClientProvider = require("./QueryClientProvider");
function useIsMutating(arg1, arg2, arg3) {
const [filters, options = {}] = (0, _utils.parseMutationFilterArgs)(arg1, arg2, arg3);
const queryClient = (0, _QueryClientProvider.useQueryClient)({
context: options.context
});
const queryCache = queryClient.getQueryCache();
return (0, _shim.useSyncExternalStore)(_react.default.useCallback(onStoreChange => queryCache.subscribe(_notifyManager.notifyManager.batchCalls(onStoreChange)), [queryCache]), () => queryClient.isMutating(filters), () => queryClient.isMutating(filters));
}