@tanstack/vue-query 5.0.0-beta.9 → 5.0.0-rc.11

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 (175) hide show
  1. package/build/legacy/devtools/devtools.cjs.map +1 -1
  2. package/build/legacy/devtools/devtools.js.map +1 -1
  3. package/build/legacy/index.d.cts +2 -2
  4. package/build/legacy/index.d.ts +2 -2
  5. package/build/legacy/mutationCache.cjs.map +1 -1
  6. package/build/legacy/mutationCache.d.cts +1 -1
  7. package/build/legacy/mutationCache.d.ts +1 -1
  8. package/build/legacy/mutationCache.js.map +1 -1
  9. package/build/legacy/queryCache.cjs.map +1 -1
  10. package/build/legacy/queryCache.d.cts +1 -1
  11. package/build/legacy/queryCache.d.ts +1 -1
  12. package/build/legacy/queryCache.js.map +1 -1
  13. package/build/legacy/queryClient.cjs +3 -4
  14. package/build/legacy/queryClient.cjs.map +1 -1
  15. package/build/legacy/queryClient.d.cts +4 -4
  16. package/build/legacy/queryClient.d.ts +4 -4
  17. package/build/legacy/queryClient.js +3 -4
  18. package/build/legacy/queryClient.js.map +1 -1
  19. package/build/legacy/types.cjs.map +1 -1
  20. package/build/legacy/types.d.cts +8 -2
  21. package/build/legacy/types.d.ts +8 -2
  22. package/build/legacy/useBaseQuery.cjs +62 -32
  23. package/build/legacy/useBaseQuery.cjs.map +1 -1
  24. package/build/legacy/useBaseQuery.d.cts +1 -1
  25. package/build/legacy/useBaseQuery.d.ts +1 -1
  26. package/build/legacy/useBaseQuery.js +64 -33
  27. package/build/legacy/useBaseQuery.js.map +1 -1
  28. package/build/legacy/useInfiniteQuery.cjs +1 -6
  29. package/build/legacy/useInfiniteQuery.cjs.map +1 -1
  30. package/build/legacy/useInfiniteQuery.d.cts +1 -1
  31. package/build/legacy/useInfiniteQuery.d.ts +1 -1
  32. package/build/legacy/useInfiniteQuery.js +1 -6
  33. package/build/legacy/useInfiniteQuery.js.map +1 -1
  34. package/build/legacy/useIsFetching.cjs +13 -13
  35. package/build/legacy/useIsFetching.cjs.map +1 -1
  36. package/build/legacy/useIsFetching.js +14 -14
  37. package/build/legacy/useIsFetching.js.map +1 -1
  38. package/build/legacy/useMutation.cjs +18 -7
  39. package/build/legacy/useMutation.cjs.map +1 -1
  40. package/build/legacy/useMutation.js +20 -8
  41. package/build/legacy/useMutation.js.map +1 -1
  42. package/build/legacy/useMutationState.cjs +10 -7
  43. package/build/legacy/useMutationState.cjs.map +1 -1
  44. package/build/legacy/useMutationState.js +18 -8
  45. package/build/legacy/useMutationState.js.map +1 -1
  46. package/build/legacy/useQueries.cjs +12 -2
  47. package/build/legacy/useQueries.cjs.map +1 -1
  48. package/build/legacy/useQueries.d.cts +7 -5
  49. package/build/legacy/useQueries.d.ts +7 -5
  50. package/build/legacy/useQueries.js +20 -3
  51. package/build/legacy/useQueries.js.map +1 -1
  52. package/build/legacy/{useQuery-846c66db.d.ts → useQuery-62b5e5ac.d.ts} +9 -7
  53. package/build/legacy/{useQuery-ebff9211.d.ts → useQuery-f89ce9b1.d.ts} +9 -7
  54. package/build/legacy/useQuery.cjs +1 -4
  55. package/build/legacy/useQuery.cjs.map +1 -1
  56. package/build/legacy/useQuery.d.cts +1 -1
  57. package/build/legacy/useQuery.d.ts +1 -1
  58. package/build/legacy/useQuery.js +1 -4
  59. package/build/legacy/useQuery.js.map +1 -1
  60. package/build/legacy/useQueryClient.cjs +4 -4
  61. package/build/legacy/useQueryClient.cjs.map +1 -1
  62. package/build/legacy/useQueryClient.js +5 -5
  63. package/build/legacy/useQueryClient.js.map +1 -1
  64. package/build/legacy/utils.cjs +8 -0
  65. package/build/legacy/utils.cjs.map +1 -1
  66. package/build/legacy/utils.d.cts +2 -1
  67. package/build/legacy/utils.d.ts +2 -1
  68. package/build/legacy/utils.js +7 -0
  69. package/build/legacy/utils.js.map +1 -1
  70. package/build/legacy/vueQueryPlugin.cjs +2 -0
  71. package/build/legacy/vueQueryPlugin.cjs.map +1 -1
  72. package/build/legacy/vueQueryPlugin.d.cts +3 -2
  73. package/build/legacy/vueQueryPlugin.d.ts +3 -2
  74. package/build/legacy/vueQueryPlugin.js +2 -0
  75. package/build/legacy/vueQueryPlugin.js.map +1 -1
  76. package/build/modern/devtools/devtools.cjs.map +1 -1
  77. package/build/modern/devtools/devtools.js.map +1 -1
  78. package/build/modern/index.d.cts +2 -2
  79. package/build/modern/index.d.ts +2 -2
  80. package/build/modern/mutationCache.cjs.map +1 -1
  81. package/build/modern/mutationCache.d.cts +1 -1
  82. package/build/modern/mutationCache.d.ts +1 -1
  83. package/build/modern/mutationCache.js.map +1 -1
  84. package/build/modern/queryCache.cjs.map +1 -1
  85. package/build/modern/queryCache.d.cts +1 -1
  86. package/build/modern/queryCache.d.ts +1 -1
  87. package/build/modern/queryCache.js.map +1 -1
  88. package/build/modern/queryClient.cjs +3 -4
  89. package/build/modern/queryClient.cjs.map +1 -1
  90. package/build/modern/queryClient.d.cts +4 -4
  91. package/build/modern/queryClient.d.ts +4 -4
  92. package/build/modern/queryClient.js +3 -4
  93. package/build/modern/queryClient.js.map +1 -1
  94. package/build/modern/types.cjs.map +1 -1
  95. package/build/modern/types.d.cts +8 -2
  96. package/build/modern/types.d.ts +8 -2
  97. package/build/modern/useBaseQuery.cjs +62 -32
  98. package/build/modern/useBaseQuery.cjs.map +1 -1
  99. package/build/modern/useBaseQuery.d.cts +1 -1
  100. package/build/modern/useBaseQuery.d.ts +1 -1
  101. package/build/modern/useBaseQuery.js +64 -33
  102. package/build/modern/useBaseQuery.js.map +1 -1
  103. package/build/modern/useInfiniteQuery.cjs +1 -6
  104. package/build/modern/useInfiniteQuery.cjs.map +1 -1
  105. package/build/modern/useInfiniteQuery.d.cts +1 -1
  106. package/build/modern/useInfiniteQuery.d.ts +1 -1
  107. package/build/modern/useInfiniteQuery.js +1 -6
  108. package/build/modern/useInfiniteQuery.js.map +1 -1
  109. package/build/modern/useIsFetching.cjs +13 -13
  110. package/build/modern/useIsFetching.cjs.map +1 -1
  111. package/build/modern/useIsFetching.js +14 -14
  112. package/build/modern/useIsFetching.js.map +1 -1
  113. package/build/modern/useMutation.cjs +18 -7
  114. package/build/modern/useMutation.cjs.map +1 -1
  115. package/build/modern/useMutation.js +20 -8
  116. package/build/modern/useMutation.js.map +1 -1
  117. package/build/modern/useMutationState.cjs +10 -7
  118. package/build/modern/useMutationState.cjs.map +1 -1
  119. package/build/modern/useMutationState.js +18 -8
  120. package/build/modern/useMutationState.js.map +1 -1
  121. package/build/modern/useQueries.cjs +12 -2
  122. package/build/modern/useQueries.cjs.map +1 -1
  123. package/build/modern/useQueries.d.cts +7 -5
  124. package/build/modern/useQueries.d.ts +7 -5
  125. package/build/modern/useQueries.js +20 -3
  126. package/build/modern/useQueries.js.map +1 -1
  127. package/build/modern/{useQuery-846c66db.d.ts → useQuery-62b5e5ac.d.ts} +9 -7
  128. package/build/modern/{useQuery-ebff9211.d.ts → useQuery-f89ce9b1.d.ts} +9 -7
  129. package/build/modern/useQuery.cjs +1 -4
  130. package/build/modern/useQuery.cjs.map +1 -1
  131. package/build/modern/useQuery.d.cts +1 -1
  132. package/build/modern/useQuery.d.ts +1 -1
  133. package/build/modern/useQuery.js +1 -4
  134. package/build/modern/useQuery.js.map +1 -1
  135. package/build/modern/useQueryClient.cjs +4 -3
  136. package/build/modern/useQueryClient.cjs.map +1 -1
  137. package/build/modern/useQueryClient.js +5 -4
  138. package/build/modern/useQueryClient.js.map +1 -1
  139. package/build/modern/utils.cjs +8 -0
  140. package/build/modern/utils.cjs.map +1 -1
  141. package/build/modern/utils.d.cts +2 -1
  142. package/build/modern/utils.d.ts +2 -1
  143. package/build/modern/utils.js +7 -0
  144. package/build/modern/utils.js.map +1 -1
  145. package/build/modern/vueQueryPlugin.cjs +1 -0
  146. package/build/modern/vueQueryPlugin.cjs.map +1 -1
  147. package/build/modern/vueQueryPlugin.d.cts +3 -2
  148. package/build/modern/vueQueryPlugin.d.ts +3 -2
  149. package/build/modern/vueQueryPlugin.js +1 -0
  150. package/build/modern/vueQueryPlugin.js.map +1 -1
  151. package/package.json +6 -6
  152. package/src/__mocks__/useBaseQuery.ts +1 -1
  153. package/src/__tests__/queryClient.test.ts +4 -4
  154. package/src/__tests__/useInfiniteQuery.test.ts +1 -1
  155. package/src/__tests__/useInfiniteQuery.types.test.tsx +5 -5
  156. package/src/__tests__/useMutation.test.ts +23 -3
  157. package/src/__tests__/useQueries.test.ts +23 -0
  158. package/src/__tests__/useQuery.test.ts +76 -1
  159. package/src/__tests__/useQueryClient.test.ts +4 -4
  160. package/src/__tests__/utils.test.ts +1 -1
  161. package/src/devtools/devtools.ts +2 -2
  162. package/src/mutationCache.ts +1 -1
  163. package/src/queryCache.ts +1 -1
  164. package/src/queryClient.ts +17 -10
  165. package/src/types.ts +25 -1
  166. package/src/useBaseQuery.ts +90 -37
  167. package/src/useInfiniteQuery.ts +19 -9
  168. package/src/useIsFetching.ts +16 -14
  169. package/src/useMutation.ts +25 -8
  170. package/src/useMutationState.ts +20 -9
  171. package/src/useQueries.ts +55 -28
  172. package/src/useQuery.ts +22 -9
  173. package/src/useQueryClient.ts +6 -5
  174. package/src/utils.ts +12 -0
  175. package/src/vueQueryPlugin.ts +3 -2
