@preact-signals/query
Version:
A reactive utility for React/Preact that simplifies the handling of data fetching and state management. Powered by Preact Signals, it provides hooks and functions to create reactive resources and manage their state seamlessly.
29 lines • 1.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useIsFetching$ = void 0;
const utils_1 = require("@preact-signals/utils");
const QueryClientProvider_tsx_1 = require("./react-query/QueryClientProvider.js");
const useObserver_ts_1 = require("./useObserver.js");
const utils_ts_1 = require("./utils.js");
const isFetching = (queryClient, filters) => queryClient.isFetching(filters);
/**
*
* @param _filters pass null to get all queries
* @param options
* @returns
*
*/
const useIsFetching$ = (_filters, options) => {
const $queryClient = (0, QueryClientProvider_tsx_1.useQueryClient$)(options);
const $queryCache = () => $queryClient.value.getQueryCache();
const filters = () => (0, utils_1.unwrapReactive)(_filters) ?? utils_ts_1.EMPTY_OBJECT;
const $isFetching = (0, useObserver_ts_1.useObserverSignal)(() => ({
getCurrent: () => isFetching($queryClient.value, filters()),
subscribe: (emit) => $queryCache().subscribe(() => {
emit(isFetching($queryClient.value, filters()));
}),
}));
return $isFetching;
};
exports.useIsFetching$ = useIsFetching$;
//# sourceMappingURL=useIsFetching$.js.map