@tanstack/vue-query 5.74.5 → 5.74.7

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 (93) hide show
  1. package/build/legacy/devtools/devtools.d.cts +1 -1
  2. package/build/legacy/devtools/devtools.d.ts +1 -1
  3. package/build/legacy/index.d.cts +1 -1
  4. package/build/legacy/index.d.ts +1 -1
  5. package/build/legacy/infiniteQueryOptions.d.cts +1 -1
  6. package/build/legacy/infiniteQueryOptions.d.ts +1 -1
  7. package/build/legacy/{queryClient-CB08OXdW.d.cts → queryClient-BAAUSDNa.d.cts} +2 -2
  8. package/build/legacy/{queryClient-Dyec86nu.d.ts → queryClient-DlZcK5cH.d.ts} +2 -2
  9. package/build/legacy/queryClient.d.cts +1 -1
  10. package/build/legacy/queryClient.d.ts +1 -1
  11. package/build/legacy/queryOptions.d.cts +1 -1
  12. package/build/legacy/queryOptions.d.ts +1 -1
  13. package/build/legacy/useBaseQuery.cjs +2 -5
  14. package/build/legacy/useBaseQuery.cjs.map +1 -1
  15. package/build/legacy/useBaseQuery.d.cts +1 -1
  16. package/build/legacy/useBaseQuery.d.ts +1 -1
  17. package/build/legacy/useBaseQuery.js +3 -5
  18. package/build/legacy/useBaseQuery.js.map +1 -1
  19. package/build/legacy/useInfiniteQuery.d.cts +1 -1
  20. package/build/legacy/useInfiniteQuery.d.ts +1 -1
  21. package/build/legacy/useIsFetching.d.cts +1 -1
  22. package/build/legacy/useIsFetching.d.ts +1 -1
  23. package/build/legacy/useMutation.cjs +2 -2
  24. package/build/legacy/useMutation.cjs.map +1 -1
  25. package/build/legacy/useMutation.d.cts +1 -1
  26. package/build/legacy/useMutation.d.ts +1 -1
  27. package/build/legacy/useMutation.js +3 -2
  28. package/build/legacy/useMutation.js.map +1 -1
  29. package/build/legacy/useMutationState.d.cts +1 -1
  30. package/build/legacy/useMutationState.d.ts +1 -1
  31. package/build/legacy/useQueries.cjs +1 -1
  32. package/build/legacy/useQueries.cjs.map +1 -1
  33. package/build/legacy/useQueries.d.cts +1 -1
  34. package/build/legacy/useQueries.d.ts +1 -1
  35. package/build/legacy/useQueries.js +1 -1
  36. package/build/legacy/useQueries.js.map +1 -1
  37. package/build/legacy/useQuery.cjs.map +1 -1
  38. package/build/legacy/useQuery.d.cts +1 -1
  39. package/build/legacy/useQuery.d.ts +1 -1
  40. package/build/legacy/useQuery.js.map +1 -1
  41. package/build/legacy/useQueryClient.d.cts +1 -1
  42. package/build/legacy/useQueryClient.d.ts +1 -1
  43. package/build/legacy/vueQueryPlugin.d.cts +1 -1
  44. package/build/legacy/vueQueryPlugin.d.ts +1 -1
  45. package/build/modern/devtools/devtools.d.cts +1 -1
  46. package/build/modern/devtools/devtools.d.ts +1 -1
  47. package/build/modern/index.d.cts +1 -1
  48. package/build/modern/index.d.ts +1 -1
  49. package/build/modern/infiniteQueryOptions.d.cts +1 -1
  50. package/build/modern/infiniteQueryOptions.d.ts +1 -1
  51. package/build/modern/{queryClient-CB08OXdW.d.cts → queryClient-BAAUSDNa.d.cts} +2 -2
  52. package/build/modern/{queryClient-Dyec86nu.d.ts → queryClient-DlZcK5cH.d.ts} +2 -2
  53. package/build/modern/queryClient.d.cts +1 -1
  54. package/build/modern/queryClient.d.ts +1 -1
  55. package/build/modern/queryOptions.d.cts +1 -1
  56. package/build/modern/queryOptions.d.ts +1 -1
  57. package/build/modern/useBaseQuery.cjs +2 -5
  58. package/build/modern/useBaseQuery.cjs.map +1 -1
  59. package/build/modern/useBaseQuery.d.cts +1 -1
  60. package/build/modern/useBaseQuery.d.ts +1 -1
  61. package/build/modern/useBaseQuery.js +3 -5
  62. package/build/modern/useBaseQuery.js.map +1 -1
  63. package/build/modern/useInfiniteQuery.d.cts +1 -1
  64. package/build/modern/useInfiniteQuery.d.ts +1 -1
  65. package/build/modern/useIsFetching.d.cts +1 -1
  66. package/build/modern/useIsFetching.d.ts +1 -1
  67. package/build/modern/useMutation.cjs +2 -2
  68. package/build/modern/useMutation.cjs.map +1 -1
  69. package/build/modern/useMutation.d.cts +1 -1
  70. package/build/modern/useMutation.d.ts +1 -1
  71. package/build/modern/useMutation.js +3 -2
  72. package/build/modern/useMutation.js.map +1 -1
  73. package/build/modern/useMutationState.d.cts +1 -1
  74. package/build/modern/useMutationState.d.ts +1 -1
  75. package/build/modern/useQueries.cjs +1 -1
  76. package/build/modern/useQueries.cjs.map +1 -1
  77. package/build/modern/useQueries.d.cts +1 -1
  78. package/build/modern/useQueries.d.ts +1 -1
  79. package/build/modern/useQueries.js +1 -1
  80. package/build/modern/useQueries.js.map +1 -1
  81. package/build/modern/useQuery.cjs.map +1 -1
  82. package/build/modern/useQuery.d.cts +1 -1
  83. package/build/modern/useQuery.d.ts +1 -1
  84. package/build/modern/useQuery.js.map +1 -1
  85. package/build/modern/useQueryClient.d.cts +1 -1
  86. package/build/modern/useQueryClient.d.ts +1 -1
  87. package/build/modern/vueQueryPlugin.d.cts +1 -1
  88. package/build/modern/vueQueryPlugin.d.ts +1 -1
  89. package/package.json +3 -2
  90. package/src/useBaseQuery.ts +9 -8
  91. package/src/useMutation.ts +7 -7
  92. package/src/useQueries.ts +3 -5
  93. package/src/useQuery.ts +5 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useMutation.ts"],"sourcesContent":["import {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReactive,\n shallowReadonly,\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\ntype UseMutationOptionsBase<TData, TError, TVariables, TContext> =\n MutationObserverOptions<TData, TError, TVariables, TContext> & {\n /**\n * Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive.\n */\n shallow?: boolean\n }\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<UseMutationOptionsBase<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 TResult = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<TResult>> & {\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 UseMutationOptionsBase<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 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 return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\n })\n const observer = new MutationObserver(client, options.value)\n const state = shallowReactive(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 readonlyState =\n process.env.NODE_ENV === 'production'\n ? state\n : options.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const resultRefs = toRefs(readonlyState) 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,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,wBAAwB;AACjC,SAAS,gBAAgB,kBAAkB,mBAAmB;AAC9D,SAAS,sBAAsB;AAqDxB,SAAS,YAMd,iBAGA,aAC4D;AAC5D,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;AAC7C,QAAM,UAAU,SAAS,MAAM;AAC7B,WAAO,OAAO,uBAAuB,eAAe,eAAe,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,WAAW,IAAI,iBAAiB,QAAQ,QAAQ,KAAK;AAC3D,QAAM,QAAQ,gBAAgB,SAAS,iBAAiB,CAAC;AAEzD,QAAM,cAAc,SAAS,UAAU,CAAC,WAAW;AACjD,gBAAY,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,QAAM,SAAS,MAAM;AACnB,aAAS,WAAW,QAAQ,KAAK;AAAA,EACnC,CAAC;AAED,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,gBACJ,QAAQ,IAAI,aAAa,eACrB,QACA,QAAQ,MAAM,UACZ,gBAAgB,KAAK,IACrB,SAAS,KAAK;AAEtB,QAAM,aAAa,OAAO,aAAa;AAIvC;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,SACA,iBAAiB,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":[]}
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 } 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\ntype UseMutationOptionsBase<TData, TError, TVariables, TContext> =\n MutationObserverOptions<TData, TError, TVariables, TContext> & {\n /**\n * Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive.\n */\n shallow?: boolean\n }\n\nexport type UseMutationOptions<\n TData = unknown,\n TError = DefaultError,\n TVariables = void,\n TContext = unknown,\n> = MaybeRefDeep<UseMutationOptionsBase<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 TResult = MutationResult<TData, TError, TVariables, TContext>,\n> = ToRefs<Readonly<TResult>> & {\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 UseMutationOptionsBase<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 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 return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))\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, 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 readonlyState = options.value.shallow\n ? shallowReadonly(state)\n : readonly(state)\n\n const resultRefs = toRefs(readonlyState) 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,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,wBAAwB;AACjC,SAAS,gBAAgB,kBAAkB,mBAAmB;AAC9D,SAAS,sBAAsB;AAqDxB,SAAS,YAMd,iBAGA,aAC4D;AAC5D,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;AAC7C,QAAM,UAAU,SAAS,MAAM;AAC7B,WAAO,OAAO,uBAAuB,eAAe,eAAe,CAAC;AAAA,EACtE,CAAC;AACD,QAAM,WAAW,IAAI,iBAAiB,QAAQ,QAAQ,KAAK;AAC3D,QAAM,QAAQ,QAAQ,MAAM,UACxB,gBAAgB,SAAS,iBAAiB,CAAC,IAC3C,SAAS,SAAS,iBAAiB,CAAC;AAExC,QAAM,cAAc,SAAS,UAAU,CAAC,WAAW;AACjD,gBAAY,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,QAAM,SAAS,MAAM;AACnB,aAAS,WAAW,QAAQ,KAAK;AAAA,EACnC,CAAC;AAED,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,QAAM,gBAAgB,QAAQ,MAAM,UAChC,gBAAgB,KAAK,IACrB,SAAS,KAAK;AAElB,QAAM,aAAa,OAAO,aAAa;AAIvC;AAAA,IACE,MAAM,MAAM;AAAA,IACZ,CAAC,UAAU;AACT,UACE,SACA,iBAAiB,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":[]}
@@ -1,6 +1,6 @@
1
1
  import { Ref } from 'vue-demi';
