@tanstack/vue-query 4.35.1 → 4.35.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -65,9 +65,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
65
65
  };
66
66
 
67
67
  run();
68
- stopWatch = watch(defaultedOptions, run, {
69
- deep: true
70
- });
68
+ stopWatch = watch(defaultedOptions, run);
71
69
  });
72
70
  }; // Handle error boundary
73
71
 
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","flush","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useBaseQuery.esm.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run)\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","flush","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
@@ -69,9 +69,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
69
69
  };
70
70
 
71
71
  run();
72
- stopWatch = vueDemi.watch(defaultedOptions, run, {
73
- deep: true
74
- });
72
+ stopWatch = vueDemi.watch(defaultedOptions, run);
75
73
  });
76
74
  }; // Handle error boundary
77
75
 
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","flush","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useBaseQuery.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run)\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","flush","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
@@ -65,9 +65,7 @@ function useBaseQuery(Observer, arg1, arg2 = {}, arg3 = {}) {
65
65
  };
66
66
 
67
67
  run();
68
- stopWatch = watch(defaultedOptions, run, {
69
- deep: true
70
- });
68
+ stopWatch = watch(defaultedOptions, run);
71
69
  });
72
70
  }; // Handle error boundary
73
71
 
@@ -1 +1 @@
1
- {"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run, { deep: true })\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","flush","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","deep","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
1
+ {"version":3,"file":"useBaseQuery.mjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport {\n cloneDeepUnref,\n isQueryKey,\n shouldThrowError,\n updateState,\n} from './utils'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryFunction,\n QueryKey,\n QueryObserver,\n QueryObserverOptions,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { DeepUnwrapRef, MaybeRef, WithQueryClientKey } from './types'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = ToRefs<Readonly<Result>> & {\n suspense: () => Promise<Result>\n}\n\ntype UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey = QueryKey,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n | UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey>\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryKey extends QueryKey,\n>(\n Observer: typeof QueryObserver,\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): UseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const options = computed(() => parseQueryArgs(arg1, arg2, arg3))\n\n const queryClient =\n options.value.queryClient ?? useQueryClient(options.value.queryClientKey)\n\n const defaultedOptions = computed(() => {\n const defaulted = queryClient.defaultQueryOptions(options.value)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(queryClient, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>(\n (resolve, reject) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run)\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.useErrorBoundary, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...(toRefs(readonly(state)) as UseQueryReturnType<TData, TError>),\n suspense,\n }\n}\n\nexport function parseQueryArgs<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n arg1:\n | MaybeRef<TQueryKey>\n | MaybeRef<UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>>,\n arg2:\n | MaybeRef<QueryFunction<TQueryFnData, DeepUnwrapRef<TQueryKey>>>\n | MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n arg3: MaybeRef<\n UseQueryOptionsGeneric<TQueryFnData, TError, TData, TQueryKey>\n > = {},\n): WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n> {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n const plainArg3 = unref(arg3)\n\n let options = plainArg1\n\n if (!isQueryKey(plainArg1)) {\n options = plainArg1\n } else if (typeof plainArg2 === 'function') {\n options = { ...plainArg3, queryKey: plainArg1, queryFn: plainArg2 }\n } else {\n options = { ...plainArg2, queryKey: plainArg1 }\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<\n QueryObserverOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n >\n}\n"],"names":["useBaseQuery","Observer","arg1","arg2","arg3","process","env","NODE_ENV","getCurrentScope","console","warn","options","computed","parseQueryArgs","queryClient","value","useQueryClient","queryClientKey","defaultedOptions","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","updateState","immediate","setOptions","flush","onScopeDispose","suspense","Promise","resolve","reject","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","then","error","isError","isFetching","shouldThrowError","useErrorBoundary","getCurrentQuery","toRefs","readonly","plainArg1","unref","plainArg2","plainArg3","isQueryKey","queryKey","queryFn","cloneDeepUnref"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFetching.d.ts","sourceRoot":"","sources":["../../src/useIsFetching.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEzE,oBAAY,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAA;AAE/D,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;AAClE,wBAAgB,aAAa,CAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GACvC,GAAG,CAAC,MAAM,CAAC,CAAA;AAsCd,wBAAgB,eAAe,CAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY,EACxC,IAAI,GAAE,YAAiB,0BAexB"}
1
+ {"version":3,"file":"useIsFetching.d.ts","sourceRoot":"","sources":["../../src/useIsFetching.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAExE,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEzE,oBAAY,YAAY,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAA;AAE/D,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;AAClE,wBAAgB,aAAa,CAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAC7B,OAAO,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,GACvC,GAAG,CAAC,MAAM,CAAC,CAAA;AAkCd,wBAAgB,eAAe,CAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,YAAY,EACxC,IAAI,GAAE,YAAiB,0BAexB"}
@@ -1,4 +1,4 @@
1
- import { getCurrentScope, computed, ref, watch, onScopeDispose, unref } from 'vue-demi';
1
+ import { getCurrentScope, computed, ref, watchSyncEffect, onScopeDispose, unref } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.esm.js';
3
3
  import { isQueryKey, cloneDeepUnref } from './utils.esm.js';
4
4
 
@@ -13,15 +13,14 @@ function useIsFetching(arg1, arg2) {
13
13
 
14
14
  const filters = computed(() => parseFilterArgs(arg1, arg2));
15
15
  const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient(filters.value.queryClientKey);
16
- const isFetching = ref(queryClient.isFetching(filters));
17
- const unsubscribe = queryClient.getQueryCache().subscribe(() => {
18
- isFetching.value = queryClient.isFetching(filters);
19
- });
20
- watch(filters, () => {
16
+ const isFetching = ref();
17
+
18
+ const listener = () => {
21
19
  isFetching.value = queryClient.isFetching(filters);
22
- }, {
23
- flush: 'sync'
24
- });
20
+ };
21
+
22
+ const unsubscribe = queryClient.getQueryCache().subscribe(listener);
23
+ watchSyncEffect(listener);
25
24
  onScopeDispose(() => {
26
25
  unsubscribe();
27
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFetching.esm.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF, QueryKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type QueryFilters = MaybeRefDeep<WithQueryClientKey<QF>>\n\nexport function useIsFetching(filters?: QueryFilters): Ref<number>\nexport function useIsFetching(\n queryKey?: MaybeRef<QueryKey>,\n filters?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number>\nexport function useIsFetching(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isFetching = ref(queryClient.isFetching(filters))\n\n const unsubscribe = queryClient.getQueryCache().subscribe(() => {\n isFetching.value = queryClient.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = queryClient.isFetching(filters)\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2: QueryFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, queryKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<QF>\n}\n"],"names":["useIsFetching","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isFetching","ref","unsubscribe","getQueryCache","subscribe","watch","flush","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","queryKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,aAAZ,EAA4BC,CAAAA,SAA5B,CAAsC,MAAM;IAC9DJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,KAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,KAAK,EAAE,MAAA;AAAT,GALG,CAAL,CAAA;AAQAC,EAAAA,cAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAkB,GAAG,EAFhB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,QAAQ,EAAEL,SAAAA;KAApC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useIsFetching.esm.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watchSyncEffect,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF, QueryKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type QueryFilters = MaybeRefDeep<WithQueryClientKey<QF>>\n\nexport function useIsFetching(filters?: QueryFilters): Ref<number>\nexport function useIsFetching(\n queryKey?: MaybeRef<QueryKey>,\n filters?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number>\nexport function useIsFetching(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isFetching = ref()\n\n const listener = () => {\n isFetching.value = queryClient.isFetching(filters)\n }\n\n const unsubscribe = queryClient.getQueryCache().subscribe(listener)\n\n watchSyncEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2: QueryFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, queryKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<QF>\n}\n"],"names":["useIsFetching","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isFetching","ref","listener","unsubscribe","getQueryCache","subscribe","watchSyncEffect","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","queryKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,EAAtB,CAAA;;EAEA,MAAMC,QAAQ,GAAG,MAAM;IACrBF,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;GADF,CAAA;;EAIA,MAAMU,WAAW,GAAGP,WAAW,CAACQ,aAAZ,EAA4BC,CAAAA,SAA5B,CAAsCH,QAAtC,CAApB,CAAA;EAEAI,eAAe,CAACJ,QAAD,CAAf,CAAA;AAEAK,EAAAA,cAAc,CAAC,MAAM;IACnBJ,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOH,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAkB,GAAG,EAFhB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,QAAQ,EAAEL,SAAAA;KAApC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
@@ -17,15 +17,14 @@ function useIsFetching(arg1, arg2) {
17
17
 
18
18
  const filters = vueDemi.computed(() => parseFilterArgs(arg1, arg2));
19
19
  const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient.useQueryClient(filters.value.queryClientKey);
20
- const isFetching = vueDemi.ref(queryClient.isFetching(filters));
21
- const unsubscribe = queryClient.getQueryCache().subscribe(() => {
22
- isFetching.value = queryClient.isFetching(filters);
23
- });
24
- vueDemi.watch(filters, () => {
20
+ const isFetching = vueDemi.ref();
21
+
22
+ const listener = () => {
25
23
  isFetching.value = queryClient.isFetching(filters);
26
- }, {
27
- flush: 'sync'
28
- });
24
+ };
25
+
26
+ const unsubscribe = queryClient.getQueryCache().subscribe(listener);
27
+ vueDemi.watchSyncEffect(listener);
29
28
  vueDemi.onScopeDispose(() => {
30
29
  unsubscribe();
31
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF, QueryKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type QueryFilters = MaybeRefDeep<WithQueryClientKey<QF>>\n\nexport function useIsFetching(filters?: QueryFilters): Ref<number>\nexport function useIsFetching(\n queryKey?: MaybeRef<QueryKey>,\n filters?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number>\nexport function useIsFetching(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isFetching = ref(queryClient.isFetching(filters))\n\n const unsubscribe = queryClient.getQueryCache().subscribe(() => {\n isFetching.value = queryClient.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = queryClient.isFetching(filters)\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2: QueryFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, queryKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<QF>\n}\n"],"names":["useIsFetching","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isFetching","ref","unsubscribe","getQueryCache","subscribe","watch","flush","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","queryKey","cloneDeepUnref"],"mappings":";;;;;;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,uBAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,6BAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,WAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,aAAZ,EAA4BC,CAAAA,SAA5B,CAAsC,MAAM;IAC9DJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,aAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,KAAK,EAAE,MAAA;AAAT,GALG,CAAL,CAAA;AAQAC,EAAAA,sBAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAkB,GAAG,EAFhB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,aAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,aAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,gBAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,QAAQ,EAAEL,SAAAA;KAApC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,oBAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;;"}
1
+ {"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watchSyncEffect,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF, QueryKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type QueryFilters = MaybeRefDeep<WithQueryClientKey<QF>>\n\nexport function useIsFetching(filters?: QueryFilters): Ref<number>\nexport function useIsFetching(\n queryKey?: MaybeRef<QueryKey>,\n filters?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number>\nexport function useIsFetching(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isFetching = ref()\n\n const listener = () => {\n isFetching.value = queryClient.isFetching(filters)\n }\n\n const unsubscribe = queryClient.getQueryCache().subscribe(listener)\n\n watchSyncEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2: QueryFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, queryKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<QF>\n}\n"],"names":["useIsFetching","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isFetching","ref","listener","unsubscribe","getQueryCache","subscribe","watchSyncEffect","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","queryKey","cloneDeepUnref"],"mappings":";;;;;;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,uBAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,6BAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,WAAG,EAAtB,CAAA;;EAEA,MAAMC,QAAQ,GAAG,MAAM;IACrBF,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;GADF,CAAA;;EAIA,MAAMU,WAAW,GAAGP,WAAW,CAACQ,aAAZ,EAA4BC,CAAAA,SAA5B,CAAsCH,QAAtC,CAApB,CAAA;EAEAI,uBAAe,CAACJ,QAAD,CAAf,CAAA;AAEAK,EAAAA,sBAAc,CAAC,MAAM;IACnBJ,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOH,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAkB,GAAG,EAFhB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,aAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,aAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,gBAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,QAAQ,EAAEL,SAAAA;KAApC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,oBAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;;"}
@@ -1,4 +1,4 @@
1
- import { getCurrentScope, computed, ref, watch, onScopeDispose, unref } from 'vue-demi';
1
+ import { getCurrentScope, computed, ref, watchSyncEffect, onScopeDispose, unref } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.mjs';
3
3
  import { isQueryKey, cloneDeepUnref } from './utils.mjs';
4
4
 
@@ -13,15 +13,14 @@ function useIsFetching(arg1, arg2) {
13
13
 
14
14
  const filters = computed(() => parseFilterArgs(arg1, arg2));
15
15
  const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient(filters.value.queryClientKey);
16
- const isFetching = ref(queryClient.isFetching(filters));
17
- const unsubscribe = queryClient.getQueryCache().subscribe(() => {
18
- isFetching.value = queryClient.isFetching(filters);
19
- });
20
- watch(filters, () => {
16
+ const isFetching = ref();
17
+
18
+ const listener = () => {
21
19
  isFetching.value = queryClient.isFetching(filters);
22
- }, {
23
- flush: 'sync'
24
- });
20
+ };
21
+
22
+ const unsubscribe = queryClient.getQueryCache().subscribe(listener);
23
+ watchSyncEffect(listener);
25
24
  onScopeDispose(() => {
26
25
  unsubscribe();
27
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFetching.mjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF, QueryKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type QueryFilters = MaybeRefDeep<WithQueryClientKey<QF>>\n\nexport function useIsFetching(filters?: QueryFilters): Ref<number>\nexport function useIsFetching(\n queryKey?: MaybeRef<QueryKey>,\n filters?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number>\nexport function useIsFetching(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isFetching = ref(queryClient.isFetching(filters))\n\n const unsubscribe = queryClient.getQueryCache().subscribe(() => {\n isFetching.value = queryClient.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = queryClient.isFetching(filters)\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2: QueryFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, queryKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<QF>\n}\n"],"names":["useIsFetching","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isFetching","ref","unsubscribe","getQueryCache","subscribe","watch","flush","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","queryKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,aAAZ,EAA4BC,CAAAA,SAA5B,CAAsC,MAAM;IAC9DJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,KAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,KAAK,EAAE,MAAA;AAAT,GALG,CAAL,CAAA;AAQAC,EAAAA,cAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAkB,GAAG,EAFhB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,QAAQ,EAAEL,SAAAA;KAApC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useIsFetching.mjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watchSyncEffect,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF, QueryKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type QueryFilters = MaybeRefDeep<WithQueryClientKey<QF>>\n\nexport function useIsFetching(filters?: QueryFilters): Ref<number>\nexport function useIsFetching(\n queryKey?: MaybeRef<QueryKey>,\n filters?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number>\nexport function useIsFetching(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2?: Omit<QueryFilters, 'queryKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isFetching = ref()\n\n const listener = () => {\n isFetching.value = queryClient.isFetching(filters)\n }\n\n const unsubscribe = queryClient.getQueryCache().subscribe(listener)\n\n watchSyncEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<QueryKey> | QueryFilters,\n arg2: QueryFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, queryKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<QF>\n}\n"],"names":["useIsFetching","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isFetching","ref","listener","unsubscribe","getQueryCache","subscribe","watchSyncEffect","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","queryKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,EAAtB,CAAA;;EAEA,MAAMC,QAAQ,GAAG,MAAM;IACrBF,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;GADF,CAAA;;EAIA,MAAMU,WAAW,GAAGP,WAAW,CAACQ,aAAZ,EAA4BC,CAAAA,SAA5B,CAAsCH,QAAtC,CAApB,CAAA;EAEAI,eAAe,CAACJ,QAAD,CAAf,CAAA;AAEAK,EAAAA,cAAc,CAAC,MAAM;IACnBJ,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOH,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAkB,GAAG,EAFhB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,QAAQ,EAAEL,SAAAA;KAApC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMutating.d.ts","sourceRoot":"","sources":["../../src/useIsMutating.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEzE,oBAAY,eAAe,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAA;AAElE,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;AACrE,wBAAgB,aAAa,CAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAC7C,GAAG,CAAC,MAAM,CAAC,CAAA;AAsCd,wBAAgB,eAAe,CAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,EAC9C,IAAI,GAAE,eAAoB,0BAe3B"}
1
+ {"version":3,"file":"useIsMutating.d.ts","sourceRoot":"","sources":["../../src/useIsMutating.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,eAAe,IAAI,EAAE,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEzE,oBAAY,eAAe,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE,CAAC,CAAC,CAAA;AAElE,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,CAAA;AACrE,wBAAgB,aAAa,CAC3B,WAAW,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,EACnC,OAAO,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,GAC7C,GAAG,CAAC,MAAM,CAAC,CAAA;AAkCd,wBAAgB,eAAe,CAC7B,IAAI,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,eAAe,EAC9C,IAAI,GAAE,eAAoB,0BAe3B"}
@@ -1,4 +1,4 @@
1
- import { getCurrentScope, computed, ref, watch, onScopeDispose, unref } from 'vue-demi';
1
+ import { getCurrentScope, computed, ref, watchSyncEffect, onScopeDispose, unref } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.esm.js';
3
3
  import { isQueryKey, cloneDeepUnref } from './utils.esm.js';
4
4
 
@@ -13,15 +13,14 @@ function useIsMutating(arg1, arg2) {
13
13
 
14
14
  const filters = computed(() => parseFilterArgs(arg1, arg2));
15
15
  const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient(filters.value.queryClientKey);
16
- const isMutating = ref(queryClient.isMutating(filters));
17
- const unsubscribe = queryClient.getMutationCache().subscribe(() => {
18
- isMutating.value = queryClient.isMutating(filters);
19
- });
20
- watch(filters, () => {
16
+ const isMutating = ref();
17
+
18
+ const listener = () => {
21
19
  isMutating.value = queryClient.isMutating(filters);
22
- }, {
23
- flush: 'sync'
24
- });
20
+ };
21
+
22
+ const unsubscribe = queryClient.getMutationCache().subscribe(listener);
23
+ watchSyncEffect(listener);
25
24
  onScopeDispose(() => {
26
25
  unsubscribe();
27
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMutating.esm.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF, MutationKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref(queryClient.isMutating(filters))\n\n const unsubscribe = queryClient.getMutationCache().subscribe(() => {\n isMutating.value = queryClient.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = queryClient.isMutating(filters)\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","unsubscribe","getMutationCache","subscribe","watch","flush","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyC,MAAM;IACjEJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,KAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,KAAK,EAAE,MAAA;AAAT,GALG,CAAL,CAAA;AAQAC,EAAAA,cAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useIsMutating.esm.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watchSyncEffect,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF, MutationKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref()\n\n const listener = () => {\n isMutating.value = queryClient.isMutating(filters)\n }\n\n const unsubscribe = queryClient.getMutationCache().subscribe(listener)\n\n watchSyncEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","listener","unsubscribe","getMutationCache","subscribe","watchSyncEffect","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,EAAtB,CAAA;;EAEA,MAAMC,QAAQ,GAAG,MAAM;IACrBF,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;GADF,CAAA;;EAIA,MAAMU,WAAW,GAAGP,WAAW,CAACQ,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyCH,QAAzC,CAApB,CAAA;EAEAI,eAAe,CAACJ,QAAD,CAAf,CAAA;AAEAK,EAAAA,cAAc,CAAC,MAAM;IACnBJ,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOH,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
@@ -17,15 +17,14 @@ function useIsMutating(arg1, arg2) {
17
17
 
18
18
  const filters = vueDemi.computed(() => parseFilterArgs(arg1, arg2));
19
19
  const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient.useQueryClient(filters.value.queryClientKey);
20
- const isMutating = vueDemi.ref(queryClient.isMutating(filters));
21
- const unsubscribe = queryClient.getMutationCache().subscribe(() => {
22
- isMutating.value = queryClient.isMutating(filters);
23
- });
24
- vueDemi.watch(filters, () => {
20
+ const isMutating = vueDemi.ref();
21
+
22
+ const listener = () => {
25
23
  isMutating.value = queryClient.isMutating(filters);
26
- }, {
27
- flush: 'sync'
28
- });
24
+ };
25
+
26
+ const unsubscribe = queryClient.getMutationCache().subscribe(listener);
27
+ vueDemi.watchSyncEffect(listener);
29
28
  vueDemi.onScopeDispose(() => {
30
29
  unsubscribe();
31
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMutating.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF, MutationKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref(queryClient.isMutating(filters))\n\n const unsubscribe = queryClient.getMutationCache().subscribe(() => {\n isMutating.value = queryClient.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = queryClient.isMutating(filters)\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","unsubscribe","getMutationCache","subscribe","watch","flush","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;;;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,uBAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,6BAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,WAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyC,MAAM;IACjEJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,aAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,KAAK,EAAE,MAAA;AAAT,GALG,CAAL,CAAA;AAQAC,EAAAA,sBAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,aAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,aAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,gBAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,oBAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;;"}
1
+ {"version":3,"file":"useIsMutating.js","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watchSyncEffect,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF, MutationKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref()\n\n const listener = () => {\n isMutating.value = queryClient.isMutating(filters)\n }\n\n const unsubscribe = queryClient.getMutationCache().subscribe(listener)\n\n watchSyncEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","listener","unsubscribe","getMutationCache","subscribe","watchSyncEffect","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;;;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,uBAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,6BAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,WAAG,EAAtB,CAAA;;EAEA,MAAMC,QAAQ,GAAG,MAAM;IACrBF,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;GADF,CAAA;;EAIA,MAAMU,WAAW,GAAGP,WAAW,CAACQ,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyCH,QAAzC,CAApB,CAAA;EAEAI,uBAAe,CAACJ,QAAD,CAAf,CAAA;AAEAK,EAAAA,sBAAc,CAAC,MAAM;IACnBJ,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOH,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,aAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,aAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,gBAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,oBAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;;"}
@@ -1,4 +1,4 @@
1
- import { getCurrentScope, computed, ref, watch, onScopeDispose, unref } from 'vue-demi';
1
+ import { getCurrentScope, computed, ref, watchSyncEffect, onScopeDispose, unref } from 'vue-demi';
2
2
  import { useQueryClient } from './useQueryClient.mjs';
3
3
  import { isQueryKey, cloneDeepUnref } from './utils.mjs';
4
4
 
@@ -13,15 +13,14 @@ function useIsMutating(arg1, arg2) {
13
13
 
14
14
  const filters = computed(() => parseFilterArgs(arg1, arg2));
15
15
  const queryClient = (_filters$value$queryC = filters.value.queryClient) != null ? _filters$value$queryC : useQueryClient(filters.value.queryClientKey);
16
- const isMutating = ref(queryClient.isMutating(filters));
17
- const unsubscribe = queryClient.getMutationCache().subscribe(() => {
18
- isMutating.value = queryClient.isMutating(filters);
19
- });
20
- watch(filters, () => {
16
+ const isMutating = ref();
17
+
18
+ const listener = () => {
21
19
  isMutating.value = queryClient.isMutating(filters);
22
- }, {
23
- flush: 'sync'
24
- });
20
+ };
21
+
22
+ const unsubscribe = queryClient.getMutationCache().subscribe(listener);
23
+ watchSyncEffect(listener);
25
24
  onScopeDispose(() => {
26
25
  unsubscribe();
27
26
  });
@@ -1 +1 @@
1
- {"version":3,"file":"useIsMutating.mjs","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF, MutationKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref(queryClient.isMutating(filters))\n\n const unsubscribe = queryClient.getMutationCache().subscribe(() => {\n isMutating.value = queryClient.isMutating(filters)\n })\n\n watch(\n filters,\n () => {\n isMutating.value = queryClient.isMutating(filters)\n },\n { flush: 'sync' },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","unsubscribe","getMutationCache","subscribe","watch","flush","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,CAACL,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAD,CAAtB,CAAA;EAEA,MAAMS,WAAW,GAAGN,WAAW,CAACO,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyC,MAAM;IACjEJ,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAFmB,CAApB,CAAA;EAIAY,KAAK,CACHZ,OADG,EAEH,MAAM;IACJO,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;AACD,GAJE,EAKH;AAAEa,IAAAA,KAAK,EAAE,MAAA;AAAT,GALG,CAAL,CAAA;AAQAC,EAAAA,cAAc,CAAC,MAAM;IACnBL,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOF,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useIsMutating.mjs","sources":["../../src/useIsMutating.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n ref,\n unref,\n watchSyncEffect,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, isQueryKey } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { MutationFilters as MF, MutationKey } from '@tanstack/query-core'\n\nimport type { MaybeRef, MaybeRefDeep, WithQueryClientKey } from './types'\n\nexport type MutationFilters = MaybeRefDeep<WithQueryClientKey<MF>>\n\nexport function useIsMutating(filters?: MutationFilters): Ref<number>\nexport function useIsMutating(\n mutationKey?: MaybeRef<MutationKey>,\n filters?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number>\nexport function useIsMutating(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2?: Omit<MutationFilters, 'mutationKey'>,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables like \"uesQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const filters = computed(() => parseFilterArgs(arg1, arg2))\n const queryClient =\n filters.value.queryClient ?? useQueryClient(filters.value.queryClientKey)\n\n const isMutating = ref()\n\n const listener = () => {\n isMutating.value = queryClient.isMutating(filters)\n }\n\n const unsubscribe = queryClient.getMutationCache().subscribe(listener)\n\n watchSyncEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isMutating\n}\n\nexport function parseFilterArgs(\n arg1?: MaybeRef<MutationKey> | MutationFilters,\n arg2: MutationFilters = {},\n) {\n const plainArg1 = unref(arg1)\n const plainArg2 = unref(arg2)\n\n let options = plainArg1\n\n if (isQueryKey(plainArg1)) {\n options = { ...plainArg2, mutationKey: plainArg1 }\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n options = plainArg1 || {}\n }\n\n return cloneDeepUnref(options) as WithQueryClientKey<MF>\n}\n"],"names":["useIsMutating","arg1","arg2","process","env","NODE_ENV","getCurrentScope","console","warn","filters","computed","parseFilterArgs","queryClient","value","useQueryClient","queryClientKey","isMutating","ref","listener","unsubscribe","getMutationCache","subscribe","watchSyncEffect","onScopeDispose","plainArg1","unref","plainArg2","options","isQueryKey","mutationKey","cloneDeepUnref"],"mappings":";;;;AAsBO,SAASA,aAAT,CACLC,IADK,EAELC,IAFK,EAGQ;AAAA,EAAA,IAAA,qBAAA,CAAA;;AACb,EAAA,IAAIC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,aAA7B,EAA4C;IAC1C,IAAI,CAACC,eAAe,EAApB,EAAwB;MACtBC,OAAO,CAACC,IAAR,CACE,+JADF,CAAA,CAAA;AAGD,KAAA;AACF,GAAA;;EAED,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,eAAe,CAACV,IAAD,EAAOC,IAAP,CAAtB,CAAxB,CAAA;AACA,EAAA,MAAMU,WAAW,GAAA,CAAA,qBAAA,GACfH,OAAO,CAACI,KAAR,CAAcD,WADC,KACcE,IAAAA,GAAAA,qBAAAA,GAAAA,cAAc,CAACL,OAAO,CAACI,KAAR,CAAcE,cAAf,CAD7C,CAAA;EAGA,MAAMC,UAAU,GAAGC,GAAG,EAAtB,CAAA;;EAEA,MAAMC,QAAQ,GAAG,MAAM;IACrBF,UAAU,CAACH,KAAX,GAAmBD,WAAW,CAACI,UAAZ,CAAuBP,OAAvB,CAAnB,CAAA;GADF,CAAA;;EAIA,MAAMU,WAAW,GAAGP,WAAW,CAACQ,gBAAZ,EAA+BC,CAAAA,SAA/B,CAAyCH,QAAzC,CAApB,CAAA;EAEAI,eAAe,CAACJ,QAAD,CAAf,CAAA;AAEAK,EAAAA,cAAc,CAAC,MAAM;IACnBJ,WAAW,EAAA,CAAA;AACZ,GAFa,CAAd,CAAA;AAIA,EAAA,OAAOH,UAAP,CAAA;AACD,CAAA;AAEM,SAASL,eAAT,CACLV,IADK,EAELC,IAAqB,GAAG,EAFnB,EAGL;AACA,EAAA,MAAMsB,SAAS,GAAGC,KAAK,CAACxB,IAAD,CAAvB,CAAA;AACA,EAAA,MAAMyB,SAAS,GAAGD,KAAK,CAACvB,IAAD,CAAvB,CAAA;EAEA,IAAIyB,OAAO,GAAGH,SAAd,CAAA;;AAEA,EAAA,IAAII,UAAU,CAACJ,SAAD,CAAd,EAA2B;IACzBG,OAAO,GAAG,EAAE,GAAGD,SAAL;AAAgBG,MAAAA,WAAW,EAAEL,SAAAA;KAAvC,CAAA;AACD,GAFD,MAEO;AACL;IACAG,OAAO,GAAGH,SAAS,IAAI,EAAvB,CAAA;AACD,GAAA;;EAED,OAAOM,cAAc,CAACH,OAAD,CAArB,CAAA;AACD;;;;"}