@@ -205,7 +205,7 @@ export class SWRVisitor extends ClientSideBaseVisitor<
205205 types . push ( `export type SWRInfiniteKeyLoader<Data = unknown, Variables = unknown> = (
206206 index: number,
207207 previousPageData: Data | null
208- ) => Partial< Variables> | null;` )
208+ ) => [keyof Variables, Variables[keyof Variables] | null] | null;` )
209209 }
210210
211211 return `${ types . join ( '\n' ) }
@@ -214,11 +214,17 @@ export function getSdkWithHooks(client: GraphQLClient, withWrapper: SdkFunctionW
214214${
215215 this . _enabledInfinite
216216 ? ` const utilsForInfinite = {
217- generateGetKey: <Data = unknown, Variables = unknown>(id: string, getKey: SWRInfiniteKeyLoader<Data, Variables>) => (pageIndex: number, previousData: Data | null) => {
218- const key = getKey(pageIndex, previousData)
219- return key ? [id, key] : null
217+ generateGetKey: <Data = unknown, Variables = unknown>(
218+ id: string,
219+ getKey: SWRInfiniteKeyLoader<Data, Variables>
220+ ) => (pageIndex: number, previousData: Data | null) => {
221+ const key = getKey(pageIndex, previousData)
222+ return key ? [id, ...key] : null
220223 },
221- generateFetcher: <Query = unknown, Variables = unknown>(query: (variables: Variables) => Promise<Query>, variables?: Variables) => (...params: unknown[]) => query(Object.assign({}, variables, ...params.slice(1)))
224+ generateFetcher: <Query = unknown, Variables = unknown>(query: (variables: Variables) => Promise<Query>, variables?: Variables) => (
225+ fieldName: keyof Variables,
226+ fieldValue: Variables[typeof fieldName]
227+ ) => query({ ...variables, [fieldName]: fieldValue } as Variables)
222228 }\n`
223229 : ''
224230} ${
0 commit comments