Skip to content

Commit f3dbbaa

Browse files
authored
feat: export UseQueryReturnType, UseQueriesOptions, UseQueriesResults types (#107)
1 parent 23ae6c3 commit f3dbbaa

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

src/vue/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ export {
1616
parseMutationFilterArgs,
1717
} from "./utils";
1818

19+
export type { UseQueryReturnType } from "./useBaseQuery";
1920
export type { UseQueryOptions } from "./useQuery";
2021
export type { UseInfiniteQueryOptions } from "./useInfiniteQuery";
2122
export type { UseMutationOptions, UseMutationReturnType } from "./useMutation";
23+
export type { UseQueriesOptions, UseQueriesResults } from "./useQueries";
2224
export type { MutationFilters } from "./useIsMutating";
2325
export type { QueryFilters } from "./useIsFetching";

src/vue/useQueries.ts

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -70,9 +70,9 @@ type GetResults<T> =
7070
QueryObserverResult;
7171

7272
/**
73-
* QueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
73+
* UseQueriesOptions reducer recursively unwraps function arguments to infer/enforce type param
7474
*/
75-
type QueriesOptions<
75+
export type UseQueriesOptions<
7676
T extends any[],
7777
Result extends any[] = [],
7878
Depth extends ReadonlyArray<number> = []
@@ -83,7 +83,7 @@ type QueriesOptions<
8383
: T extends [infer Head]
8484
? [...Result, GetOptions<Head>]
8585
: T extends [infer Head, ...infer Tail]
86-
? QueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>
86+
? UseQueriesOptions<[...Tail], [...Result, GetOptions<Head>], [...Depth, 1]>
8787
: unknown[] extends T
8888
? T
8989
: // If T is *some* array but we couldn't assign unknown[] to it, then it must hold some known/homogenous type!
@@ -94,9 +94,9 @@ type QueriesOptions<
9494
UseQueryOptions[];
9595

9696
/**
97-
* QueriesResults reducer recursively maps type param to results
97+
* UseQueriesResults reducer recursively maps type param to results
9898
*/
99-
type QueriesResults<
99+
export type UseQueriesResults<
100100
T extends any[],
101101
Result extends any[] = [],
102102
Depth extends ReadonlyArray<number> = []
@@ -107,16 +107,16 @@ type QueriesResults<
107107
: T extends [infer Head]
108108
? [...Result, GetResults<Head>]
109109
: T extends [infer Head, ...infer Tail]
110-
? QueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>
110+
? UseQueriesResults<[...Tail], [...Result, GetResults<Head>], [...Depth, 1]>
111111
: T extends UseQueryOptions<infer TQueryFnData, infer TError, infer TData>[]
112112
? // Dynamic-size (homogenous) UseQueryOptions array: map directly to array of results
113113
QueryObserverResult<unknown extends TData ? TQueryFnData : TData, TError>[]
114114
: // Fallback
115115
QueryObserverResult[];
116116

117117
export function useQueries<T extends any[]>(
118-
queries: readonly [...QueriesOptions<T>]
119-
): Readonly<QueriesResults<T>> {
118+
queries: readonly [...UseQueriesOptions<T>]
119+
): Readonly<UseQueriesResults<T>> {
120120
const queryClientKey = queries[0]?.queryClientKey;
121121
const queryClient = useQueryClient(queryClientKey);
122122
const defaultedQueries = queries.map((options) => {
@@ -146,5 +146,5 @@ export function useQueries<T extends any[]>(
146146
unsubscribe();
147147
});
148148

149-
return readonly(state) as QueriesResults<T>;
149+
return readonly(state) as UseQueriesResults<T>;
150150
}

0 commit comments

Comments
 (0)