Skip to content

Commit 419e2b5

Browse files
committed
fix: tighten cache implementation constraints
1 parent 9cd2f1d commit 419e2b5

8 files changed

Lines changed: 21 additions & 21 deletions

File tree

.api-reports/api-report-core.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -668,7 +668,7 @@ export type InternalRefetchQueriesInclude = InternalRefetchQueryDescriptor[] | R
668668
export type InternalRefetchQueriesMap<TResult> = Map<ObservableQuery<any>, InternalRefetchQueriesResult<TResult>>;
669669

670670
// @public (undocumented)
671-
export interface InternalRefetchQueriesOptions<TCache extends ApolloCache, TResult> extends Omit<ApolloClient.RefetchQueriesOptions<TCache, TResult>, "include"> {
671+
export interface InternalRefetchQueriesOptions<TCache extends Cache_2.Implementation, TResult> extends Omit<ApolloClient.RefetchQueriesOptions<TCache, TResult>, "include"> {
672672
// (undocumented)
673673
include?: InternalRefetchQueriesInclude;
674674
// (undocumented)

.api-reports/api-report-react.api.md

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
```ts
66

77
import type { ApolloCache } from '@apollo/client/cache';
8-
import type { ApolloCache as ApolloCache_2 } from '@apollo/client';
98
import type { ApolloClient } from '@apollo/client';
109
import type { Cache as Cache_2 } from '@apollo/client/cache';
1110
import type { DataState } from '@apollo/client';
@@ -131,16 +130,16 @@ type MakeRequiredVariablesOptional<TVariables extends OperationVariables, TConfi
131130
} & Omit<TVariables, keyof TConfiguredVariables>>;
132131

133132
// @public @deprecated (undocumented)
134-
export type MutationFunctionOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables, _TContext = DefaultContext, TCache extends ApolloCache_2 = ApolloCache_2> = useMutation.MutationFunctionOptions<TData, TVariables, TCache>;
133+
export type MutationFunctionOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables, _TContext = DefaultContext, TCache extends Cache_2.Implementation = Cache_2.Implementation> = useMutation.MutationFunctionOptions<TData, TVariables, TCache>;
135134

136135
// @public @deprecated (undocumented)
137-
export type MutationHookOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables, _TContext = DefaultContext, TCache extends ApolloCache_2 = ApolloCache_2> = useMutation.Options<TData, TVariables, TCache>;
136+
export type MutationHookOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables, _TContext = DefaultContext, TCache extends Cache_2.Implementation = Cache_2.Implementation> = useMutation.Options<TData, TVariables, TCache>;
138137

139138
// @public @deprecated (undocumented)
140139
export type MutationResult<TData = unknown> = useMutation.Result<TData>;
141140

142141
// @public @deprecated (undocumented)
143-
export type MutationTuple<TData, TVariables extends OperationVariables, _TContext = DefaultContext, TCache extends ApolloCache_2 = ApolloCache_2> = useMutation.ResultTuple<TData, TVariables, TCache>;
142+
export type MutationTuple<TData, TVariables extends OperationVariables, _TContext = DefaultContext, TCache extends Cache_2.Implementation = Cache_2.Implementation> = useMutation.ResultTuple<TData, TVariables, TCache>;
144143

145144
// @public @deprecated (undocumented)
146145
export type OnDataOptions<TData = unknown> = useSubscription.OnDataOptions<TData>;

.api-reports/api-report.api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1646,7 +1646,7 @@ export type InternalRefetchQueriesInclude = InternalRefetchQueryDescriptor[] | R
16461646
export type InternalRefetchQueriesMap<TResult> = Map<ObservableQuery<any>, InternalRefetchQueriesResult<TResult>>;
16471647

16481648
// @public (undocumented)
1649-
export interface InternalRefetchQueriesOptions<TCache extends ApolloCache, TResult> extends Omit<ApolloClient.RefetchQueriesOptions<TCache, TResult>, "include"> {
1649+
export interface InternalRefetchQueriesOptions<TCache extends Cache_2.Implementation, TResult> extends Omit<ApolloClient.RefetchQueriesOptions<TCache, TResult>, "include"> {
16501650
// (undocumented)
16511651
include?: InternalRefetchQueriesInclude;
16521652
// (undocumented)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"@apollo/client": patch
3+
---
4+
5+
Align the remaining cache generic constraints with `Cache.Implementation`. The deprecated React mutation types (`MutationHookOptions`, `MutationFunctionOptions`, `MutationTuple`) and the internal `InternalRefetchQueriesOptions` and `QueryInfo` types still constrained their cache type parameter to `ApolloCache`, so they now match the rest of the overridable cache API.

.size-limits.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\" (CJS)": 47873,
3-
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\" (production) (CJS)": 42183,
4-
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\"": 35925,
5-
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\" (production)": 29449
2+
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\" (CJS)": 47998,
3+
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\" (production) (CJS)": 42268,
4+
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\"": 35960,
5+
"import { ApolloClient, InMemoryCache, HttpLink } from \"@apollo/client\" (production)": 29486
66
}

src/core/QueryInfo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ const queryInfoIds = new WeakMap<QueryManager, number>();
9696
export class QueryInfo<
9797
TData,
9898
TVariables extends OperationVariables = OperationVariables,
99-
TCache extends ApolloCache = ApolloCache,
99+
TCache extends Cache.Implementation = Cache.Implementation,
100100
> {
101101
// TODO remove soon - this should be able to be handled by cancelling old operations before starting new ones
102102
lastRequestId = 1;

src/core/types.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import type {
55
ObservableNotification,
66
} from "rxjs";
77

8-
import type { ApolloCache } from "@apollo/client/cache";
98
import type { Cache } from "@apollo/client/cache";
109
import type { ClientAwarenessLink } from "@apollo/client/link/client-awareness";
1110
import type { Unmasked } from "@apollo/client/masking";
@@ -273,7 +272,7 @@ export type RefetchQueriesPromiseResults<TResult> =
273272

274273
// Used by QueryManager["refetchQueries"]
275274
export interface InternalRefetchQueriesOptions<
276-
TCache extends ApolloCache,
275+
TCache extends Cache.Implementation,
277276
TResult,
278277
> extends Omit<ApolloClient.RefetchQueriesOptions<TCache, TResult>, "include"> {
279278
// Just like the refetchQueries option for a mutation, an array of strings,

src/react/types/deprecated.ts

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,5 @@
1-
import type {
2-
ApolloCache,
3-
DefaultContext,
4-
OperationVariables,
5-
} from "@apollo/client";
1+
import type { DefaultContext, OperationVariables } from "@apollo/client";
2+
import type { Cache } from "@apollo/client/cache";
63

74
import type { useBackgroundQuery } from "../hooks/useBackgroundQuery.js";
85
import type { useFragment } from "../hooks/useFragment.js";
@@ -62,7 +59,7 @@ export type MutationHookOptions<
6259
TData = unknown,
6360
TVariables extends OperationVariables = OperationVariables,
6461
_TContext = DefaultContext,
65-
TCache extends ApolloCache = ApolloCache,
62+
TCache extends Cache.Implementation = Cache.Implementation,
6663
> = useMutation.Options<TData, TVariables, TCache>;
6764

6865
/** @deprecated Use `useMutation.Result` instead */
@@ -73,15 +70,15 @@ export type MutationFunctionOptions<
7370
TData = unknown,
7471
TVariables extends OperationVariables = OperationVariables,
7572
_TContext = DefaultContext,
76-
TCache extends ApolloCache = ApolloCache,
73+
TCache extends Cache.Implementation = Cache.Implementation,
7774
> = useMutation.MutationFunctionOptions<TData, TVariables, TCache>;
7875

7976
/** @deprecated Use `useMutation.ResultTuple` instead */
8077
export type MutationTuple<
8178
TData,
8279
TVariables extends OperationVariables,
8380
_TContext = DefaultContext,
84-
TCache extends ApolloCache = ApolloCache,
81+
TCache extends Cache.Implementation = Cache.Implementation,
8582
> = useMutation.ResultTuple<TData, TVariables, TCache>;
8683

8784
/** @deprecated Use `useSubscription.Result` instead */

0 commit comments

Comments
 (0)