@tanstack/vue-query 5.94.4 → 5.94.5

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 (233) hide show
  1. package/build/legacy/_tsup-dts-rollup.d.cts +855 -0
  2. package/build/legacy/_tsup-dts-rollup.d.ts +855 -0
  3. package/build/legacy/devtools/devtools.cjs +258 -0
  4. package/build/legacy/devtools/devtools.cjs.map +1 -0
  5. package/build/legacy/devtools/devtools.d.cts +1 -0
  6. package/build/legacy/devtools/devtools.d.ts +1 -0
  7. package/build/legacy/devtools/devtools.js +238 -0
  8. package/build/legacy/devtools/devtools.js.map +1 -0
  9. package/build/legacy/devtools/utils.cjs +105 -0
  10. package/build/legacy/devtools/utils.cjs.map +1 -0
  11. package/build/legacy/devtools/utils.d.cts +5 -0
  12. package/build/legacy/devtools/utils.d.ts +5 -0
  13. package/build/legacy/devtools/utils.js +76 -0
  14. package/build/legacy/devtools/utils.js.map +1 -0
  15. package/build/legacy/index.cjs +75 -0
  16. package/build/legacy/index.cjs.map +1 -0
  17. package/build/legacy/index.d.cts +169 -0
  18. package/build/legacy/index.d.ts +169 -0
  19. package/build/legacy/index.js +34 -0
  20. package/build/legacy/index.js.map +1 -0
  21. package/build/legacy/infiniteQueryOptions.cjs +33 -0
  22. package/build/legacy/infiniteQueryOptions.cjs.map +1 -0
  23. package/build/legacy/infiniteQueryOptions.d.cts +3 -0
  24. package/build/legacy/infiniteQueryOptions.d.ts +3 -0
  25. package/build/legacy/infiniteQueryOptions.js +8 -0
  26. package/build/legacy/infiniteQueryOptions.js.map +1 -0
  27. package/build/legacy/mutationCache.cjs +40 -0
  28. package/build/legacy/mutationCache.cjs.map +1 -0
  29. package/build/legacy/mutationCache.d.cts +1 -0
  30. package/build/legacy/mutationCache.d.ts +1 -0
  31. package/build/legacy/mutationCache.js +15 -0
  32. package/build/legacy/mutationCache.js.map +1 -0
  33. package/build/legacy/queryCache.cjs +40 -0
  34. package/build/legacy/queryCache.cjs.map +1 -0
  35. package/build/legacy/queryCache.d.cts +1 -0
  36. package/build/legacy/queryCache.d.ts +1 -0
  37. package/build/legacy/queryCache.js +15 -0
  38. package/build/legacy/queryCache.js.map +1 -0
  39. package/build/legacy/queryClient.cjs +141 -0
  40. package/build/legacy/queryClient.cjs.map +1 -0
  41. package/build/legacy/queryClient.d.cts +1 -0
  42. package/build/legacy/queryClient.d.ts +1 -0
  43. package/build/legacy/queryClient.js +116 -0
  44. package/build/legacy/queryClient.js.map +1 -0
  45. package/build/legacy/queryOptions.cjs +33 -0
  46. package/build/legacy/queryOptions.cjs.map +1 -0
  47. package/build/legacy/queryOptions.d.cts +1 -0
  48. package/build/legacy/queryOptions.d.ts +1 -0
  49. package/build/legacy/queryOptions.js +8 -0
  50. package/build/legacy/queryOptions.js.map +1 -0
  51. package/build/legacy/types.cjs +19 -0
  52. package/build/legacy/types.cjs.map +1 -0
  53. package/build/legacy/types.d.cts +9 -0
  54. package/build/legacy/types.d.ts +9 -0
  55. package/build/legacy/types.js +1 -0
  56. package/build/legacy/types.js.map +1 -0
  57. package/build/legacy/useBaseQuery.cjs +143 -0
  58. package/build/legacy/useBaseQuery.cjs.map +1 -0
  59. package/build/legacy/useBaseQuery.d.cts +2 -0
  60. package/build/legacy/useBaseQuery.d.ts +2 -0
  61. package/build/legacy/useBaseQuery.js +128 -0
  62. package/build/legacy/useBaseQuery.js.map +1 -0
  63. package/build/legacy/useInfiniteQuery.cjs +39 -0
  64. package/build/legacy/useInfiniteQuery.cjs.map +1 -0
  65. package/build/legacy/useInfiniteQuery.d.cts +3 -0
  66. package/build/legacy/useInfiniteQuery.d.ts +3 -0
  67. package/build/legacy/useInfiniteQuery.js +14 -0
  68. package/build/legacy/useInfiniteQuery.js.map +1 -0
  69. package/build/legacy/useIsFetching.cjs +54 -0
  70. package/build/legacy/useIsFetching.cjs.map +1 -0
  71. package/build/legacy/useIsFetching.d.cts +2 -0
  72. package/build/legacy/useIsFetching.d.ts +2 -0
  73. package/build/legacy/useIsFetching.js +29 -0
  74. package/build/legacy/useIsFetching.js.map +1 -0
  75. package/build/legacy/useMutation.cjs +79 -0
  76. package/build/legacy/useMutation.cjs.map +1 -0
  77. package/build/legacy/useMutation.d.cts +3 -0
  78. package/build/legacy/useMutation.d.ts +3 -0
  79. package/build/legacy/useMutation.js +64 -0
  80. package/build/legacy/useMutation.js.map +1 -0
  81. package/build/legacy/useMutationState.cjs +82 -0
  82. package/build/legacy/useMutationState.cjs.map +1 -0
  83. package/build/legacy/useMutationState.d.cts +4 -0
  84. package/build/legacy/useMutationState.d.ts +4 -0
  85. package/build/legacy/useMutationState.js +63 -0
  86. package/build/legacy/useMutationState.js.map +1 -0
  87. package/build/legacy/useQueries.cjs +115 -0
  88. package/build/legacy/useQueries.cjs.map +1 -0
  89. package/build/legacy/useQueries.d.cts +3 -0
  90. package/build/legacy/useQueries.d.ts +3 -0
  91. package/build/legacy/useQueries.js +99 -0
  92. package/build/legacy/useQueries.js.map +1 -0
  93. package/build/legacy/useQuery.cjs +35 -0
  94. package/build/legacy/useQuery.cjs.map +1 -0
  95. package/build/legacy/useQuery.d.cts +6 -0
  96. package/build/legacy/useQuery.d.ts +6 -0
  97. package/build/legacy/useQuery.js +10 -0
  98. package/build/legacy/useQuery.js.map +1 -0
  99. package/build/legacy/useQueryClient.cjs +47 -0
  100. package/build/legacy/useQueryClient.cjs.map +1 -0
  101. package/build/legacy/useQueryClient.d.cts +1 -0
  102. package/build/legacy/useQueryClient.d.ts +1 -0
  103. package/build/legacy/useQueryClient.js +22 -0
  104. package/build/legacy/useQueryClient.js.map +1 -0
  105. package/build/legacy/utils.cjs +100 -0
  106. package/build/legacy/utils.cjs.map +1 -0
  107. package/build/legacy/utils.d.cts +5 -0
  108. package/build/legacy/utils.d.ts +5 -0
  109. package/build/legacy/utils.js +71 -0
  110. package/build/legacy/utils.js.map +1 -0
  111. package/build/legacy/vueQueryPlugin.cjs +105 -0
  112. package/build/legacy/vueQueryPlugin.cjs.map +1 -0
  113. package/build/legacy/vueQueryPlugin.d.cts +2 -0
  114. package/build/legacy/vueQueryPlugin.d.ts +2 -0
  115. package/build/legacy/vueQueryPlugin.js +80 -0
  116. package/build/legacy/vueQueryPlugin.js.map +1 -0
  117. package/build/modern/_tsup-dts-rollup.d.cts +855 -0
  118. package/build/modern/_tsup-dts-rollup.d.ts +855 -0
  119. package/build/modern/devtools/devtools.cjs +256 -0
  120. package/build/modern/devtools/devtools.cjs.map +1 -0
  121. package/build/modern/devtools/devtools.d.cts +1 -0
  122. package/build/modern/devtools/devtools.d.ts +1 -0
  123. package/build/modern/devtools/devtools.js +236 -0
  124. package/build/modern/devtools/devtools.js.map +1 -0
  125. package/build/modern/devtools/utils.cjs +105 -0
  126. package/build/modern/devtools/utils.cjs.map +1 -0
  127. package/build/modern/devtools/utils.d.cts +5 -0
  128. package/build/modern/devtools/utils.d.ts +5 -0
  129. package/build/modern/devtools/utils.js +76 -0
  130. package/build/modern/devtools/utils.js.map +1 -0
  131. package/build/modern/index.cjs +75 -0
  132. package/build/modern/index.cjs.map +1 -0
  133. package/build/modern/index.d.cts +169 -0
  134. package/build/modern/index.d.ts +169 -0
  135. package/build/modern/index.js +34 -0
  136. package/build/modern/index.js.map +1 -0
  137. package/build/modern/infiniteQueryOptions.cjs +33 -0
  138. package/build/modern/infiniteQueryOptions.cjs.map +1 -0
  139. package/build/modern/infiniteQueryOptions.d.cts +3 -0
  140. package/build/modern/infiniteQueryOptions.d.ts +3 -0
  141. package/build/modern/infiniteQueryOptions.js +8 -0
  142. package/build/modern/infiniteQueryOptions.js.map +1 -0
  143. package/build/modern/mutationCache.cjs +40 -0
  144. package/build/modern/mutationCache.cjs.map +1 -0
  145. package/build/modern/mutationCache.d.cts +1 -0
  146. package/build/modern/mutationCache.d.ts +1 -0
  147. package/build/modern/mutationCache.js +15 -0
  148. package/build/modern/mutationCache.js.map +1 -0
  149. package/build/modern/queryCache.cjs +40 -0
  150. package/build/modern/queryCache.cjs.map +1 -0
  151. package/build/modern/queryCache.d.cts +1 -0
  152. package/build/modern/queryCache.d.ts +1 -0
  153. package/build/modern/queryCache.js +15 -0
  154. package/build/modern/queryCache.js.map +1 -0
  155. package/build/modern/queryClient.cjs +141 -0
  156. package/build/modern/queryClient.cjs.map +1 -0
  157. package/build/modern/queryClient.d.cts +1 -0
  158. package/build/modern/queryClient.d.ts +1 -0
  159. package/build/modern/queryClient.js +116 -0
  160. package/build/modern/queryClient.js.map +1 -0
  161. package/build/modern/queryOptions.cjs +33 -0
  162. package/build/modern/queryOptions.cjs.map +1 -0
  163. package/build/modern/queryOptions.d.cts +1 -0
  164. package/build/modern/queryOptions.d.ts +1 -0
  165. package/build/modern/queryOptions.js +8 -0
  166. package/build/modern/queryOptions.js.map +1 -0
  167. package/build/modern/types.cjs +19 -0
  168. package/build/modern/types.cjs.map +1 -0
  169. package/build/modern/types.d.cts +9 -0
  170. package/build/modern/types.d.ts +9 -0
  171. package/build/modern/types.js +1 -0
  172. package/build/modern/types.js.map +1 -0
  173. package/build/modern/useBaseQuery.cjs +142 -0
  174. package/build/modern/useBaseQuery.cjs.map +1 -0
  175. package/build/modern/useBaseQuery.d.cts +2 -0
  176. package/build/modern/useBaseQuery.d.ts +2 -0
  177. package/build/modern/useBaseQuery.js +127 -0
  178. package/build/modern/useBaseQuery.js.map +1 -0
  179. package/build/modern/useInfiniteQuery.cjs +39 -0
  180. package/build/modern/useInfiniteQuery.cjs.map +1 -0
  181. package/build/modern/useInfiniteQuery.d.cts +3 -0
  182. package/build/modern/useInfiniteQuery.d.ts +3 -0
  183. package/build/modern/useInfiniteQuery.js +14 -0
  184. package/build/modern/useInfiniteQuery.js.map +1 -0
  185. package/build/modern/useIsFetching.cjs +54 -0
  186. package/build/modern/useIsFetching.cjs.map +1 -0
  187. package/build/modern/useIsFetching.d.cts +2 -0
  188. package/build/modern/useIsFetching.d.ts +2 -0
  189. package/build/modern/useIsFetching.js +29 -0
  190. package/build/modern/useIsFetching.js.map +1 -0
  191. package/build/modern/useMutation.cjs +79 -0
  192. package/build/modern/useMutation.cjs.map +1 -0
  193. package/build/modern/useMutation.d.cts +3 -0
  194. package/build/modern/useMutation.d.ts +3 -0
  195. package/build/modern/useMutation.js +64 -0
  196. package/build/modern/useMutation.js.map +1 -0
  197. package/build/modern/useMutationState.cjs +82 -0
  198. package/build/modern/useMutationState.cjs.map +1 -0
  199. package/build/modern/useMutationState.d.cts +4 -0
  200. package/build/modern/useMutationState.d.ts +4 -0
  201. package/build/modern/useMutationState.js +63 -0
  202. package/build/modern/useMutationState.js.map +1 -0
  203. package/build/modern/useQueries.cjs +114 -0
  204. package/build/modern/useQueries.cjs.map +1 -0
  205. package/build/modern/useQueries.d.cts +3 -0
  206. package/build/modern/useQueries.d.ts +3 -0
  207. package/build/modern/useQueries.js +98 -0
  208. package/build/modern/useQueries.js.map +1 -0
  209. package/build/modern/useQuery.cjs +35 -0
  210. package/build/modern/useQuery.cjs.map +1 -0
  211. package/build/modern/useQuery.d.cts +6 -0
  212. package/build/modern/useQuery.d.ts +6 -0
  213. package/build/modern/useQuery.js +10 -0
  214. package/build/modern/useQuery.js.map +1 -0
  215. package/build/modern/useQueryClient.cjs +47 -0
  216. package/build/modern/useQueryClient.cjs.map +1 -0
  217. package/build/modern/useQueryClient.d.cts +1 -0
  218. package/build/modern/useQueryClient.d.ts +1 -0
  219. package/build/modern/useQueryClient.js +22 -0
  220. package/build/modern/useQueryClient.js.map +1 -0
  221. package/build/modern/utils.cjs +100 -0
  222. package/build/modern/utils.cjs.map +1 -0
  223. package/build/modern/utils.d.cts +5 -0
  224. package/build/modern/utils.d.ts +5 -0
  225. package/build/modern/utils.js +71 -0
  226. package/build/modern/utils.js.map +1 -0
  227. package/build/modern/vueQueryPlugin.cjs +104 -0
  228. package/build/modern/vueQueryPlugin.cjs.map +1 -0
  229. package/build/modern/vueQueryPlugin.d.cts +2 -0
  230. package/build/modern/vueQueryPlugin.d.ts +2 -0
  231. package/build/modern/vueQueryPlugin.js +79 -0
  232. package/build/modern/vueQueryPlugin.js.map +1 -0
  233. package/package.json +2 -2
