1- import type { Client , Options , RequestResult } from "@hey-api/client-fetch" ;
1+ import type { Client , Options , RequestResult , TDataShape } from "@hey-api/client-fetch" ;
22import { client } from "#openapi" ;
33
44export interface PaginatedResponse < T > {
@@ -8,12 +8,14 @@ export interface PaginatedResponse<T> {
88 results : T [ ] ;
99}
1010
11- export interface PaginatedRequest {
12- query ?: {
13- page ?: number ;
14- // biome-ignore lint/style/useNamingConvention: api is in snake_case
15- page_size ?: number ;
16- } ;
11+ interface Pagination {
12+ page : number ;
13+ // biome-ignore lint/style/useNamingConvention: api is in snake_case
14+ page_size : number ;
15+ }
16+
17+ export interface PaginatedRequest extends TDataShape {
18+ query ?: Record < string , unknown > & Partial < Pagination > ;
1719}
1820
1921type PaginatedEndpoint < T > = < ThrowOnError extends boolean = false > (
@@ -30,7 +32,7 @@ export const paginated = async <T>(
3032 options ?: PaginatedRequest ,
3133) : Promise < T [ ] > => {
3234 const maxPerPage = 199 ;
33- const queryParams = options ?? { } ;
35+ const queryParams = options ?? ( { } as PaginatedRequest ) ;
3436 queryParams . query = queryParams . query ?? { } ;
3537 queryParams . query . page_size = maxPerPage ;
3638 queryParams . query . page = 1 ;
@@ -53,7 +55,7 @@ export const paginated = async <T>(
5355 return results ;
5456} ;
5557
56- interface Request {
58+ interface Request extends TDataShape {
5759 client ?: Client ;
5860}
5961
0 commit comments