Skip to content

Commit 0cc7e2e

Browse files
phryneasalessbell
andauthored
remove query option from hooks with two args (#10527)
* remove `query` option from hooks with two args Removes the `query`/`mutation`/`subscription` option from hooks that already take that value as their first argument. These options have not been wired up, but were present in the TS types. * bump bundle size --------- Co-authored-by: Alessia Bellisario <[email protected]>
1 parent 2dc2e1d commit 0cc7e2e

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

.changeset/heavy-ties-sneeze.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@apollo/client': minor
3+
---
4+
5+
Remove the `query`/`mutation`/`subscription` option from hooks that already take that value as their first argument.

src/react/hooks/useLazyQuery.ts

+3-2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { useCallback, useEffect, useMemo, useRef } from 'react';
55
import { OperationVariables } from '../../core';
66
import { mergeOptions } from '../../utilities';
77
import {
8+
LazyQueryHookExecOptions,
89
LazyQueryHookOptions,
910
LazyQueryResultTuple,
1011
NoInfer,
@@ -30,12 +31,12 @@ export function useLazyQuery<TData = any, TVariables extends OperationVariables
3031
): LazyQueryResultTuple<TData, TVariables> {
3132
const abortControllersRef = useRef(new Set<AbortController>());
3233

33-
const execOptionsRef = useRef<Partial<LazyQueryHookOptions<TData, TVariables>>>();
34+
const execOptionsRef = useRef<Partial<LazyQueryHookExecOptions<TData, TVariables>>>();
3435
const merged = execOptionsRef.current ? mergeOptions(options, execOptionsRef.current) : options;
3536

3637
const internalState = useInternalState<TData, TVariables>(
3738
useApolloClient(options && options.client),
38-
merged?.query ?? query
39+
execOptionsRef.current?.query ?? query
3940
);
4041

4142
const useQueryResult = internalState.useQuery({

src/react/types/types.ts

+10-5
Original file line numberDiff line numberDiff line change
@@ -85,13 +85,20 @@ export interface QueryDataOptions<TData = any, TVariables extends OperationVaria
8585

8686
export interface QueryHookOptions<TData = any, TVariables extends OperationVariables = OperationVariables>
8787
extends QueryFunctionOptions<TData, TVariables> {
88-
query?: DocumentNode | TypedDocumentNode<TData, TVariables>;
8988
}
9089

9190
export interface LazyQueryHookOptions<
9291
TData = any,
9392
TVariables extends OperationVariables = OperationVariables
94-
> extends Omit<QueryHookOptions<TData, TVariables>, 'skip'> {}
93+
> extends Omit<QueryHookOptions<TData, TVariables>, 'skip'> {
94+
}
95+
96+
export interface LazyQueryHookExecOptions<
97+
TData = any,
98+
TVariables extends OperationVariables = OperationVariables
99+
> extends LazyQueryHookOptions<TData, TVariables> {
100+
query?: DocumentNode | TypedDocumentNode<TData, TVariables>;
101+
}
95102

96103
/**
97104
* suspensePolicy determines how suspense behaves for a refetch. The options are:
@@ -153,7 +160,7 @@ export type QueryTuple<TData, TVariables extends OperationVariables> =
153160
LazyQueryResultTuple<TData, TVariables>;
154161

155162
export type LazyQueryExecFunction<TData, TVariables extends OperationVariables> = (
156-
options?: Partial<LazyQueryHookOptions<TData, TVariables>>,
163+
options?: Partial<LazyQueryHookExecOptions<TData, TVariables>>,
157164
) => Promise<QueryResult<TData, TVariables>>;
158165

159166
export type LazyQueryResultTuple<TData, TVariables extends OperationVariables> = [
@@ -216,7 +223,6 @@ export interface MutationHookOptions<
216223
TContext = DefaultContext,
217224
TCache extends ApolloCache<any> = ApolloCache<any>,
218225
> extends BaseMutationOptions<TData, TVariables, TContext, TCache> {
219-
mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;
220226
}
221227

222228
export interface MutationDataOptions<
@@ -292,7 +298,6 @@ export interface SubscriptionHookOptions<
292298
TData = any,
293299
TVariables extends OperationVariables = OperationVariables
294300
> extends BaseSubscriptionOptions<TData, TVariables> {
295-
subscription?: DocumentNode | TypedDocumentNode<TData, TVariables>;
296301
}
297302

298303
export interface SubscriptionDataOptions<

0 commit comments

Comments
 (0)