@@ -0,0 +1,142 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/useBaseQuery.ts
21
+ var useBaseQuery_exports = {};
22
+ __export(useBaseQuery_exports, {
23
+ useBaseQuery: () => useBaseQuery
24
+ });
25
+ module.exports = __toCommonJS(useBaseQuery_exports);
26
+ var import_vue_demi = require("vue-demi");
27
+ var import_query_core = require("@tanstack/query-core");
28
+ var import_useQueryClient = require("./useQueryClient.cjs");
29
+ var import_utils = require("./utils.cjs");
30
+ function useBaseQuery(Observer, options, queryClient) {
31
+ if (process.env.NODE_ENV === "development") {
32
+ if (!(0, import_vue_demi.getCurrentScope)()) {
33
+ console.warn(
34
+ 'vue-query composable like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
35
+ );
36
+ }
37
+ }
38
+ const client = queryClient || (0, import_useQueryClient.useQueryClient)();
39
+ const defaultedOptions = (0, import_vue_demi.computed)(() => {
40
+ let resolvedOptions = options;
41
+ if (typeof resolvedOptions === "function") {
42
+ resolvedOptions = resolvedOptions();
43
+ }
44
+ const clonedOptions = (0, import_utils.cloneDeepUnref)(resolvedOptions);
45
+ if (typeof clonedOptions.enabled === "function") {
46
+ clonedOptions.enabled = clonedOptions.enabled();
47
+ }
48
+ const defaulted = client.defaultQueryOptions(clonedOptions);
49
+ defaulted._optimisticResults = client.isRestoring?.value ? "isRestoring" : "optimistic";
50
+ return defaulted;
51
+ });
52
+ const observer = new Observer(client, defaultedOptions.value);
53
+ const state = defaultedOptions.value.shallow ? (0, import_vue_demi.shallowReactive)(observer.getCurrentResult()) : (0, import_vue_demi.reactive)(observer.getCurrentResult());
54
+ let unsubscribe = () => {
55
+ };
56
+ if (client.isRestoring) {
57
+ (0, import_vue_demi.watch)(
58
+ client.isRestoring,
59
+ (isRestoring) => {
60
+ if (!isRestoring) {
61
+ unsubscribe();
62
+ unsubscribe = observer.subscribe((result) => {
63
+ (0, import_utils.updateState)(state, result);
64
+ });
65
+ }
66
+ },
67
+ { immediate: true }
68
+ );
69
+ }
70
+ const updater = () => {
71
+ observer.setOptions(defaultedOptions.value);
72
+ (0, import_utils.updateState)(state, observer.getCurrentResult());
73
+ };
74
+ (0, import_vue_demi.watch)(defaultedOptions, updater);
75
+ (0, import_vue_demi.onScopeDispose)(() => {
76
+ unsubscribe();
77
+ });
78
+ const refetch = (...args) => {
79
+ updater();
80
+ return state.refetch(...args);
81
+ };
82
+ const suspense = () => {
83
+ return new Promise(
84
+ (resolve, reject) => {
85
+ let stopWatch = () => {
86
+ };
87
+ const run = () => {
88
+ if (defaultedOptions.value.enabled !== false) {
89
+ observer.setOptions(defaultedOptions.value);
90
+ const optimisticResult = observer.getOptimisticResult(
91
+ defaultedOptions.value
92
+ );
93
+ if (optimisticResult.isStale) {
94
+ stopWatch();
95
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, (error) => {
96
+ if ((0, import_query_core.shouldThrowError)(defaultedOptions.value.throwOnError, [
97
+ error,
98
+ observer.getCurrentQuery()
99
+ ])) {
100
+ reject(error);
101
+ } else {
102
+ resolve(observer.getCurrentResult());
103
+ }
104
+ });
105
+ } else {
106
+ stopWatch();
107
+ resolve(optimisticResult);
108
+ }
109
+ }
110
+ };
111
+ run();
112
+ stopWatch = (0, import_vue_demi.watch)(defaultedOptions, run);
113
+ }
114
+ );
115
+ };
116
+ (0, import_vue_demi.watch)(
117
+ () => state.error,
118
+ (error) => {
119
+ if (state.isError && !state.isFetching && (0, import_query_core.shouldThrowError)(defaultedOptions.value.throwOnError, [
120
+ error,
121
+ observer.getCurrentQuery()
122
+ ])) {
123
+ throw error;
124
+ }
125
+ }
126
+ );
127
+ const readonlyState = defaultedOptions.value.shallow ? (0, import_vue_demi.shallowReadonly)(state) : (0, import_vue_demi.readonly)(state);
128
+ const object = (0, import_vue_demi.toRefs)(readonlyState);
129
+ for (const key in state) {
130
+ if (typeof state[key] === "function") {
131
+ object[key] = state[key];
132
+ }
133
+ }
134
+ object.suspense = suspense;
135
+ object.refetch = refetch;
136
+ return object;
137
+ }
138
+ // Annotate the CommonJS export names for ESM import in node:
139
+ 0 && (module.exports = {
140
+ useBaseQuery
141
+ });
142
+ //# sourceMappingURL=useBaseQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n shallowReactive,\n shallowReadonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { shouldThrowError } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, updateState } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultedQueryObserverOptions,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryClient } from './queryClient'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\nimport type { MaybeRefOrGetter } from './types'\n\nexport type UseBaseQueryReturnType<\n TData,\n TError,\n TResult = QueryObserverResult<TData, TError>,\n> = {\n [K in keyof TResult]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n ? TResult[K]\n : Ref<Readonly<TResult>[K]>\n} & {\n suspense: () => Promise<TResult>\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<TQueryFnData, TError, TData, TQueryKey, TPageParam>\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: MaybeRefOrGetter<\n UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n >,\n queryClient?: QueryClient,\n): UseBaseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n\n const defaultedOptions = computed(() => {\n let resolvedOptions = options\n if (typeof resolvedOptions === 'function') {\n resolvedOptions = resolvedOptions()\n }\n const clonedOptions = cloneDeepUnref(resolvedOptions as any)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = clonedOptions.enabled()\n }\n\n const defaulted: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > = client.defaultQueryOptions(clonedOptions)\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 // @ts-expect-error\n const state = defaultedOptions.value.shallow\n ? shallowReactive(observer.getCurrentResult())\n : reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n if (client.isRestoring) {\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n }\n\n const updater = () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n }\n\n watch(defaultedOptions, updater)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n // fix #5910\n const refetch = (...args: Parameters<(typeof state)['refetch']>) => {\n updater()\n return state.refetch(...args)\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 // fix #6133\n observer.setOptions(defaultedOptions.value)\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, (error: TError) => {\n if (\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error,\n observer.getCurrentQuery(),\n ])\n ) {\n reject(error)\n } else {\n resolve(observer.getCurrentResult())\n }\n })\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.throwOnError, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n // @ts-expect-error\n const readonlyState = defaultedOptions.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const object: any = toRefs(readonlyState)\n for (const key in state) {\n if (typeof state[key as keyof typeof state] === 'function') {\n object[key] = state[key as keyof typeof state]\n }\n }\n\n object.suspense = suspense\n object.refetch = refetch\n\n return object as UseBaseQueryReturnType<TData, TError>\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,2 @@
1
+ export { useBaseQuery } from './_tsup-dts-rollup.cjs';
2
+ export { UseBaseQueryReturnType } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1,2 @@
1
+ export { useBaseQuery } from './_tsup-dts-rollup.js';
2
+ export { UseBaseQueryReturnType } from './_tsup-dts-rollup.js';
@@ -0,0 +1,127 @@
1
+ // src/useBaseQuery.ts
2
+ import {
3
+ computed,
4
+ getCurrentScope,
5
+ onScopeDispose,
6
+ reactive,
7
+ readonly,
8
+ shallowReactive,
9
+ shallowReadonly,
10
+ toRefs,
11
+ watch
12
+ } from "vue-demi";
13
+ import { shouldThrowError } from "@tanstack/query-core";
14
+ import { useQueryClient } from "./useQueryClient.js";
15
+ import { cloneDeepUnref, updateState } from "./utils.js";
16
+ function useBaseQuery(Observer, options, queryClient) {
17
+ if (process.env.NODE_ENV === "development") {
18
+ if (!getCurrentScope()) {
19
+ console.warn(
20
+ 'vue-query composable like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
21
+ );
22
+ }
23
+ }
24
+ const client = queryClient || useQueryClient();
25
+ const defaultedOptions = computed(() => {
26
+ let resolvedOptions = options;
27
+ if (typeof resolvedOptions === "function") {
28
+ resolvedOptions = resolvedOptions();
29
+ }
30
+ const clonedOptions = cloneDeepUnref(resolvedOptions);
31
+ if (typeof clonedOptions.enabled === "function") {
32
+ clonedOptions.enabled = clonedOptions.enabled();
33
+ }
34
+ const defaulted = client.defaultQueryOptions(clonedOptions);
35
+ defaulted._optimisticResults = client.isRestoring?.value ? "isRestoring" : "optimistic";
36
+ return defaulted;
37
+ });
38
+ const observer = new Observer(client, defaultedOptions.value);
39
+ const state = defaultedOptions.value.shallow ? shallowReactive(observer.getCurrentResult()) : reactive(observer.getCurrentResult());
40
+ let unsubscribe = () => {
41
+ };
42
+ if (client.isRestoring) {
43
+ watch(
44
+ client.isRestoring,
45
+ (isRestoring) => {
46
+ if (!isRestoring) {
47
+ unsubscribe();
48
+ unsubscribe = observer.subscribe((result) => {
49
+ updateState(state, result);
50
+ });
51
+ }
52
+ },
53
+ { immediate: true }
54
+ );
55
+ }
56
+ const updater = () => {
57
+ observer.setOptions(defaultedOptions.value);
58
+ updateState(state, observer.getCurrentResult());
59
+ };
60
+ watch(defaultedOptions, updater);
61
+ onScopeDispose(() => {
62
+ unsubscribe();
63
+ });
64
+ const refetch = (...args) => {
65
+ updater();
66
+ return state.refetch(...args);
67
+ };
68
+ const suspense = () => {
69
+ return new Promise(
70
+ (resolve, reject) => {
71
+ let stopWatch = () => {
72
+ };
73
+ const run = () => {
74
+ if (defaultedOptions.value.enabled !== false) {
75
+ observer.setOptions(defaultedOptions.value);
76
+ const optimisticResult = observer.getOptimisticResult(
77
+ defaultedOptions.value
78
+ );
79
+ if (optimisticResult.isStale) {
80
+ stopWatch();
81
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, (error) => {
82
+ if (shouldThrowError(defaultedOptions.value.throwOnError, [
83
+ error,
84
+ observer.getCurrentQuery()
85
+ ])) {
86
+ reject(error);
87
+ } else {
88
+ resolve(observer.getCurrentResult());
89
+ }
90
+ });
91
+ } else {
92
+ stopWatch();
93
+ resolve(optimisticResult);
94
+ }
95
+ }
96
+ };
97
+ run();
98
+ stopWatch = watch(defaultedOptions, run);
99
+ }
100
+ );
101
+ };
102
+ watch(
103
+ () => state.error,
104
+ (error) => {
105
+ if (state.isError && !state.isFetching && shouldThrowError(defaultedOptions.value.throwOnError, [
106
+ error,
107
+ observer.getCurrentQuery()
108
+ ])) {
109
+ throw error;
110
+ }
111
+ }
112
+ );
113
+ const readonlyState = defaultedOptions.value.shallow ? shallowReadonly(state) : readonly(state);
114
+ const object = toRefs(readonlyState);
115
+ for (const key in state) {
116
+ if (typeof state[key] === "function") {
117
+ object[key] = state[key];
118
+ }
119
+ }
120
+ object.suspense = suspense;
121
+ object.refetch = refetch;
122
+ return object;
123
+ }
124
+ export {
125
+ useBaseQuery
126
+ };
127
+ //# sourceMappingURL=useBaseQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n shallowReactive,\n shallowReadonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { shouldThrowError } from '@tanstack/query-core'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, updateState } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultedQueryObserverOptions,\n QueryKey,\n QueryObserver,\n QueryObserverResult,\n} from '@tanstack/query-core'\nimport type { QueryClient } from './queryClient'\nimport type { UseQueryOptions } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\nimport type { MaybeRefOrGetter } from './types'\n\nexport type UseBaseQueryReturnType<\n TData,\n TError,\n TResult = QueryObserverResult<TData, TError>,\n> = {\n [K in keyof TResult]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n ? TResult[K]\n : Ref<Readonly<TResult>[K]>\n} & {\n suspense: () => Promise<TResult>\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<TQueryFnData, TError, TData, TQueryKey, TPageParam>\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: MaybeRefOrGetter<\n UseQueryOptionsGeneric<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey,\n TPageParam\n >\n >,\n queryClient?: QueryClient,\n): UseBaseQueryReturnType<TData, TError> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n\n const defaultedOptions = computed(() => {\n let resolvedOptions = options\n if (typeof resolvedOptions === 'function') {\n resolvedOptions = resolvedOptions()\n }\n const clonedOptions = cloneDeepUnref(resolvedOptions as any)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = clonedOptions.enabled()\n }\n\n const defaulted: DefaultedQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n > = client.defaultQueryOptions(clonedOptions)\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 // @ts-expect-error\n const state = defaultedOptions.value.shallow\n ? shallowReactive(observer.getCurrentResult())\n : reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n if (client.isRestoring) {\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n }\n\n const updater = () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n }\n\n watch(defaultedOptions, updater)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n // fix #5910\n const refetch = (...args: Parameters<(typeof state)['refetch']>) => {\n updater()\n return state.refetch(...args)\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 // fix #6133\n observer.setOptions(defaultedOptions.value)\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, (error: TError) => {\n if (\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error,\n observer.getCurrentQuery(),\n ])\n ) {\n reject(error)\n } else {\n resolve(observer.getCurrentResult())\n }\n })\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.throwOnError, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n // @ts-expect-error\n const readonlyState = defaultedOptions.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const object: any = toRefs(readonlyState)\n for (const key in state) {\n if (typeof state[key as keyof typeof state] === 'function') {\n object[key] = state[key as keyof typeof state]\n }\n }\n\n object.suspense = suspense\n object.refetch = refetch\n\n return object as UseBaseQueryReturnType<TData, TError>\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/useInfiniteQuery.ts
21
+ var useInfiniteQuery_exports = {};
22
+ __export(useInfiniteQuery_exports, {
23
+ useInfiniteQuery: () => useInfiniteQuery
24
+ });
25
+ module.exports = __toCommonJS(useInfiniteQuery_exports);
26
+ var import_query_core = require("@tanstack/query-core");
27
+ var import_useBaseQuery = require("./useBaseQuery.cjs");
28
+ function useInfiniteQuery(options, queryClient) {
29
+ return (0, import_useBaseQuery.useBaseQuery)(
30
+ import_query_core.InfiniteQueryObserver,
31
+ options,
32
+ queryClient
33
+ );
34
+ }
35
+ // Annotate the CommonJS export names for ESM import in node:
36
+ 0 && (module.exports = {
37
+ useInfiniteQuery
38
+ });
39
+ //# sourceMappingURL=useInfiniteQuery.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type {\n DeepUnwrapRef,\n MaybeRef,\n MaybeRefDeep,\n MaybeRefOrGetter,\n ShallowOption,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = MaybeRef<\n {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n : MaybeRefDeep<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n } & ShallowOption\n>\n\nexport type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\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: MaybeRefOrGetter<\n DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: MaybeRefOrGetter<\n UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: MaybeRefOrGetter<\n UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError>\n\nexport function useInfiniteQuery(\n options: MaybeRefOrGetter<UseInfiniteQueryOptions>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsC;AACtC,0BAA6B;AAsHtB,SAAS,iBACd,SACA,aACA;AACA,aAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ export { useInfiniteQuery_alias_1 as useInfiniteQuery } from './_tsup-dts-rollup.cjs';
2
+ export { UseInfiniteQueryOptions_alias_1 as UseInfiniteQueryOptions } from './_tsup-dts-rollup.cjs';
3
+ export { UseInfiniteQueryReturnType_alias_1 as UseInfiniteQueryReturnType } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1,3 @@
1
+ export { useInfiniteQuery_alias_1 as useInfiniteQuery } from './_tsup-dts-rollup.js';
2
+ export { UseInfiniteQueryOptions_alias_1 as UseInfiniteQueryOptions } from './_tsup-dts-rollup.js';
3
+ export { UseInfiniteQueryReturnType_alias_1 as UseInfiniteQueryReturnType } from './_tsup-dts-rollup.js';
@@ -0,0 +1,14 @@
1
+ // src/useInfiniteQuery.ts
2
+ import { InfiniteQueryObserver } from "@tanstack/query-core";
3
+ import { useBaseQuery } from "./useBaseQuery.js";
4
+ function useInfiniteQuery(options, queryClient) {
5
+ return useBaseQuery(
6
+ InfiniteQueryObserver,
7
+ options,
8
+ queryClient
9
+ );
10
+ }
11
+ export {
12
+ useInfiniteQuery
13
+ };
14
+ //# sourceMappingURL=useInfiniteQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefinedInitialDataInfiniteOptions,\n UndefinedInitialDataInfiniteOptions,\n} from './infiniteQueryOptions'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type {\n DeepUnwrapRef,\n MaybeRef,\n MaybeRefDeep,\n MaybeRefOrGetter,\n ShallowOption,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type UseInfiniteQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n> = MaybeRef<\n {\n [Property in keyof InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n : MaybeRefDeep<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n >\n } & ShallowOption\n>\n\nexport type UseInfiniteQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n InfiniteQueryObserverResult<TData, TError>\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: MaybeRefOrGetter<\n DefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: MaybeRefOrGetter<\n UndefinedInitialDataInfiniteOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryKey,\n TPageParam\n >\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError>\n\nexport function useInfiniteQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = InfiniteData<TQueryFnData>,\n TQueryKey extends QueryKey = QueryKey,\n TPageParam = unknown,\n>(\n options: MaybeRefOrGetter<\n UseInfiniteQueryOptions<TQueryFnData, TError, TData, TQueryKey, TPageParam>\n >,\n queryClient?: QueryClient,\n): UseInfiniteQueryReturnType<TData, TError>\n\nexport function useInfiniteQuery(\n options: MaybeRefOrGetter<UseInfiniteQueryOptions>,\n queryClient?: QueryClient,\n) {\n return useBaseQuery(\n InfiniteQueryObserver as typeof QueryObserver,\n options,\n queryClient,\n )\n}\n"],"mappings":";AAAA,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAsHtB,SAAS,iBACd,SACA,aACA;AACA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;","names":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/useIsFetching.ts
21
+ var useIsFetching_exports = {};
22
+ __export(useIsFetching_exports, {
23
+ useIsFetching: () => useIsFetching
24
+ });
25
+ module.exports = __toCommonJS(useIsFetching_exports);
26
+ var import_vue_demi = require("vue-demi");
27
+ var import_useQueryClient = require("./useQueryClient.cjs");
28
+ var import_utils = require("./utils.cjs");
29
+ function useIsFetching(fetchingFilters = {}, queryClient) {
30
+ if (process.env.NODE_ENV === "development") {
31
+ if (!(0, import_vue_demi.getCurrentScope)()) {
32
+ console.warn(
33
+ 'vue-query composable like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
34
+ );
35
+ }
36
+ }
37
+ const client = queryClient || (0, import_useQueryClient.useQueryClient)();
38
+ const isFetching = (0, import_vue_demi.ref)();
39
+ const listener = () => {
40
+ const resolvedFilters = typeof fetchingFilters === "function" ? fetchingFilters() : fetchingFilters;
41
+ isFetching.value = client.isFetching((0, import_utils.cloneDeepUnref)(resolvedFilters));
42
+ };
43
+ const unsubscribe = client.getQueryCache().subscribe(listener);
44
+ (0, import_vue_demi.watchEffect)(listener);
45
+ (0, import_vue_demi.onScopeDispose)(() => {
46
+ unsubscribe();
47
+ });
48
+ return isFetching;
49
+ }
50
+ // Annotate the CommonJS export names for ESM import in node:
51
+ 0 && (module.exports = {
52
+ useIsFetching
53
+ });
54
+ //# sourceMappingURL=useIsFetching.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { getCurrentScope, onScopeDispose, ref, watchEffect } from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF> | (() => MaybeRefDeep<QF>)\n\nexport function useIsFetching(\n fetchingFilters: QueryFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n\n const isFetching = ref()\n\n const listener = () => {\n const resolvedFilters =\n typeof fetchingFilters === 'function'\n ? fetchingFilters()\n : fetchingFilters\n isFetching.value = client.isFetching(cloneDeepUnref(resolvedFilters))\n }\n\n const unsubscribe = client.getQueryCache().subscribe(listener)\n\n watchEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAkE;AAClE,4BAA+B;AAC/B,mBAA+B;AAQxB,SAAS,cACd,kBAAgC,CAAC,GACjC,aACa;AACb,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,KAAC,iCAAgB,GAAG;AACtB,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,mBAAe,sCAAe;AAE7C,QAAM,iBAAa,qBAAI;AAEvB,QAAM,WAAW,MAAM;AACrB,UAAM,kBACJ,OAAO,oBAAoB,aACvB,gBAAgB,IAChB;AACN,eAAW,QAAQ,OAAO,eAAW,6BAAe,eAAe,CAAC;AAAA,EACtE;AAEA,QAAM,cAAc,OAAO,cAAc,EAAE,UAAU,QAAQ;AAE7D,mCAAY,QAAQ;AAEpB,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -0,0 +1,2 @@
1
+ export { useIsFetching_alias_1 as useIsFetching } from './_tsup-dts-rollup.cjs';
2
+ export { QueryFilters_alias_1 as QueryFilters } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1,2 @@
1
+ export { useIsFetching_alias_1 as useIsFetching } from './_tsup-dts-rollup.js';
2
+ export { QueryFilters_alias_1 as QueryFilters } from './_tsup-dts-rollup.js';
@@ -0,0 +1,29 @@
1
+ // src/useIsFetching.ts
2
+ import { getCurrentScope, onScopeDispose, ref, watchEffect } from "vue-demi";
3
+ import { useQueryClient } from "./useQueryClient.js";
4
+ import { cloneDeepUnref } from "./utils.js";
5
+ function useIsFetching(fetchingFilters = {}, queryClient) {
6
+ if (process.env.NODE_ENV === "development") {
7
+ if (!getCurrentScope()) {
8
+ console.warn(
9
+ 'vue-query composable like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
10
+ );
11
+ }
12
+ }
13
+ const client = queryClient || useQueryClient();
14
+ const isFetching = ref();
15
+ const listener = () => {
16
+ const resolvedFilters = typeof fetchingFilters === "function" ? fetchingFilters() : fetchingFilters;
17
+ isFetching.value = client.isFetching(cloneDeepUnref(resolvedFilters));
18
+ };
19
+ const unsubscribe = client.getQueryCache().subscribe(listener);
20
+ watchEffect(listener);
21
+ onScopeDispose(() => {
22
+ unsubscribe();
23
+ });
24
+ return isFetching;
25
+ }
26
+ export {
27
+ useIsFetching
28
+ };
29
+ //# sourceMappingURL=useIsFetching.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { getCurrentScope, onScopeDispose, ref, watchEffect } from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type { QueryFilters as QF } from '@tanstack/query-core'\nimport type { MaybeRefDeep } from './types'\nimport type { QueryClient } from './queryClient'\n\nexport type QueryFilters = MaybeRefDeep<QF> | (() => MaybeRefDeep<QF>)\n\nexport function useIsFetching(\n fetchingFilters: QueryFilters = {},\n queryClient?: QueryClient,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n\n const isFetching = ref()\n\n const listener = () => {\n const resolvedFilters =\n typeof fetchingFilters === 'function'\n ? fetchingFilters()\n : fetchingFilters\n isFetching.value = client.isFetching(cloneDeepUnref(resolvedFilters))\n }\n\n const unsubscribe = client.getQueryCache().subscribe(listener)\n\n watchEffect(listener)\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return isFetching\n}\n"],"mappings":";AAAA,SAAS,iBAAiB,gBAAgB,KAAK,mBAAmB;AAClE,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAQxB,SAAS,cACd,kBAAgC,CAAC,GACjC,aACa;AACb,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,CAAC,gBAAgB,GAAG;AACtB,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,eAAe,eAAe;AAE7C,QAAM,aAAa,IAAI;AAEvB,QAAM,WAAW,MAAM;AACrB,UAAM,kBACJ,OAAO,oBAAoB,aACvB,gBAAgB,IAChB;AACN,eAAW,QAAQ,OAAO,WAAW,eAAe,eAAe,CAAC;AAAA,EACtE;AAEA,QAAM,cAAc,OAAO,cAAc,EAAE,UAAU,QAAQ;AAE7D,cAAY,QAAQ;AAEpB,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/useMutation.ts
21
+ var useMutation_exports = {};
22
+ __export(useMutation_exports, {
23
+ useMutation: () => useMutation
24
+ });
25
+ module.exports = __toCommonJS(useMutation_exports);
26
+ var import_vue_demi = require("vue-demi");
27
+ var import_query_core = require("@tanstack/query-core");
28
+ var import_utils = require("./utils.cjs");
29
+ var import_useQueryClient = require("./useQueryClient.cjs");
30
+ function useMutation(mutationOptions, queryClient) {
31
+ if (process.env.NODE_ENV === "development") {
32
+ if (!(0, import_vue_demi.getCurrentScope)()) {
33
+ console.warn(
34
+ 'vue-query composable like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
35
+ );
36
+ }
37
+ }
38
+ const client = queryClient || (0, import_useQueryClient.useQueryClient)();
39
+ const options = (0, import_vue_demi.computed)(() => {
40
+ const resolvedOptions = typeof mutationOptions === "function" ? mutationOptions() : mutationOptions;
41
+ return client.defaultMutationOptions((0, import_utils.cloneDeepUnref)(resolvedOptions));
42
+ });
43
+ const observer = new import_query_core.MutationObserver(client, options.value);
44
+ const state = options.value.shallow ? (0, import_vue_demi.shallowReactive)(observer.getCurrentResult()) : (0, import_vue_demi.reactive)(observer.getCurrentResult());
45
+ const unsubscribe = observer.subscribe((result) => {
46
+ (0, import_utils.updateState)(state, result);
47
+ });
48
+ const mutate = (variables, mutateOptions) => {
49
+ observer.mutate(variables, mutateOptions).catch(() => {
50
+ });
51
+ };
52
+ (0, import_vue_demi.watch)(options, () => {
53
+ observer.setOptions(options.value);
54
+ });
55
+ (0, import_vue_demi.onScopeDispose)(() => {
56
+ unsubscribe();
57
+ });
58
+ const readonlyState = options.value.shallow ? (0, import_vue_demi.shallowReadonly)(state) : (0, import_vue_demi.readonly)(state);
59
+ const resultRefs = (0, import_vue_demi.toRefs)(readonlyState);
60
+ (0, import_vue_demi.watch)(
61
+ () => state.error,
62
+ (error) => {
63
+ if (error && (0, import_query_core.shouldThrowError)(options.value.throwOnError, [error])) {
64
+ throw error;
65
+ }
66
+ }
67
+ );
68
+ return {
69
+ ...resultRefs,
70
+ mutate,
71
+ mutateAsync: state.mutate,
72
+ reset: state.reset
73
+ };
74
+ }
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ useMutation
78
+ });
79
+ //# sourceMappingURL=useMutation.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n shallowReactive,\n shallowReadonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { MutationObserver, shouldThrowError } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n DefaultError,\n DistributiveOmit,\n MutateFunction,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n OmitKeyof,\n} from '@tanstack/query-core'\nimport type { MaybeRefDeep, ShallowOption } from './types'\nimport type { QueryClient } from './queryClient'\n\ntype MutationResult<TData, TError, TVariables, TOnMutateResult> =\n DistributiveOmit<\n MutationObserverResult<TData, TError, TVariables, TOnMutateResult>,\n 'mutate' | 'reset'\n >\n\ntype UseMutationOptionsBase<TData, TError, TVariables, TOnMutateResult> =\n OmitKeyof<\n MutationObserverOptions<TData, TError, TVariables, TOnMutateResult>,\n '_defaulted'\n > &\n ShallowOption\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> =\n | MaybeRefDeep<\n UseMutationOptionsBase<TData, TError, TVariables, TOnMutateResult>\n >\n | (() => MaybeRefDeep<\n UseMutationOptionsBase<TData, TError, TVariables, TOnMutateResult>\n >)\n\ntype MutateSyncFunction<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n> = (\n ...options: Parameters<\n MutateFunction<TData, TError, TVariables, TOnMutateResult>\n >\n) => void\n\nexport type UseMutationReturnType<\n TData,\n TError,\n TVariables,\n TOnMutateResult,\n TResult = MutationResult<TData, TError, TVariables, TOnMutateResult>,\n> = ToRefs<Readonly<TResult>> & {\n mutate: MutateSyncFunction<TData, TError, TVariables, TOnMutateResult>\n mutateAsync: MutateFunction<TData, TError, TVariables, TOnMutateResult>\n reset: MutationObserverResult<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >['reset']\n}\n\nexport function useMutation<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TOnMutateResult = unknown,\n>(\n mutationOptions: UseMutationOptions<\n TData,\n TError,\n TVariables,\n TOnMutateResult\n >,\n queryClient?: QueryClient,\n): UseMutationReturnType<TData, TError, TVariables, TOnMutateResult> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composable like \"useQuery()\" should only be used inside a \"setup()\" function or a running effect scope. They might otherwise lead to memory leaks.',\n )\n }\n }\n\n const client = queryClient || useQueryClient()\n const options = computed(() => {\n const resolvedOptions =\n typeof mutationOptions === 'function'\n ? mutationOptions()\n : mutationOptions\n return client.defaultMutationOptions(cloneDeepUnref(resolvedOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = options.value.shallow\n ? shallowReactive(observer.getCurrentResult())\n : 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, TOnMutateResult>,\n ) => {\n observer.mutate(variables, mutateOptions).catch(() => {\n // This is intentional\n })\n }\n\n watch(options, () => {\n observer.setOptions(options.value)\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const readonlyState = options.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const resultRefs = toRefs(readonlyState) as ToRefs<\n Readonly<MutationResult<TData, TError, TVariables, TOnMutateResult>>\n >\n\n watch(\n () => state.error,\n (error) => {\n if (\n error &&\n shouldThrowError(options.value.throwOnError, [error as TError])\n ) {\n throw error\n }\n },\n )\n\n return {\n ...resultRefs,\n mutate,\n mutateAsync: state.mutate,\n reset: state.reset,\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAUO;AACP,wBAAmD;AACnD,mBAA4C;AAC5C,4BAA+B;AAoExB,SAAS,YAMd,iBAMA,aACmE;AACnE,MAAI,QAAQ,IAAI,aAAa,eAAe;AAC1C,QAAI,KAAC,iCAAgB,GAAG;AACtB,cAAQ;AAAA,QACN;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAS,mBAAe,sCAAe;AAC7C,QAAM,cAAU,0BAAS,MAAM;AAC7B,UAAM,kBACJ,OAAO,oBAAoB,aACvB,gBAAgB,IAChB;AACN,WAAO,OAAO,2BAAuB,6BAAe,eAAe,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,WAAW,IAAI,mCAAiB,QAAQ,QAAQ,KAAK;AAC3D,QAAM,QAAQ,QAAQ,MAAM,cACxB,iCAAgB,SAAS,iBAAiB,CAAC,QAC3C,0BAAS,SAAS,iBAAiB,CAAC;AAExC,QAAM,cAAc,SAAS,UAAU,CAAC,WAAW;AACjD,kCAAY,OAAO,MAAM;AAAA,EAC3B,CAAC;AAED,QAAM,SAAS,CACb,WACA,kBACG;AACH,aAAS,OAAO,WAAW,aAAa,EAAE,MAAM,MAAM;AAAA,IAEtD,CAAC;AAAA,EACH;AAEA,6BAAM,SAAS,MAAM;AACnB,aAAS,WAAW,QAAQ,KAAK;AAAA,EACnC,CAAC;AAED,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,gBAAgB,QAAQ,MAAM,cAChC,iCAAgB,KAAK,QACrB,0BAAS,KAAK;AAElB,QAAM,iBAAa,wBAAO,aAAa;AAIvC;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,aACA,oCAAiB,QAAQ,MAAM,cAAc,CAAC,KAAe,CAAC,GAC9D;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,OAAO,MAAM;AAAA,EACf;AACF;","names":[]}
@@ -0,0 +1,3 @@
1
+ export { useMutation_alias_1 as useMutation } from './_tsup-dts-rollup.cjs';
2
+ export { UseMutationOptions_alias_1 as UseMutationOptions } from './_tsup-dts-rollup.cjs';
3
+ export { UseMutationReturnType_alias_1 as UseMutationReturnType } from './_tsup-dts-rollup.cjs';
@@ -0,0 +1,3 @@
1
+ export { useMutation_alias_1 as useMutation } from './_tsup-dts-rollup.js';
2
+ export { UseMutationOptions_alias_1 as UseMutationOptions } from './_tsup-dts-rollup.js';
3
+ export { UseMutationReturnType_alias_1 as UseMutationReturnType } from './_tsup-dts-rollup.js';