@@ -1,9 +1,15 @@
1
- import { Ref } from 'vue-demi';
1
+ import { Ref, UnwrapRef } from 'vue-demi';
2
2
 
3
+ type Primitive = string | number | boolean | bigint | symbol | undefined | null;
4
+ type UnwrapLeaf = Primitive | Function | Date | Error | RegExp | Map<any, any> | WeakMap<any, any> | Set<any> | WeakSet<any>;
3
5
  type MaybeRef<T> = Ref<T> | T;
6
+ type MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);
4
7
  type MaybeRefDeep<T> = MaybeRef<T extends Function ? T : T extends object ? {
5
8
  [Property in keyof T]: MaybeRefDeep<T[Property]>;
6
9
  } : T>;
10
+ type DeepUnwrapRef<T> = T extends UnwrapLeaf ? T : T extends Ref<infer U> ? DeepUnwrapRef<U> : T extends {} ? {
11
+ [Property in keyof T]: DeepUnwrapRef<T[Property]>;
12
+ } : UnwrapRef<T>;
7
13
  type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
8
14
 
9
- export { DistributiveOmit, MaybeRef, MaybeRefDeep };
15
+ export { DeepUnwrapRef, DistributiveOmit, MaybeRef, MaybeRefDeep, MaybeRefOrGetter };
@@ -1,9 +1,15 @@
1
- import { Ref } from 'vue-demi';
1
+ import { Ref, UnwrapRef } from 'vue-demi';
2
2
 