2
2
  import { MutationFilters as MutationFilters$1, MutationState, Mutation } from '@tanstack/query-core';
3
- import { Q as QueryClient } from './queryClient-CB08OXdW.cjs';
3
+ import { Q as QueryClient } from './queryClient-BAAUSDNa.cjs';
4
4
  import { MaybeRefDeep } from './types.cjs';
5
5
 
6
6
  type MutationFilters = MaybeRefDeep<MutationFilters$1>;
@@ -1,6 +1,6 @@
1
1
  import { Ref } from 'vue-demi';
2
2
  import { MutationFilters as MutationFilters$1, MutationState, Mutation } from '@tanstack/query-core';
3
- import { Q as QueryClient } from './queryClient-Dyec86nu.js';
3
+ import { Q as QueryClient } from './queryClient-DlZcK5cH.js';
4
4
  import { MaybeRefDeep } from './types.js';
5
5
 
6
6
  type MutationFilters = MaybeRefDeep<MutationFilters$1>;
@@ -102,7 +102,7 @@ function useQueries({
102
102
  (0, import_vue_demi.onScopeDispose)(() => {
103
103
  unsubscribe();
104
104
  });
105
- return process.env.NODE_ENV === "production" ? state : options.shallow ? (0, import_vue_demi.shallowReadonly)(state) : (0, import_vue_demi.readonly)(state);
105
+ return options.shallow ? (0, import_vue_demi.shallowReadonly)(state) : (0, import_vue_demi.readonly)(state);
106
106
  }
107
107
  // Annotate the CommonJS export names for ESM import in node:
108
108
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useQueries.ts"],"sourcesContent":["import { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReadonly,\n shallowRef,\n unref,\n watch,\n} from 'vue-demi'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n QueriesObserverOptions,\n QueryFunction,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DeepUnwrapRef, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\n// Widen the type of the symbol to enable type inference even if skipToken is not immutable.\ntype SkipTokenForUseQueries = symbol\n\ntype GetUseQueryOptionsForUseQueries<T> =\n // Part 1: if UseQueryOptions are already being sent through, then just return T\n T extends UseQueryOptions\n ? DeepUnwrapRef<T>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 3: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 4: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n unknown extends TError ? DefaultError : TError,\n unknown extends TData ? TQueryFnData : TData,\n TQueryKey\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n UseQueryOptionsForUseQueries\n\n// A defined initialData setting should return a DefinedQueryObserverResult rather than QueryObserverResult\ntype GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {\n initialData?: infer TInitialData\n}\n ? unknown extends TInitialData\n ? QueryObserverResult<TData, TError>\n : TInitialData extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : TInitialData extends () => infer TInitialDataResult\n ? unknown extends TInitialDataResult\n ? QueryObserverResult<TData, TError>\n : TInitialDataResult extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n\ntype GetUseQueryResult<T> =\n // Part 1: if using UseQueryOptions then the types are already set\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any,\n any\n >\n ? GetDefinedOrUndefinedQueryResult<\n T,\n undefined extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : // Part 2: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : // Part 3: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData>\n : // Part 4: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n TQueryFnData,\n unknown extends TError ? DefaultError : TError\n >\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<UseQueryOptionsForUseQueries>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryOptionsForUseQueries<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesOptions<\n [...Tails],\n [...TResults, GetUseQueryOptionsForUseQueries<Head>],\n [...TDepth, 1]\n >\n : ReadonlyArray<unknown> extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends Array<\n UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >\n >\n ? Array<\n UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n >\n >\n : // Fallback\n Array<UseQueryOptionsForUseQueries>\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<QueryObserverResult>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryResult<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesResults<\n [...Tails],\n [...TResults, GetUseQueryResult<Head>],\n [...TDepth, 1]\n >\n : { [K in keyof T]: GetUseQueryResult<T[K]> }\n\ntype UseQueriesOptionsArg<T extends Array<any>> = readonly [\n ...UseQueriesOptions<T>,\n]\n\nexport function useQueries<\n T extends Array<any>,\n TCombinedResult = UseQueriesResults<T>,\n>(\n {\n queries,\n ...options\n }: {\n queries:\n | MaybeRefDeep<UseQueriesOptionsArg<T>>\n | MaybeRefDeep<\n readonly [\n ...{ [K in keyof T]: GetUseQueryOptionsForUseQueries<T[K]> },\n ]\n >\n combine?: (result: UseQueriesResults<T>) => TCombinedResult\n shallow?: boolean\n },\n queryClient?: QueryClient,\n): Readonly<Ref<TCombinedResult>> {\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 defaultedQueries = computed(() => {\n // Only unref the top level array.\n const queriesRaw = unref(queries) as ReadonlyArray<any>\n\n // Unref the rest for each element in the top level array.\n return queriesRaw.map((queryOptions) => {\n const clonedOptions = cloneDeepUnref(queryOptions)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = queryOptions.enabled()\n }\n\n const defaulted = client.defaultQueryOptions(clonedOptions)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n })\n\n const observer = new QueriesObserver<TCombinedResult>(\n client,\n defaultedQueries.value,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n\n const getOptimisticResult = () => {\n const [results, getCombinedResult] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return getCombinedResult(\n results.map((result, index) => {\n return {\n ...result,\n refetch: async (...args: Array<any>) => {\n const [{ [index]: query }] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return query!.refetch(...args)\n },\n }\n }),\n )\n }\n\n const state = shallowRef(getOptimisticResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe(() => {\n state.value = getOptimisticResult()\n })\n\n state.value = getOptimisticResult()\n }\n },\n { immediate: true },\n )\n\n watch(defaultedQueries, (queriesValue) => {\n observer.setQueries(\n queriesValue,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n state.value = getOptimisticResult()\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return process.env.NODE_ENV === 'production'\n ? state\n : options.shallow\n ? shallowReadonly(state)\n : (readonly(state) as Readonly<Ref<TCombinedResult>>)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAgC;AAChC,sBASO;AAEP,4BAA+B;AAC/B,mBAA+B;AA4NxB,SAAS,WAId;AAAA,EACE;AAAA,EACA,GAAG;AACL,GAWA,aACgC;AAChC,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;AAEtC,UAAM,iBAAa,uBAAM,OAAO;AAGhC,WAAO,WAAW,IAAI,CAAC,iBAAiB;AACtC,YAAM,oBAAgB,6BAAe,YAAY;AAEjD,UAAI,OAAO,cAAc,YAAY,YAAY;AAC/C,sBAAc,UAAU,aAAa,QAAQ;AAAA,MAC/C;AAEA,YAAM,YAAY,OAAO,oBAAoB,aAAa;AAC1D,gBAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,aAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAED,QAAM,WAAW,IAAI;AAAA,IACnB;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,sBAAsB,MAAM;AAChC,UAAM,CAAC,SAAS,iBAAiB,IAAI,SAAS;AAAA,MAC5C,iBAAiB;AAAA,MAChB,QAAoD;AAAA,IACvD;AAEA,WAAO;AAAA,MACL,QAAQ,IAAI,CAAC,QAAQ,UAAU;AAC7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS,UAAU,SAAqB;AACtC,kBAAM,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,SAAS;AAAA,cACpC,iBAAiB;AAAA,cAChB,QAAoD;AAAA,YACvD;AAEA,mBAAO,MAAO,QAAQ,GAAG,IAAI;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,YAAQ,4BAAW,oBAAoB,CAAC;AAE9C,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AACf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,MAAM;AACrC,gBAAM,QAAQ,oBAAoB;AAAA,QACpC,CAAC;AAED,cAAM,QAAQ,oBAAoB;AAAA,MACpC;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA,6BAAM,kBAAkB,CAAC,iBAAiB;AACxC,aAAS;AAAA,MACP;AAAA,MACA;AAAA,IACF;AACA,UAAM,QAAQ,oBAAoB;AAAA,EACpC,CAAC;AAED,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO,QAAQ,IAAI,aAAa,eAC5B,QACA,QAAQ,cACN,iCAAgB,KAAK,QACpB,0BAAS,KAAK;AACvB;","names":[]}
1
+ {"version":3,"sources":["../../src/useQueries.ts"],"sourcesContent":["import { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReadonly,\n shallowRef,\n unref,\n watch,\n} from 'vue-demi'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n QueriesObserverOptions,\n QueryFunction,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DeepUnwrapRef, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\n// Widen the type of the symbol to enable type inference even if skipToken is not immutable.\ntype SkipTokenForUseQueries = symbol\n\ntype GetUseQueryOptionsForUseQueries<T> =\n // Part 1: if UseQueryOptions are already being sent through, then just return T\n T extends UseQueryOptions\n ? DeepUnwrapRef<T>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 3: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 4: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n unknown extends TError ? DefaultError : TError,\n unknown extends TData ? TQueryFnData : TData,\n TQueryKey\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n UseQueryOptionsForUseQueries\n\n// A defined initialData setting should return a DefinedQueryObserverResult rather than QueryObserverResult\ntype GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {\n initialData?: infer TInitialData\n}\n ? unknown extends TInitialData\n ? QueryObserverResult<TData, TError>\n : TInitialData extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : TInitialData extends () => infer TInitialDataResult\n ? unknown extends TInitialDataResult\n ? QueryObserverResult<TData, TError>\n : TInitialDataResult extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n\ntype GetUseQueryResult<T> =\n // Part 1: if using UseQueryOptions then the types are already set\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any,\n any\n >\n ? GetDefinedOrUndefinedQueryResult<\n T,\n undefined extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : // Part 2: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : // Part 3: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData>\n : // Part 4: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n TQueryFnData,\n unknown extends TError ? DefaultError : TError\n >\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<UseQueryOptionsForUseQueries>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryOptionsForUseQueries<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesOptions<\n [...Tails],\n [...TResults, GetUseQueryOptionsForUseQueries<Head>],\n [...TDepth, 1]\n >\n : ReadonlyArray<unknown> extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends Array<\n UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >\n >\n ? Array<\n UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n >\n >\n : // Fallback\n Array<UseQueryOptionsForUseQueries>\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<QueryObserverResult>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryResult<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesResults<\n [...Tails],\n [...TResults, GetUseQueryResult<Head>],\n [...TDepth, 1]\n >\n : { [K in keyof T]: GetUseQueryResult<T[K]> }\n\ntype UseQueriesOptionsArg<T extends Array<any>> = readonly [\n ...UseQueriesOptions<T>,\n]\n\nexport function useQueries<\n T extends Array<any>,\n TCombinedResult = UseQueriesResults<T>,\n>(\n {\n queries,\n ...options\n }: {\n queries:\n | MaybeRefDeep<UseQueriesOptionsArg<T>>\n | MaybeRefDeep<\n readonly [\n ...{ [K in keyof T]: GetUseQueryOptionsForUseQueries<T[K]> },\n ]\n >\n combine?: (result: UseQueriesResults<T>) => TCombinedResult\n shallow?: boolean\n },\n queryClient?: QueryClient,\n): Readonly<Ref<TCombinedResult>> {\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 defaultedQueries = computed(() => {\n // Only unref the top level array.\n const queriesRaw = unref(queries) as ReadonlyArray<any>\n\n // Unref the rest for each element in the top level array.\n return queriesRaw.map((queryOptions) => {\n const clonedOptions = cloneDeepUnref(queryOptions)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = queryOptions.enabled()\n }\n\n const defaulted = client.defaultQueryOptions(clonedOptions)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n })\n\n const observer = new QueriesObserver<TCombinedResult>(\n client,\n defaultedQueries.value,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n\n const getOptimisticResult = () => {\n const [results, getCombinedResult] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return getCombinedResult(\n results.map((result, index) => {\n return {\n ...result,\n refetch: async (...args: Array<any>) => {\n const [{ [index]: query }] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return query!.refetch(...args)\n },\n }\n }),\n )\n }\n\n const state = shallowRef(getOptimisticResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe(() => {\n state.value = getOptimisticResult()\n })\n\n state.value = getOptimisticResult()\n }\n },\n { immediate: true },\n )\n\n watch(defaultedQueries, (queriesValue) => {\n observer.setQueries(\n queriesValue,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n state.value = getOptimisticResult()\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return options.shallow\n ? shallowReadonly(state)\n : (readonly(state) as Readonly<Ref<TCombinedResult>>)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAgC;AAChC,sBASO;AAEP,4BAA+B;AAC/B,mBAA+B;AA4NxB,SAAS,WAId;AAAA,EACE;AAAA,EACA,GAAG;AACL,GAWA,aACgC;AAChC,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;AAEtC,UAAM,iBAAa,uBAAM,OAAO;AAGhC,WAAO,WAAW,IAAI,CAAC,iBAAiB;AACtC,YAAM,oBAAgB,6BAAe,YAAY;AAEjD,UAAI,OAAO,cAAc,YAAY,YAAY;AAC/C,sBAAc,UAAU,aAAa,QAAQ;AAAA,MAC/C;AAEA,YAAM,YAAY,OAAO,oBAAoB,aAAa;AAC1D,gBAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,aAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAED,QAAM,WAAW,IAAI;AAAA,IACnB;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,sBAAsB,MAAM;AAChC,UAAM,CAAC,SAAS,iBAAiB,IAAI,SAAS;AAAA,MAC5C,iBAAiB;AAAA,MAChB,QAAoD;AAAA,IACvD;AAEA,WAAO;AAAA,MACL,QAAQ,IAAI,CAAC,QAAQ,UAAU;AAC7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS,UAAU,SAAqB;AACtC,kBAAM,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,SAAS;AAAA,cACpC,iBAAiB;AAAA,cAChB,QAAoD;AAAA,YACvD;AAEA,mBAAO,MAAO,QAAQ,GAAG,IAAI;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,YAAQ,4BAAW,oBAAoB,CAAC;AAE9C,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AACf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,MAAM;AACrC,gBAAM,QAAQ,oBAAoB;AAAA,QACpC,CAAC;AAED,cAAM,QAAQ,oBAAoB;AAAA,MACpC;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA,6BAAM,kBAAkB,CAAC,iBAAiB;AACxC,aAAS;AAAA,MACP;AAAA,MACA;AAAA,IACF;AACA,UAAM,QAAQ,oBAAoB;AAAA,EACpC,CAAC;AAED,sCAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO,QAAQ,cACX,iCAAgB,KAAK,QACpB,0BAAS,KAAK;AACrB;","names":[]}
@@ -1,6 +1,6 @@
1
1
  import { Ref } from 'vue-demi';
2
2
  import { QueryObserverResult, DefinedQueryObserverResult, DefaultError, QueryFunction, ThrowOnError, QueryKey } from '@tanstack/query-core';
3
- import { b as UseQueryOptions, Q as QueryClient } from './queryClient-CB08OXdW.cjs';
3
+ import { b as UseQueryOptions, Q as QueryClient } from './queryClient-BAAUSDNa.cjs';
4
4
  import { MaybeRefDeep, DeepUnwrapRef } from './types.cjs';
5
5
 
6
6
  type UseQueryOptionsForUseQueries<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>;
@@ -1,6 +1,6 @@
1
1
  import { Ref } from 'vue-demi';
2
2
  import { QueryObserverResult, DefinedQueryObserverResult, DefaultError, QueryFunction, ThrowOnError, QueryKey } from '@tanstack/query-core';
3
- import { b as UseQueryOptions, Q as QueryClient } from './queryClient-Dyec86nu.js';
3
+ import { b as UseQueryOptions, Q as QueryClient } from './queryClient-DlZcK5cH.js';
4
4
  import { MaybeRefDeep, DeepUnwrapRef } from './types.js';
5
5
 
6
6
  type UseQueryOptionsForUseQueries<TQueryFnData = unknown, TError = unknown, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>;
@@ -87,7 +87,7 @@ function useQueries({
87
87
  onScopeDispose(() => {
88
88
  unsubscribe();
89
89
  });
90
- return process.env.NODE_ENV === "production" ? state : options.shallow ? shallowReadonly(state) : readonly(state);
90
+ return options.shallow ? shallowReadonly(state) : readonly(state);
91
91
  }
92
92
  export {
93
93
  useQueries
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useQueries.ts"],"sourcesContent":["import { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReadonly,\n shallowRef,\n unref,\n watch,\n} from 'vue-demi'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n QueriesObserverOptions,\n QueryFunction,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DeepUnwrapRef, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\n// Widen the type of the symbol to enable type inference even if skipToken is not immutable.\ntype SkipTokenForUseQueries = symbol\n\ntype GetUseQueryOptionsForUseQueries<T> =\n // Part 1: if UseQueryOptions are already being sent through, then just return T\n T extends UseQueryOptions\n ? DeepUnwrapRef<T>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 3: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 4: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n unknown extends TError ? DefaultError : TError,\n unknown extends TData ? TQueryFnData : TData,\n TQueryKey\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n UseQueryOptionsForUseQueries\n\n// A defined initialData setting should return a DefinedQueryObserverResult rather than QueryObserverResult\ntype GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {\n initialData?: infer TInitialData\n}\n ? unknown extends TInitialData\n ? QueryObserverResult<TData, TError>\n : TInitialData extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : TInitialData extends () => infer TInitialDataResult\n ? unknown extends TInitialDataResult\n ? QueryObserverResult<TData, TError>\n : TInitialDataResult extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n\ntype GetUseQueryResult<T> =\n // Part 1: if using UseQueryOptions then the types are already set\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any,\n any\n >\n ? GetDefinedOrUndefinedQueryResult<\n T,\n undefined extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : // Part 2: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : // Part 3: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData>\n : // Part 4: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n TQueryFnData,\n unknown extends TError ? DefaultError : TError\n >\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<UseQueryOptionsForUseQueries>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryOptionsForUseQueries<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesOptions<\n [...Tails],\n [...TResults, GetUseQueryOptionsForUseQueries<Head>],\n [...TDepth, 1]\n >\n : ReadonlyArray<unknown> extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends Array<\n UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >\n >\n ? Array<\n UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n >\n >\n : // Fallback\n Array<UseQueryOptionsForUseQueries>\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<QueryObserverResult>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryResult<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesResults<\n [...Tails],\n [...TResults, GetUseQueryResult<Head>],\n [...TDepth, 1]\n >\n : { [K in keyof T]: GetUseQueryResult<T[K]> }\n\ntype UseQueriesOptionsArg<T extends Array<any>> = readonly [\n ...UseQueriesOptions<T>,\n]\n\nexport function useQueries<\n T extends Array<any>,\n TCombinedResult = UseQueriesResults<T>,\n>(\n {\n queries,\n ...options\n }: {\n queries:\n | MaybeRefDeep<UseQueriesOptionsArg<T>>\n | MaybeRefDeep<\n readonly [\n ...{ [K in keyof T]: GetUseQueryOptionsForUseQueries<T[K]> },\n ]\n >\n combine?: (result: UseQueriesResults<T>) => TCombinedResult\n shallow?: boolean\n },\n queryClient?: QueryClient,\n): Readonly<Ref<TCombinedResult>> {\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 defaultedQueries = computed(() => {\n // Only unref the top level array.\n const queriesRaw = unref(queries) as ReadonlyArray<any>\n\n // Unref the rest for each element in the top level array.\n return queriesRaw.map((queryOptions) => {\n const clonedOptions = cloneDeepUnref(queryOptions)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = queryOptions.enabled()\n }\n\n const defaulted = client.defaultQueryOptions(clonedOptions)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n })\n\n const observer = new QueriesObserver<TCombinedResult>(\n client,\n defaultedQueries.value,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n\n const getOptimisticResult = () => {\n const [results, getCombinedResult] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return getCombinedResult(\n results.map((result, index) => {\n return {\n ...result,\n refetch: async (...args: Array<any>) => {\n const [{ [index]: query }] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return query!.refetch(...args)\n },\n }\n }),\n )\n }\n\n const state = shallowRef(getOptimisticResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe(() => {\n state.value = getOptimisticResult()\n })\n\n state.value = getOptimisticResult()\n }\n },\n { immediate: true },\n )\n\n watch(defaultedQueries, (queriesValue) => {\n observer.setQueries(\n queriesValue,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n state.value = getOptimisticResult()\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return process.env.NODE_ENV === 'production'\n ? state\n : options.shallow\n ? shallowReadonly(state)\n : (readonly(state) as Readonly<Ref<TCombinedResult>>)\n}\n"],"mappings":";AAAA,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AA4NxB,SAAS,WAId;AAAA,EACE;AAAA,EACA,GAAG;AACL,GAWA,aACgC;AAChC,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;AAEtC,UAAM,aAAa,MAAM,OAAO;AAGhC,WAAO,WAAW,IAAI,CAAC,iBAAiB;AACtC,YAAM,gBAAgB,eAAe,YAAY;AAEjD,UAAI,OAAO,cAAc,YAAY,YAAY;AAC/C,sBAAc,UAAU,aAAa,QAAQ;AAAA,MAC/C;AAEA,YAAM,YAAY,OAAO,oBAAoB,aAAa;AAC1D,gBAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,aAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAED,QAAM,WAAW,IAAI;AAAA,IACnB;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,sBAAsB,MAAM;AAChC,UAAM,CAAC,SAAS,iBAAiB,IAAI,SAAS;AAAA,MAC5C,iBAAiB;AAAA,MAChB,QAAoD;AAAA,IACvD;AAEA,WAAO;AAAA,MACL,QAAQ,IAAI,CAAC,QAAQ,UAAU;AAC7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS,UAAU,SAAqB;AACtC,kBAAM,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,SAAS;AAAA,cACpC,iBAAiB;AAAA,cAChB,QAAoD;AAAA,YACvD;AAEA,mBAAO,MAAO,QAAQ,GAAG,IAAI;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,QAAQ,WAAW,oBAAoB,CAAC;AAE9C,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AACf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,MAAM;AACrC,gBAAM,QAAQ,oBAAoB;AAAA,QACpC,CAAC;AAED,cAAM,QAAQ,oBAAoB;AAAA,MACpC;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA,QAAM,kBAAkB,CAAC,iBAAiB;AACxC,aAAS;AAAA,MACP;AAAA,MACA;AAAA,IACF;AACA,UAAM,QAAQ,oBAAoB;AAAA,EACpC,CAAC;AAED,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO,QAAQ,IAAI,aAAa,eAC5B,QACA,QAAQ,UACN,gBAAgB,KAAK,IACpB,SAAS,KAAK;AACvB;","names":[]}
1
+ {"version":3,"sources":["../../src/useQueries.ts"],"sourcesContent":["import { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n getCurrentScope,\n onScopeDispose,\n readonly,\n shallowReadonly,\n shallowRef,\n unref,\n watch,\n} from 'vue-demi'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { Ref } from 'vue-demi'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n QueriesObserverOptions,\n QueryFunction,\n QueryKey,\n QueryObserverResult,\n ThrowOnError,\n} from '@tanstack/query-core'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\nimport type { DeepUnwrapRef, MaybeRefDeep } from './types'\n\n// This defines the `UseQueryOptions` that are accepted in `QueriesOptions` & `GetOptions`.\n// `placeholderData` function does not have a parameter\ntype UseQueryOptionsForUseQueries<\n TQueryFnData = unknown,\n TError = unknown,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey>\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\n// Widen the type of the symbol to enable type inference even if skipToken is not immutable.\ntype SkipTokenForUseQueries = symbol\n\ntype GetUseQueryOptionsForUseQueries<T> =\n // Part 1: if UseQueryOptions are already being sent through, then just return T\n T extends UseQueryOptions\n ? DeepUnwrapRef<T>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if object { queryFnData: TQueryFnData, error: TError, data: TData }\n T extends {\n queryFnData: infer TQueryFnData\n error?: infer TError\n data: infer TData\n }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptionsForUseQueries<unknown, TError, TData>\n : // Part 3: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptionsForUseQueries<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptionsForUseQueries<TQueryFnData>\n : // Part 4: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n unknown extends TError ? DefaultError : TError,\n unknown extends TData ? TQueryFnData : TData,\n TQueryKey\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, infer TQueryKey>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TQueryFnData,\n TQueryKey\n >\n : // Fallback\n UseQueryOptionsForUseQueries\n\n// A defined initialData setting should return a DefinedQueryObserverResult rather than QueryObserverResult\ntype GetDefinedOrUndefinedQueryResult<T, TData, TError = unknown> = T extends {\n initialData?: infer TInitialData\n}\n ? unknown extends TInitialData\n ? QueryObserverResult<TData, TError>\n : TInitialData extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : TInitialData extends () => infer TInitialDataResult\n ? unknown extends TInitialDataResult\n ? QueryObserverResult<TData, TError>\n : TInitialDataResult extends TData\n ? DefinedQueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n : QueryObserverResult<TData, TError>\n\ntype GetUseQueryResult<T> =\n // Part 1: if using UseQueryOptions then the types are already set\n T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any,\n any\n >\n ? GetDefinedOrUndefinedQueryResult<\n T,\n undefined extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : // Part 2: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : // Part 3: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? GetDefinedOrUndefinedQueryResult<T, TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? GetDefinedOrUndefinedQueryResult<T, TQueryFnData>\n : // Part 4: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n select?: (data: any) => infer TData\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n unknown extends TData ? TQueryFnData : TData,\n unknown extends TError ? DefaultError : TError\n >\n : T extends {\n queryFn?:\n | QueryFunction<infer TQueryFnData, any>\n | SkipTokenForUseQueries\n throwOnError?: ThrowOnError<any, infer TError, any, any>\n }\n ? GetDefinedOrUndefinedQueryResult<\n T,\n TQueryFnData,\n unknown extends TError ? DefaultError : TError\n >\n : // Fallback\n QueryObserverResult\n\n/**\n * UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param\n */\nexport type UseQueriesOptions<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<UseQueryOptionsForUseQueries>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryOptionsForUseQueries<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesOptions<\n [...Tails],\n [...TResults, GetUseQueryOptionsForUseQueries<Head>],\n [...TDepth, 1]\n >\n : ReadonlyArray<unknown> extends T\n ? T\n : // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!\n // use this to infer the param types in the case of Array.map() argument\n T extends Array<\n UseQueryOptionsForUseQueries<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >\n >\n ? Array<\n UseQueryOptionsForUseQueries<\n TQueryFnData,\n TError,\n TData,\n TQueryKey\n >\n >\n : // Fallback\n Array<UseQueryOptionsForUseQueries>\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends Array<any>,\n TResults extends Array<any> = [],\n TDepth extends ReadonlyArray<number> = [],\n> = TDepth['length'] extends MAXIMUM_DEPTH\n ? Array<QueryObserverResult>\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...TResults, GetUseQueryResult<Head>]\n : T extends [infer Head, ...infer Tails]\n ? UseQueriesResults<\n [...Tails],\n [...TResults, GetUseQueryResult<Head>],\n [...TDepth, 1]\n >\n : { [K in keyof T]: GetUseQueryResult<T[K]> }\n\ntype UseQueriesOptionsArg<T extends Array<any>> = readonly [\n ...UseQueriesOptions<T>,\n]\n\nexport function useQueries<\n T extends Array<any>,\n TCombinedResult = UseQueriesResults<T>,\n>(\n {\n queries,\n ...options\n }: {\n queries:\n | MaybeRefDeep<UseQueriesOptionsArg<T>>\n | MaybeRefDeep<\n readonly [\n ...{ [K in keyof T]: GetUseQueryOptionsForUseQueries<T[K]> },\n ]\n >\n combine?: (result: UseQueriesResults<T>) => TCombinedResult\n shallow?: boolean\n },\n queryClient?: QueryClient,\n): Readonly<Ref<TCombinedResult>> {\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 defaultedQueries = computed(() => {\n // Only unref the top level array.\n const queriesRaw = unref(queries) as ReadonlyArray<any>\n\n // Unref the rest for each element in the top level array.\n return queriesRaw.map((queryOptions) => {\n const clonedOptions = cloneDeepUnref(queryOptions)\n\n if (typeof clonedOptions.enabled === 'function') {\n clonedOptions.enabled = queryOptions.enabled()\n }\n\n const defaulted = client.defaultQueryOptions(clonedOptions)\n defaulted._optimisticResults = client.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n })\n })\n\n const observer = new QueriesObserver<TCombinedResult>(\n client,\n defaultedQueries.value,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n\n const getOptimisticResult = () => {\n const [results, getCombinedResult] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return getCombinedResult(\n results.map((result, index) => {\n return {\n ...result,\n refetch: async (...args: Array<any>) => {\n const [{ [index]: query }] = observer.getOptimisticResult(\n defaultedQueries.value,\n (options as QueriesObserverOptions<TCombinedResult>).combine,\n )\n\n return query!.refetch(...args)\n },\n }\n }),\n )\n }\n\n const state = shallowRef(getOptimisticResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n client.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe(() => {\n state.value = getOptimisticResult()\n })\n\n state.value = getOptimisticResult()\n }\n },\n { immediate: true },\n )\n\n watch(defaultedQueries, (queriesValue) => {\n observer.setQueries(\n queriesValue,\n options as QueriesObserverOptions<TCombinedResult>,\n )\n state.value = getOptimisticResult()\n })\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return options.shallow\n ? shallowReadonly(state)\n : (readonly(state) as Readonly<Ref<TCombinedResult>>)\n}\n"],"mappings":";AAAA,SAAS,uBAAuB;AAChC;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,sBAAsB;AAC/B,SAAS,sBAAsB;AA4NxB,SAAS,WAId;AAAA,EACE;AAAA,EACA,GAAG;AACL,GAWA,aACgC;AAChC,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;AAEtC,UAAM,aAAa,MAAM,OAAO;AAGhC,WAAO,WAAW,IAAI,CAAC,iBAAiB;AACtC,YAAM,gBAAgB,eAAe,YAAY;AAEjD,UAAI,OAAO,cAAc,YAAY,YAAY;AAC/C,sBAAc,UAAU,aAAa,QAAQ;AAAA,MAC/C;AAEA,YAAM,YAAY,OAAO,oBAAoB,aAAa;AAC1D,gBAAU,qBAAqB,OAAO,YAAY,QAC9C,gBACA;AAEJ,aAAO;AAAA,IACT,CAAC;AAAA,EACH,CAAC;AAED,QAAM,WAAW,IAAI;AAAA,IACnB;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,EACF;AAEA,QAAM,sBAAsB,MAAM;AAChC,UAAM,CAAC,SAAS,iBAAiB,IAAI,SAAS;AAAA,MAC5C,iBAAiB;AAAA,MAChB,QAAoD;AAAA,IACvD;AAEA,WAAO;AAAA,MACL,QAAQ,IAAI,CAAC,QAAQ,UAAU;AAC7B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS,UAAU,SAAqB;AACtC,kBAAM,CAAC,EAAE,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,SAAS;AAAA,cACpC,iBAAiB;AAAA,cAChB,QAAoD;AAAA,YACvD;AAEA,mBAAO,MAAO,QAAQ,GAAG,IAAI;AAAA,UAC/B;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAEA,QAAM,QAAQ,WAAW,oBAAoB,CAAC;AAE9C,MAAI,cAAc,MAAM;AAAA,EAExB;AAEA;AAAA,IACE,OAAO;AAAA,IACP,CAAC,gBAAgB;AACf,UAAI,CAAC,aAAa;AAChB,oBAAY;AACZ,sBAAc,SAAS,UAAU,MAAM;AACrC,gBAAM,QAAQ,oBAAoB;AAAA,QACpC,CAAC;AAED,cAAM,QAAQ,oBAAoB;AAAA,MACpC;AAAA,IACF;AAAA,IACA,EAAE,WAAW,KAAK;AAAA,EACpB;AAEA,QAAM,kBAAkB,CAAC,iBAAiB;AACxC,aAAS;AAAA,MACP;AAAA,MACA;AAAA,IACF;AACA,UAAM,QAAQ,oBAAoB;AAAA,EACpC,CAAC;AAED,iBAAe,MAAM;AACnB,gBAAY;AAAA,EACd,CAAC;AAED,SAAO,QAAQ,UACX,gBAAgB,KAAK,IACpB,SAAS,KAAK;AACrB;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useQuery.ts"],"sourcesContent":["import { QueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n QueryKey,\n QueryObserverOptions,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\nimport type {\n DeepUnwrapRef,\n MaybeRef,\n MaybeRefDeep,\n MaybeRefOrGetter,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type UseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = MaybeRef<\n {\n [Property in keyof QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n } & {\n /**\n * Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive.\n */\n shallow?: boolean\n }\n>\n\nexport type UndefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData?: undefined\n}\n\nexport type DefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport type UseQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError\n>\n\nexport type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n DefinedQueryObserverResult<TData, TError>\n>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryDefinedReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n):\n | UseQueryReturnType<TData, TError>\n | UseQueryDefinedReturnType<TData, TError> {\n return useBaseQuery(QueryObserver, options, queryClient)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA8B;AAC9B,0BAA6B;AA8HtB,SAAS,SAMd,SAOA,aAG2C;AAC3C,aAAO,kCAAa,iCAAe,SAAS,WAAW;AACzD;","names":[]}
1
+ {"version":3,"sources":["../../src/useQuery.ts"],"sourcesContent":["import { QueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n InitialDataFunction,\n QueryKey,\n QueryObserverOptions,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\nimport type {\n DeepUnwrapRef,\n MaybeRef,\n MaybeRefDeep,\n MaybeRefOrGetter,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type UseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = MaybeRef<\n {\n [Property in keyof QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n } & {\n /**\n * Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive.\n */\n shallow?: boolean\n }\n>\n\nexport type UndefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData?:\n | undefined\n | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>\n | NonUndefinedGuard<TQueryFnData>\n}\n\nexport type DefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport type UseQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError\n>\n\nexport type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n DefinedQueryObserverResult<TData, TError>\n>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryDefinedReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n):\n | UseQueryReturnType<TData, TError>\n | UseQueryDefinedReturnType<TData, TError> {\n return useBaseQuery(QueryObserver, options, queryClient)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA8B;AAC9B,0BAA6B;AAkItB,SAAS,SAMd,SAOA,aAG2C;AAC3C,aAAO,kCAAa,iCAAe,SAAS,WAAW;AACzD;","names":[]}
@@ -1,4 +1,4 @@
1
1
  import '@tanstack/query-core';
2
- export { f as DefinedInitialQueryOptions, e as UndefinedInitialQueryOptions, d as UseQueryDefinedReturnType, b as UseQueryOptions, c as UseQueryReturnType, u as useQuery } from './queryClient-CB08OXdW.cjs';
2
+ export { f as DefinedInitialQueryOptions, e as UndefinedInitialQueryOptions, d as UseQueryDefinedReturnType, b as UseQueryOptions, c as UseQueryReturnType, u as useQuery } from './queryClient-BAAUSDNa.cjs';
3
3
  import './types.cjs';
4
4
  import 'vue-demi';
@@ -1,4 +1,4 @@
1
1
  import '@tanstack/query-core';
2
- export { f as DefinedInitialQueryOptions, e as UndefinedInitialQueryOptions, d as UseQueryDefinedReturnType, b as UseQueryOptions, c as UseQueryReturnType, u as useQuery } from './queryClient-Dyec86nu.js';
2
+ export { f as DefinedInitialQueryOptions, e as UndefinedInitialQueryOptions, d as UseQueryDefinedReturnType, b as UseQueryOptions, c as UseQueryReturnType, u as useQuery } from './queryClient-DlZcK5cH.js';
3
3
  import './types.js';
4
4
  import 'vue-demi';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/useQuery.ts"],"sourcesContent":["import { QueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n QueryKey,\n QueryObserverOptions,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\nimport type {\n DeepUnwrapRef,\n MaybeRef,\n MaybeRefDeep,\n MaybeRefOrGetter,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type UseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = MaybeRef<\n {\n [Property in keyof QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n } & {\n /**\n * Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive.\n */\n shallow?: boolean\n }\n>\n\nexport type UndefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData?: undefined\n}\n\nexport type DefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport type UseQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError\n>\n\nexport type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n DefinedQueryObserverResult<TData, TError>\n>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryDefinedReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n):\n | UseQueryReturnType<TData, TError>\n | UseQueryDefinedReturnType<TData, TError> {\n return useBaseQuery(QueryObserver, options, queryClient)\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AA8HtB,SAAS,SAMd,SAOA,aAG2C;AAC3C,SAAO,aAAa,eAAe,SAAS,WAAW;AACzD;","names":[]}
1
+ {"version":3,"sources":["../../src/useQuery.ts"],"sourcesContent":["import { QueryObserver } from '@tanstack/query-core'\nimport { useBaseQuery } from './useBaseQuery'\nimport type {\n DefaultError,\n DefinedQueryObserverResult,\n InitialDataFunction,\n QueryKey,\n QueryObserverOptions,\n} from '@tanstack/query-core'\nimport type { UseBaseQueryReturnType } from './useBaseQuery'\nimport type {\n DeepUnwrapRef,\n MaybeRef,\n MaybeRefDeep,\n MaybeRefOrGetter,\n} from './types'\nimport type { QueryClient } from './queryClient'\n\ntype NonUndefinedGuard<T> = T extends undefined ? never : T\n\nexport type UseQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = MaybeRef<\n {\n [Property in keyof QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n TQueryKey\n >]: Property extends 'enabled'\n ? MaybeRefOrGetter<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n : MaybeRefDeep<\n QueryObserverOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryData,\n DeepUnwrapRef<TQueryKey>\n >[Property]\n >\n } & {\n /**\n * Return data in a shallow ref object (it is `false` by default). It can be set to `true` to return data in a shallow ref object, which can improve performance if your data does not need to be deeply reactive.\n */\n shallow?: boolean\n }\n>\n\nexport type UndefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData?:\n | undefined\n | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>\n | NonUndefinedGuard<TQueryFnData>\n}\n\nexport type DefinedInitialQueryOptions<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n> = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {\n initialData:\n | NonUndefinedGuard<TQueryFnData>\n | (() => NonUndefinedGuard<TQueryFnData>)\n}\n\nexport type UseQueryReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError\n>\n\nexport type UseQueryDefinedReturnType<TData, TError> = UseBaseQueryReturnType<\n TData,\n TError,\n DefinedQueryObserverResult<TData, TError>\n>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UndefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: DefinedInitialQueryOptions<TQueryFnData, TError, TData, TQueryKey>,\n queryClient?: QueryClient,\n): UseQueryDefinedReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData = unknown,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n): UseQueryReturnType<TData, TError>\n\nexport function useQuery<\n TQueryFnData,\n TError = DefaultError,\n TData = TQueryFnData,\n TQueryKey extends QueryKey = QueryKey,\n>(\n options: UseQueryOptions<\n TQueryFnData,\n TError,\n TData,\n TQueryFnData,\n TQueryKey\n >,\n queryClient?: QueryClient,\n):\n | UseQueryReturnType<TData, TError>\n | UseQueryDefinedReturnType<TData, TError> {\n return useBaseQuery(QueryObserver, options, queryClient)\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAkItB,SAAS,SAMd,SAOA,aAG2C;AAC3C,SAAO,aAAa,eAAe,SAAS,WAAW;AACzD;","names":[]}
@@ -1,4 +1,4 @@
1
- import { Q as QueryClient } from './queryClient-CB08OXdW.cjs';
1
+ import { Q as QueryClient } from './queryClient-BAAUSDNa.cjs';
2
2
  import '@tanstack/query-core';
3
3
  import 'vue-demi';
4
4
  import './types.cjs';
@@ -1,4 +1,4 @@
1
- import { Q as QueryClient } from './queryClient-Dyec86nu.js';
1
+ import { Q as QueryClient } from './queryClient-DlZcK5cH.js';
2
2
  import '@tanstack/query-core';
3
3
  import 'vue-demi';
4
4
  import './types.js';
@@ -1,4 +1,4 @@
1
- import { Q as QueryClient } from './queryClient-CB08OXdW.cjs';
1
+ import { Q as QueryClient } from './queryClient-BAAUSDNa.cjs';
2
2
  import { QueryClientConfig } from './types.cjs';
3
3
  import '@tanstack/query-core';
4
4
  import 'vue-demi';
@@ -1,4 +1,4 @@
1
- import { Q as QueryClient } from './queryClient-Dyec86nu.js';
1
+ import { Q as QueryClient } from './queryClient-DlZcK5cH.js';
2
2
  import { QueryClientConfig } from './types.js';
3
3
  import '@tanstack/query-core';
4
4
  import 'vue-demi';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tanstack/vue-query",
3
- "version": "5.74.5",
3
+ "version": "5.74.7",
4
4
  "description": "Hooks for managing, caching and syncing asynchronous and remote data in Vue",
5
5
  "author": "Damian Osipiuk",
6
6
  "license": "MIT",
@@ -20,6 +20,7 @@
20
20
  "module": "build/legacy/index.js",
21
21
  "exports": {
22
22
  ".": {
23
+ "@tanstack/custom-condition": "./src/index.ts",
23
24
  "import": {
24
25
  "types": "./build/modern/index.d.ts",
25
26
  "default": "./build/modern/index.js"
@@ -41,7 +42,7 @@
41
42
  "@tanstack/match-sorter-utils": "^8.19.4",
42
43
  "@vue/devtools-api": "^6.6.3",
43
44
  "vue-demi": "^0.14.10",
44
- "@tanstack/query-core": "5.74.4"
45
+ "@tanstack/query-core": "5.74.7"
45
46
  },
46
47
  "devDependencies": {
47
48
  "@vitejs/plugin-vue": "^5.2.1",
@@ -2,6 +2,7 @@ import {
2
2
  computed,
3
3
  getCurrentScope,
4
4
  onScopeDispose,
5
+ reactive,
5
6
  readonly,
6
7
  shallowReactive,
7
8
  shallowReadonly,
@@ -106,7 +107,10 @@ export function useBaseQuery<
106
107
  })
107
108
 
108
109
  const observer = new Observer(client, defaultedOptions.value)
109
- const state = shallowReactive(observer.getCurrentResult())
110
+ // @ts-expect-error
111
+ const state = defaultedOptions.value.shallow
112
+ ? shallowReactive(observer.getCurrentResult())
113
+ : reactive(observer.getCurrentResult())
110
114
 
111
115
  let unsubscribe = () => {
112
116
  // noop
@@ -202,13 +206,10 @@ export function useBaseQuery<
202
206
  },
203
207
  )
204
208
 
205
- const readonlyState =
206
- process.env.NODE_ENV === 'production'
207
- ? state
208
- : // @ts-expect-error
209
- defaultedOptions.value.shallow
210
- ? shallowReadonly(state)
211
- : readonly(state)
209
+ // @ts-expect-error
210
+ const readonlyState = defaultedOptions.value.shallow
211
+ ? shallowReadonly(state)
212
+ : readonly(state)
212
213
 
213
214
  const object: any = toRefs(readonlyState)
214
215
  for (const key in state) {
@@ -2,6 +2,7 @@ import {
2
2
  computed,
3
3
  getCurrentScope,
4
4
  onScopeDispose,
5
+ reactive,
5
6
  readonly,
6
7
  shallowReactive,
7
8
  shallowReadonly,
@@ -87,7 +88,9 @@ export function useMutation<
87
88
  return client.defaultMutationOptions(cloneDeepUnref(mutationOptions))
88
89
  })
89
90
  const observer = new MutationObserver(client, options.value)
90
- const state = shallowReactive(observer.getCurrentResult())
91
+ const state = options.value.shallow
92
+ ? shallowReactive(observer.getCurrentResult())
93
+ : reactive(observer.getCurrentResult())
91
94
 
92
95
  const unsubscribe = observer.subscribe((result) => {
93
96
  updateState(state, result)
@@ -110,12 +113,9 @@ export function useMutation<
110
113
  unsubscribe()
111
114
  })
112
115
 
113
- const readonlyState =
114
- process.env.NODE_ENV === 'production'
115
- ? state
116
- : options.value.shallow
117
- ? shallowReadonly(state)
118
- : readonly(state)
116
+ const readonlyState = options.value.shallow
117
+ ? shallowReadonly(state)
118
+ : readonly(state)
119
119
 
120
120
  const resultRefs = toRefs(readonlyState) as ToRefs<
121
121
  Readonly<MutationResult<TData, TError, TVariables, TContext>>
package/src/useQueries.ts CHANGED
@@ -344,9 +344,7 @@ export function useQueries<
344
344
  unsubscribe()
345
345
  })
346
346
 
347
- return process.env.NODE_ENV === 'production'
348
- ? state
349
- : options.shallow
350
- ? shallowReadonly(state)
351
- : (readonly(state) as Readonly<Ref<TCombinedResult>>)
347
+ return options.shallow
348
+ ? shallowReadonly(state)
349
+ : (readonly(state) as Readonly<Ref<TCombinedResult>>)
352
350
  }
package/src/useQuery.ts CHANGED
@@ -3,6 +3,7 @@ import { useBaseQuery } from './useBaseQuery'
3
3
  import type {
4
4
  DefaultError,
5
5
  DefinedQueryObserverResult,
6
+ InitialDataFunction,
6
7
  QueryKey,
7
8
  QueryObserverOptions,
8
9
  } from '@tanstack/query-core'
@@ -64,7 +65,10 @@ export type UndefinedInitialQueryOptions<
64
65
  TData = TQueryFnData,
65
66
  TQueryKey extends QueryKey = QueryKey,
66
67
  > = UseQueryOptions<TQueryFnData, TError, TData, TQueryFnData, TQueryKey> & {
67
- initialData?: undefined
68
+ initialData?:
69
+ | undefined
70
+ | InitialDataFunction<NonUndefinedGuard<TQueryFnData>>
71
+ | NonUndefinedGuard<TQueryFnData>
68
72
  }
69
73
 
70
74
  export type DefinedInitialQueryOptions<