Skip to content

Commit 3794bb1

Browse files
committed
fix: add empty object in place of variables for more consistent keys #866
1 parent ebb87c7 commit 3794bb1

5 files changed

Lines changed: 44 additions & 39 deletions

File tree

.changeset/many-maps-hang.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+
add empty object in place of variables for more consistent keys

dev-test/githunt/types.react-query.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -511,7 +511,7 @@ export const useCurrentUserForProfileQuery = <TData = CurrentUserForProfileQuery
511511
options?: UseQueryOptions<CurrentUserForProfileQuery, TError, TData>,
512512
) => {
513513
return useQuery<CurrentUserForProfileQuery, TError, TData>(
514-
variables === undefined ? ['CurrentUserForProfile'] : ['CurrentUserForProfile', variables],
514+
variables === undefined ? ['CurrentUserForProfile', {}] : ['CurrentUserForProfile', variables],
515515
fetcher<CurrentUserForProfileQuery, CurrentUserForProfileQueryVariables>(
516516
dataSource.endpoint,
517517
dataSource.fetchParams || {},
@@ -532,7 +532,7 @@ export const useInfiniteCurrentUserForProfileQuery = <
532532
) => {
533533
return useInfiniteQuery<CurrentUserForProfileQuery, TError, TData>(
534534
variables === undefined
535-
? ['CurrentUserForProfile.infinite']
535+
? ['CurrentUserForProfile.infinite', {}]
536536
: ['CurrentUserForProfile.infinite', variables],
537537
metaData =>
538538
fetcher<CurrentUserForProfileQuery, CurrentUserForProfileQueryVariables>(

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,7 @@ export abstract class FetcherRenderer {
226226
const identifier = isSuspense ? 'infiniteSuspense' : 'infinite';
227227
if (config.hasRequiredVariables)
228228
return `['${config.node.name.value}.${identifier}', variables]`;
229-
return `variables === undefined ? ['${config.node.name.value}.${identifier}'] : ['${config.node.name.value}.${identifier}', variables]`;
229+
return `variables === undefined ? ['${config.node.name.value}.${identifier}', {}] : ['${config.node.name.value}.${identifier}', variables]`;
230230
}
231231

232232
public generateInfiniteQueryOutput(config: GenerateConfig, isSuspense = false) {
@@ -245,7 +245,7 @@ export abstract class FetcherRenderer {
245245
public generateQueryKey(config: GenerateConfig, isSuspense: boolean): string {
246246
const identifier = isSuspense ? `${config.node.name.value}Suspense` : config.node.name.value;
247247
if (config.hasRequiredVariables) return `['${identifier}', variables]`;
248-
return `variables === undefined ? ['${identifier}'] : ['${identifier}', variables]`;
248+
return `variables === undefined ? ['${identifier}', {}] : ['${identifier}', variables]`;
249249
}
250250

251251
public generateQueryOutput(config: GenerateConfig, isSuspense = false) {

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

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,12 @@ export const useTestQuery = <
2929
) => {
3030
3131
return useQuery<TestQuery, TError, TData>(
32-
variables === undefined ? ['test'] : ['test', variables],
32+
variables === undefined ? ['test', {}] : ['test', variables],
3333
fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
3434
options
3535
)};
3636
37-
useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test'] : ['test', variables];
37+
useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test', {}] : ['test', variables];
3838
3939
export const TestDocument = \`
4040
mutation test($name: String) {
@@ -89,12 +89,12 @@ export const useTestQuery = <
8989
) => {
9090
9191
return useQuery<TestQuery, TError, TData>(
92-
variables === undefined ? ['test'] : ['test', variables],
92+
variables === undefined ? ['test', {}] : ['test', variables],
9393
fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
9494
options
9595
)};
9696
97-
useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test'] : ['test', variables];
97+
useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test', {}] : ['test', variables];
9898
9999
export const useInfiniteTestQuery = <
100100
TData = TestQuery,
@@ -106,12 +106,12 @@ export const useInfiniteTestQuery = <
106106
) => {
107107
108108
return useInfiniteQuery<TestQuery, TError, TData>(
109-
variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
109+
variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
110110
(metaData) => fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, {...variables, ...(metaData.pageParam ?? {})})(),
111111
options
112112
)};
113113
114-
useInfiniteTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test.infinite'] : ['test.infinite', variables];
114+
useInfiniteTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables];
115115
116116
export const TestDocument = \`
117117
mutation test($name: String) {
@@ -166,7 +166,7 @@ export const useTestQuery = <
166166
) => {
167167
168168
return useQuery<TestQuery, TError, TData>(
169-
variables === undefined ? ['test'] : ['test', variables],
169+
variables === undefined ? ['test', {}] : ['test', variables],
170170
fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
171171
options
172172
)};
@@ -226,7 +226,7 @@ export const useTestQuery = <
226226
) => {
227227
228228
return useQuery<TestQuery, TError, TData>(
229-
variables === undefined ? ['test'] : ['test', variables],
229+
variables === undefined ? ['test', {}] : ['test', variables],
230230
fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
231231
options
232232
)};
@@ -243,7 +243,7 @@ export const useInfiniteTestQuery = <
243243
) => {
244244
245245
return useInfiniteQuery<TestQuery, TError, TData>(
246-
variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
246+
variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
247247
(metaData) => fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, {...variables, ...(metaData.pageParam ?? {})})(),
248248
options
249249
)};
@@ -302,7 +302,7 @@ export const useTestQuery = <
302302
) => {
303303
304304
return useQuery<TTestQuery, TError, TData>(
305-
variables === undefined ? ['test'] : ['test', variables],
305+
variables === undefined ? ['test', {}] : ['test', variables],
306306
useCustomFetcher<TTestQuery, TTestQueryVariables>(TestDocument).bind(null, variables),
307307
options
308308
)};
@@ -316,7 +316,7 @@ export const useInfiniteTestQuery = <
316316
) => {
317317
const query = useCustomFetcher<TTestQuery, TTestQueryVariables>(TestDocument)
318318
return useInfiniteQuery<TTestQuery, TError, TData>(
319-
variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
319+
variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
320320
(metaData) => query({...variables, ...(metaData.pageParam ?? {})}),
321321
options
322322
)};
@@ -377,7 +377,7 @@ export const useTestQuery = <
377377
) => {
378378
379379
return useQuery<TTestQuery, TError, TData>(
380-
variables === undefined ? ['test'] : ['test', variables],
380+
variables === undefined ? ['test', {}] : ['test', variables],
381381
myCustomFetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables),
382382
options
383383
)};
@@ -391,7 +391,7 @@ export const useInfiniteTestQuery = <
391391
) => {
392392
393393
return useInfiniteQuery<TTestQuery, TError, TData>(
394-
variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
394+
variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
395395
(metaData) => myCustomFetcher<TTestQuery, TTestQueryVariables>(TestDocument, {...variables, ...(metaData.pageParam ?? {})})(),
396396
options
397397
)};
@@ -452,7 +452,7 @@ export const useTestQuery = <
452452
) => {
453453
454454
return useQuery<TTestQuery, TError, TData>(
455-
variables === undefined ? ['test'] : ['test', variables],
455+
variables === undefined ? ['test', {}] : ['test', variables],
456456
myCustomFetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables),
457457
options
458458
)};
@@ -514,7 +514,7 @@ export const useTestQuery = <
514514
) => {
515515
516516
return useQuery<TTestQuery, TError, TData>(
517-
variables === undefined ? ['test'] : ['test', variables],
517+
variables === undefined ? ['test', {}] : ['test', variables],
518518
fetcher<TTestQuery, TTestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
519519
options
520520
)};
@@ -599,7 +599,7 @@ export const useTestQuery = <
599599
) => {
600600
601601
return useQuery<TTestQuery, TError, TData>(
602-
variables === undefined ? ['test'] : ['test', variables],
602+
variables === undefined ? ['test', {}] : ['test', variables],
603603
fetcher<TTestQuery, TTestQueryVariables>(client, TestDocument, variables, headers),
604604
options
605605
)};
@@ -615,7 +615,7 @@ export const useInfiniteTestQuery = <
615615
) => {
616616
617617
return useInfiniteQuery<TTestQuery, TError, TData>(
618-
variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
618+
variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
619619
(metaData) => fetcher<TTestQuery, TTestQueryVariables>(client, TestDocument, {...variables, ...(metaData.pageParam ?? {})}, headers)(),
620620
options
621621
)};
@@ -690,7 +690,7 @@ export const useTestQuery = <
690690
) => {
691691
692692
return useQuery<TTestQuery, TError, TData>(
693-
variables === undefined ? ['test'] : ['test', variables],
693+
variables === undefined ? ['test', {}] : ['test', variables],
694694
fetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables, headers),
695695
options
696696
)};
@@ -764,7 +764,7 @@ export const useTestQuery = <
764764
) => {
765765
766766
return useQuery<TTestQuery, TError, TData>(
767-
variables === undefined ? ['test'] : ['test', variables],
767+
variables === undefined ? ['test', {}] : ['test', variables],
768768
fetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables),
769769
options
770770
)};
@@ -844,7 +844,7 @@ export const useTestQuery = <
844844
) => {
845845
846846
return useQuery<TTestQuery, TError, TData>(
847-
variables === undefined ? ['test'] : ['test', variables],
847+
variables === undefined ? ['test', {}] : ['test', variables],
848848
fetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables),
849849
options
850850
)};
@@ -924,7 +924,7 @@ export const useTestQuery = <
924924
) => {
925925
926926
return useQuery<TTestQuery, TError, TData>(
927-
variables === undefined ? ['test'] : ['test', variables],
927+
variables === undefined ? ['test', {}] : ['test', variables],
928928
fetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables),
929929
options
930930
)};
@@ -1003,7 +1003,7 @@ export const useTestQuery = <
10031003
) => {
10041004
10051005
return useQuery<TTestQuery, TError, TData>(
1006-
variables === undefined ? ['test'] : ['test', variables],
1006+
variables === undefined ? ['test', {}] : ['test', variables],
10071007
fetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables),
10081008
options
10091009
)};
@@ -1082,7 +1082,7 @@ export const useTestQuery = <
10821082
) => {
10831083
10841084
return useQuery<TTestQuery, TError, TData>(
1085-
variables === undefined ? ['test'] : ['test', variables],
1085+
variables === undefined ? ['test', {}] : ['test', variables],
10861086
fetcher<TTestQuery, TTestQueryVariables>(TestDocument, variables),
10871087
options
10881088
)};
@@ -1096,7 +1096,7 @@ export const useInfiniteTestQuery = <
10961096
) => {
10971097
10981098
return useInfiniteQuery<TTestQuery, TError, TData>(
1099-
variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
1099+
variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
11001100
(metaData) => fetcher<TTestQuery, TTestQueryVariables>(TestDocument, {...variables, ...(metaData.pageParam ?? {})})(),
11011101
options
11021102
)};
@@ -1202,7 +1202,7 @@ export const useTestQuery = <
12021202
) => {
12031203
12041204
return useQuery<Types.TestQuery, TError, TData>(
1205-
variables === undefined ? ['test'] : ['test', variables],
1205+
variables === undefined ? ['test', {}] : ['test', variables],
12061206
fetcher<Types.TestQuery, Types.TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
12071207
options
12081208
)};
@@ -1261,7 +1261,7 @@ export const useTestQuery = <
12611261
12621262
return useQuery<Types.TestQuery, TError, TData>(
12631263
{
1264-
queryKey: variables === undefined ? ['test'] : ['test', variables],
1264+
queryKey: variables === undefined ? ['test', {}] : ['test', variables],
12651265
queryFn: fetcher<Types.TestQuery, Types.TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
12661266
...options
12671267
}
@@ -1322,7 +1322,7 @@ export const useTestQuery = <
13221322
) => {
13231323
13241324
return useQuery<TestQuery, TError, TData>(
1325-
variables === undefined ? ['test'] : ['test', variables],
1325+
variables === undefined ? ['test', {}] : ['test', variables],
13261326
fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
13271327
options
13281328
)};
@@ -1337,7 +1337,7 @@ export const useInfiniteTestQuery = <
13371337
) => {
13381338
13391339
return useInfiniteQuery<TestQuery, TError, TData>(
1340-
variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
1340+
variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
13411341
(metaData) => fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, {...variables, ...(metaData.pageParam ?? {})})(),
13421342
options
13431343
)};
@@ -1422,7 +1422,7 @@ export const useTestQuery = <
14221422
14231423
return useQuery<TestQuery, TError, TData>(
14241424
{
1425-
queryKey: variables === undefined ? ['test'] : ['test', variables],
1425+
queryKey: variables === undefined ? ['test', {}] : ['test', variables],
14261426
queryFn: fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
14271427
...options
14281428
}
@@ -1439,7 +1439,7 @@ export const useSuspenseTestQuery = <
14391439
14401440
return useSuspenseQuery<TestQuery, TError, TData>(
14411441
{
1442-
queryKey: variables === undefined ? ['testSuspense'] : ['testSuspense', variables],
1442+
queryKey: variables === undefined ? ['testSuspense', {}] : ['testSuspense', variables],
14431443
queryFn: fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, variables),
14441444
...options
14451445
}
@@ -1458,7 +1458,7 @@ export const useInfiniteTestQuery = <
14581458
(() => {
14591459
const { queryKey: optionsQueryKey, ...restOptions } = options;
14601460
return {
1461-
queryKey: optionsQueryKey ?? variables === undefined ? ['test.infinite'] : ['test.infinite', variables],
1461+
queryKey: optionsQueryKey ?? variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables],
14621462
queryFn: (metaData) => fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, {...variables, ...(metaData.pageParam ?? {})})(),
14631463
...restOptions
14641464
}
@@ -1478,7 +1478,7 @@ export const useSuspenseInfiniteTestQuery = <
14781478
(() => {
14791479
const { queryKey: optionsQueryKey, ...restOptions } = options;
14801480
return {
1481-
queryKey: optionsQueryKey ?? variables === undefined ? ['test.infiniteSuspense'] : ['test.infiniteSuspense', variables],
1481+
queryKey: optionsQueryKey ?? variables === undefined ? ['test.infiniteSuspense', {}] : ['test.infiniteSuspense', variables],
14821482
queryFn: (metaData) => fetcher<TestQuery, TestQueryVariables>(dataSource.endpoint, dataSource.fetchParams || {}, TestDocument, {...variables, ...(metaData.pageParam ?? {})})(),
14831483
...restOptions
14841484
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -965,7 +965,7 @@ describe('React-Query', () => {
965965
const out = (await plugin(schema, docs, config)) as Types.ComplexPluginOutput;
966966
expect(out.content).toMatchSnapshot();
967967
expect(out.content).toBeSimilarStringTo(
968-
`useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test'] : ['test', variables];`,
968+
`useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test', {}] : ['test', variables];`,
969969
);
970970
});
971971
});
@@ -980,10 +980,10 @@ describe('React-Query', () => {
980980
const out = (await plugin(schema, docs, config)) as Types.ComplexPluginOutput;
981981
expect(out.content).toMatchSnapshot();
982982
expect(out.content).toBeSimilarStringTo(
983-
`useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test'] : ['test', variables];`,
983+
`useTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test', {}] : ['test', variables];`,
984984
);
985985
expect(out.content).toBeSimilarStringTo(
986-
`useInfiniteTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test.infinite'] : ['test.infinite', variables];`,
986+
`useInfiniteTestQuery.getKey = (variables?: TestQueryVariables) => variables === undefined ? ['test.infinite', {}] : ['test.infinite', variables];`,
987987
);
988988
});
989989
});

0 commit comments

Comments
 (0)