3
+ type Primitive = string | number | boolean | bigint | symbol | undefined | null;
4
+ type UnwrapLeaf = Primitive | Function | Date | Error | RegExp | Map<any, any> | WeakMap<any, any> | Set<any> | WeakSet<any>;
3
5
  type MaybeRef<T> = Ref<T> | T;
6
+ type MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);
4
7
  type MaybeRefDeep<T> = MaybeRef<T extends Function ? T : T extends object ? {
5
8
  [Property in keyof T]: MaybeRefDeep<T[Property]>;
6
9
  } : T>;
10
+ type DeepUnwrapRef<T> = T extends UnwrapLeaf ? T : T extends Ref<infer U> ? DeepUnwrapRef<U> : T extends {} ? {
11
+ [Property in keyof T]: DeepUnwrapRef<T[Property]>;
12
+ } : UnwrapRef<T>;
7
13
  type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
8
14
 
9
- export { DistributiveOmit, MaybeRef, MaybeRefDeep };
15
+ export { DeepUnwrapRef, DistributiveOmit, MaybeRef, MaybeRefDeep, MaybeRefOrGetter };
@@ -27,9 +27,20 @@ var import_vue_demi = require("vue-demi");
27
27
  var import_useQueryClient = require("./useQueryClient.cjs");
28
28
  var import_utils = require("./utils.cjs");
29
29
  function useBaseQuery(Observer, options, queryClient) {
30
+ if (process.env.NODE_ENV === "development") {
31
+ if (!(0, import_vue_demi.getCurrentScope)()) {
32
+ console.warn(
33
+ 'vue-query composables 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
+ }
30
37
  const client = queryClient || (0, import_useQueryClient.useQueryClient)();
31
38
  const defaultedOptions = (0, import_vue_demi.computed)(() => {
32
- const defaulted = client.defaultQueryOptions((0, import_utils.cloneDeepUnref)(options));
39
+ const clonedOptions = (0, import_utils.cloneDeepUnref)(options);
40
+ if (typeof clonedOptions.enabled === "function") {
41
+ clonedOptions.enabled = clonedOptions.enabled();
42
+ }
43
+ const defaulted = client.defaultQueryOptions(clonedOptions);
33
44
  defaulted._optimisticResults = client.isRestoring.value ? "isRestoring" : "optimistic";
34
45
  return defaulted;
35
46
  });
@@ -49,43 +60,62 @@ function useBaseQuery(Observer, options, queryClient) {
49
60
  },
50
61
  { immediate: true }
51
62
  );
52
- (0, import_vue_demi.watch)(
53
- defaultedOptions,
54
- () => {
55
- observer.setOptions(defaultedOptions.value);
56
- (0, import_utils.updateState)(state, observer.getCurrentResult());
57
- },
58
- { deep: true }
59
- );
63
+ const updater = () => {
64
+ observer.setOptions(defaultedOptions.value);
65
+ (0, import_utils.updateState)(state, observer.getCurrentResult());
66
+ };
67
+ (0, import_vue_demi.watch)(defaultedOptions, updater);
60
68
  (0, import_vue_demi.onScopeDispose)(() => {
61
69
  unsubscribe();
62
70
  });
71
+ const refetch = (...args) => {
72
+ updater();
73
+ return state.refetch(...args);
74
+ };
63
75
  const suspense = () => {
64
- return new Promise((resolve) => {
65
- let stopWatch = () => {
66
- };
67
- const run = () => {
68
- if (defaultedOptions.value.enabled !== false) {
69
- const optimisticResult = observer.getOptimisticResult(
70
- defaultedOptions.value
71
- );
72
- if (optimisticResult.isStale) {
73
- stopWatch();
74
- resolve(observer.fetchOptimistic(defaultedOptions.value));
75
- } else {
76
- stopWatch();
77
- resolve(optimisticResult);
76
+ return new Promise(
77
+ (resolve, reject) => {
78
+ let stopWatch = () => {
79
+ };
80
+ const run = () => {
81
+ if (defaultedOptions.value.enabled !== false) {
82
+ const optimisticResult = observer.getOptimisticResult(
83
+ defaultedOptions.value
84
+ );
85
+ if (optimisticResult.isStale) {
86
+ stopWatch();
87
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, reject);
88
+ } else {
89
+ stopWatch();
90
+ resolve(optimisticResult);
91
+ }
78
92
  }
79
- }
80
- };
81
- run();
82
- stopWatch = (0, import_vue_demi.watch)(defaultedOptions, run, { deep: true });
83
- });
84
- };
85
- return {
86
- ...(0, import_vue_demi.toRefs)((0, import_vue_demi.readonly)(state)),
87
- suspense
93
+ };
94
+ run();
95
+ stopWatch = (0, import_vue_demi.watch)(defaultedOptions, run);
96
+ }
97
+ );
88
98
  };
99
+ (0, import_vue_demi.watch)(
100
+ () => state.error,
101
+ (error) => {
102
+ if (state.isError && !state.isFetching && (0, import_utils.shouldThrowError)(defaultedOptions.value.throwOnError, [
103
+ error,
104
+ observer.getCurrentQuery()
105
+ ])) {
106
+ throw error;
107
+ }
108
+ }
109
+ );
110
+ const object = (0, import_vue_demi.toRefs)((0, import_vue_demi.readonly)(state));
111
+ for (const key in state) {
112
+ if (typeof state[key] === "function") {
113
+ object[key] = state[key];
114
+ }
115
+ }
116
+ object.suspense = suspense;
117
+ object.refetch = refetch;
118
+ return object;
89
119
  }
90
120
  // Annotate the CommonJS export names for ESM import in node:
91
121
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, updateState } from './utils'\nimport type { ToRefs } 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'\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 let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n 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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOO;AACP,4BAA+B;AAC/B,mBAA4C;AAsCrC,SAAS,aAQd,UACA,SAQA,aACuC;AACvC,QAAM,SAAS,mBAAe,sCAAe;AAE7C,QAAM,uBAAmB,0BAAS,MAAM;AACtC,UAAM,YAMF,OAAO,wBAAoB,6BAAe,OAAc,CAAC;AAE7D,cAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,WAAO;AAAA,EACT,CAAC;AAED,QAAM,WAAW,IAAI,SAAS,QAAQ,iBAAiB,KAAK;AAC5D,QAAM,YAAQ,0BAAS,SAAS,iBAAiB,CAAC;AAElD,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AAEf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,CAAC,WAAW;AAC3C,wCAAY,OAAO,MAAM;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA;AAAA,IACE;AAAA,IACA,MAAM;AACJ,eAAS,WAAW,iBAAiB,KAAK;AAC1C,oCAAY,OAAO,SAAS,iBAAiB,CAAC;AAAA,IAChD;AAAA,IACA,EAAE,MAAM,KAAK;AAAA,EACf;AAEA,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,WAAW,MAAM;AACrB,WAAO,IAAI,QAA4C,CAAC,YAAY;AAClE,UAAI,YAAY,MAAM;AAAA,MAEtB;AACA,YAAM,MAAM,MAAM;AAChB,YAAI,iBAAiB,MAAM,YAAY,OAAO;AAC5C,gBAAM,mBAAmB,SAAS;AAAA,YAChC,iBAAiB;AAAA,UACnB;AACA,cAAI,iBAAiB,SAAS;AAC5B,sBAAU;AACV,oBAAQ,SAAS,gBAAgB,iBAAiB,KAAK,CAAC;AAAA,UAC1D,OAAO;AACL,sBAAU;AACV,oBAAQ,gBAAgB;AAAA,UAC1B;AAAA,QACF;AAAA,MACF;AAEA,UAAI;AAEJ,sBAAY,uBAAM,kBAAkB,KAAK,EAAE,MAAM,KAAK,CAAC;AAAA,IACzD,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,OAAI,4BAAO,0BAAS,KAAK,CAAC;AAAA,IAG1B;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, shouldThrowError, updateState } from './utils'\nimport type { ToRef } 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, UseQueryReturnType } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseBaseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = {\n [K in keyof Result]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n | 'remove'\n ? Result[K]\n : ToRef<Readonly<Result>[K]>\n} & {\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 if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables 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 const clonedOptions = cloneDeepUnref(options 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 const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n 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 const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run)\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAQO;AACP,4BAA+B;AAC/B,mBAA8D;AA8CvD,SAAS,aAQd,UACA,SAQA,aACuC;AACvC,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,uBAAmB,0BAAS,MAAM;AACtC,UAAM,oBAAgB,6BAAe,OAAc;AAEnD,QAAI,OAAO,cAAc,YAAY,YAAY;AAC/C,oBAAc,UAAU,cAAc,QAAQ;AAAA,IAChD;AAEA,UAAM,YAMF,OAAO,oBAAoB,aAAa;AAE5C,cAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,WAAO;AAAA,EACT,CAAC;AAED,QAAM,WAAW,IAAI,SAAS,QAAQ,iBAAiB,KAAK;AAC5D,QAAM,YAAQ,0BAAS,SAAS,iBAAiB,CAAC;AAElD,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AAEf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,CAAC,WAAW;AAC3C,wCAAY,OAAO,MAAM;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA,QAAM,UAAU,MAAM;AACpB,aAAS,WAAW,iBAAiB,KAAK;AAC1C,kCAAY,OAAO,SAAS,iBAAiB,CAAC;AAAA,EAChD;AAEA,6BAAM,kBAAkB,OAAO;AAE/B,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAGD,QAAM,UAAU,IAAI,SAAgD;AAClE,YAAQ;AACR,WAAO,MAAM,QAAQ,GAAG,IAAI;AAAA,EAC9B;AAEA,QAAM,WAAW,MAAM;AACrB,WAAO,IAAI;AAAA,MACT,CAAC,SAAS,WAAW;AACnB,YAAI,YAAY,MAAM;AAAA,QAEtB;AACA,cAAM,MAAM,MAAM;AAChB,cAAI,iBAAiB,MAAM,YAAY,OAAO;AAC5C,kBAAM,mBAAmB,SAAS;AAAA,cAChC,iBAAiB;AAAA,YACnB;AACA,gBAAI,iBAAiB,SAAS;AAC5B,wBAAU;AACV,uBACG,gBAAgB,iBAAiB,KAAK,EACtC,KAAK,SAAS,MAAM;AAAA,YACzB,OAAO;AACL,wBAAU;AACV,sBAAQ,gBAAgB;AAAA,YAC1B;AAAA,UACF;AAAA,QACF;AAEA,YAAI;AAEJ,wBAAY,uBAAM,kBAAkB,GAAG;AAAA,MACzC;AAAA,IACF;AAAA,EACF;AAGA;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,MAAM,WACN,CAAC,MAAM,kBACP,+BAAiB,iBAAiB,MAAM,cAAc;AAAA,QACpD;AAAA,QACA,SAAS,gBAAgB;AAAA,MAC3B,CAAC,GACD;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,aAAc,4BAAO,0BAAS,KAAK,CAAC;AAC1C,aAAW,OAAO,OAAO;AACvB,QAAI,OAAO,MAAM,GAAyB,MAAM,YAAY;AAC1D,aAAO,GAAG,IAAI,MAAM,GAAyB;AAAA,IAC/C;AAAA,EACF;AAEA,SAAO,WAAW;AAClB,SAAO,UAAU;AAEjB,SAAO;AACT;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import 'vue-demi';
2
2
  import '@tanstack/query-core';
