(
fetchingFilters: MaybeRefDeep<QF> = {},
queryClient?: QueryClient,
)
| 8 | export type QueryFilters = MaybeRefDeep<QF> |
| 9 | |
| 10 | export function useIsFetching( |
| 11 | fetchingFilters: MaybeRefDeep<QF> = {}, |
| 12 | queryClient?: QueryClient, |
| 13 | ): Ref<number> { |
| 14 | if (process.env.NODE_ENV === 'development') { |
| 15 | if (!getCurrentScope()) { |
| 16 | console.warn( |
| 17 | 'vue-query composable like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.', |
| 18 | ) |
| 19 | } |
| 20 | } |
| 21 | |
| 22 | const client = queryClient || useQueryClient() |
| 23 | |
| 24 | const isFetching = ref() |
| 25 | |
| 26 | const listener = () => { |
| 27 | isFetching.value = client.isFetching(fetchingFilters) |
| 28 | } |
| 29 | |
| 30 | const unsubscribe = client.getQueryCache().subscribe(listener) |
| 31 | |
| 32 | watchEffect(listener) |
| 33 | |
| 34 | onScopeDispose(() => { |
| 35 | unsubscribe() |
| 36 | }) |
| 37 | |
| 38 | return isFetching |
| 39 | } |
no test coverage detected
searching dependent graphs…