Skip to content

Commit eae522e

Browse files
committed
fix up types
1 parent 71d8aeb commit eae522e

5 files changed

Lines changed: 23 additions & 42 deletions

File tree

src/core/ObservableQuery.ts

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -49,18 +49,20 @@ import type {
4949

5050
const { assign, hasOwnProperty } = Object;
5151

52-
export interface FetchMoreOptions<
52+
export type FetchMoreOptions<
5353
TData = unknown,
54-
TVariables = OperationVariables,
55-
> {
54+
TVariables extends OperationVariables = OperationVariables,
55+
TFetchData = TData,
56+
TFetchVars extends OperationVariables = TVariables,
57+
> = FetchMoreQueryOptions<TFetchVars, TFetchData> & {
5658
updateQuery?: (
57-
previousQueryResult: TData,
59+
previousQueryResult: Unmasked<TData>,
5860
options: {
59-
fetchMoreResult?: TData;
60-
variables?: TVariables;
61+
fetchMoreResult: Unmasked<TFetchData>;
62+
variables: TFetchVars;
6163
}
62-
) => TData;
63-
}
64+
) => Unmasked<TData>;
65+
};
6466

6567
interface TrackedOperation {
6668
/**
@@ -714,15 +716,9 @@ Did you mean to call refetch(variables) instead of refetch({ variables })?`,
714716
context,
715717
errorPolicy,
716718
updateQuery,
717-
}: FetchMoreQueryOptions<TFetchVars, TFetchData> & {
718-
updateQuery?: (
719-
previousQueryResult: Unmasked<TData>,
720-
options: {
721-
fetchMoreResult: Unmasked<TFetchData>;
722-
variables: TFetchVars;
723-
}
724-
) => Unmasked<TData>;
725-
}): Promise<QueryResult<TFetchData>> {
719+
}: FetchMoreOptions<TData, TVariables, TFetchData, TFetchVars>): Promise<
720+
QueryResult<TFetchData>
721+
> {
726722
const combinedOptions = {
727723
...compact(
728724
this.options,

src/core/watchQueryOptions.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ import type { IgnoreModifier } from "../cache/core/types/common.js";
1414
import type { ObservableQuery } from "./ObservableQuery.js";
1515
import type {
1616
DefaultContext,
17-
NormalizedExecutionResult,
1817
InternalRefetchQueriesInclude,
1918
MutationQueryReducersMap,
2019
MutationUpdaterFunction,
20+
NormalizedExecutionResult,
2121
OnQueryUpdated,
2222
OperationVariables,
2323
} from "./types.js";
@@ -140,14 +140,14 @@ export type FetchMoreQueryOptions<
140140
TData = unknown,
141141
> = {
142142
/** {@inheritDoc @apollo/client!QueryOptionsDocumentation#query:member} */
143-
query: DocumentNode | TypedDocumentNode<TData, TVariables>;
144-
143+
query?: DocumentNode | TypedDocumentNode<TData, TVariables>;
144+
/** {@inheritDoc @apollo/client!QueryOptionsDocumentation#variables:member} */
145+
variables?: Partial<NoInfer<TVariables>>;
145146
/** {@inheritDoc @apollo/client!QueryOptionsDocumentation#errorPolicy:member} */
146147
errorPolicy?: ErrorPolicy;
147-
148148
/** {@inheritDoc @apollo/client!QueryOptionsDocumentation#context:member} */
149149
context?: DefaultContext;
150-
} & VariablesOption<NoInfer<TVariables>>;
150+
};
151151

152152
export type UpdateQueryOptions<TData, TVariables> = {
153153
variables?: TVariables;

src/react/hooks/useLoadableQuery.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@ import type {
66
DefaultContext,
77
DocumentNode,
88
ErrorPolicy,
9-
FetchMoreQueryOptions,
109
OperationVariables,
1110
RefetchWritePolicy,
1211
TypedDocumentNode,
@@ -234,9 +233,7 @@ export function useLoadableQuery<
234233
);
235234
}
236235

237-
const promise = internalQueryRef.fetchMore(
238-
options as FetchMoreQueryOptions<TVariables, TData>
239-
);
236+
const promise = internalQueryRef.fetchMore(options);
240237

241238
setQueryRef(wrapQueryRef(internalQueryRef));
242239

src/react/internal/cache/QueryReference.ts

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { filter } from "rxjs";
55
import type {
66
ApolloQueryResult,
77
DataState,
8+
FetchMoreOptions,
89
ObservableQuery,
910
OperationVariables,
1011
QueryResult,
@@ -30,10 +31,6 @@ type Listener<TData, TStates extends DataState<TData>["dataState"]> = (
3031
promise: QueryRefPromise<TData, TStates>
3132
) => void;
3233

33-
type FetchMoreOptions<TData> = Parameters<
34-
ObservableQuery<TData>["fetchMore"]
35-
>[0];
36-
3734
const QUERY_REFERENCE_SYMBOL: unique symbol = Symbol.for(
3835
"apollo.internal.queryRef"
3936
);
@@ -350,7 +347,7 @@ export class InternalQueryReference<
350347
return this.initiateFetch(this.observable.refetch(variables));
351348
}
352349

353-
fetchMore(options: FetchMoreOptions<TData>) {
350+
fetchMore(options: FetchMoreOptions<TData, any>) {
354351
return this.initiateFetch(this.observable.fetchMore<TData>(options));
355352
}
356353

src/react/internal/types.ts

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,14 @@
11
import type {
2-
FetchMoreQueryOptions,
2+
FetchMoreOptions,
33
MaybeMasked,
44
OperationVariables,
55
QueryResult,
6-
Unmasked,
76
} from "@apollo/client";
87

98
export type RefetchFunction<TData, TVariables extends OperationVariables> = (
109
variables?: Partial<TVariables>
1110
) => Promise<QueryResult<TData>>;
1211

1312
export type FetchMoreFunction<TData, TVariables extends OperationVariables> = (
14-
fetchMoreOptions: FetchMoreQueryOptions<TVariables, TData> & {
15-
updateQuery?: (
16-
previousQueryResult: Unmasked<TData>,
17-
options: {
18-
fetchMoreResult: Unmasked<TData>;
19-
variables: TVariables;
20-
}
21-
) => Unmasked<TData>;
22-
}
13+
fetchMoreOptions: FetchMoreOptions<TData, TVariables>
2314
) => Promise<QueryResult<MaybeMasked<TData>>>;

0 commit comments

Comments
 (0)