3
3
  import './queryClient.cjs';
4
- export { f as UseBaseQueryReturnType, g as useBaseQuery } from './useQuery-ebff9211.js';
4
+ export { f as UseBaseQueryReturnType, g as useBaseQuery } from './useQuery-f89ce9b1.js';
5
5
  import './types.cjs';
@@ -1,5 +1,5 @@
1
1
  import 'vue-demi';
2
2
  import '@tanstack/query-core';
3
3
  import './queryClient.js';
4
- export { f as UseBaseQueryReturnType, g as useBaseQuery } from './useQuery-846c66db.js';
4
+ export { f as UseBaseQueryReturnType, g as useBaseQuery } from './useQuery-62b5e5ac.js';
5
5
  import './types.js';
@@ -1,6 +1,7 @@
1
1
  // src/useBaseQuery.ts
2
2
  import {
3
3
  computed,
4
+ getCurrentScope,
4
5
  onScopeDispose,
5
6
  reactive,
6
7
  readonly,
@@ -8,11 +9,22 @@ import {
8
9
  watch
9
10
  } from "vue-demi";
10
11
  import { useQueryClient } from "./useQueryClient.js";
11
- import { cloneDeepUnref, updateState } from "./utils.js";
12
+ import { cloneDeepUnref, shouldThrowError, updateState } from "./utils.js";
12
13
  function useBaseQuery(Observer, options, queryClient) {
14
+ if (process.env.NODE_ENV === "development") {
15
+ if (!getCurrentScope()) {
16
+ console.warn(
17
+ 'vue-query composables like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
18
+ );
19
+ }
20
+ }
13
21
  const client = queryClient || useQueryClient();
14
22
  const defaultedOptions = computed(() => {
15
- const defaulted = client.defaultQueryOptions(cloneDeepUnref(options));
23
+ const clonedOptions = cloneDeepUnref(options);
24
+ if (typeof clonedOptions.enabled === "function") {
25
+ clonedOptions.enabled = clonedOptions.enabled();
26
+ }
27
+ const defaulted = client.defaultQueryOptions(clonedOptions);
16
28
  defaulted._optimisticResults = client.isRestoring.value ? "isRestoring" : "optimistic";
17
29
  return defaulted;
18
30
  });
@@ -32,43 +44,62 @@ function useBaseQuery(Observer, options, queryClient) {
32
44
  },
33
45
  { immediate: true }
34
46
  );
35
- watch(
36
- defaultedOptions,
37
- () => {
38
- observer.setOptions(defaultedOptions.value);
39
- updateState(state, observer.getCurrentResult());
40
- },
41
- { deep: true }
42
- );
47
+ const updater = () => {
48
+ observer.setOptions(defaultedOptions.value);
49
+ updateState(state, observer.getCurrentResult());
50
+ };
51
+ watch(defaultedOptions, updater);
43
52
  onScopeDispose(() => {
44
53
  unsubscribe();
45
54
  });
55
+ const refetch = (...args) => {
56
+ updater();
57
+ return state.refetch(...args);
58
+ };
46
59
  const suspense = () => {
47
- return new Promise((resolve) => {
48
- let stopWatch = () => {
49
- };
50
- const run = () => {
51
- if (defaultedOptions.value.enabled !== false) {
52
- const optimisticResult = observer.getOptimisticResult(
53
- defaultedOptions.value
54
- );
55
- if (optimisticResult.isStale) {
56
- stopWatch();
57
- resolve(observer.fetchOptimistic(defaultedOptions.value));
58
- } else {
59
- stopWatch();
60
- resolve(optimisticResult);
60
+ return new Promise(
61
+ (resolve, reject) => {
62
+ let stopWatch = () => {
63
+ };
64
+ const run = () => {
65
+ if (defaultedOptions.value.enabled !== false) {
66
+ const optimisticResult = observer.getOptimisticResult(
67
+ defaultedOptions.value
68
+ );
69
+ if (optimisticResult.isStale) {
70
+ stopWatch();
71
+ observer.fetchOptimistic(defaultedOptions.value).then(resolve, reject);
72
+ } else {
73
+ stopWatch();
74
+ resolve(optimisticResult);
75
+ }
61
76
  }
62
- }
63
- };
64
- run();
65
- stopWatch = watch(defaultedOptions, run, { deep: true });
66
- });
67
- };
68
- return {
69
- ...toRefs(readonly(state)),
70
- suspense
77
+ };
78
+ run();
79
+ stopWatch = watch(defaultedOptions, run);
80
+ }
81
+ );
71
82
  };
83
+ watch(
84
+ () => state.error,
85
+ (error) => {
86
+ if (state.isError && !state.isFetching && shouldThrowError(defaultedOptions.value.throwOnError, [
87
+ error,
88
+ observer.getCurrentQuery()
89
+ ])) {
90
+ throw error;
91
+ }
92
+ }
93
+ );
94
+ const object = toRefs(readonly(state));
95
+ for (const key in state) {
96
+ if (typeof state[key] === "function") {
97
+ object[key] = state[key];
98
+ }
99
+ }
100
+ object.suspense = suspense;
101
+ object.refetch = refetch;
102
+ return object;
72
103
  }
73
104
  export {
74
105
  useBaseQuery
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, updateState } from './utils'\nimport type { ToRefs } 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'\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 let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n watch(\n defaultedOptions,\n () => {\n observer.setOptions(defaultedOptions.value)\n updateState(state, observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n const suspense = () => {\n return new Promise<QueryObserverResult<TData, TError>>((resolve) => {\n let stopWatch = () => {\n //noop\n }\n const run = () => {\n if (defaultedOptions.value.enabled !== false) {\n const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n 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"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB,mBAAmB;AAsCrC,SAAS,aAQd,UACA,SAQA,aACuC;AACvC,QAAM,SAAS,eAAe,eAAe;AAE7C,QAAM,mBAAmB,SAAS,MAAM;AACtC,UAAM,YAMF,OAAO,oBAAoB,eAAe,OAAc,CAAC;AAE7D,cAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,WAAO;AAAA,EACT,CAAC;AAED,QAAM,WAAW,IAAI,SAAS,QAAQ,iBAAiB,KAAK;AAC5D,QAAM,QAAQ,SAAS,SAAS,iBAAiB,CAAC;AAElD,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AAEf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,CAAC,WAAW;AAC3C,sBAAY,OAAO,MAAM;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA;AAAA,IACE;AAAA,IACA,MAAM;AACJ,eAAS,WAAW,iBAAiB,KAAK;AAC1C,kBAAY,OAAO,SAAS,iBAAiB,CAAC;AAAA,IAChD;AAAA,IACA,EAAE,MAAM,KAAK;AAAA,EACf;AAEA,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,WAAW,MAAM;AACrB,WAAO,IAAI,QAA4C,CAAC,YAAY;AAClE,UAAI,YAAY,MAAM;AAAA,MAEtB;AACA,YAAM,MAAM,MAAM;AAChB,YAAI,iBAAiB,MAAM,YAAY,OAAO;AAC5C,gBAAM,mBAAmB,SAAS;AAAA,YAChC,iBAAiB;AAAA,UACnB;AACA,cAAI,iBAAiB,SAAS;AAC5B,sBAAU;AACV,oBAAQ,SAAS,gBAAgB,iBAAiB,KAAK,CAAC;AAAA,UAC1D,OAAO;AACL,sBAAU;AACV,oBAAQ,gBAAgB;AAAA,UAC1B;AAAA,QACF;AAAA,MACF;AAEA,UAAI;AAEJ,kBAAY,MAAM,kBAAkB,KAAK,EAAE,MAAM,KAAK,CAAC;AAAA,IACzD,CAAC;AAAA,EACH;AAEA,SAAO;AAAA,IACL,GAAI,OAAO,SAAS,KAAK,CAAC;AAAA,IAG1B;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useBaseQuery.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref, shouldThrowError, updateState } from './utils'\nimport type { ToRef } 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, UseQueryReturnType } from './useQuery'\nimport type { UseInfiniteQueryOptions } from './useInfiniteQuery'\n\nexport type UseBaseQueryReturnType<\n TData,\n TError,\n Result = QueryObserverResult<TData, TError>,\n> = {\n [K in keyof Result]: K extends\n | 'fetchNextPage'\n | 'fetchPreviousPage'\n | 'refetch'\n | 'remove'\n ? Result[K]\n : ToRef<Readonly<Result>[K]>\n} & {\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 if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables 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 const clonedOptions = cloneDeepUnref(options 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 const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n updateState(state, result)\n })\n }\n },\n { immediate: true },\n )\n\n 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 const optimisticResult = observer.getOptimisticResult(\n defaultedOptions.value,\n )\n if (optimisticResult.isStale) {\n stopWatch()\n observer\n .fetchOptimistic(defaultedOptions.value)\n .then(resolve, reject)\n } else {\n stopWatch()\n resolve(optimisticResult)\n }\n }\n }\n\n run()\n\n stopWatch = watch(defaultedOptions, run)\n },\n )\n }\n\n // Handle error boundary\n watch(\n () => state.error,\n (error) => {\n if (\n state.isError &&\n !state.isFetching &&\n shouldThrowError(defaultedOptions.value.throwOnError, [\n error as TError,\n observer.getCurrentQuery(),\n ])\n ) {\n throw error\n }\n },\n )\n\n const object: any = toRefs(readonly(state))\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 UseQueryReturnType<TData, TError>\n}\n"],"mappings":";AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,gBAAgB,kBAAkB,mBAAmB;AA8CvD,SAAS,aAQd,UACA,SAQA,aACuC;AACvC,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,mBAAmB,SAAS,MAAM;AACtC,UAAM,gBAAgB,eAAe,OAAc;AAEnD,QAAI,OAAO,cAAc,YAAY,YAAY;AAC/C,oBAAc,UAAU,cAAc,QAAQ;AAAA,IAChD;AAEA,UAAM,YAMF,OAAO,oBAAoB,aAAa;AAE5C,cAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,WAAO;AAAA,EACT,CAAC;AAED,QAAM,WAAW,IAAI,SAAS,QAAQ,iBAAiB,KAAK;AAC5D,QAAM,QAAQ,SAAS,SAAS,iBAAiB,CAAC;AAElD,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AAEf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,CAAC,WAAW;AAC3C,sBAAY,OAAO,MAAM;AAAA,QAC3B,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA,QAAM,UAAU,MAAM;AACpB,aAAS,WAAW,iBAAiB,KAAK;AAC1C,gBAAY,OAAO,SAAS,iBAAiB,CAAC;AAAA,EAChD;AAEA,QAAM,kBAAkB,OAAO;AAE/B,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAGD,QAAM,UAAU,IAAI,SAAgD;AAClE,YAAQ;AACR,WAAO,MAAM,QAAQ,GAAG,IAAI;AAAA,EAC9B;AAEA,QAAM,WAAW,MAAM;AACrB,WAAO,IAAI;AAAA,MACT,CAAC,SAAS,WAAW;AACnB,YAAI,YAAY,MAAM;AAAA,QAEtB;AACA,cAAM,MAAM,MAAM;AAChB,cAAI,iBAAiB,MAAM,YAAY,OAAO;AAC5C,kBAAM,mBAAmB,SAAS;AAAA,cAChC,iBAAiB;AAAA,YACnB;AACA,gBAAI,iBAAiB,SAAS;AAC5B,wBAAU;AACV,uBACG,gBAAgB,iBAAiB,KAAK,EACtC,KAAK,SAAS,MAAM;AAAA,YACzB,OAAO;AACL,wBAAU;AACV,sBAAQ,gBAAgB;AAAA,YAC1B;AAAA,UACF;AAAA,QACF;AAEA,YAAI;AAEJ,oBAAY,MAAM,kBAAkB,GAAG;AAAA,MACzC;AAAA,IACF;AAAA,EACF;AAGA;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,MAAM,WACN,CAAC,MAAM,cACP,iBAAiB,iBAAiB,MAAM,cAAc;AAAA,QACpD;AAAA,QACA,SAAS,gBAAgB;AAAA,MAC3B,CAAC,GACD;AACA,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAEA,QAAM,SAAc,OAAO,SAAS,KAAK,CAAC;AAC1C,aAAW,OAAO,OAAO;AACvB,QAAI,OAAO,MAAM,GAAyB,MAAM,YAAY;AAC1D,aAAO,GAAG,IAAI,MAAM,GAAyB;AAAA,IAC/C;AAAA,EACF;AAEA,SAAO,WAAW;AAClB,SAAO,UAAU;AAEjB,SAAO;AACT;","names":[]}
@@ -32,12 +32,7 @@ function useInfiniteQuery(options, queryClient) {
32
32
  options,
33
33
  queryClient
34
34
  );
35
- return {
36
- ...result,
37
- fetchNextPage: result.fetchNextPage.value,
38
- fetchPreviousPage: result.fetchPreviousPage.value,
39
- refetch: result.refetch.value
40
- };
35
+ return result;
41
36
  }
