@tanstack/vue-query 5.0.0-alpha.61 → 5.0.0-alpha.64

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.
Files changed (102) hide show
  1. package/build/lib/devtools/devtools.legacy.cjs +198 -0
  2. package/build/lib/devtools/devtools.legacy.cjs.map +1 -0
  3. package/build/lib/devtools/devtools.legacy.js +196 -0
  4. package/build/lib/devtools/devtools.legacy.js.map +1 -0
  5. package/build/lib/devtools/utils.legacy.cjs +85 -0
  6. package/build/lib/devtools/utils.legacy.cjs.map +1 -0
  7. package/build/lib/devtools/utils.legacy.js +79 -0
  8. package/build/lib/devtools/utils.legacy.js.map +1 -0
  9. package/build/lib/index.legacy.cjs +38 -0
  10. package/build/lib/index.legacy.cjs.map +1 -0
  11. package/build/lib/index.legacy.js +14 -0
  12. package/build/lib/index.legacy.js.map +1 -0
  13. package/build/lib/mutationCache.legacy.cjs +16 -0
  14. package/build/lib/mutationCache.legacy.cjs.map +1 -0
  15. package/build/lib/mutationCache.legacy.js +14 -0
  16. package/build/lib/mutationCache.legacy.js.map +1 -0
  17. package/build/lib/queryCache.legacy.cjs +16 -0
  18. package/build/lib/queryCache.legacy.cjs.map +1 -0
  19. package/build/lib/queryCache.legacy.js +14 -0
  20. package/build/lib/queryCache.legacy.js.map +1 -0
  21. package/build/lib/queryClient.legacy.cjs +86 -0
  22. package/build/lib/queryClient.legacy.cjs.map +1 -0
  23. package/build/lib/queryClient.legacy.js +84 -0
  24. package/build/lib/queryClient.legacy.js.map +1 -0
  25. package/build/lib/useBaseQuery.cjs +9 -9
  26. package/build/lib/useBaseQuery.cjs.map +1 -1
  27. package/build/lib/useBaseQuery.d.ts.map +1 -1
  28. package/build/lib/useBaseQuery.js +10 -10
  29. package/build/lib/useBaseQuery.js.map +1 -1
  30. package/build/lib/useBaseQuery.legacy.cjs +69 -0
  31. package/build/lib/useBaseQuery.legacy.cjs.map +1 -0
  32. package/build/lib/useBaseQuery.legacy.js +67 -0
  33. package/build/lib/useBaseQuery.legacy.js.map +1 -0
  34. package/build/lib/useInfiniteQuery.legacy.cjs +20 -0
  35. package/build/lib/useInfiniteQuery.legacy.cjs.map +1 -0
  36. package/build/lib/useInfiniteQuery.legacy.js +18 -0
  37. package/build/lib/useInfiniteQuery.legacy.js.map +1 -0
  38. package/build/lib/useIsFetching.cjs +4 -1
  39. package/build/lib/useIsFetching.cjs.map +1 -1
  40. package/build/lib/useIsFetching.d.ts.map +1 -1
  41. package/build/lib/useIsFetching.js +5 -2
  42. package/build/lib/useIsFetching.js.map +1 -1
  43. package/build/lib/useIsFetching.legacy.cjs +29 -0
  44. package/build/lib/useIsFetching.legacy.cjs.map +1 -0
  45. package/build/lib/useIsFetching.legacy.js +27 -0
  46. package/build/lib/useIsFetching.legacy.js.map +1 -0
  47. package/build/lib/useMutation.cjs +3 -1
  48. package/build/lib/useMutation.cjs.map +1 -1
  49. package/build/lib/useMutation.d.ts.map +1 -1
  50. package/build/lib/useMutation.js +5 -3
  51. package/build/lib/useMutation.js.map +1 -1
  52. package/build/lib/useMutation.legacy.cjs +43 -0
  53. package/build/lib/useMutation.legacy.cjs.map +1 -0
  54. package/build/lib/useMutation.legacy.js +41 -0
  55. package/build/lib/useMutation.legacy.js.map +1 -0
  56. package/build/lib/useMutationState.legacy.cjs +36 -0
  57. package/build/lib/useMutationState.legacy.cjs.map +1 -0
  58. package/build/lib/useMutationState.legacy.js +33 -0
  59. package/build/lib/useMutationState.legacy.js.map +1 -0
  60. package/build/lib/useQueries.cjs +8 -7
  61. package/build/lib/useQueries.cjs.map +1 -1
  62. package/build/lib/useQueries.d.ts.map +1 -1
  63. package/build/lib/useQueries.js +10 -9
  64. package/build/lib/useQueries.js.map +1 -1
  65. package/build/lib/useQueries.legacy.cjs +63 -0
  66. package/build/lib/useQueries.legacy.cjs.map +1 -0
  67. package/build/lib/useQueries.legacy.js +61 -0
  68. package/build/lib/useQueries.legacy.js.map +1 -0
  69. package/build/lib/useQuery.legacy.cjs +15 -0
  70. package/build/lib/useQuery.legacy.cjs.map +1 -0
  71. package/build/lib/useQuery.legacy.js +13 -0
  72. package/build/lib/useQuery.legacy.js.map +1 -0
  73. package/build/lib/useQueryClient.legacy.cjs +21 -0
  74. package/build/lib/useQueryClient.legacy.cjs.map +1 -0
  75. package/build/lib/useQueryClient.legacy.js +19 -0
  76. package/build/lib/useQueryClient.legacy.js.map +1 -0
  77. package/build/lib/utils.cjs +4 -0
  78. package/build/lib/utils.cjs.map +1 -1
  79. package/build/lib/utils.d.ts +1 -0
  80. package/build/lib/utils.d.ts.map +1 -1
  81. package/build/lib/utils.js +4 -1
  82. package/build/lib/utils.js.map +1 -1
  83. package/build/lib/utils.legacy.cjs +60 -0
  84. package/build/lib/utils.legacy.cjs.map +1 -0
  85. package/build/lib/utils.legacy.js +53 -0
  86. package/build/lib/utils.legacy.js.map +1 -0
  87. package/build/lib/vueQueryPlugin.cjs +1 -3
  88. package/build/lib/vueQueryPlugin.cjs.map +1 -1
  89. package/build/lib/vueQueryPlugin.d.ts.map +1 -1
  90. package/build/lib/vueQueryPlugin.js +2 -4
  91. package/build/lib/vueQueryPlugin.js.map +1 -1
  92. package/build/lib/vueQueryPlugin.legacy.cjs +73 -0
  93. package/build/lib/vueQueryPlugin.legacy.cjs.map +1 -0
  94. package/build/lib/vueQueryPlugin.legacy.js +71 -0
  95. package/build/lib/vueQueryPlugin.legacy.js.map +1 -0
  96. package/package.json +3 -3
  97. package/src/useBaseQuery.ts +10 -10
  98. package/src/useIsFetching.ts +8 -4
  99. package/src/useMutation.ts +8 -4
  100. package/src/useQueries.ts +12 -11
  101. package/src/utils.ts +4 -0
  102. package/src/vueQueryPlugin.ts +2 -4
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBaseQuery.legacy.cjs","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n ref,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryObserver,\n QueryKey,\n QueryObserverResult,\n DefaultedQueryObserverOptions,\n} from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { updateState, cloneDeepUnref, noop } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseBaseQueryReturnType<\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 TQueryData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n | UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n TPageParam,\n>(\n Observer: typeof QueryObserver,\n options: UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseBaseQueryReturnType<TData, TError> {\n const client = queryClient || useQueryClient()\n\n const defaultedOptions = computed(() => {\n const defaulted: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > = client.defaultQueryOptions(cloneDeepUnref(options as any))\n\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(client, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = ref(noop)\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe.value()\n // Nuxt2 memory leak fix - do not subscribe on server\n if (!isServer) {\n unsubscribe.value = observer.subscribe((result) => {\n updateState(state, result)\n })\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 { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = noop\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 resolve(observer.fetchOptimistic(defaultedOptions.value))\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 return {\n ...(toRefs(readonly(state)) as ToRefs<\n Readonly<QueryObserverResult<TData, TError>>\n >),\n suspense,\n }\n}\n"],"names":["useBaseQuery","Observer","options","queryClient","client","useQueryClient","defaultedOptions","computed","defaulted","defaultQueryOptions","cloneDeepUnref","_optimisticResults","isRestoring","value","observer","state","reactive","getCurrentResult","unsubscribe","ref","noop","watch","isServer","subscribe","result","updateState","immediate","setOptions","deep","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","toRefs","readonly"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ import { computed, reactive, ref, watch, onScopeDispose, toRefs, readonly } from 'vue-demi';
2
+ import { isServer } from '@tanstack/query-core';
3
+ import { useQueryClient } from './useQueryClient.legacy.js';
4
+ import { cloneDeepUnref, noop, updateState } from './utils.legacy.js';
5
+
6
+ function useBaseQuery(Observer, options, queryClient) {
7
+ const client = queryClient || useQueryClient();
8
+ const defaultedOptions = computed(() => {
9
+ const defaulted = client.defaultQueryOptions(cloneDeepUnref(options));
10
+ defaulted._optimisticResults = client.isRestoring.value ? 'isRestoring' : 'optimistic';
11
+ return defaulted;
12
+ });
13
+ const observer = new Observer(client, defaultedOptions.value);
14
+ const state = reactive(observer.getCurrentResult());
15
+ const unsubscribe = ref(noop);
16
+ watch(client.isRestoring, isRestoring => {
17
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
18
+ if (!isRestoring) {
19
+ unsubscribe.value();
20
+ // Nuxt2 memory leak fix - do not subscribe on server
21
+ if (!isServer) {
22
+ unsubscribe.value = observer.subscribe(result => {
23
+ updateState(state, result);
24
+ });
25
+ }
26
+ }
27
+ }, {
28
+ immediate: true
29
+ });
30
+ watch(defaultedOptions, () => {
31
+ observer.setOptions(defaultedOptions.value);
32
+ updateState(state, observer.getCurrentResult());
33
+ }, {
34
+ deep: true
35
+ });
36
+ onScopeDispose(() => {
37
+ unsubscribe.value();
38
+ });
39
+ const suspense = () => {
40
+ return new Promise(resolve => {
41
+ let stopWatch = noop;
42
+ const run = () => {
43
+ if (defaultedOptions.value.enabled !== false) {
44
+ const optimisticResult = observer.getOptimisticResult(defaultedOptions.value);
45
+ if (optimisticResult.isStale) {
46
+ stopWatch();
47
+ resolve(observer.fetchOptimistic(defaultedOptions.value));
48
+ } else {
49
+ stopWatch();
50
+ resolve(optimisticResult);
51
+ }
52
+ }
53
+ };
54
+ run();
55
+ stopWatch = watch(defaultedOptions, run, {
56
+ deep: true
57
+ });
58
+ });
59
+ };
60
+ return {
61
+ ...toRefs(readonly(state)),
62
+ suspense
63
+ };
64
+ }
65
+
66
+ export { useBaseQuery };
67
+ //# sourceMappingURL=useBaseQuery.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useBaseQuery.legacy.js","sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n onScopeDispose,\n toRefs,\n readonly,\n reactive,\n watch,\n ref,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n QueryObserver,\n QueryKey,\n QueryObserverResult,\n DefaultedQueryObserverOptions,\n} from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { updateState, cloneDeepUnref, noop } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseBaseQueryReturnType<\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 TQueryData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> =\n | UseQueryOptions<TQueryFnData, TError, TData, TQueryData, TQueryKey>\n | UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n\nexport function useBaseQuery<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey extends QueryKey,\n TPageParam,\n>(\n Observer: typeof QueryObserver,\n options: UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseBaseQueryReturnType<TData, TError> {\n const client = queryClient || useQueryClient()\n\n const defaultedOptions = computed(() => {\n const defaulted: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > = client.defaultQueryOptions(cloneDeepUnref(options as any))\n\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n\n const observer = new Observer(client, defaultedOptions.value)\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = ref(noop)\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe.value()\n // Nuxt2 memory leak fix - do not subscribe on server\n if (!isServer) {\n unsubscribe.value = observer.subscribe((result) => {\n updateState(state, result)\n })\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 { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = noop\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 resolve(observer.fetchOptimistic(defaultedOptions.value))\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 return {\n ...(toRefs(readonly(state)) as ToRefs<\n Readonly<QueryObserverResult<TData, TError>>\n >),\n suspense,\n }\n}\n"],"names":["useBaseQuery","Observer","options","queryClient","client","useQueryClient","defaultedOptions","computed","defaulted","defaultQueryOptions","cloneDeepUnref","_optimisticResults","isRestoring","value","observer","state","reactive","getCurrentResult","unsubscribe","ref","noop","watch","isServer","subscribe","result","updateState","immediate","setOptions","deep","onScopeDispose","suspense","Promise","resolve","stopWatch","run","enabled","optimisticResult","getOptimisticResult","isStale","fetchOptimistic","toRefs","readonly"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var queryCore = require('@tanstack/query-core');
4
+ var useBaseQuery = require('./useBaseQuery.legacy.cjs');
5
+
6
+ function useInfiniteQuery(options, queryClient) {
7
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
8
+ const result = useBaseQuery.useBaseQuery(
9
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
10
+ queryCore.InfiniteQueryObserver, options, queryClient);
11
+ return {
12
+ ...result,
13
+ fetchNextPage: result.fetchNextPage.value,
14
+ fetchPreviousPage: result.fetchPreviousPage.value,
15
+ refetch: result.refetch.value
16
+ };
17
+ }
18
+
19
+ exports.useInfiniteQuery = useInfiniteQuery;
20
+ //# sourceMappingURL=useInfiniteQuery.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInfiniteQuery.legacy.cjs","sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type {\n InfiniteData,\n QueryObserver,\n WithRequired,\n QueryKey,\n InfiniteQueryObserverResult,\n InfiniteQueryObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\n\nimport { useBaseQuery } from './useBaseQuery'\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >]: Property extends 'queryFn'\n ? InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n UnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n : MaybeRefDeep<\n WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n 'queryKey'\n >[Property]\n >\n}\n\ntype InfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\n>\nexport type UseInfiniteQueryReturnType<TData, TError> = DistributiveOmit<\n InfiniteQueryReturnType<TData, TError>,\n 'fetchNextPage' | 'fetchPreviousPage' | 'refetch'\n> & {\n fetchNextPage: InfiniteQueryObserverResult<TData, TError>['fetchNextPage']\n fetchPreviousPage: InfiniteQueryObserverResult<\n TData,\n TError\n >['fetchPreviousPage']\n refetch: InfiniteQueryObserverResult<TData, TError>['refetch']\n}\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError> {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const result = useBaseQuery(\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n ) as InfiniteQueryReturnType<TData, TError>\n return {\n ...result,\n fetchNextPage: result.fetchNextPage.value,\n fetchPreviousPage: result.fetchPreviousPage.value,\n refetch: result.refetch.value,\n }\n}\n"],"names":["useInfiniteQuery","options","queryClient","result","useBaseQuery","InfiniteQueryObserver","fetchNextPage","value","fetchPreviousPage","refetch"],"mappings":";;;;;AA0EO,SAASA,gBAAgBA,CAO9BC,OAOC,EACDC,WAAyB,EACkB;AAC3C;EACA,MAAMC,MAAM,GAAGC,yBAAY;AACzB;AACAC,EAAAA,+BAAqB,EACrBJ,OAAO,EACPC,WACF,CAA2C,CAAA;EAC3C,OAAO;AACL,IAAA,GAAGC,MAAM;AACTG,IAAAA,aAAa,EAAEH,MAAM,CAACG,aAAa,CAACC,KAAK;AACzCC,IAAAA,iBAAiB,EAAEL,MAAM,CAACK,iBAAiB,CAACD,KAAK;AACjDE,IAAAA,OAAO,EAAEN,MAAM,CAACM,OAAO,CAACF,KAAAA;GACzB,CAAA;AACH;;;;"}
@@ -0,0 +1,18 @@
1
+ import { InfiniteQueryObserver } from '@tanstack/query-core';
2
+ import { useBaseQuery } from './useBaseQuery.legacy.js';
3
+
4
+ function useInfiniteQuery(options, queryClient) {
5
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
6
+ const result = useBaseQuery(
7
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
8
+ InfiniteQueryObserver, options, queryClient);
9
+ return {
10
+ ...result,
11
+ fetchNextPage: result.fetchNextPage.value,
12
+ fetchPreviousPage: result.fetchPreviousPage.value,
13
+ refetch: result.refetch.value
14
+ };
15
+ }
16
+
17
+ export { useInfiniteQuery };
18
+ //# sourceMappingURL=useInfiniteQuery.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useInfiniteQuery.legacy.js","sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport type {\n InfiniteData,\n QueryObserver,\n WithRequired,\n QueryKey,\n InfiniteQueryObserverResult,\n InfiniteQueryObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\n\nimport { useBaseQuery } from './useBaseQuery'\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\nimport type { UnwrapRef } from 'vue-demi'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >]: Property extends 'queryFn'\n ? InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n UnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n : MaybeRefDeep<\n WithRequired<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >,\n 'queryKey'\n >[Property]\n >\n}\n\ntype InfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\n>\nexport type UseInfiniteQueryReturnType<TData, TError> = DistributiveOmit<\n InfiniteQueryReturnType<TData, TError>,\n 'fetchNextPage' | 'fetchPreviousPage' | 'refetch'\n> & {\n fetchNextPage: InfiniteQueryObserverResult<TData, TError>['fetchNextPage']\n fetchPreviousPage: InfiniteQueryObserverResult<\n TData,\n TError\n >['fetchPreviousPage']\n refetch: InfiniteQueryObserverResult<TData, TError>['refetch']\n}\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: UseInfiniteQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey,\n TPageParam\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError> {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n const result = useBaseQuery(\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n ) as InfiniteQueryReturnType<TData, TError>\n return {\n ...result,\n fetchNextPage: result.fetchNextPage.value,\n fetchPreviousPage: result.fetchPreviousPage.value,\n refetch: result.refetch.value,\n }\n}\n"],"names":["useInfiniteQuery","options","queryClient","result","useBaseQuery","InfiniteQueryObserver","fetchNextPage","value","fetchPreviousPage","refetch"],"mappings":";;;AA0EO,SAASA,gBAAgBA,CAO9BC,OAOC,EACDC,WAAyB,EACkB;AAC3C;EACA,MAAMC,MAAM,GAAGC,YAAY;AACzB;AACAC,EAAAA,qBAAqB,EACrBJ,OAAO,EACPC,WACF,CAA2C,CAAA;EAC3C,OAAO;AACL,IAAA,GAAGC,MAAM;AACTG,IAAAA,aAAa,EAAEH,MAAM,CAACG,aAAa,CAACC,KAAK;AACzCC,IAAAA,iBAAiB,EAAEL,MAAM,CAACK,iBAAiB,CAACD,KAAK;AACjDE,IAAAA,OAAO,EAAEN,MAAM,CAACM,OAAO,CAACF,KAAAA;GACzB,CAAA;AACH;;;;"}
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var vueDemi = require('vue-demi');
4
+ var queryCore = require('@tanstack/query-core');
4
5
  var useQueryClient = require('./useQueryClient.cjs');
5
6
  var utils = require('./utils.cjs');
6
7
 
@@ -8,7 +9,9 @@ function useIsFetching(fetchingFilters = {}, queryClient) {
8
9
  const filters = vueDemi.computed(() => utils.cloneDeepUnref(fetchingFilters));
9
10
  const client = queryClient || useQueryClient.useQueryClient();
10
11
  const isFetching = vueDemi.ref(client.isFetching(filters));
11
- const unsubscribe = client.getQueryCache().subscribe(() => {
12
+
13
+ // Nuxt2 memory leak fix - do not subscribe on server
14
+ const unsubscribe = queryCore.isServer ? utils.noop : client.getQueryCache().subscribe(() => {
12
15
  isFetching.value = client.isFetching(filters);
13
16
  });
14
17
  vueDemi.watch(filters, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFetching.cjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(fetchingFilters))\n const client = queryClient || useQueryClient()\n\n const isFetching = ref(client.isFetching(filters))\n\n const unsubscribe = client.getQueryCache().subscribe(() => {\n isFetching.value = client.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = client.isFetching(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"names":["useIsFetching","fetchingFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isFetching","ref","unsubscribe","getQueryCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;;;AAUO,SAASA,aAAaA,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,oBAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,6BAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,WAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;EAElD,MAAMO,WAAW,GAAGJ,MAAM,CAACK,aAAa,EAAE,CAACC,SAAS,CAAC,MAAM;IACzDJ,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAEFW,aAAK,CACHX,OAAO,EACP,MAAM;IACJK,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBN,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
1
+ {"version":3,"file":"useIsFetching.cjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, noop } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(fetchingFilters))\n const client = queryClient || useQueryClient()\n\n const isFetching = ref(client.isFetching(filters))\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : client.getQueryCache().subscribe(() => {\n isFetching.value = client.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = client.isFetching(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"names":["useIsFetching","fetchingFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isFetching","ref","unsubscribe","isServer","noop","getQueryCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;;;;AAWO,SAASA,aAAaA,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,oBAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,6BAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,WAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;;AAElD;AACA,EAAA,MAAMO,WAAW,GAAGC,kBAAQ,GACxBC,UAAI,GACJN,MAAM,CAACO,aAAa,EAAE,CAACC,SAAS,CAAC,MAAM;IACrCN,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAENa,aAAK,CACHb,OAAO,EACP,MAAM;IACJK,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBR,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFetching.d.ts","sourceRoot":"","sources":["../../src/useIsFetching.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,EAAE,MAAM,sBAAsB,CAAA;AAG9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;AAE3C,wBAAgB,aAAa,CAC3B,eAAe,GAAE,YAAY,CAAC,EAAE,CAAM,EACtC,WAAW,CAAC,EAAE,WAAW,GACxB,GAAG,CAAC,MAAM,CAAC,CAuBb"}
1
+ {"version":3,"file":"useIsFetching.d.ts","sourceRoot":"","sources":["../../src/useIsFetching.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,KAAK,EAAE,YAAY,IAAI,EAAE,EAAE,MAAM,sBAAsB,CAAA;AAI9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,MAAM,MAAM,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC,CAAA;AAE3C,wBAAgB,aAAa,CAC3B,eAAe,GAAE,YAAY,CAAC,EAAE,CAAM,EACtC,WAAW,CAAC,EAAE,WAAW,GACxB,GAAG,CAAC,MAAM,CAAC,CA0Bb"}
@@ -1,12 +1,15 @@
1
1
  import { computed, ref, watch, onScopeDispose } from 'vue-demi';
2
+ import { isServer } from '@tanstack/query-core';
2
3
  import { useQueryClient } from './useQueryClient.js';
3
- import { cloneDeepUnref } from './utils.js';
4
+ import { cloneDeepUnref, noop } from './utils.js';
4
5
 
5
6
  function useIsFetching(fetchingFilters = {}, queryClient) {
6
7
  const filters = computed(() => cloneDeepUnref(fetchingFilters));
7
8
  const client = queryClient || useQueryClient();
8
9
  const isFetching = ref(client.isFetching(filters));
9
- const unsubscribe = client.getQueryCache().subscribe(() => {
10
+
11
+ // Nuxt2 memory leak fix - do not subscribe on server
12
+ const unsubscribe = isServer ? noop : client.getQueryCache().subscribe(() => {
10
13
  isFetching.value = client.isFetching(filters);
11
14
  });
12
15
  watch(filters, () => {
@@ -1 +1 @@
1
- {"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(fetchingFilters))\n const client = queryClient || useQueryClient()\n\n const isFetching = ref(client.isFetching(filters))\n\n const unsubscribe = client.getQueryCache().subscribe(() => {\n isFetching.value = client.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = client.isFetching(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"names":["useIsFetching","fetchingFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isFetching","ref","unsubscribe","getQueryCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;AAUO,SAASA,aAAaA,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,cAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,cAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,GAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;EAElD,MAAMO,WAAW,GAAGJ,MAAM,CAACK,aAAa,EAAE,CAACC,SAAS,CAAC,MAAM;IACzDJ,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAEFW,KAAK,CACHX,OAAO,EACP,MAAM;IACJK,UAAU,CAACK,KAAK,GAAGP,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEY,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBN,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
1
+ {"version":3,"file":"useIsFetching.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, noop } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(fetchingFilters))\n const client = queryClient || useQueryClient()\n\n const isFetching = ref(client.isFetching(filters))\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : client.getQueryCache().subscribe(() => {\n isFetching.value = client.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = client.isFetching(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"names":["useIsFetching","fetchingFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isFetching","ref","unsubscribe","isServer","noop","getQueryCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;;AAWO,SAASA,aAAaA,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,cAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,cAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,GAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;;AAElD;AACA,EAAA,MAAMO,WAAW,GAAGC,QAAQ,GACxBC,IAAI,GACJN,MAAM,CAACO,aAAa,EAAE,CAACC,SAAS,CAAC,MAAM;IACrCN,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAENa,KAAK,CACHb,OAAO,EACP,MAAM;IACJK,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBR,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ var vueDemi = require('vue-demi');
4
+ var queryCore = require('@tanstack/query-core');
5
+ var useQueryClient = require('./useQueryClient.legacy.cjs');
6
+ var utils = require('./utils.legacy.cjs');
7
+
8
+ function useIsFetching(fetchingFilters = {}, queryClient) {
9
+ const filters = vueDemi.computed(() => utils.cloneDeepUnref(fetchingFilters));
10
+ const client = queryClient || useQueryClient.useQueryClient();
11
+ const isFetching = vueDemi.ref(client.isFetching(filters));
12
+
13
+ // Nuxt2 memory leak fix - do not subscribe on server
14
+ const unsubscribe = queryCore.isServer ? utils.noop : client.getQueryCache().subscribe(() => {
15
+ isFetching.value = client.isFetching(filters);
16
+ });
17
+ vueDemi.watch(filters, () => {
18
+ isFetching.value = client.isFetching(filters);
19
+ }, {
20
+ deep: true
21
+ });
22
+ vueDemi.onScopeDispose(() => {
23
+ unsubscribe();
24
+ });
25
+ return isFetching;
26
+ }
27
+
28
+ exports.useIsFetching = useIsFetching;
29
+ //# sourceMappingURL=useIsFetching.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsFetching.legacy.cjs","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, noop } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(fetchingFilters))\n const client = queryClient || useQueryClient()\n\n const isFetching = ref(client.isFetching(filters))\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : client.getQueryCache().subscribe(() => {\n isFetching.value = client.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = client.isFetching(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"names":["useIsFetching","fetchingFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isFetching","ref","unsubscribe","isServer","noop","getQueryCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;;;;AAWO,SAASA,aAAaA,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAMC,oBAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,6BAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,WAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;;AAElD;AACA,EAAA,MAAMO,WAAW,GAAGC,kBAAQ,GACxBC,UAAI,GACJN,MAAM,CAACO,aAAa,EAAE,CAACC,SAAS,CAAC,MAAM;IACrCN,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAENa,aAAK,CACHb,OAAO,EACP,MAAM;IACJK,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBR,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
@@ -0,0 +1,27 @@
1
+ import { computed, ref, watch, onScopeDispose } from 'vue-demi';
2
+ import { isServer } from '@tanstack/query-core';
3
+ import { useQueryClient } from './useQueryClient.legacy.js';
4
+ import { cloneDeepUnref, noop } from './utils.legacy.js';
5
+
6
+ function useIsFetching(fetchingFilters = {}, queryClient) {
7
+ const filters = computed(() => cloneDeepUnref(fetchingFilters));
8
+ const client = queryClient || useQueryClient();
9
+ const isFetching = ref(client.isFetching(filters));
10
+
11
+ // Nuxt2 memory leak fix - do not subscribe on server
12
+ const unsubscribe = isServer ? noop : client.getQueryCache().subscribe(() => {
13
+ isFetching.value = client.isFetching(filters);
14
+ });
15
+ watch(filters, () => {
16
+ isFetching.value = client.isFetching(filters);
17
+ }, {
18
+ deep: true
19
+ });
20
+ onScopeDispose(() => {
21
+ unsubscribe();
22
+ });
23
+ return isFetching;
24
+ }
25
+
26
+ export { useIsFetching };
27
+ //# sourceMappingURL=useIsFetching.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useIsFetching.legacy.js","sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, noop } from './utils'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const filters = computed(() => cloneDeepUnref(fetchingFilters))\n const client = queryClient || useQueryClient()\n\n const isFetching = ref(client.isFetching(filters))\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : client.getQueryCache().subscribe(() => {\n isFetching.value = client.isFetching(filters)\n })\n\n watch(\n filters,\n () => {\n isFetching.value = client.isFetching(filters)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"names":["useIsFetching","fetchingFilters","queryClient","filters","computed","cloneDeepUnref","client","useQueryClient","isFetching","ref","unsubscribe","isServer","noop","getQueryCache","subscribe","value","watch","deep","onScopeDispose"],"mappings":";;;;;AAWO,SAASA,aAAaA,CAC3BC,eAAiC,GAAG,EAAE,EACtCC,WAAyB,EACZ;EACb,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAMC,cAAc,CAACJ,eAAe,CAAC,CAAC,CAAA;AAC/D,EAAA,MAAMK,MAAM,GAAGJ,WAAW,IAAIK,cAAc,EAAE,CAAA;EAE9C,MAAMC,UAAU,GAAGC,GAAG,CAACH,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAC,CAAA;;AAElD;AACA,EAAA,MAAMO,WAAW,GAAGC,QAAQ,GACxBC,IAAI,GACJN,MAAM,CAACO,aAAa,EAAE,CAACC,SAAS,CAAC,MAAM;IACrCN,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,CAAC,CAAA;EAENa,KAAK,CACHb,OAAO,EACP,MAAM;IACJK,UAAU,CAACO,KAAK,GAAGT,MAAM,CAACE,UAAU,CAACL,OAAO,CAAC,CAAA;AAC/C,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBR,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;AAEF,EAAA,OAAOF,UAAU,CAAA;AACnB;;;;"}
@@ -12,7 +12,9 @@ function useMutation(mutationOptions, queryClient) {
12
12
  });
13
13
  const observer = new queryCore.MutationObserver(client, options.value);
14
14
  const state = vueDemi.reactive(observer.getCurrentResult());
15
- const unsubscribe = observer.subscribe(result => {
15
+
16
+ // Nuxt2 memory leak fix - do not subscribe on server
17
+ const unsubscribe = queryCore.isServer ? utils.noop : observer.subscribe(result => {
16
18
  utils.updateState(state, result);
17
19
  });
18
20
  const mutate = (variables, mutateOptions) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.cjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;;;AAuDO,SAASA,WAAWA,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,oBAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,0BAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,gBAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;AAEnD,EAAA,MAAMC,WAAW,GAAGN,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDC,IAAAA,iBAAW,CAACN,KAAK,EAAEK,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEF,EAAA,MAAME,MAAM,GAAGA,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHZ,QAAQ,CAACU,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,aAAK,CACHlB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACe,UAAU,CAACnB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBX,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMY,UAAU,GAAGC,cAAM,CAACC,gBAAQ,CAACjB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGe,UAAU;IACbR,MAAM;IACNW,WAAW,EAAElB,KAAK,CAACO,MAAM;IACzBY,KAAK,EAAEnB,KAAK,CAACmB,KAAAA;GACd,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useMutation.cjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState, noop } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = reactive(observer.getCurrentResult())\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","isServer","noop","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;;;AAwDO,SAASA,WAAWA,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,oBAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,0BAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,gBAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;;AAEnD;EACA,MAAMC,WAAW,GAAGC,kBAAQ,GACxBC,UAAI,GACJR,QAAQ,CAACS,SAAS,CAAEC,MAAM,IAAK;AAC7BC,IAAAA,iBAAW,CAACR,KAAK,EAAEO,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEN,EAAA,MAAME,MAAM,GAAGA,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHd,QAAQ,CAACY,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,aAAK,CACHpB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACiB,UAAU,CAACrB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEgB,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBb,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMc,UAAU,GAAGC,cAAM,CAACC,gBAAQ,CAACnB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGiB,UAAU;IACbR,MAAM;IACNW,WAAW,EAAEpB,KAAK,CAACS,MAAM;IACzBY,KAAK,EAAErB,KAAK,CAACqB,KAAAA;GACd,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../src/useMutation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACb,MAAM,sBAAsB,CAAA;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,KAAK,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,IAAI,gBAAgB,CACzE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC3D,QAAQ,GAAG,OAAO,CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC5B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,IAChB,YAAY,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE9E,KAAK,kBAAkB,CACrB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,IAChB,CACF,GAAG,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,KACxE,IAAI,CAAA;AAET,MAAM,MAAM,qBAAqB,CAC/B,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,IAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG;IAC7B,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC/D,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAChE,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;CAC5E,CAAA;AAED,wBAAgB,WAAW,CACzB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,eAAe,EAAE,YAAY,CAC3B,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAC7D,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CA2C5D"}
1
+ {"version":3,"file":"useMutation.d.ts","sourceRoot":"","sources":["../../src/useMutation.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,KAAK,EAEV,cAAc,EACd,sBAAsB,EACtB,uBAAuB,EACvB,YAAY,EACb,MAAM,sBAAsB,CAAA;AAE7B,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAI7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,KAAK,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,IAAI,gBAAgB,CACzE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,EAC3D,QAAQ,GAAG,OAAO,CACnB,CAAA;AAED,MAAM,MAAM,kBAAkB,CAC5B,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,IAChB,YAAY,CAAC,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAA;AAE9E,KAAK,kBAAkB,CACrB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,IAChB,CACF,GAAG,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,KACxE,IAAI,CAAA;AAET,MAAM,MAAM,qBAAqB,CAC/B,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,MAAM,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,IAC1D,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG;IAC7B,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAC/D,WAAW,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;IAChE,KAAK,EAAE,sBAAsB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAA;CAC5E,CAAA;AAED,wBAAgB,WAAW,CACzB,KAAK,GAAG,OAAO,EACf,MAAM,GAAG,YAAY,EACrB,UAAU,GAAG,IAAI,EACjB,QAAQ,GAAG,OAAO,EAElB,eAAe,EAAE,YAAY,CAC3B,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CAC7D,EACD,WAAW,CAAC,EAAE,WAAW,GACxB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,CAAC,CA8C5D"}
@@ -1,6 +1,6 @@
1
1
  import { computed, reactive, watch, onScopeDispose, toRefs, readonly } from 'vue-demi';
2
- import { MutationObserver } from '@tanstack/query-core';
3
- import { cloneDeepUnref, updateState } from './utils.js';
2
+ import { MutationObserver, isServer } from '@tanstack/query-core';
3
+ import { cloneDeepUnref, noop, updateState } from './utils.js';
4
4
  import { useQueryClient } from './useQueryClient.js';
5
5
 
6
6
  function useMutation(mutationOptions, queryClient) {
@@ -10,7 +10,9 @@ function useMutation(mutationOptions, queryClient) {
10
10
  });
11
11
  const observer = new MutationObserver(client, options.value);
12
12
  const state = reactive(observer.getCurrentResult());
13
- const unsubscribe = observer.subscribe(result => {
13
+
14
+ // Nuxt2 memory leak fix - do not subscribe on server
15
+ const unsubscribe = isServer ? noop : observer.subscribe(result => {
14
16
  updateState(state, result);
15
17
  });
16
18
  const mutate = (variables, mutateOptions) => {
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;AAuDO,SAASA,WAAWA,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,cAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,gBAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,QAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;AAEnD,EAAA,MAAMC,WAAW,GAAGN,QAAQ,CAACO,SAAS,CAAEC,MAAM,IAAK;AACjDC,IAAAA,WAAW,CAACN,KAAK,EAAEK,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEF,EAAA,MAAME,MAAM,GAAGA,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHZ,QAAQ,CAACU,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,KAAK,CACHlB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACe,UAAU,CAACnB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEc,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBX,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMY,UAAU,GAAGC,MAAM,CAACC,QAAQ,CAACjB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGe,UAAU;IACbR,MAAM;IACNW,WAAW,EAAElB,KAAK,CAACO,MAAM;IACzBY,KAAK,EAAEnB,KAAK,CAACmB,KAAAA;GACd,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"useMutation.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState, noop } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = reactive(observer.getCurrentResult())\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","isServer","noop","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;AAwDO,SAASA,WAAWA,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,cAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,gBAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,QAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;;AAEnD;EACA,MAAMC,WAAW,GAAGC,QAAQ,GACxBC,IAAI,GACJR,QAAQ,CAACS,SAAS,CAAEC,MAAM,IAAK;AAC7BC,IAAAA,WAAW,CAACR,KAAK,EAAEO,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEN,EAAA,MAAME,MAAM,GAAGA,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHd,QAAQ,CAACY,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,KAAK,CACHpB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACiB,UAAU,CAACrB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEgB,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBb,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMc,UAAU,GAAGC,MAAM,CAACC,QAAQ,CAACnB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGiB,UAAU;IACbR,MAAM;IACNW,WAAW,EAAEpB,KAAK,CAACS,MAAM;IACzBY,KAAK,EAAErB,KAAK,CAACqB,KAAAA;GACd,CAAA;AACH;;;;"}
@@ -0,0 +1,43 @@
1
+ 'use strict';
2
+
3
+ var vueDemi = require('vue-demi');
4
+ var queryCore = require('@tanstack/query-core');
5
+ var utils = require('./utils.legacy.cjs');
6
+ var useQueryClient = require('./useQueryClient.legacy.cjs');
7
+
8
+ function useMutation(mutationOptions, queryClient) {
9
+ const client = queryClient || useQueryClient.useQueryClient();
10
+ const options = vueDemi.computed(() => {
11
+ return client.defaultMutationOptions(utils.cloneDeepUnref(mutationOptions));
12
+ });
13
+ const observer = new queryCore.MutationObserver(client, options.value);
14
+ const state = vueDemi.reactive(observer.getCurrentResult());
15
+
16
+ // Nuxt2 memory leak fix - do not subscribe on server
17
+ const unsubscribe = queryCore.isServer ? utils.noop : observer.subscribe(result => {
18
+ utils.updateState(state, result);
19
+ });
20
+ const mutate = (variables, mutateOptions) => {
21
+ observer.mutate(variables, mutateOptions).catch(() => {
22
+ // This is intentional
23
+ });
24
+ };
25
+ vueDemi.watch(options, () => {
26
+ observer.setOptions(options.value);
27
+ }, {
28
+ deep: true
29
+ });
30
+ vueDemi.onScopeDispose(() => {
31
+ unsubscribe();
32
+ });
33
+ const resultRefs = vueDemi.toRefs(vueDemi.readonly(state));
34
+ return {
35
+ ...resultRefs,
36
+ mutate,
37
+ mutateAsync: state.mutate,
38
+ reset: state.reset
39
+ };
40
+ }
41
+
42
+ exports.useMutation = useMutation;
43
+ //# sourceMappingURL=useMutation.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMutation.legacy.cjs","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState, noop } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = reactive(observer.getCurrentResult())\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","isServer","noop","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;;;AAwDO,SAASA,WAAWA,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,gBAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,oBAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,0BAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,gBAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;;AAEnD;EACA,MAAMC,WAAW,GAAGC,kBAAQ,GACxBC,UAAI,GACJR,QAAQ,CAACS,SAAS,CAAEC,MAAM,IAAK;AAC7BC,IAAAA,iBAAW,CAACR,KAAK,EAAEO,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEN,EAAA,MAAME,MAAM,GAAGA,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHd,QAAQ,CAACY,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,aAAK,CACHpB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACiB,UAAU,CAACrB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEgB,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,sBAAc,CAAC,MAAM;AACnBb,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMc,UAAU,GAAGC,cAAM,CAACC,gBAAQ,CAACnB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGiB,UAAU;IACbR,MAAM;IACNW,WAAW,EAAEpB,KAAK,CAACS,MAAM;IACzBY,KAAK,EAAErB,KAAK,CAACqB,KAAAA;GACd,CAAA;AACH;;;;"}
@@ -0,0 +1,41 @@
1
+ import { computed, reactive, watch, onScopeDispose, toRefs, readonly } from 'vue-demi';
2
+ import { MutationObserver, isServer } from '@tanstack/query-core';
3
+ import { cloneDeepUnref, noop, updateState } from './utils.legacy.js';
4
+ import { useQueryClient } from './useQueryClient.legacy.js';
5
+
6
+ function useMutation(mutationOptions, queryClient) {
7
+ const client = queryClient || useQueryClient();
8
+ const options = computed(() => {
9
+ return client.defaultMutationOptions(cloneDeepUnref(mutationOptions));
10
+ });
11
+ const observer = new MutationObserver(client, options.value);
12
+ const state = reactive(observer.getCurrentResult());
13
+
14
+ // Nuxt2 memory leak fix - do not subscribe on server
15
+ const unsubscribe = isServer ? noop : observer.subscribe(result => {
16
+ updateState(state, result);
17
+ });
18
+ const mutate = (variables, mutateOptions) => {
19
+ observer.mutate(variables, mutateOptions).catch(() => {
20
+ // This is intentional
21
+ });
22
+ };
23
+ watch(options, () => {
24
+ observer.setOptions(options.value);
25
+ }, {
26
+ deep: true
27
+ });
28
+ onScopeDispose(() => {
29
+ unsubscribe();
30
+ });
31
+ const resultRefs = toRefs(readonly(state));
32
+ return {
33
+ ...resultRefs,
34
+ mutate,
35
+ mutateAsync: state.mutate,
36
+ reset: state.reset
37
+ };
38
+ }
39
+
40
+ export { useMutation };
41
+ //# sourceMappingURL=useMutation.legacy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMutation.legacy.js","sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n computed,\n} from 'vue-demi'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n MutateOptions,\n MutateFunction,\n MutationObserverResult,\n MutationObserverOptions,\n DefaultError,\n} from '@tanstack/query-core'\nimport { isServer } from '@tanstack/query-core'\nimport type { MaybeRefDeep, DistributiveOmit } from './types'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState, noop } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TContext> = DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TContext>,\n 'mutate' | 'reset'\n>\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<MutationObserverOptions<TData, TError, TVariables, TContext>>\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = (\n ...options: Parameters<MutateFunction<TData, TError, TVariables, TContext>>\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TContext,\n Result = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<Result>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TContext>\n mutateAsync: MutateFunction<TData, TError, TVariables, TContext>\n reset: MutationObserverResult<TData, TError, TVariables, TContext>['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n>(\n mutationOptions: MaybeRefDeep<\n MutationObserverOptions<TData, TError, TVariables, TContext>\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TContext> {\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = reactive(observer.getCurrentResult())\n\n // Nuxt2 memory leak fix - do not subscribe on server\n const unsubscribe = isServer\n ? noop\n : observer.subscribe((result) => {\n updateState(state, result)\n })\n\n const mutate = (\n variables: TVariables,\n mutateOptions?: MutateOptions<TData, TError, TVariables, TContext>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(\n options,\n () => {\n observer.setOptions(options.value)\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const resultRefs = toRefs(readonly(state)) as unknown as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TContext>>\n >\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"names":["useMutation","mutationOptions","queryClient","client","useQueryClient","options","computed","defaultMutationOptions","cloneDeepUnref","observer","MutationObserver","value","state","reactive","getCurrentResult","unsubscribe","isServer","noop","subscribe","result","updateState","mutate","variables","mutateOptions","catch","watch","setOptions","deep","onScopeDispose","resultRefs","toRefs","readonly","mutateAsync","reset"],"mappings":";;;;;AAwDO,SAASA,WAAWA,CAMzBC,eAEC,EACDC,WAAyB,EACmC;AAC5D,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,cAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,OAAO,GAAGC,QAAQ,CAAC,MAAM;IAC7B,OAAOH,MAAM,CAACI,sBAAsB,CAACC,cAAc,CAACP,eAAe,CAAC,CAAC,CAAA;AACvE,GAAC,CAAC,CAAA;EACF,MAAMQ,QAAQ,GAAG,IAAIC,gBAAgB,CAACP,MAAM,EAAEE,OAAO,CAACM,KAAK,CAAC,CAAA;EAC5D,MAAMC,KAAK,GAAGC,QAAQ,CAACJ,QAAQ,CAACK,gBAAgB,EAAE,CAAC,CAAA;;AAEnD;EACA,MAAMC,WAAW,GAAGC,QAAQ,GACxBC,IAAI,GACJR,QAAQ,CAACS,SAAS,CAAEC,MAAM,IAAK;AAC7BC,IAAAA,WAAW,CAACR,KAAK,EAAEO,MAAM,CAAC,CAAA;AAC5B,GAAC,CAAC,CAAA;AAEN,EAAA,MAAME,MAAM,GAAGA,CACbC,SAAqB,EACrBC,aAAkE,KAC/D;IACHd,QAAQ,CAACY,MAAM,CAACC,SAAS,EAAEC,aAAa,CAAC,CAACC,KAAK,CAAC,MAAM;AACpD;AAAA,KACD,CAAC,CAAA;GACH,CAAA;EAEDC,KAAK,CACHpB,OAAO,EACP,MAAM;AACJI,IAAAA,QAAQ,CAACiB,UAAU,CAACrB,OAAO,CAACM,KAAK,CAAC,CAAA;AACpC,GAAC,EACD;AAAEgB,IAAAA,IAAI,EAAE,IAAA;AAAK,GACf,CAAC,CAAA;AAEDC,EAAAA,cAAc,CAAC,MAAM;AACnBb,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,MAAMc,UAAU,GAAGC,MAAM,CAACC,QAAQ,CAACnB,KAAK,CAAC,CAExC,CAAA;EAED,OAAO;AACL,IAAA,GAAGiB,UAAU;IACbR,MAAM;IACNW,WAAW,EAAEpB,KAAK,CAACS,MAAM;IACzBY,KAAK,EAAErB,KAAK,CAACqB,KAAAA;GACd,CAAA;AACH;;;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var vueDemi = require('vue-demi');
4
+ var useQueryClient = require('./useQueryClient.legacy.cjs');
5
+ var utils = require('./utils.legacy.cjs');
6
+
7
+ function useIsMutating(filters = {}, queryClient) {
8
+ const client = queryClient || useQueryClient.useQueryClient();
9
+ const unreffedFilters = vueDemi.computed(() => ({
10
+ ...utils.cloneDeepUnref(filters),
11
+ status: 'pending'
12
+ }));
13
+ const length = vueDemi.computed(() => useMutationState({
14
+ filters: unreffedFilters
15
+ }, client).value.length);
16
+ return length;
17
+ }
18
+ function getResult(mutationCache, options) {
19
+ return mutationCache.findAll(options.filters).map(mutation => options.select ? options.select(mutation) : mutation.state);
20
+ }
21
+ function useMutationState(options = {}, queryClient) {
22
+ const mutationCache = (queryClient || useQueryClient.useQueryClient()).getMutationCache();
23
+ const state = vueDemi.ref(getResult(mutationCache, options));
24
+ const unsubscribe = mutationCache.subscribe(() => {
25
+ const result = getResult(mutationCache, options);
26
+ state.value = result;
27
+ });
28
+ vueDemi.onScopeDispose(() => {
29
+ unsubscribe();
30
+ });
31
+ return vueDemi.readonly(state);
32
+ }
33
+
34
+ exports.useIsMutating = useIsMutating;
35
+ exports.useMutationState = useMutationState;
36
+ //# sourceMappingURL=useMutationState.legacy.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMutationState.legacy.cjs","sources":["../../src/useMutationState.ts"],"sourcesContent":["import { onScopeDispose, readonly, computed, ref } from 'vue-demi'\nimport type { Ref, DeepReadonly } from 'vue-demi'\nimport type {\n MutationFilters as MF,\n Mutation,\n DefaultError,\n MutationState,\n} from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { QueryClient } from './queryClient'\nimport type { MaybeRefDeep } from './types'\nimport type { MutationCache } from './mutationCache'\n\nexport type MutationFilters = MaybeRefDeep<MF>\n\nexport function useIsMutating(\n filters: MutationFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n const client = queryClient || useQueryClient()\n const unreffedFilters = computed(() => ({\n ...cloneDeepUnref(filters),\n status: 'pending' as const,\n }))\n\n const length = computed(\n () => useMutationState({ filters: unreffedFilters }, client).value.length,\n )\n\n return length\n}\n\nexport type MutationStateOptions<TResult = MutationState> = {\n filters?: MutationFilters\n select?: (\n mutation: Mutation<unknown, DefaultError, unknown, unknown>,\n ) => TResult\n}\n\nfunction getResult<TResult = MutationState>(\n mutationCache: MutationCache,\n options: MutationStateOptions<TResult>,\n): Array<TResult> {\n return mutationCache\n .findAll(options.filters)\n .map(\n (mutation): TResult =>\n (options.select\n ? options.select(\n mutation as Mutation<unknown, DefaultError, unknown, unknown>,\n )\n : mutation.state) as TResult,\n )\n}\n\nexport function useMutationState<TResult = MutationState>(\n options: MutationStateOptions<TResult> = {},\n queryClient?: QueryClient,\n): DeepReadonly<Ref<Array<TResult>>> {\n const mutationCache = (queryClient || useQueryClient()).getMutationCache()\n const state = ref(getResult(mutationCache, options)) as Ref<TResult[]>\n const unsubscribe = mutationCache.subscribe(() => {\n const result = getResult(mutationCache, options)\n state.value = result\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state)\n}\n"],"names":["useIsMutating","filters","queryClient","client","useQueryClient","unreffedFilters","computed","cloneDeepUnref","status","length","useMutationState","value","getResult","mutationCache","options","findAll","map","mutation","select","state","getMutationCache","ref","unsubscribe","subscribe","result","onScopeDispose","readonly"],"mappings":";;;;;;AAgBO,SAASA,aAAaA,CAC3BC,OAAwB,GAAG,EAAE,EAC7BC,WAAyB,EACZ;AACb,EAAA,MAAMC,MAAM,GAAGD,WAAW,IAAIE,6BAAc,EAAE,CAAA;AAC9C,EAAA,MAAMC,eAAe,GAAGC,gBAAQ,CAAC,OAAO;IACtC,GAAGC,oBAAc,CAACN,OAAO,CAAC;AAC1BO,IAAAA,MAAM,EAAE,SAAA;AACV,GAAC,CAAC,CAAC,CAAA;AAEH,EAAA,MAAMC,MAAM,GAAGH,gBAAQ,CACrB,MAAMI,gBAAgB,CAAC;AAAET,IAAAA,OAAO,EAAEI,eAAAA;AAAgB,GAAC,EAAEF,MAAM,CAAC,CAACQ,KAAK,CAACF,MACrE,CAAC,CAAA;AAED,EAAA,OAAOA,MAAM,CAAA;AACf,CAAA;AASA,SAASG,SAASA,CAChBC,aAA4B,EAC5BC,OAAsC,EACtB;EAChB,OAAOD,aAAa,CACjBE,OAAO,CAACD,OAAO,CAACb,OAAO,CAAC,CACxBe,GAAG,CACDC,QAAQ,IACNH,OAAO,CAACI,MAAM,GACXJ,OAAO,CAACI,MAAM,CACZD,QACF,CAAC,GACDA,QAAQ,CAACE,KACjB,CAAC,CAAA;AACL,CAAA;AAEO,SAAST,gBAAgBA,CAC9BI,OAAsC,GAAG,EAAE,EAC3CZ,WAAyB,EACU;EACnC,MAAMW,aAAa,GAAG,CAACX,WAAW,IAAIE,6BAAc,EAAE,EAAEgB,gBAAgB,EAAE,CAAA;EAC1E,MAAMD,KAAK,GAAGE,WAAG,CAACT,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAmB,CAAA;AACtE,EAAA,MAAMQ,WAAW,GAAGT,aAAa,CAACU,SAAS,CAAC,MAAM;AAChD,IAAA,MAAMC,MAAM,GAAGZ,SAAS,CAACC,aAAa,EAAEC,OAAO,CAAC,CAAA;IAChDK,KAAK,CAACR,KAAK,GAAGa,MAAM,CAAA;AACtB,GAAC,CAAC,CAAA;AAEFC,EAAAA,sBAAc,CAAC,MAAM;AACnBH,IAAAA,WAAW,EAAE,CAAA;AACf,GAAC,CAAC,CAAA;EAEF,OAAOI,gBAAQ,CAACP,KAAK,CAAC,CAAA;AACxB;;;;;"}
@@ -0,0 +1,33 @@
1
+ import { computed, ref, onScopeDispose, readonly } from 'vue-demi';
2
+ import { useQueryClient } from './useQueryClient.legacy.js';
3
+ import { cloneDeepUnref } from './utils.legacy.js';
4
+
5
+ function useIsMutating(filters = {}, queryClient) {
6
+ const client = queryClient || useQueryClient();
7
+ const unreffedFilters = computed(() => ({
8
+ ...cloneDeepUnref(filters),
9
+ status: 'pending'
10
+ }));
11
+ const length = computed(() => useMutationState({
12
+ filters: unreffedFilters
13
+ }, client).value.length);
14
+ return length;
15
+ }
16
+ function getResult(mutationCache, options) {
17
+ return mutationCache.findAll(options.filters).map(mutation => options.select ? options.select(mutation) : mutation.state);
18
+ }
19
+ function useMutationState(options = {}, queryClient) {
20
+ const mutationCache = (queryClient || useQueryClient()).getMutationCache();
21
+ const state = ref(getResult(mutationCache, options));
22
+ const unsubscribe = mutationCache.subscribe(() => {
23
+ const result = getResult(mutationCache, options);
24
+ state.value = result;
25
+ });
26
+ onScopeDispose(() => {
27
+ unsubscribe();
28
+ });
29
+ return readonly(state);
30
+ }
31
+
32
+ export { useIsMutating, useMutationState };
33
+ //# sourceMappingURL=useMutationState.legacy.js.map