@apollo/client 4.0.11 → 4.0.12-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +204 -0
- package/__cjs/cache/core/cache.cjs +216 -52
- package/__cjs/cache/core/cache.cjs.map +1 -1
- package/__cjs/cache/core/cache.d.cts +141 -25
- package/__cjs/cache/core/types/Cache.d.cts +77 -17
- package/__cjs/cache/index.cjs.map +1 -1
- package/__cjs/cache/index.d.cts +1 -1
- package/__cjs/cache/inmemory/entityStore.cjs +6 -4
- package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/helpers.d.cts +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.cjs +62 -1
- package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.d.cts +48 -0
- package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
- package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.cjs +56 -17
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.d.cts +30 -6
- package/__cjs/cache/inmemory/readFromStore.cjs +3 -3
- package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/types.d.cts +2 -0
- package/__cjs/cache/inmemory/writeToStore.cjs +24 -10
- package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
- package/__cjs/core/ApolloClient.cjs +31 -49
- package/__cjs/core/ApolloClient.cjs.map +1 -1
- package/__cjs/core/ApolloClient.d.cts +143 -17
- package/__cjs/core/ObservableQuery.cjs +162 -128
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +1 -0
- package/__cjs/core/QueryInfo.cjs +9 -1
- package/__cjs/core/QueryInfo.cjs.map +1 -1
- package/__cjs/core/QueryInfo.d.cts +2 -1
- package/__cjs/core/QueryManager.cjs +46 -24
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/QueryManager.d.cts +18 -2
- package/__cjs/incremental/handlers/defer20220824.cjs +44 -19
- package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
- package/__cjs/incremental/handlers/defer20220824.d.cts +15 -7
- package/__cjs/incremental/handlers/graphql17Alpha9.cjs +222 -0
- package/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -0
- package/__cjs/incremental/handlers/graphql17Alpha9.d.cts +98 -0
- package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
- package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -1
- package/__cjs/incremental/index.cjs +3 -1
- package/__cjs/incremental/index.cjs.map +1 -1
- package/__cjs/incremental/index.d.cts +1 -0
- package/__cjs/incremental/types.d.cts +9 -0
- package/__cjs/invariantErrorCodes.cjs +78 -62
- package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +13 -1
- package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
- package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +1 -1
- package/__cjs/link/core/ApolloLink.cjs +3 -3
- package/__cjs/link/error/index.cjs +1 -1
- package/__cjs/link/error/index.cjs.map +1 -1
- package/__cjs/link/error/index.d.cts +1 -1
- package/__cjs/link/http/checkFetcher.cjs +1 -1
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
- package/__cjs/link/persisted-queries/index.cjs +2 -2
- package/__cjs/link/ws/index.cjs +1 -1
- package/__cjs/local-state/LocalState.cjs +28 -14
- package/__cjs/local-state/LocalState.cjs.map +1 -1
- package/__cjs/local-state/LocalState.d.cts +3 -2
- package/__cjs/masking/types.d.cts +2 -1
- package/__cjs/react/hooks/internal/useDeepMemo.cjs +2 -0
- package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.cjs +1 -3
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useFragment.cjs +38 -87
- package/__cjs/react/hooks/useFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useFragment.d.cts +65 -6
- package/__cjs/react/hooks/useLazyQuery.cjs +2 -0
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.cjs +7 -1
- package/__cjs/react/hooks/useMutation.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.d.cts +13 -1
- package/__cjs/react/hooks/useQuery.cjs +1 -4
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +1 -1
- package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -3
- package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
- package/__cjs/react/hooks/useReadQuery.cjs +1 -3
- package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSubscription.cjs +1 -1
- package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseFragment.cjs +16 -16
- package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseFragment.d.cts +33 -7
- package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -4
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/internal/cache/FragmentReference.cjs +3 -22
- package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -4
- package/__cjs/react/internal/cache/QueryReference.cjs +16 -0
- package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/QueryReference.d.cts +5 -0
- package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
- package/__cjs/react/internal/cache/SuspenseCache.d.cts +1 -1
- package/__cjs/react/internal/cache/types.d.cts +2 -2
- package/__cjs/react/query-preloader/createQueryPreloader.cjs +41 -1
- package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
- package/__cjs/react/ssr/useSSRQuery.cjs +1 -0
- package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
- package/__cjs/utilities/DeepPartial.cjs.map +1 -1
- package/__cjs/utilities/DeepPartial.d.cts +1 -1
- package/__cjs/utilities/internal/DeepMerger.cjs +36 -4
- package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -1
- package/__cjs/utilities/internal/DeepMerger.d.cts +20 -4
- package/__cjs/utilities/internal/combineLatestBatched.cjs +71 -0
- package/__cjs/utilities/internal/combineLatestBatched.cjs.map +1 -0
- package/__cjs/utilities/internal/combineLatestBatched.d.cts +14 -0
- package/__cjs/utilities/internal/constants.cjs +17 -1
- package/__cjs/utilities/internal/constants.cjs.map +1 -1
- package/__cjs/utilities/internal/constants.d.cts +16 -0
- package/__cjs/utilities/internal/getStoreKeyName.cjs +1 -0
- package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
- package/__cjs/utilities/internal/index.cjs +8 -2
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +4 -1
- package/__cjs/utilities/internal/mapObservableFragment.cjs +27 -0
- package/__cjs/utilities/internal/mapObservableFragment.cjs.map +1 -0
- package/__cjs/utilities/internal/mapObservableFragment.d.cts +3 -0
- package/__cjs/utilities/internal/memoize.cjs +2 -2
- package/__cjs/utilities/internal/memoize.cjs.map +1 -1
- package/__cjs/utilities/internal/memoize.d.cts +2 -1
- package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.cjs +61 -0
- package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.cjs.map +1 -0
- package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.d.cts +11 -0
- package/__cjs/utilities/internal/ponyfills/index.cjs +6 -0
- package/__cjs/utilities/internal/ponyfills/index.cjs.map +1 -0
- package/__cjs/utilities/internal/ponyfills/index.d.cts +3 -0
- package/__cjs/utilities/internal/ponyfills/index.react-native.cjs +6 -0
- package/__cjs/utilities/internal/ponyfills/index.react-native.cjs.map +1 -0
- package/__cjs/utilities/internal/ponyfills/index.react-native.d.cts +2 -0
- package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.cjs +3 -0
- package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.cjs.map +1 -0
- package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.d.cts +24 -0
- package/__cjs/version.cjs +1 -1
- package/__cjs/version.cjs.map +1 -1
- package/cache/core/cache.d.ts +141 -25
- package/cache/core/cache.js +219 -55
- package/cache/core/cache.js.map +1 -1
- package/cache/core/types/Cache.d.ts +77 -17
- package/cache/core/types/Cache.js.map +1 -1
- package/cache/index.d.ts +1 -1
- package/cache/index.js.map +1 -1
- package/cache/inmemory/entityStore.js +6 -4
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/helpers.d.ts +1 -1
- package/cache/inmemory/inMemoryCache.d.ts +48 -0
- package/cache/inmemory/inMemoryCache.js +62 -1
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/key-extractor.js +1 -1
- package/cache/inmemory/key-extractor.js.map +1 -1
- package/cache/inmemory/policies.d.ts +30 -6
- package/cache/inmemory/policies.js +45 -7
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.js +3 -3
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/cache/inmemory/types.d.ts +2 -0
- package/cache/inmemory/types.js.map +1 -1
- package/cache/inmemory/writeToStore.d.ts +2 -1
- package/cache/inmemory/writeToStore.js +26 -12
- package/cache/inmemory/writeToStore.js.map +1 -1
- package/core/ApolloClient.d.ts +143 -17
- package/core/ApolloClient.js +32 -50
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts +1 -0
- package/core/ObservableQuery.js +165 -131
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +2 -1
- package/core/QueryInfo.js +10 -2
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +18 -2
- package/core/QueryManager.js +47 -25
- package/core/QueryManager.js.map +1 -1
- package/incremental/handlers/defer20220824.d.ts +15 -7
- package/incremental/handlers/defer20220824.js +44 -19
- package/incremental/handlers/defer20220824.js.map +1 -1
- package/incremental/handlers/graphql17Alpha9.d.ts +98 -0
- package/incremental/handlers/graphql17Alpha9.js +218 -0
- package/incremental/handlers/graphql17Alpha9.js.map +1 -0
- package/incremental/handlers/notImplemented.js +1 -1
- package/incremental/handlers/notImplemented.js.map +1 -1
- package/incremental/index.d.ts +1 -0
- package/incremental/index.js +3 -2
- package/incremental/index.js.map +1 -1
- package/incremental/types.d.ts +9 -0
- package/incremental/types.js.map +1 -1
- package/invariantErrorCodes.js +78 -62
- package/legacyEntryPoints/utilities/internal/ponyfills/index.d.ts +1 -0
- package/legacyEntryPoints/utilities/internal/ponyfills/index.js +1 -0
- package/legacyEntryPoints/utilities/internal/ponyfills/ponyfills.cjs +1 -0
- package/legacyEntryPoints/utilities/internal/ponyfills/ponyfills.d.cts +1 -0
- package/link/client-awareness/ClientAwarenessLink.d.ts +1 -1
- package/link/client-awareness/ClientAwarenessLink.js +13 -1
- package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
- package/link/core/ApolloLink.js +3 -3
- package/link/error/index.d.ts +1 -1
- package/link/error/index.js +1 -1
- package/link/error/index.js.map +1 -1
- package/link/http/checkFetcher.js +1 -1
- package/link/http/parseAndCheckHttpResponse.js +1 -1
- package/link/persisted-queries/index.js +2 -2
- package/link/ws/index.js +1 -1
- package/local-state/LocalState.d.ts +3 -2
- package/local-state/LocalState.js +28 -14
- package/local-state/LocalState.js.map +1 -1
- package/masking/types.d.ts +2 -1
- package/masking/types.js.map +1 -1
- package/package.json +15 -1
- package/react/hooks/internal/useDeepMemo.js +2 -0
- package/react/hooks/internal/useDeepMemo.js.map +1 -1
- package/react/hooks/useBackgroundQuery.js +1 -3
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useFragment.d.ts +65 -6
- package/react/hooks/useFragment.js +38 -87
- package/react/hooks/useFragment.js.map +1 -1
- package/react/hooks/useLazyQuery.js +2 -0
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useMutation.d.ts +13 -1
- package/react/hooks/useMutation.js +7 -1
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.js +1 -4
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.js +1 -3
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useReadQuery.js +1 -3
- package/react/hooks/useReadQuery.js.map +1 -1
- package/react/hooks/useSubscription.js +1 -1
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSuspenseFragment.d.ts +33 -7
- package/react/hooks/useSuspenseFragment.js +17 -17
- package/react/hooks/useSuspenseFragment.js.map +1 -1
- package/react/hooks/useSuspenseQuery.js +4 -4
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/hooks-compiled/internal/useDeepMemo.js +2 -0
- package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -1
- package/react/hooks-compiled/internal/useSuspenseHookCacheKey.js +0 -2
- package/react/hooks-compiled/internal/useSuspenseHookCacheKey.js.map +1 -1
- package/react/hooks-compiled/useBackgroundQuery.js +1 -3
- package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
- package/react/hooks-compiled/useFragment.d.ts +65 -6
- package/react/hooks-compiled/useFragment.js +110 -88
- package/react/hooks-compiled/useFragment.js.map +1 -1
- package/react/hooks-compiled/useLazyQuery.js +2 -0
- package/react/hooks-compiled/useLazyQuery.js.map +1 -1
- package/react/hooks-compiled/useLoadableQuery.js +69 -75
- package/react/hooks-compiled/useMutation.d.ts +13 -1
- package/react/hooks-compiled/useMutation.js +5 -13
- package/react/hooks-compiled/useMutation.js.map +1 -1
- package/react/hooks-compiled/useQuery.js +44 -56
- package/react/hooks-compiled/useQuery.js.map +1 -1
- package/react/hooks-compiled/useQueryRefHandlers.js +1 -5
- package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -1
- package/react/hooks-compiled/useReadQuery.js +77 -14
- package/react/hooks-compiled/useReadQuery.js.map +1 -1
- package/react/hooks-compiled/useSubscription.js +237 -93
- package/react/hooks-compiled/useSubscription.js.map +1 -1
- package/react/hooks-compiled/useSuspenseFragment.d.ts +33 -7
- package/react/hooks-compiled/useSuspenseFragment.js +17 -17
- package/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
- package/react/hooks-compiled/useSuspenseQuery.js +4 -8
- package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
- package/react/index.compiled.d.ts +1 -1
- package/react/index.compiled.js +1 -1
- package/react/index.compiled.js.map +1 -1
- package/react/internal/cache/FragmentReference.d.ts +2 -4
- package/react/internal/cache/FragmentReference.js +3 -22
- package/react/internal/cache/FragmentReference.js.map +1 -1
- package/react/internal/cache/QueryReference.d.ts +5 -0
- package/react/internal/cache/QueryReference.js +16 -0
- package/react/internal/cache/QueryReference.js.map +1 -1
- package/react/internal/cache/SuspenseCache.d.ts +1 -1
- package/react/internal/cache/SuspenseCache.js.map +1 -1
- package/react/internal/cache/types.d.ts +2 -2
- package/react/internal/cache/types.js.map +1 -1
- package/react/query-preloader/createQueryPreloader.js +41 -1
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/ssr/useSSRQuery.js +1 -0
- package/react/ssr/useSSRQuery.js.map +1 -1
- package/utilities/DeepPartial.d.ts +1 -1
- package/utilities/DeepPartial.js.map +1 -1
- package/utilities/internal/DeepMerger.d.ts +20 -4
- package/utilities/internal/DeepMerger.js +36 -4
- package/utilities/internal/DeepMerger.js.map +1 -1
- package/utilities/internal/combineLatestBatched.d.ts +14 -0
- package/utilities/internal/combineLatestBatched.js +68 -0
- package/utilities/internal/combineLatestBatched.js.map +1 -0
- package/utilities/internal/constants.d.ts +16 -0
- package/utilities/internal/constants.js +16 -0
- package/utilities/internal/constants.js.map +1 -1
- package/utilities/internal/getStoreKeyName.js +1 -0
- package/utilities/internal/getStoreKeyName.js.map +1 -1
- package/utilities/internal/index.d.ts +4 -1
- package/utilities/internal/index.js +3 -1
- package/utilities/internal/index.js.map +1 -1
- package/utilities/internal/mapObservableFragment.d.ts +3 -0
- package/utilities/internal/mapObservableFragment.js +24 -0
- package/utilities/internal/mapObservableFragment.js.map +1 -0
- package/utilities/internal/memoize.d.ts +2 -1
- package/utilities/internal/memoize.js +2 -2
- package/utilities/internal/memoize.js.map +1 -1
- package/utilities/internal/ponyfills/FinalizationRegistry.d.ts +11 -0
- package/utilities/internal/ponyfills/FinalizationRegistry.js +57 -0
- package/utilities/internal/ponyfills/FinalizationRegistry.js.map +1 -0
- package/utilities/internal/ponyfills/index.d.ts +3 -0
- package/utilities/internal/ponyfills/index.js +3 -0
- package/utilities/internal/ponyfills/index.js.map +1 -0
- package/utilities/internal/ponyfills/index.react-native.d.ts +2 -0
- package/utilities/internal/ponyfills/index.react-native.js +2 -0
- package/utilities/internal/ponyfills/index.react-native.js.map +1 -0
- package/utilities/internal/types/ExtensionsWithStreamDetails.d.ts +24 -0
- package/utilities/internal/types/ExtensionsWithStreamDetails.js +2 -0
- package/utilities/internal/types/ExtensionsWithStreamDetails.js.map +1 -0
- package/version.js +1 -1
- package/version.js.map +1 -1
package/core/QueryManager.js
CHANGED
|
@@ -9,7 +9,7 @@ import { execute } from "@apollo/client/link";
|
|
|
9
9
|
import { maskFragment, maskOperation } from "@apollo/client/masking";
|
|
10
10
|
import { cacheSizes, DocumentTransform, isNetworkRequestInFlight, print, } from "@apollo/client/utilities";
|
|
11
11
|
import { __DEV__ } from "@apollo/client/utilities/environment";
|
|
12
|
-
import { AutoCleanedWeakCache, checkDocument, filterMap, getDefaultValues, getOperationDefinition, getOperationName, graphQLResultHasError, hasDirectives, hasForcedResolvers, isDocumentNode, isNonNullObject, makeUniqueId, removeDirectivesFromDocument, toQueryResult, } from "@apollo/client/utilities/internal";
|
|
12
|
+
import { AutoCleanedWeakCache, checkDocument, extensionsSymbol, filterMap, getDefaultValues, getOperationDefinition, getOperationName, graphQLResultHasError, hasDirectives, hasForcedResolvers, isDocumentNode, isNonNullObject, makeUniqueId, removeDirectivesFromDocument, streamDetailsSymbol, toQueryResult, } from "@apollo/client/utilities/internal";
|
|
13
13
|
import { invariant, newInvariantError, } from "@apollo/client/utilities/invariant";
|
|
14
14
|
import { NetworkStatus } from "./networkStatus.js";
|
|
15
15
|
import { logMissingFieldErrors, ObservableQuery } from "./ObservableQuery.js";
|
|
@@ -92,7 +92,7 @@ export class QueryManager {
|
|
|
92
92
|
*/
|
|
93
93
|
stop() {
|
|
94
94
|
this.obsQueries.forEach((oq) => oq.stop());
|
|
95
|
-
this.cancelPendingFetches(newInvariantError(
|
|
95
|
+
this.cancelPendingFetches(newInvariantError(87));
|
|
96
96
|
}
|
|
97
97
|
cancelPendingFetches(error) {
|
|
98
98
|
this.fetchCancelFns.forEach((cancel) => cancel(error));
|
|
@@ -105,7 +105,7 @@ export class QueryManager {
|
|
|
105
105
|
variables = this.getVariables(mutation, variables);
|
|
106
106
|
if (hasClientExports) {
|
|
107
107
|
if (__DEV__) {
|
|
108
|
-
invariant(this.localState,
|
|
108
|
+
invariant(this.localState, 88, getOperationName(mutation, "(anonymous)"));
|
|
109
109
|
}
|
|
110
110
|
variables = await this.localState.getExportedVariables({
|
|
111
111
|
client: this.client,
|
|
@@ -140,7 +140,7 @@ export class QueryManager {
|
|
|
140
140
|
return this.getObservableFromLink(mutation, {
|
|
141
141
|
...context,
|
|
142
142
|
optimisticResponse: isOptimistic ? optimisticResponse : void 0,
|
|
143
|
-
}, variables, {}, false)
|
|
143
|
+
}, variables, fetchPolicy, {}, false)
|
|
144
144
|
.observable.pipe(validateDidEmitValue(), mergeMap((result) => {
|
|
145
145
|
const storeResult = { ...result };
|
|
146
146
|
return from(queryInfo.markMutationResult(storeResult, {
|
|
@@ -163,7 +163,7 @@ export class QueryManager {
|
|
|
163
163
|
.pipe(map((storeResult) => {
|
|
164
164
|
const hasErrors = graphQLResultHasError(storeResult);
|
|
165
165
|
if (hasErrors && errorPolicy === "none") {
|
|
166
|
-
throw new CombinedGraphQLErrors(storeResult);
|
|
166
|
+
throw new CombinedGraphQLErrors(removeStreamDetailsFromExtensions(storeResult));
|
|
167
167
|
}
|
|
168
168
|
if (mutationStoreValue) {
|
|
169
169
|
mutationStoreValue.loading = false;
|
|
@@ -342,7 +342,7 @@ export class QueryManager {
|
|
|
342
342
|
// depend on values that previously existed in the data portion of the
|
|
343
343
|
// store. So, we cancel the promises and observers that we have issued
|
|
344
344
|
// so far and not yet resolved (in the case of queries).
|
|
345
|
-
this.cancelPendingFetches(newInvariantError(
|
|
345
|
+
this.cancelPendingFetches(newInvariantError(89));
|
|
346
346
|
this.obsQueries.forEach((observableQuery) => {
|
|
347
347
|
// Set loading to true so listeners don't trigger unless they want
|
|
348
348
|
// results with partial data.
|
|
@@ -412,10 +412,10 @@ export class QueryManager {
|
|
|
412
412
|
if (!included) {
|
|
413
413
|
const queryName = queryNames.get(nameOrQueryString);
|
|
414
414
|
if (queryName) {
|
|
415
|
-
__DEV__ && invariant.warn(
|
|
415
|
+
__DEV__ && invariant.warn(90, queryName);
|
|
416
416
|
}
|
|
417
417
|
else {
|
|
418
|
-
__DEV__ && invariant.warn(
|
|
418
|
+
__DEV__ && invariant.warn(91);
|
|
419
419
|
}
|
|
420
420
|
}
|
|
421
421
|
});
|
|
@@ -436,7 +436,7 @@ export class QueryManager {
|
|
|
436
436
|
}
|
|
437
437
|
startGraphQLSubscription(options) {
|
|
438
438
|
let { query, variables } = options;
|
|
439
|
-
const { fetchPolicy, errorPolicy = "none", context = {}, extensions = {}, } = options;
|
|
439
|
+
const { fetchPolicy = "cache-first", errorPolicy = "none", context = {}, extensions = {}, } = options;
|
|
440
440
|
checkDocument(query, OperationTypeNode.SUBSCRIPTION);
|
|
441
441
|
query = this.transform(query);
|
|
442
442
|
variables = this.getVariables(query, variables);
|
|
@@ -444,7 +444,7 @@ export class QueryManager {
|
|
|
444
444
|
if (__DEV__) {
|
|
445
445
|
invariant(
|
|
446
446
|
!this.getDocumentInfo(query).hasClientExports || this.localState,
|
|
447
|
-
|
|
447
|
+
92,
|
|
448
448
|
getOperationName(query, "(anonymous)")
|
|
449
449
|
);
|
|
450
450
|
}
|
|
@@ -456,7 +456,7 @@ export class QueryManager {
|
|
|
456
456
|
context,
|
|
457
457
|
}))
|
|
458
458
|
: of(variables)).pipe(mergeMap((variables) => {
|
|
459
|
-
const { observable, restart: res } = this.getObservableFromLink(query, context, variables, extensions);
|
|
459
|
+
const { observable, restart: res } = this.getObservableFromLink(query, context, variables, fetchPolicy, extensions);
|
|
460
460
|
const queryInfo = new QueryInfo(this);
|
|
461
461
|
restart = res;
|
|
462
462
|
return observable.pipe(map((rawResult) => {
|
|
@@ -509,7 +509,7 @@ export class QueryManager {
|
|
|
509
509
|
// Use protected instead of private field so
|
|
510
510
|
// @apollo/experimental-nextjs-app-support can access type info.
|
|
511
511
|
inFlightLinkObservables = new Trie(false);
|
|
512
|
-
getObservableFromLink(query, context, variables, extensions,
|
|
512
|
+
getObservableFromLink(query, context, variables, fetchPolicy, extensions,
|
|
513
513
|
// Prefer context.queryDeduplication if specified.
|
|
514
514
|
deduplication = context?.queryDeduplication ??
|
|
515
515
|
this.queryDeduplication) {
|
|
@@ -588,14 +588,14 @@ export class QueryManager {
|
|
|
588
588
|
if (__DEV__) {
|
|
589
589
|
invariant(
|
|
590
590
|
this.localState,
|
|
591
|
-
|
|
591
|
+
93,
|
|
592
592
|
operation[0].toUpperCase() + operation.slice(1),
|
|
593
593
|
operationName ?? "(anonymous)"
|
|
594
594
|
);
|
|
595
595
|
}
|
|
596
596
|
invariant(
|
|
597
597
|
!hasIncrementalDirective,
|
|
598
|
-
|
|
598
|
+
94,
|
|
599
599
|
operation[0].toUpperCase() + operation.slice(1),
|
|
600
600
|
operationName ?? "(anonymous)"
|
|
601
601
|
);
|
|
@@ -606,6 +606,7 @@ export class QueryManager {
|
|
|
606
606
|
remoteResult: result,
|
|
607
607
|
context,
|
|
608
608
|
variables,
|
|
609
|
+
fetchPolicy,
|
|
609
610
|
}));
|
|
610
611
|
}));
|
|
611
612
|
}
|
|
@@ -618,14 +619,14 @@ export class QueryManager {
|
|
|
618
619
|
})),
|
|
619
620
|
};
|
|
620
621
|
}
|
|
621
|
-
getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, }) {
|
|
622
|
+
getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, exposeExtensions, }) {
|
|
622
623
|
const requestId = (queryInfo.lastRequestId = this.generateRequestId());
|
|
623
624
|
const { errorPolicy } = options;
|
|
624
625
|
// Performing transformForLink here gives this.cache a chance to fill in
|
|
625
626
|
// missing fragment definitions (for example) before sending this document
|
|
626
627
|
// through the link chain.
|
|
627
628
|
const linkDocument = this.cache.transformForLink(options.query);
|
|
628
|
-
return this.getObservableFromLink(linkDocument, options.context, options.variables).observable.pipe(map((incoming) => {
|
|
629
|
+
return this.getObservableFromLink(linkDocument, options.context, options.variables, options.fetchPolicy).observable.pipe(map((incoming) => {
|
|
629
630
|
// Use linkDocument rather than queryInfo.document so the
|
|
630
631
|
// operation/fragments used to write the result are the same as the
|
|
631
632
|
// ones used to obtain it from the link.
|
|
@@ -638,7 +639,7 @@ export class QueryManager {
|
|
|
638
639
|
if (hasErrors && errorPolicy === "none") {
|
|
639
640
|
queryInfo.resetLastWrite();
|
|
640
641
|
observableQuery?.["resetNotifications"]();
|
|
641
|
-
throw new CombinedGraphQLErrors(result);
|
|
642
|
+
throw new CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
|
|
642
643
|
}
|
|
643
644
|
const aqr = {
|
|
644
645
|
data: result.data,
|
|
@@ -656,6 +657,9 @@ export class QueryManager {
|
|
|
656
657
|
partial: !result.data,
|
|
657
658
|
}),
|
|
658
659
|
};
|
|
660
|
+
if (exposeExtensions && "extensions" in result) {
|
|
661
|
+
aqr[extensionsSymbol] = result.extensions;
|
|
662
|
+
}
|
|
659
663
|
// In the case we start multiple network requests simultaneously, we
|
|
660
664
|
// want to ensure we properly set `data` if we're reporting on an old
|
|
661
665
|
// result which will not be caught by the conditional above that ends up
|
|
@@ -666,7 +670,7 @@ export class QueryManager {
|
|
|
666
670
|
aqr.dataState = "empty";
|
|
667
671
|
}
|
|
668
672
|
if (errorPolicy !== "ignore") {
|
|
669
|
-
aqr.error = new CombinedGraphQLErrors(result);
|
|
673
|
+
aqr.error = new CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
|
|
670
674
|
if (aqr.dataState !== "streaming") {
|
|
671
675
|
aqr.networkStatus = NetworkStatus.error;
|
|
672
676
|
}
|
|
@@ -698,7 +702,7 @@ export class QueryManager {
|
|
|
698
702
|
// The initial networkStatus for this fetch, most often
|
|
699
703
|
// NetworkStatus.loading, but also possibly fetchMore, poll, refetch,
|
|
700
704
|
// or setVariables.
|
|
701
|
-
networkStatus = NetworkStatus.loading, query = options.query, fetchQueryOperator = (x) => x, onCacheHit = () => { }, observableQuery, }) {
|
|
705
|
+
networkStatus = NetworkStatus.loading, query = options.query, fetchQueryOperator = (x) => x, onCacheHit = () => { }, observableQuery, exposeExtensions, }) {
|
|
702
706
|
const variables = this.getVariables(query, options.variables);
|
|
703
707
|
const defaults = this.defaultOptions.watchQuery;
|
|
704
708
|
let { fetchPolicy = (defaults && defaults.fetchPolicy) || "cache-first", errorPolicy = (defaults && defaults.errorPolicy) || "none", returnPartialData = false, notifyOnNetworkStatusChange = true, context = {}, } = options;
|
|
@@ -728,7 +732,13 @@ export class QueryManager {
|
|
|
728
732
|
normalized.refetchWritePolicy !== "merge") ?
|
|
729
733
|
1 /* CacheWriteBehavior.OVERWRITE */
|
|
730
734
|
: 2 /* CacheWriteBehavior.MERGE */;
|
|
731
|
-
const observableWithInfo = this.fetchQueryByPolicy(normalized, {
|
|
735
|
+
const observableWithInfo = this.fetchQueryByPolicy(normalized, {
|
|
736
|
+
queryInfo,
|
|
737
|
+
cacheWriteBehavior,
|
|
738
|
+
onCacheHit,
|
|
739
|
+
observableQuery,
|
|
740
|
+
exposeExtensions,
|
|
741
|
+
});
|
|
732
742
|
observableWithInfo.observable =
|
|
733
743
|
observableWithInfo.observable.pipe(fetchQueryOperator);
|
|
734
744
|
if (
|
|
@@ -762,7 +772,7 @@ export class QueryManager {
|
|
|
762
772
|
// we deprecated and removed LocalState.
|
|
763
773
|
if (this.getDocumentInfo(normalized.query).hasClientExports) {
|
|
764
774
|
if (__DEV__) {
|
|
765
|
-
invariant(this.localState,
|
|
775
|
+
invariant(this.localState, 95, getOperationName(normalized.query, "(anonymous)"));
|
|
766
776
|
}
|
|
767
777
|
observable = from(this.localState.getExportedVariables({
|
|
768
778
|
client: this.client,
|
|
@@ -935,7 +945,7 @@ export class QueryManager {
|
|
|
935
945
|
!isFullyUnmaskedOperation(document) &&
|
|
936
946
|
!this.noCacheWarningsByCause.has(cause)) {
|
|
937
947
|
this.noCacheWarningsByCause.add(cause);
|
|
938
|
-
__DEV__ && invariant.warn(
|
|
948
|
+
__DEV__ && invariant.warn(96, getOperationName(document, `Unnamed ${operationType ?? "operation"}`));
|
|
939
949
|
}
|
|
940
950
|
}
|
|
941
951
|
return (this.dataMasking ?
|
|
@@ -948,7 +958,7 @@ export class QueryManager {
|
|
|
948
958
|
maskFragment(data, fragment, this.cache, fragmentName)
|
|
949
959
|
: data;
|
|
950
960
|
}
|
|
951
|
-
fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, }) {
|
|
961
|
+
fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, exposeExtensions, }) {
|
|
952
962
|
const readCache = () => this.cache.diff({
|
|
953
963
|
query,
|
|
954
964
|
variables,
|
|
@@ -993,7 +1003,7 @@ export class QueryManager {
|
|
|
993
1003
|
(diff.complete || returnPartialData) &&
|
|
994
1004
|
this.getDocumentInfo(query).hasForcedResolvers) {
|
|
995
1005
|
if (__DEV__) {
|
|
996
|
-
invariant(this.localState,
|
|
1006
|
+
invariant(this.localState, 97, getOperationName(query, "(anonymous)"));
|
|
997
1007
|
}
|
|
998
1008
|
onCacheHit();
|
|
999
1009
|
return from(this.localState.execute({
|
|
@@ -1004,6 +1014,7 @@ export class QueryManager {
|
|
|
1004
1014
|
variables,
|
|
1005
1015
|
onlyRunForcedResolvers: true,
|
|
1006
1016
|
returnPartialData: true,
|
|
1017
|
+
fetchPolicy,
|
|
1007
1018
|
}).then((resolved) => ({
|
|
1008
1019
|
kind: "N",
|
|
1009
1020
|
value: toResult(resolved.data || void 0),
|
|
@@ -1031,6 +1042,7 @@ export class QueryManager {
|
|
|
1031
1042
|
cacheWriteBehavior,
|
|
1032
1043
|
queryInfo,
|
|
1033
1044
|
observableQuery,
|
|
1045
|
+
exposeExtensions,
|
|
1034
1046
|
}).pipe(validateDidEmitValue(), materialize(), map((result) => ({
|
|
1035
1047
|
...result,
|
|
1036
1048
|
source: "network",
|
|
@@ -1084,7 +1096,7 @@ function validateDidEmitValue() {
|
|
|
1084
1096
|
didEmitValue = true;
|
|
1085
1097
|
},
|
|
1086
1098
|
complete() {
|
|
1087
|
-
invariant(didEmitValue,
|
|
1099
|
+
invariant(didEmitValue, 98);
|
|
1088
1100
|
},
|
|
1089
1101
|
});
|
|
1090
1102
|
}
|
|
@@ -1123,4 +1135,14 @@ function addNonReactiveToNamedFragments(document) {
|
|
|
1123
1135
|
},
|
|
1124
1136
|
});
|
|
1125
1137
|
}
|
|
1138
|
+
function removeStreamDetailsFromExtensions(original) {
|
|
1139
|
+
if (original.extensions?.[streamDetailsSymbol] == null) {
|
|
1140
|
+
return original;
|
|
1141
|
+
}
|
|
1142
|
+
const { extensions: { [streamDetailsSymbol]: _, ...extensions }, ...result } = original;
|
|
1143
|
+
if (Object.keys(extensions).length > 0) {
|
|
1144
|
+
result.extensions = extensions;
|
|
1145
|
+
}
|
|
1146
|
+
return result;
|
|
1147
|
+
}
|
|
1126
1148
|
//# sourceMappingURL=QueryManager.js.map
|