42
37
  // Annotate the CommonJS export names for ESM import in node:
43
38
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n WithRequired,\n} from '@tanstack/query-core'\n\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsC;AACtC,0BAA6B;AAyEtB,SAAS,iBAOd,SAQA,aAC2C;AAE3C,QAAM,aAAS;AAAA;AAAA,IAEb;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,eAAe,OAAO,cAAc;AAAA,IACpC,mBAAmB,OAAO,kBAAkB;AAAA,IAC5C,SAAS,OAAO,QAAQ;AAAA,EAC1B;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n WithRequired,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type {\n DeepUnwrapRef,\n DistributiveOmit,\n MaybeRefDeep,\n MaybeRefOrGetter,\n} from './types'\nimport type { QueryClient } from './queryClient'\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 DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n : Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >[Property]\n >\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\n return result\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsC;AACtC,0BAA6B;AAuFtB,SAAS,iBAOd,SAQA,aAC2C;AAE3C,QAAM,aAAS;AAAA;AAAA,IAEb;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -1,5 +1,5 @@
1
1
  import '@tanstack/query-core';
2
- export { d as UseInfiniteQueryOptions, e as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './useQuery-ebff9211.js';
2
+ export { d as UseInfiniteQueryOptions, e as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './useQuery-f89ce9b1.js';
3
3
  import './types.cjs';
4
4
  import './queryClient.cjs';
5
5
  import 'vue-demi';
@@ -1,5 +1,5 @@
1
1
  import '@tanstack/query-core';
2
- export { d as UseInfiniteQueryOptions, e as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './useQuery-846c66db.js';
2
+ export { d as UseInfiniteQueryOptions, e as UseInfiniteQueryReturnType, a as useInfiniteQuery } from './useQuery-62b5e5ac.js';
3
3
  import './types.js';
4
4
  import './queryClient.js';
5
5
  import 'vue-demi';
@@ -8,12 +8,7 @@ function useInfiniteQuery(options, queryClient) {
8
8
  options,
9
9
  queryClient
10
10
  );
11
- return {
12
- ...result,
13
- fetchNextPage: result.fetchNextPage.value,
14
- fetchPreviousPage: result.fetchPreviousPage.value,
15
- refetch: result.refetch.value
16
- };
11
+ return result;
17
12
  }
18
13
  export {
19
14
  useInfiniteQuery
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n WithRequired,\n} from '@tanstack/query-core'\n\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"],"mappings":";AAAA,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAyEtB,SAAS,iBAOd,SAQA,aAC2C;AAE3C,QAAM,SAAS;AAAA;AAAA,IAEb;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,eAAe,OAAO,cAAc;AAAA,IACpC,mBAAmB,OAAO,kBAAkB;AAAA,IAC5C,SAAS,OAAO,QAAQ;AAAA,EAC1B;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useInfiniteQuery.ts"],"sourcesContent":["import { InfiniteQueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n InfiniteData,\n InfiniteQueryObserverOptions,\n InfiniteQueryObserverResult,\n QueryKey,\n QueryObserver,\n WithRequired,\n} from '@tanstack/query-core'\n\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\n\nimport type {\n DeepUnwrapRef,\n DistributiveOmit,\n MaybeRefDeep,\n MaybeRefOrGetter,\n} from './types'\nimport type { QueryClient } from './queryClient'\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 DeepUnwrapRef<TQueryKey>,\n TPageParam\n >[Property]\n : Property extends 'enabled'\n ? MaybeRefOrGetter<\n InfiniteQueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >[Property]\n >\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\n return result\n}\n"],"mappings":";AAAA,SAAS,6BAA6B;AACtC,SAAS,oBAAoB;AAuFtB,SAAS,iBAOd,SAQA,aAC2C;AAE3C,QAAM,SAAS;AAAA;AAAA,IAEb;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAEA,SAAO;AACT;","names":[]}
@@ -25,21 +25,21 @@ __export(useIsFetching_exports, {
25
25
  module.exports = __toCommonJS(useIsFetching_exports);
26
26
  var import_vue_demi = require("vue-demi");
27
27
  var import_useQueryClient = require("./useQueryClient.cjs");
28
- var import_utils = require("./utils.cjs");
29
28
  function useIsFetching(fetchingFilters = {}, queryClient) {
30
- const filters = (0, import_vue_demi.computed)(() => (0, import_utils.cloneDeepUnref)(fetchingFilters));
29
+ if (process.env.NODE_ENV === "development") {
30
+ if (!(0, import_vue_demi.getCurrentScope)()) {
31
+ console.warn(
32
+ 'vue-query composables like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
33
+ );
34
+ }
35
+ }
31
36
  const client = queryClient || (0, import_useQueryClient.useQueryClient)();
32
- const isFetching = (0, import_vue_demi.ref)(client.isFetching(filters));
33
- const unsubscribe = client.getQueryCache().subscribe(() => {
34
- isFetching.value = client.isFetching(filters);
35
- });
36
- (0, import_vue_demi.watch)(
37
- filters,
38
- () => {
39
- isFetching.value = client.isFetching(filters);
40
- },
41
- { deep: true }
42
- );
37
+ const isFetching = (0, import_vue_demi.ref)();
38
+ const listener = () => {
39
+ isFetching.value = client.isFetching(fetchingFilters);
40
+ };
41
+ const unsubscribe = client.getQueryCache().subscribe(listener);
42
+ (0, import_vue_demi.watchEffect)(listener);
43
43
  (0, import_vue_demi.onScopeDispose)(() => {
44
44
  unsubscribe();
45
45
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } 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>\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAqD;AACrD,4BAA+B;AAC/B,mBAA+B;AAQxB,SAAS,cACd,kBAAoC,CAAC,GACrC,aACa;AACb,QAAM,cAAU,0BAAS,UAAM,6BAAe,eAAe,CAAC;AAC9D,QAAM,SAAS,mBAAe,sCAAe;AAE7C,QAAM,iBAAa,qBAAI,OAAO,WAAW,OAAO,CAAC;AAEjD,QAAM,cAAc,OAAO,cAAc,EAAE,UAAU,MAAM;AACzD,eAAW,QAAQ,OAAO,WAAW,OAAO;AAAA,EAC9C,CAAC;AAED;AAAA,IACE;AAAA,IACA,MAAM;AACJ,iBAAW,QAAQ,OAAO,WAAW,OAAO;AAAA,IAC9C;AAAA,IACA,EAAE,MAAM,KAAK;AAAA,EACf;AAEA,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { getCurrentScope, onScopeDispose, ref, watchEffect } from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\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>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables 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 isFetching.value = client.isFetching(fetchingFilters)\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;AAQxB,SAAS,cACd,kBAAoC,CAAC,GACrC,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,eAAW,QAAQ,OAAO,WAAW,eAAe;AAAA,EACtD;AAEA,QAAM,cAAc,OAAO,cAAc,EAAE,UAAU,QAAQ;AAE7D,mCAAY,QAAQ;AAEpB,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -1,21 +1,21 @@
1
1
  // src/useIsFetching.ts
2
- import { computed, onScopeDispose, ref, watch } from "vue-demi";
2
+ import { getCurrentScope, onScopeDispose, ref, watchEffect } from "vue-demi";
3
3
  import { useQueryClient } from "./useQueryClient.js";
4
- import { cloneDeepUnref } from "./utils.js";
5
4
  function useIsFetching(fetchingFilters = {}, queryClient) {
6
- const filters = computed(() => cloneDeepUnref(fetchingFilters));
5
+ if (process.env.NODE_ENV === "development") {
6
+ if (!getCurrentScope()) {
7
+ console.warn(
8
+ 'vue-query composables like "useQuery()" should only be used inside a "setup()" function or a running effect scope. They might otherwise lead to memory leaks.'
9
+ );
10
+ }
11
+ }
7
12
  const client = queryClient || useQueryClient();
8
- const isFetching = ref(client.isFetching(filters));
9
- const unsubscribe = client.getQueryCache().subscribe(() => {
10
- isFetching.value = client.isFetching(filters);
11
- });
12
- watch(
13
- filters,
14
- () => {
15
- isFetching.value = client.isFetching(filters);
16
- },
17
- { deep: true }
18
- );
13
+ const isFetching = ref();
14
+ const listener = () => {
15
+ isFetching.value = client.isFetching(fetchingFilters);
16
+ };
17
+ const unsubscribe = client.getQueryCache().subscribe(listener);
18
+ watchEffect(listener);
19
19
  onScopeDispose(() => {
20
20
  unsubscribe();
21
21
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { computed, onScopeDispose, ref, watch } 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>\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"],"mappings":";AAAA,SAAS,UAAU,gBAAgB,KAAK,aAAa;AACrD,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AAQxB,SAAS,cACd,kBAAoC,CAAC,GACrC,aACa;AACb,QAAM,UAAU,SAAS,MAAM,eAAe,eAAe,CAAC;AAC9D,QAAM,SAAS,eAAe,eAAe;AAE7C,QAAM,aAAa,IAAI,OAAO,WAAW,OAAO,CAAC;AAEjD,QAAM,cAAc,OAAO,cAAc,EAAE,UAAU,MAAM;AACzD,eAAW,QAAQ,OAAO,WAAW,OAAO;AAAA,EAC9C,CAAC;AAED;AAAA,IACE;AAAA,IACA,MAAM;AACJ,iBAAW,QAAQ,OAAO,WAAW,OAAO;AAAA,IAC9C;AAAA,IACA,EAAE,MAAM,KAAK;AAAA,EACf;AAEA,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../src/useIsFetching.ts"],"sourcesContent":["import { getCurrentScope, onScopeDispose, ref, watchEffect } from 'vue-demi'\nimport { useQueryClient } from './useQueryClient'\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>\n\nexport function useIsFetching(\n fetchingFilters: MaybeRefDeep<QF> = {},\n queryClient?: QueryClient,\n): Ref<number> {\n if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables 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 isFetching.value = client.isFetching(fetchingFilters)\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;AAQxB,SAAS,cACd,kBAAoC,CAAC,GACrC,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,eAAW,QAAQ,OAAO,WAAW,eAAe;AAAA,EACtD;AAEA,QAAM,cAAc,OAAO,cAAc,EAAE,UAAU,QAAQ;AAE7D,cAAY,QAAQ;AAEpB,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO;AACT;","names":[]}
@@ -28,6 +28,13 @@ var import_query_core = require("@tanstack/query-core");
28
28
  var import_utils = require("./utils.cjs");
29
29
  var import_useQueryClient = require("./useQueryClient.cjs");
30
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 composables 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
+ }
31
38
  const client = queryClient || (0, import_useQueryClient.useQueryClient)();
32
39
  const options = (0, import_vue_demi.computed)(() => {
33
40
  return client.defaultMutationOptions((0, import_utils.cloneDeepUnref)(mutationOptions));
@@ -41,17 +48,21 @@ function useMutation(mutationOptions, queryClient) {
41
48
  observer.mutate(variables, mutateOptions).catch(() => {
42
49
  });
43
50
  };
44
- (0, import_vue_demi.watch)(
45
- options,
46
- () => {
47
- observer.setOptions(options.value);
48
- },
49
- { deep: true }
50
- );
51
+ (0, import_vue_demi.watch)(options, () => {
52
+ observer.setOptions(options.value);
53
+ });
51
54
  (0, import_vue_demi.onScopeDispose)(() => {
52
55
  unsubscribe();
53
56
  });
54
57
  const resultRefs = (0, import_vue_demi.toRefs)((0, import_vue_demi.readonly)(state));
58
+ (0, import_vue_demi.watch)(
59
+ () => state.error,
60
+ (error) => {
61
+ if (error && (0, import_utils.shouldThrowError)(options.value.throwOnError, [error])) {
62
+ throw error;
63
+ }
64
+ }
65
+ );
55
66
  return {
56
67
  ...resultRefs,
57
68
  mutate,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n DefaultError,\n MutateFunction,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\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"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAOO;AACP,wBAAiC;AACjC,mBAA4C;AAC5C,4BAA+B;AA6CxB,SAAS,YAMd,iBAGA,aAC4D;AAC5D,QAAM,SAAS,mBAAe,sCAAe;AAC7C,QAAM,cAAU,0BAAS,MAAM;AAC7B,WAAO,OAAO,2BAAuB,6BAAe,eAAe,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,WAAW,IAAI,mCAAiB,QAAQ,QAAQ,KAAK;AAC3D,QAAM,YAAQ,0BAAS,SAAS,iBAAiB,CAAC;AAElD,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;AAAA,IACE;AAAA,IACA,MAAM;AACJ,eAAS,WAAW,QAAQ,KAAK;AAAA,IACnC;AAAA,IACA,EAAE,MAAM,KAAK;AAAA,EACf;AAEA,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,iBAAa,4BAAO,0BAAS,KAAK,CAAC;AAIzC,SAAO;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA,aAAa,MAAM;AAAA,IACnB,OAAO,MAAM;AAAA,EACf;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n reactive,\n readonly,\n toRefs,\n watch,\n} from 'vue-demi'\nimport { MutationObserver } from '@tanstack/query-core'\nimport { cloneDeepUnref, shouldThrowError, updateState } from './utils'\nimport { useQueryClient } from './useQueryClient'\nimport type { ToRefs } from 'vue-demi'\nimport type {\n DefaultError,\n MutateFunction,\n MutateOptions,\n MutationObserverOptions,\n MutationObserverResult,\n} from '@tanstack/query-core'\nimport type { DistributiveOmit, MaybeRefDeep } from './types'\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 if (process.env.NODE_ENV === 'development') {\n if (!getCurrentScope()) {\n console.warn(\n 'vue-query composables 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 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(options, () => {\n observer.setOptions(options.value)\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 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,sBAQO;AACP,wBAAiC;AACjC,mBAA8D;AAC9D,4BAA+B;AA6CxB,SAAS,YAMd,iBAGA,aAC4D;AAC5D,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,WAAO,OAAO,2BAAuB,6BAAe,eAAe,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,WAAW,IAAI,mCAAiB,QAAQ,QAAQ,KAAK;AAC3D,QAAM,YAAQ,0BAAS,SAAS,iBAAiB,CAAC;AAElD,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,iBAAa,4BAAO,0BAAS,KAAK,CAAC;AAIzC;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,aACA,+BAAiB,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":[]}