Skip to content

Commit d98ca30

Browse files
committed
fix(react-query): [email protected] compat
1 parent 41b45d0 commit d98ca30

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

.changeset/shy-timers-lay.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@graphql-codegen/typescript-react-query': patch
3+
---
4+
5+
Fix compatibility of graphql-request fetcher with >5.0

packages/plugins/typescript/react-query/src/fetcher-graphql-request.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,12 @@ export class GraphQLRequestClientFetcher implements FetcherRenderer {
1414

1515
generateFetcherImplementaion(): string {
1616
return `
17-
function fetcher<TData, TVariables>(client: GraphQLClient, query: string, variables?: TVariables, headers?: RequestInit['headers']) {
18-
return async (): Promise<TData> => client.request<TData, TVariables>(query, variables, headers);
17+
function fetcher<TData, TVariables extends { [key: string]: any }>(client: GraphQLClient, query: string, variables?: TVariables, headers?: RequestInit['headers']) {
18+
return async (): Promise<TData> => client.request({
19+
document: query,
20+
variables,
21+
headers
22+
});
1923
}`;
2024
}
2125

packages/plugins/typescript/react-query/tests/react-query.spec.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -584,9 +584,12 @@ export const useTestMutation = <
584584
expect(out.prepend).toContain(`import { GraphQLClient } from 'graphql-request';`);
585585
expect(out.prepend).toContain(`import { RequestInit } from 'graphql-request/dist/types.dom';`);
586586
expect(out.prepend[3])
587-
.toBeSimilarStringTo(` function fetcher<TData, TVariables>(client: GraphQLClient, query: string, variables?: TVariables, headers?: RequestInit['headers']) {
588-
return async (): Promise<TData> => client.request<TData, TVariables>(query, variables, headers);
589-
}`);
587+
.toBeSimilarStringTo(` function fetcher<TData, TVariables extends { [key: string]: any }>(client: GraphQLClient, query: string, variables?: TVariables, headers?: RequestInit['headers']) {
588+
return async (): Promise<TData> => client.request({
589+
document: query,
590+
variables,
591+
headers
592+
`);
590593
expect(out.content).toBeSimilarStringTo(`export const useTestQuery = <
591594
TData = TTestQuery,
592595
TError = unknown

0 commit comments

Comments
 (0)