@tanstack/vue-query 4.29.19 → 4.29.21

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.
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.esm.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n ref,\n watch,\n} from 'vue-demi'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: 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 ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\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 any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : 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 UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n const unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n unreffedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","process","env","NODE_ENV","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","ref","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":";;;;;AAAA;AAuIO,SAASA,UAAT,CAAqC;EAC1CC,OAD0C;AAE1CC,EAAAA,WAAW,EAAEC,mBAAAA;AAF6B,CAArC,EAM4B;AAAA,EAAA,IAAA,qBAAA,EAAA,sBAAA,EAAA,IAAA,CAAA;;EACjC,MAAMC,eAAe,GAAGC,QAAQ,CAC9B,MAAMC,cAAc,CAACL,OAAD,CADU,CAAhC,CAAA;EAIA,MAAMM,cAAc,GAAGH,CAAAA,qBAAAA,GAAAA,eAAe,CAACI,KAAhB,CAAsB,CAAtB,CAAH,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,qBAAA,CAA0BD,cAAjD,CAAA;EACA,MAAME,kBAAkB,GAAGL,CAAAA,sBAAAA,GAAAA,eAAe,CAACI,KAAhB,CAAsB,CAAtB,CAAH,KAAG,IAAA,GAAA,KAAA,CAAA,GAAA,sBAAA,CAA0BN,WAArD,CAAA;EAGA,MAAMA,WAAW,GACfC,CAAAA,IAAAA,GAAAA,mBADe,IACfA,IAAAA,GAAAA,mBADe,GACQM,kBADR,KAC8BC,IAAAA,GAAAA,IAAAA,GAAAA,cAAc,CAACH,cAAD,CAD7D,CAAA;;AAEA,EAAA,IACEI,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAAzB,KACCN,cAAc,IAAIE,kBADnB,CADF,EAGE;IACAP,WAAW,CACRY,SADH,EAAA,CAEGC,KAFH,CAAA,uMAAA,CAAA,CAAA;AAKD,GAAA;;AAED,EAAA,MAAMC,gBAAgB,GAAGX,QAAQ,CAAC,MAChCD,eAAe,CAACI,KAAhB,CAAsBS,GAAtB,CAA2BC,OAAD,IAAa;AACrC,IAAA,MAAMC,SAAS,GAAGjB,WAAW,CAACkB,mBAAZ,CAAgCF,OAAhC,CAAlB,CAAA;IACAC,SAAS,CAACE,kBAAV,GAA+BnB,WAAW,CAACoB,WAAZ,CAAwBd,KAAxB,GAC3B,aAD2B,GAE3B,YAFJ,CAAA;AAIA,IAAA,OAAOW,SAAP,CAAA;AACD,GAPD,CAD+B,CAAjC,CAAA;EAWA,MAAMI,QAAQ,GAAG,IAAIC,eAAJ,CAAoBtB,WAApB,EAAiCc,gBAAgB,CAACR,KAAlD,CAAjB,CAAA;EACA,MAAMiB,KAAK,GAAGC,QAAQ,CAACH,QAAQ,CAACI,gBAAT,EAAD,CAAtB,CAAA;AAEA,EAAA,MAAMC,WAAW,GAAGC,GAAG,CAAC,MAAM;AAE7B,GAFsB,CAAvB,CAAA;AAIAC,EAAAA,KAAK,CACH5B,WAAW,CAACoB,WADT,EAEFA,WAAD,IAAiB;IACf,IAAI,CAACA,WAAL,EAAkB;AAChBM,MAAAA,WAAW,CAACpB,KAAZ,EAAA,CAAA;MACAoB,WAAW,CAACpB,KAAZ,GAAoBe,QAAQ,CAACQ,SAAT,CAAoBC,MAAD,IAAY;QACjDP,KAAK,CAACQ,MAAN,CAAa,CAAb,EAAgBD,MAAM,CAACE,MAAvB,EAA+B,GAAGF,MAAlC,CAAA,CAAA;OADkB,CAApB,CAFgB;;AAMhBP,MAAAA,KAAK,CAACQ,MAAN,CACE,CADF,EAEER,KAAK,CAACS,MAFR,EAGE,GAAGX,QAAQ,CAACY,mBAAT,CAA6BnB,gBAAgB,CAACR,KAA9C,CAHL,CAAA,CAAA;AAKD,KAAA;AACF,GAfE,EAgBH;AAAE4B,IAAAA,SAAS,EAAE,IAAA;AAAb,GAhBG,CAAL,CAAA;EAmBAN,KAAK,CACH1B,eADG,EAEH,MAAM;AACJmB,IAAAA,QAAQ,CAACc,UAAT,CAAoBrB,gBAAgB,CAACR,KAArC,CAAA,CAAA;AACAiB,IAAAA,KAAK,CAACQ,MAAN,CAAa,CAAb,EAAgBR,KAAK,CAACS,MAAtB,EAA8B,GAAGX,QAAQ,CAACI,gBAAT,EAAjC,CAAA,CAAA;AACD,GALE,EAMH;AAAEW,IAAAA,IAAI,EAAE,IAAA;AAAR,GANG,CAAL,CAAA;AASAC,EAAAA,cAAc,CAAC,MAAM;AACnBX,IAAAA,WAAW,CAACpB,KAAZ,EAAA,CAAA;AACD,GAFa,CAAd,CAAA;EAIA,OAAOgC,QAAQ,CAACf,KAAD,CAAf,CAAA;AACD;;;;"}
1
+ {"version":3,"file":"useQueries.esm.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport { computed, onScopeDispose, reactive, readonly, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: 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 ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\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 any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : 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 UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n const unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n unreffedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","process","env","NODE_ENV","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":"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"}
@@ -30,12 +30,14 @@ function useQueries({
30
30
  }));
