Skip to content

Commit 3aeefab

Browse files
committed
feat(openapi-react-query): make initialPageParam typesafe
1 parent 3e1bc36 commit 3aeefab

File tree

1 file changed

+9
-8
lines changed
  • packages/openapi-react-query/src

1 file changed

+9
-8
lines changed

packages/openapi-react-query/src/index.ts

+9-8
Original file line numberDiff line numberDiff line change
@@ -107,26 +107,27 @@ export type UseInfiniteQueryMethod<Paths extends Record<string, Record<HttpMetho
107107
Path extends PathsWithMethod<Paths, Method>,
108108
Init extends MaybeOptionalInit<Paths[Path], Method>,
109109
Response extends Required<FetchResponse<Paths[Path][Method], Init, Media>>,
110+
Query extends ParamsOption<FilterKeys<Paths[Path], Method>>["params"] extends { query: infer Query } ? Query : never,
111+
PageParamName extends keyof Query,
110112
Options extends Omit<
111113
UseInfiniteQueryOptions<
112114
Response["data"],
113115
Response["error"],
114116
InfiniteData<Response["data"]>,
115117
Response["data"],
116118
QueryKey<Paths, Method, Path>,
117-
unknown
119+
Query[PageParamName]
118120
>,
119-
"queryKey" | "queryFn"
120-
> & {
121-
pageParamName: ParamsOption<FilterKeys<Paths[Path], Method>>["params"] extends { query: infer Query }
122-
? keyof Query
123-
: never;
124-
},
121+
"queryKey" | "queryFn" | "initialPageParam"
122+
>,
125123
>(
126124
method: Method,
127125
url: Path,
128126
init: InitWithUnknowns<Init>,
129-
options: Options,
127+
options: Options & {
128+
pageParamName: PageParamName;
129+
initialPageParam: Query[PageParamName];
130+
},
130131
queryClient?: QueryClient,
131132
) => UseInfiniteQueryResult<InfiniteData<Response["data"]>, Response["error"]>;
132133

0 commit comments

Comments
 (0)