31
31
  const observer = new queryCore.QueriesObserver(queryClient, defaultedQueries.value);
32
32
  const state = vueDemi.reactive(observer.getCurrentResult());
33
- const unsubscribe = vueDemi.ref(() => {// noop
34
- });
33
+
34
+ let unsubscribe = () => {// noop
35
+ };
36
+
35
37
  vueDemi.watch(queryClient.isRestoring, isRestoring => {
36
38
  if (!isRestoring) {
37
- unsubscribe.value();
38
- unsubscribe.value = observer.subscribe(result => {
39
+ unsubscribe();
40
+ unsubscribe = observer.subscribe(result => {
39
41
  state.splice(0, result.length, ...result);
40
42
  }); // Subscription would not fire for persisted results
41
43
 
@@ -51,7 +53,7 @@ function useQueries({
51
53
  deep: true
52
54
  });
53
55
  vueDemi.onScopeDispose(() => {
54
- unsubscribe.value();
56
+ unsubscribe();
55
57
  });
56
58
  return vueDemi.readonly(state);
57
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n ref,\n watch,\n} from 'vue-demi'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: 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 ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\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 any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : 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 UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n const unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n unreffedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","process","env","NODE_ENV","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","ref","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":"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"}
1
+ {"version":3,"file":"useQueries.js","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport { computed, onScopeDispose, reactive, readonly, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: 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 ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\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 any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : 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 UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n const unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n unreffedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","process","env","NODE_ENV","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { QueriesObserver } from '@tanstack/query-core';
2
- import { computed, reactive, ref, watch, onScopeDispose, readonly } from 'vue-demi';
2
+ import { computed, reactive, watch, onScopeDispose, readonly } from 'vue-demi';
3
3
  import { useQueryClient } from './useQueryClient.mjs';
4
4
  import { cloneDeepUnref } from './utils.mjs';
5
5
 
@@ -26,12 +26,14 @@ function useQueries({
26
26
  }));
27
27
  const observer = new QueriesObserver(queryClient, defaultedQueries.value);
28
28
  const state = reactive(observer.getCurrentResult());
29
- const unsubscribe = ref(() => {// noop
30
- });
29
+
30
+ let unsubscribe = () => {// noop
31
+ };
32
+
31
33
  watch(queryClient.isRestoring, isRestoring => {
32
34
  if (!isRestoring) {
33
- unsubscribe.value();
34
- unsubscribe.value = observer.subscribe(result => {
35
+ unsubscribe();
36
+ unsubscribe = observer.subscribe(result => {
35
37
  state.splice(0, result.length, ...result);
36
38
  }); // Subscription would not fire for persisted results
37
39
 
@@ -47,7 +49,7 @@ function useQueries({
47
49
  deep: true
48
50
  });
49
51
  onScopeDispose(() => {
50
- unsubscribe.value();
52
+ unsubscribe();
51
53
  });
52
54
  return readonly(state);
53
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useQueries.mjs","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport {\n computed,\n onScopeDispose,\n reactive,\n readonly,\n ref,\n watch,\n} from 'vue-demi'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: 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 ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\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 any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : 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 UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n const unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n const unsubscribe = ref(() => {\n // noop\n })\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe.value()\n unsubscribe.value = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n unreffedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe.value()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","process","env","NODE_ENV","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","ref","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":"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"}
1
+ {"version":3,"file":"useQueries.mjs","sources":["../../src/useQueries.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { QueriesObserver } from '@tanstack/query-core'\nimport { computed, onScopeDispose, reactive, readonly, watch } from 'vue-demi'\nimport type { Ref } from 'vue-demi'\n\nimport type { QueryFunction, QueryObserverResult } from '@tanstack/query-core'\n\nimport { useQueryClient } from './useQueryClient'\nimport { cloneDeepUnref } from './utils'\nimport type { UseQueryOptions } from './useQuery'\nimport type { QueryClient } from './queryClient'\n\n// Avoid TS depth-limit error in case of large array literal\ntype MAXIMUM_DEPTH = 20\n\ntype GetOptions<T> =\n // Part 1: 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 ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? UseQueryOptions<unknown, TError, TData>\n : // Part 2: responsible for applying explicit type parameter to function arguments, if tuple [TQueryFnData, TError, TData]\n T extends [infer TQueryFnData, infer TError, infer TData]\n ? UseQueryOptions<TQueryFnData, TError, TData>\n : T extends [infer TQueryFnData, infer TError]\n ? UseQueryOptions<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? UseQueryOptions<TQueryFnData>\n : // Part 3: responsible for inferring and enforcing type if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey>\n select: (data: any) => infer TData\n }\n ? UseQueryOptions<TQueryFnData, unknown, TData, TQueryKey>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, infer TQueryKey> }\n ? UseQueryOptions<TQueryFnData, unknown, TQueryFnData, TQueryKey>\n : // Fallback\n UseQueryOptions\n\ntype GetResults<T> =\n // Part 1: responsible for mapping explicit type parameter to function result, if object\n T extends { queryFnData: any; error?: infer TError; data: infer TData }\n ? QueryObserverResult<TData, TError>\n : T extends { queryFnData: infer TQueryFnData; error?: infer TError }\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends { data: infer TData; error?: infer TError }\n ? QueryObserverResult<TData, TError>\n : // Part 2: responsible for mapping explicit type parameter to function result, if tuple\n T extends [any, infer TError, infer TData]\n ? QueryObserverResult<TData, TError>\n : T extends [infer TQueryFnData, infer TError]\n ? QueryObserverResult<TQueryFnData, TError>\n : T extends [infer TQueryFnData]\n ? QueryObserverResult<TQueryFnData>\n : // Part 3: responsible for mapping inferred type to results, if no explicit parameter was provided\n T extends {\n queryFn?: QueryFunction<unknown, any>\n select: (data: any) => infer TData\n }\n ? QueryObserverResult<TData>\n : T extends { queryFn?: QueryFunction<infer TQueryFnData, any> }\n ? QueryObserverResult<TQueryFnData>\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 any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? UseQueryOptions[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetOptions<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>\n : 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 UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n infer TQueryKey\n >[]\n ? UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>[]\n : // Fallback\n UseQueryOptions[]\n\n/**\n * UseQueriesResults reducer recursively maps type param to results\n */\nexport type UseQueriesResults<\n T extends any[],\n Result extends any[] = [],\n Depth extends ReadonlyArray<number> = [],\n> = Depth['length'] extends MAXIMUM_DEPTH\n ? QueryObserverResult[]\n : T extends []\n ? []\n : T extends [infer Head]\n ? [...Result, GetResults<Head>]\n : T extends [infer Head, ...infer Tail]\n ? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>\n : T extends UseQueryOptions<\n infer TQueryFnData,\n infer TError,\n infer TData,\n any\n >[]\n ? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results\n QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]\n : // Fallback\n QueryObserverResult[]\n\ntype UseQueriesOptionsArg<T extends any[]> = readonly [...UseQueriesOptions<T>]\n\nexport function useQueries<T extends any[]>({\n queries,\n queryClient: queryClientInjected,\n}: {\n queries: Ref<UseQueriesOptionsArg<T>> | UseQueriesOptionsArg<T>\n queryClient?: QueryClient\n}): Readonly<UseQueriesResults<T>> {\n const unreffedQueries = computed(\n () => cloneDeepUnref(queries) as UseQueriesOptionsArg<T>,\n )\n\n const queryClientKey = unreffedQueries.value[0]?.queryClientKey\n const optionsQueryClient = unreffedQueries.value[0]?.queryClient as\n | QueryClient\n | undefined\n const queryClient =\n queryClientInjected ?? optionsQueryClient ?? useQueryClient(queryClientKey)\n if (\n process.env.NODE_ENV !== 'production' &&\n (queryClientKey || optionsQueryClient)\n ) {\n queryClient\n .getLogger()\n .error(\n `Providing queryClient to individual queries in useQueries has been deprecated and will be removed in the next major version. You can still pass queryClient as an option directly to useQueries hook.`,\n )\n }\n\n const defaultedQueries = computed(() =>\n unreffedQueries.value.map((options) => {\n const defaulted = queryClient.defaultQueryOptions(options)\n defaulted._optimisticResults = queryClient.isRestoring.value\n ? 'isRestoring'\n : 'optimistic'\n\n return defaulted\n }),\n )\n\n const observer = new QueriesObserver(queryClient, defaultedQueries.value)\n const state = reactive(observer.getCurrentResult())\n\n let unsubscribe = () => {\n // noop\n }\n\n watch(\n queryClient.isRestoring,\n (isRestoring) => {\n if (!isRestoring) {\n unsubscribe()\n unsubscribe = observer.subscribe((result) => {\n state.splice(0, result.length, ...result)\n })\n // Subscription would not fire for persisted results\n state.splice(\n 0,\n state.length,\n ...observer.getOptimisticResult(defaultedQueries.value),\n )\n }\n },\n { immediate: true },\n )\n\n watch(\n unreffedQueries,\n () => {\n observer.setQueries(defaultedQueries.value)\n state.splice(0, state.length, ...observer.getCurrentResult())\n },\n { deep: true },\n )\n\n onScopeDispose(() => {\n unsubscribe()\n })\n\n return readonly(state) as UseQueriesResults<T>\n}\n"],"names":["useQueries","queries","queryClient","queryClientInjected","unreffedQueries","computed","cloneDeepUnref","queryClientKey","value","optionsQueryClient","useQueryClient","process","env","NODE_ENV","getLogger","error","defaultedQueries","map","options","defaulted","defaultQueryOptions","_optimisticResults","isRestoring","observer","QueriesObserver","state","reactive","getCurrentResult","unsubscribe","watch","subscribe","result","splice","length","getOptimisticResult","immediate","setQueries","deep","onScopeDispose","readonly"],"mappings":"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"}
@@ -4554,9 +4554,10 @@
4554
4554
  queryCache.subscribe(event => {
4555
4555
  api.sendInspectorTree(pluginId);
4556
4556
  api.sendInspectorState(pluginId);
4557
+ const queryEvents = ['added', 'removed', 'updated'];
4557
4558
 
4558
4559
  if ( // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
4559
- event && ['queryAdded', 'queryRemoved', 'queryUpdated'].includes(event.type)) {
4560
+ event && queryEvents.includes(event.type)) {
4560
4561
  api.addTimelineEvent({
4561
4562
  layerId: pluginId,
4562
4563
  event: {
@@ -4732,13 +4733,15 @@
4732
4733
  });
4733
4734
  const observer = new Observer(queryClient, defaultedOptions.value);
4734
4735
  const state = vueDemi.reactive(observer.getCurrentResult());
4735
- const unsubscribe = vueDemi.ref(() => {// noop
4736
- });
4736
+
4737
+ let unsubscribe = () => {// noop
4738
+ };
4739
+
4737
4740
  vueDemi.watch(queryClient.isRestoring, isRestoring => {
4738
4741
  // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition
4739
4742
  if (!isRestoring) {
4740
- unsubscribe.value();
4741
- unsubscribe.value = observer.subscribe(result => {
4743
+ unsubscribe();
4744
+ unsubscribe = observer.subscribe(result => {
4742
4745
  updateState(state, result);
4743
4746
  });
4744
4747
  }
@@ -4752,7 +4755,7 @@
4752
4755
  deep: true
4753
4756
  });
4754
4757
  vueDemi.onScopeDispose(() => {
4755
- unsubscribe.value();
4758
+ unsubscribe();
4756
4759
  });
4757
4760
 
4758
4761
  const suspense = () => {
@@ -4838,12 +4841,14 @@
4838
4841
  }));
4839
4842
  const observer = new QueriesObserver(queryClient, defaultedQueries.value);
4840
4843
  const state = vueDemi.reactive(observer.getCurrentResult());
4841
- const unsubscribe = vueDemi.ref(() => {// noop
4842
- });
4844
+
4845
+ let unsubscribe = () => {// noop
4846
+ };
4847
+
4843
4848
  vueDemi.watch(queryClient.isRestoring, isRestoring => {
4844
4849
  if (!isRestoring) {
4845
- unsubscribe.value();
4846
- unsubscribe.value = observer.subscribe(result => {
4850
+ unsubscribe();
4851
+ unsubscribe = observer.subscribe(result => {
4847
4852
  state.splice(0, result.length, ...result);
4848
4853
  }); // Subscription would not fire for persisted results
4849
4854
 
@@ -4859,7 +4864,7 @@
4859
4864
  deep: true
4860
4865
  });
4861
4866
  vueDemi.onScopeDispose(() => {
4862
- unsubscribe.value();
4867
+ unsubscribe();
4863
4868
  });
4864
4869
  return vueDemi.readonly(state);
4865
4870
  }