@apollo/client 4.0.0-alpha.22 → 4.0.0-alpha.23
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 +238 -2
- package/__cjs/cache/core/cache.cjs +1 -1
- package/__cjs/cache/inmemory/entityStore.cjs +3 -3
- 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 +4 -4
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
- package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
- package/__cjs/core/ApolloClient.cjs +15 -13
- package/__cjs/core/ApolloClient.cjs.map +1 -1
- package/__cjs/core/ApolloClient.d.cts +8 -3
- package/__cjs/core/ObservableQuery.cjs +52 -48
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +48 -14
- package/__cjs/core/QueryInfo.cjs +146 -168
- package/__cjs/core/QueryInfo.cjs.map +1 -1
- package/__cjs/core/QueryInfo.d.cts +14 -11
- package/__cjs/core/QueryManager.cjs +121 -111
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/QueryManager.d.cts +4 -0
- package/__cjs/core/index.cjs +2 -1
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +4 -4
- package/__cjs/core/types.d.cts +68 -15
- package/__cjs/core/watchQueryOptions.d.cts +2 -24
- package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
- package/__cjs/errors/CombinedGraphQLErrors.cjs +6 -3
- package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
- package/__cjs/errors/CombinedGraphQLErrors.d.cts +7 -2
- package/__cjs/errors/index.cjs +1 -1
- package/__cjs/errors/index.cjs.map +1 -1
- package/__cjs/errors/index.d.cts +1 -3
- package/__cjs/incremental/handlers/defer20220824.cjs +102 -0
- package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
- package/__cjs/incremental/handlers/defer20220824.d.cts +55 -0
- package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
- package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
- package/__cjs/incremental/handlers/notImplemented.d.cts +9 -0
- package/__cjs/incremental/index.cjs +9 -0
- package/__cjs/incremental/index.cjs.map +1 -0
- package/__cjs/incremental/index.d.cts +4 -0
- package/__cjs/incremental/types.cjs +3 -0
- package/__cjs/incremental/types.cjs.map +1 -0
- package/__cjs/incremental/types.d.cts +24 -0
- package/__cjs/invariantErrorCodes.cjs +62 -45
- package/__cjs/link/context/index.cjs +36 -25
- package/__cjs/link/context/index.cjs.map +1 -1
- package/__cjs/link/context/index.d.cts +8 -1
- package/__cjs/link/core/types.d.cts +4 -32
- package/__cjs/link/error/index.cjs +68 -65
- package/__cjs/link/error/index.cjs.map +1 -1
- package/__cjs/link/error/index.d.cts +15 -14
- package/__cjs/link/http/BaseHttpLink.cjs +0 -6
- package/__cjs/link/http/BaseHttpLink.cjs.map +1 -1
- package/__cjs/link/http/HttpLink.cjs +4 -0
- package/__cjs/link/http/HttpLink.cjs.map +1 -1
- package/__cjs/link/http/HttpLink.d.cts +4 -0
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs +45 -57
- package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
- package/__cjs/link/index.cjs.map +1 -1
- package/__cjs/link/index.d.cts +1 -1
- package/__cjs/link/persisted-queries/index.cjs +158 -142
- package/__cjs/link/persisted-queries/index.cjs.map +1 -1
- package/__cjs/link/persisted-queries/index.d.cts +19 -19
- package/__cjs/link/remove-typename/index.cjs +2 -1
- package/__cjs/link/remove-typename/index.cjs.map +1 -1
- package/__cjs/link/remove-typename/index.d.cts +1 -1
- package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +34 -23
- package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
- package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +8 -9
- package/__cjs/local-state/LocalState.cjs.map +1 -1
- package/__cjs/local-state/LocalState.d.cts +3 -4
- package/__cjs/masking/types.d.cts +6 -5
- package/__cjs/react/hooks/useBackgroundQuery.cjs +1 -0
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useFragment.cjs +1 -0
- package/__cjs/react/hooks/useFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.cjs +2 -2
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +2 -7
- package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.cjs.map +1 -1
- package/__cjs/react/hooks/useMutation.d.cts +2 -2
- package/__cjs/react/hooks/useQuery.cjs +23 -21
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +3 -8
- package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -0
- package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
- package/__cjs/react/hooks/useReadQuery.cjs +1 -0
- package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -0
- package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.cjs +1 -0
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/internal/cache/QueryReference.cjs +4 -4
- package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/QueryReference.d.cts +2 -3
- package/__cjs/react/internal/types.d.cts +2 -7
- package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +9 -0
- package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
- package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +3 -0
- package/__cjs/utilities/index.cjs +3 -1
- package/__cjs/utilities/index.cjs.map +1 -1
- package/__cjs/utilities/index.d.cts +1 -0
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +1 -12
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -1
- package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +4 -2
- package/__cjs/utilities/internal/graphQLResultHasError.cjs +1 -4
- package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -1
- package/__cjs/utilities/internal/graphQLResultHasError.d.cts +2 -2
- package/__cjs/utilities/internal/index.cjs +2 -10
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +0 -4
- package/__cjs/version.cjs +3 -2
- package/__cjs/version.cjs.map +1 -1
- package/__cjs/version.d.cts +1 -0
- package/cache/core/cache.js +1 -1
- package/cache/inmemory/entityStore.js +3 -3
- package/cache/inmemory/key-extractor.js +1 -1
- package/cache/inmemory/key-extractor.js.map +1 -1
- package/cache/inmemory/policies.js +4 -4
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.js +2 -2
- package/cache/inmemory/writeToStore.js +4 -4
- package/core/ApolloClient.d.ts +8 -3
- package/core/ApolloClient.js +15 -13
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts +48 -14
- package/core/ObservableQuery.js +53 -49
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +14 -11
- package/core/QueryInfo.js +147 -169
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +4 -0
- package/core/QueryManager.js +123 -113
- package/core/QueryManager.js.map +1 -1
- package/core/index.d.ts +4 -4
- package/core/index.js +1 -1
- package/core/index.js.map +1 -1
- package/core/types.d.ts +68 -15
- package/core/watchQueryOptions.d.ts +2 -24
- package/dev/setErrorMessageHandler.js.map +1 -1
- package/errors/CombinedGraphQLErrors.d.ts +7 -2
- package/errors/CombinedGraphQLErrors.js +6 -3
- package/errors/CombinedGraphQLErrors.js.map +1 -1
- package/errors/index.d.ts +1 -3
- package/errors/index.js +1 -1
- package/errors/index.js.map +1 -1
- package/incremental/handlers/defer20220824.d.ts +55 -0
- package/incremental/handlers/defer20220824.js +97 -0
- package/incremental/handlers/defer20220824.js.map +1 -0
- package/incremental/handlers/notImplemented.d.ts +9 -0
- package/incremental/handlers/notImplemented.js +15 -0
- package/incremental/handlers/notImplemented.js.map +1 -0
- package/incremental/index.d.ts +4 -0
- package/incremental/index.js +3 -0
- package/incremental/index.js.map +1 -0
- package/incremental/types.d.ts +24 -0
- package/incremental/types.js +2 -0
- package/incremental/types.js.map +1 -0
- package/invariantErrorCodes.js +63 -49
- package/legacyEntryPoints/incremental/incremental.cjs +1 -0
- package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
- package/legacyEntryPoints/incremental/index.d.ts +1 -0
- package/legacyEntryPoints/incremental/index.js +1 -0
- package/link/context/index.d.ts +8 -1
- package/link/context/index.js +34 -25
- package/link/context/index.js.map +1 -1
- package/link/core/types.d.ts +4 -32
- package/link/error/index.d.ts +15 -14
- package/link/error/index.js +68 -65
- package/link/error/index.js.map +1 -1
- package/link/http/BaseHttpLink.js +1 -7
- package/link/http/BaseHttpLink.js.map +1 -1
- package/link/http/HttpLink.d.ts +4 -0
- package/link/http/HttpLink.js +4 -0
- package/link/http/HttpLink.js.map +1 -1
- package/link/http/parseAndCheckHttpResponse.js +45 -57
- package/link/http/parseAndCheckHttpResponse.js.map +1 -1
- package/link/index.d.ts +1 -1
- package/link/index.js.map +1 -1
- package/link/persisted-queries/index.d.ts +19 -19
- package/link/persisted-queries/index.js +156 -141
- package/link/persisted-queries/index.js.map +1 -1
- package/link/remove-typename/index.d.ts +1 -1
- package/link/remove-typename/index.js +1 -1
- package/link/remove-typename/index.js.map +1 -1
- package/link/remove-typename/removeTypenameFromVariables.d.ts +8 -9
- package/link/remove-typename/removeTypenameFromVariables.js +32 -22
- package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
- package/local-state/LocalState.d.ts +3 -4
- package/local-state/LocalState.js.map +1 -1
- package/masking/types.d.ts +6 -5
- package/package.json +9 -2
- package/react/hooks/useApolloClient.js +14 -1
- package/react/hooks/useApolloClient.js.map +1 -1
- package/react/hooks/useBackgroundQuery.js +7 -6
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useFragment.js +12 -11
- package/react/hooks/useFragment.js.map +1 -1
- package/react/hooks/useLazyQuery.d.ts +2 -7
- package/react/hooks/useLazyQuery.js +15 -15
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useLoadableQuery.js +229 -69
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useMutation.d.ts +2 -2
- package/react/hooks/useMutation.js +191 -81
- package/react/hooks/useMutation.js.map +1 -1
- package/react/hooks/useQuery.d.ts +3 -8
- package/react/hooks/useQuery.js +243 -70
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.js +64 -23
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useReadQuery.js +3 -2
- package/react/hooks/useReadQuery.js.map +1 -1
- package/react/hooks/useSubscription.js +4 -4
- package/react/hooks/useSubscription.js.map +1 -1
- package/react/hooks/useSuspenseFragment.js +1 -0
- package/react/hooks/useSuspenseFragment.js.map +1 -1
- package/react/hooks/useSuspenseQuery.js +59 -33
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/internal/cache/QueryReference.d.ts +2 -3
- package/react/internal/cache/QueryReference.js +4 -4
- package/react/internal/cache/QueryReference.js.map +1 -1
- package/react/internal/types.d.ts +2 -7
- package/utilities/graphql/isFormattedExecutionResult.d.ts +3 -0
- package/utilities/graphql/isFormattedExecutionResult.js +6 -0
- package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
- package/utilities/index.d.ts +1 -0
- package/utilities/index.js +1 -0
- package/utilities/index.js.map +1 -1
- package/utilities/internal/getGraphQLErrorsFromResult.d.ts +4 -2
- package/utilities/internal/getGraphQLErrorsFromResult.js +1 -12
- package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -1
- package/utilities/internal/graphQLResultHasError.d.ts +2 -2
- package/utilities/internal/graphQLResultHasError.js +1 -4
- package/utilities/internal/graphQLResultHasError.js.map +1 -1
- package/utilities/internal/index.d.ts +0 -4
- package/utilities/internal/index.js +0 -4
- package/utilities/internal/index.js.map +1 -1
- package/version.d.ts +1 -0
- package/version.js +2 -1
- package/version.js.map +1 -1
- package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs +0 -12
- package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs.map +0 -1
- package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.d.cts +0 -8
- package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs +0 -12
- package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs.map +0 -1
- package/__cjs/utilities/internal/isExecutionPatchIninitialResult.d.cts +0 -8
- package/__cjs/utilities/internal/isExecutionPatchResult.cjs +0 -15
- package/__cjs/utilities/internal/isExecutionPatchResult.cjs.map +0 -1
- package/__cjs/utilities/internal/isExecutionPatchResult.d.cts +0 -8
- package/__cjs/utilities/internal/mergeIncrementalData.cjs +0 -30
- package/__cjs/utilities/internal/mergeIncrementalData.cjs.map +0 -1
- package/__cjs/utilities/internal/mergeIncrementalData.d.cts +0 -8
- package/utilities/internal/isExecutionPatchIncrementalResult.d.ts +0 -8
- package/utilities/internal/isExecutionPatchIncrementalResult.js +0 -9
- package/utilities/internal/isExecutionPatchIncrementalResult.js.map +0 -1
- package/utilities/internal/isExecutionPatchIninitialResult.d.ts +0 -8
- package/utilities/internal/isExecutionPatchIninitialResult.js +0 -9
- package/utilities/internal/isExecutionPatchIninitialResult.js.map +0 -1
- package/utilities/internal/isExecutionPatchResult.d.ts +0 -8
- package/utilities/internal/isExecutionPatchResult.js +0 -12
- package/utilities/internal/isExecutionPatchResult.js.map +0 -1
- package/utilities/internal/mergeIncrementalData.d.ts +0 -8
- package/utilities/internal/mergeIncrementalData.js +0 -27
- package/utilities/internal/mergeIncrementalData.js.map +0 -1
|
@@ -191,13 +191,6 @@ class ObservableQuery {
|
|
|
191
191
|
const fetchPolicy = this.queryManager.prioritizeCacheValues ?
|
|
192
192
|
"cache-first"
|
|
193
193
|
: initialFetchPolicy || this.options.fetchPolicy;
|
|
194
|
-
const defaultResult = {
|
|
195
|
-
data: undefined,
|
|
196
|
-
dataState: "empty",
|
|
197
|
-
loading: true,
|
|
198
|
-
networkStatus: networkStatus_js_1.NetworkStatus.loading,
|
|
199
|
-
partial: true,
|
|
200
|
-
};
|
|
201
194
|
const cacheResult = () => {
|
|
202
195
|
const diff = this.getCacheDiff();
|
|
203
196
|
// TODO: queryInfo.getDiff should handle this since cache.diff returns a
|
|
@@ -216,7 +209,13 @@ class ObservableQuery {
|
|
|
216
209
|
});
|
|
217
210
|
};
|
|
218
211
|
switch (fetchPolicy) {
|
|
219
|
-
case "cache-only":
|
|
212
|
+
case "cache-only": {
|
|
213
|
+
return {
|
|
214
|
+
...cacheResult(),
|
|
215
|
+
loading: false,
|
|
216
|
+
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
217
|
+
};
|
|
218
|
+
}
|
|
220
219
|
case "cache-first":
|
|
221
220
|
return cacheResult();
|
|
222
221
|
case "cache-and-network":
|
|
@@ -226,13 +225,9 @@ class ObservableQuery {
|
|
|
226
225
|
networkStatus: networkStatus_js_1.NetworkStatus.loading,
|
|
227
226
|
};
|
|
228
227
|
case "standby":
|
|
229
|
-
return
|
|
230
|
-
...defaultResult,
|
|
231
|
-
loading: false,
|
|
232
|
-
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
233
|
-
};
|
|
228
|
+
return empty;
|
|
234
229
|
default:
|
|
235
|
-
return
|
|
230
|
+
return uninitialized;
|
|
236
231
|
}
|
|
237
232
|
}
|
|
238
233
|
resubscribeCache() {
|
|
@@ -335,6 +330,7 @@ class ObservableQuery {
|
|
|
335
330
|
* the previous values of those variables will be used.
|
|
336
331
|
*/
|
|
337
332
|
refetch(variables) {
|
|
333
|
+
const { fetchPolicy } = this.options;
|
|
338
334
|
const reobserveOptions = {
|
|
339
335
|
// Always disable polling for refetches.
|
|
340
336
|
pollInterval: 0,
|
|
@@ -342,7 +338,6 @@ class ObservableQuery {
|
|
|
342
338
|
// Unless the provided fetchPolicy always consults the network
|
|
343
339
|
// (no-cache, network-only, or cache-and-network), override it with
|
|
344
340
|
// network-only to force the refetch for this fetchQuery call.
|
|
345
|
-
const { fetchPolicy } = this.options;
|
|
346
341
|
if (fetchPolicy === "no-cache") {
|
|
347
342
|
reobserveOptions.fetchPolicy = "no-cache";
|
|
348
343
|
}
|
|
@@ -353,7 +348,7 @@ class ObservableQuery {
|
|
|
353
348
|
const queryDef = (0, internal_1.getQueryDefinition)(this.query);
|
|
354
349
|
const vars = queryDef.variableDefinitions;
|
|
355
350
|
if (!vars || !vars.some((v) => v.variable.name.value === "variables")) {
|
|
356
|
-
__DEV__ && invariant_1.invariant.warn(
|
|
351
|
+
__DEV__ && invariant_1.invariant.warn(79, variables, queryDef.name?.value || queryDef);
|
|
357
352
|
}
|
|
358
353
|
}
|
|
359
354
|
if (variables && !(0, equality_1.equal)(this.variables, variables)) {
|
|
@@ -369,16 +364,21 @@ class ObservableQuery {
|
|
|
369
364
|
/**
|
|
370
365
|
* A function that helps you fetch the next set of results for a [paginated list field](https://www.apollographql.com/docs/react/pagination/core-api/).
|
|
371
366
|
*/
|
|
372
|
-
fetchMore(
|
|
367
|
+
fetchMore({ query, variables, context, errorPolicy, updateQuery, }) {
|
|
368
|
+
(0, invariant_1.invariant)(
|
|
369
|
+
this.options.fetchPolicy !== "cache-only",
|
|
370
|
+
80,
|
|
371
|
+
(0, internal_1.getOperationName)(this.query, "(anonymous)")
|
|
372
|
+
);
|
|
373
373
|
const combinedOptions = {
|
|
374
|
-
...(
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
374
|
+
...(0, internal_1.compact)(this.options, { errorPolicy: "none" }, {
|
|
375
|
+
query,
|
|
376
|
+
context,
|
|
377
|
+
errorPolicy,
|
|
378
|
+
}),
|
|
379
|
+
variables: (query ? variables : ({
|
|
380
|
+
...this.variables,
|
|
381
|
+
...variables,
|
|
382
382
|
})),
|
|
383
383
|
// The fetchMore request goes immediately to the network and does
|
|
384
384
|
// not automatically write its result to the cache (hence no-cache
|
|
@@ -395,14 +395,13 @@ class ObservableQuery {
|
|
|
395
395
|
// as well as the document passed in `fetchMoreOptions` to ensure the cache
|
|
396
396
|
// uses the most up-to-date document which may rely on runtime conditionals.
|
|
397
397
|
this.lastQuery =
|
|
398
|
-
|
|
398
|
+
query ?
|
|
399
399
|
this.transformDocument(this.options.query)
|
|
400
400
|
: combinedOptions.query;
|
|
401
401
|
let wasUpdated = false;
|
|
402
|
-
const updateQuery = fetchMoreOptions?.updateQuery;
|
|
403
402
|
const isCached = this.options.fetchPolicy !== "no-cache";
|
|
404
403
|
if (!isCached) {
|
|
405
|
-
(0, invariant_1.invariant)(updateQuery,
|
|
404
|
+
(0, invariant_1.invariant)(updateQuery, 81);
|
|
406
405
|
}
|
|
407
406
|
const { finalize, pushNotification } = this.pushOperation(networkStatus_js_1.NetworkStatus.fetchMore);
|
|
408
407
|
pushNotification({
|
|
@@ -426,7 +425,6 @@ class ObservableQuery {
|
|
|
426
425
|
// fetchMore cache results back to this ObservableQuery.
|
|
427
426
|
this.queryManager.cache.batch({
|
|
428
427
|
update: (cache) => {
|
|
429
|
-
const { updateQuery } = fetchMoreOptions;
|
|
430
428
|
if (updateQuery) {
|
|
431
429
|
cache.updateQuery({
|
|
432
430
|
query: this.query,
|
|
@@ -535,7 +533,7 @@ class ObservableQuery {
|
|
|
535
533
|
onError(error);
|
|
536
534
|
}
|
|
537
535
|
else {
|
|
538
|
-
__DEV__ && invariant_1.invariant.error(
|
|
536
|
+
__DEV__ && invariant_1.invariant.error(82, error);
|
|
539
537
|
}
|
|
540
538
|
return;
|
|
541
539
|
}
|
|
@@ -559,9 +557,10 @@ class ObservableQuery {
|
|
|
559
557
|
*
|
|
560
558
|
* @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
|
|
561
559
|
*/
|
|
562
|
-
|
|
560
|
+
applyOptions(newOptions) {
|
|
563
561
|
const mergedOptions = (0, internal_1.compact)(this.options, newOptions || {});
|
|
564
562
|
assign(this.options, mergedOptions);
|
|
563
|
+
this.updatePolling();
|
|
565
564
|
}
|
|
566
565
|
/**
|
|
567
566
|
* Update the variables of this observable query, and fetch the new results
|
|
@@ -768,20 +767,28 @@ class ObservableQuery {
|
|
|
768
767
|
return { fromLink, subscription, observable };
|
|
769
768
|
}
|
|
770
769
|
// Turns polling on or off based on this.options.pollInterval.
|
|
770
|
+
didWarnCacheOnlyPolling = false;
|
|
771
771
|
updatePolling() {
|
|
772
772
|
// Avoid polling in SSR mode
|
|
773
773
|
if (this.queryManager.ssrMode) {
|
|
774
774
|
return;
|
|
775
775
|
}
|
|
776
|
-
const { pollingInfo, options: { pollInterval }, } = this;
|
|
777
|
-
if (!pollInterval || !this.hasObservers()) {
|
|
776
|
+
const { pollingInfo, options: { fetchPolicy, pollInterval }, } = this;
|
|
777
|
+
if (!pollInterval || !this.hasObservers() || fetchPolicy === "cache-only") {
|
|
778
|
+
if (environment_1.__DEV__) {
|
|
779
|
+
if (!this.didWarnCacheOnlyPolling &&
|
|
780
|
+
pollInterval &&
|
|
781
|
+
fetchPolicy === "cache-only") {
|
|
782
|
+
__DEV__ && invariant_1.invariant.warn(83, (0, internal_1.getOperationName)(this.query, "(anonymous)"));
|
|
783
|
+
this.didWarnCacheOnlyPolling = true;
|
|
784
|
+
}
|
|
785
|
+
}
|
|
778
786
|
this.cancelPolling();
|
|
779
787
|
return;
|
|
780
788
|
}
|
|
781
|
-
if (pollingInfo
|
|
789
|
+
if (pollingInfo?.interval === pollInterval) {
|
|
782
790
|
return;
|
|
783
791
|
}
|
|
784
|
-
(0, invariant_1.invariant)(pollInterval, 81);
|
|
785
792
|
const info = pollingInfo || (this.pollingInfo = {});
|
|
786
793
|
info.interval = pollInterval;
|
|
787
794
|
const maybeFetch = () => {
|
|
@@ -981,17 +988,14 @@ class ObservableQuery {
|
|
|
981
988
|
return this.queryManager.transform(document);
|
|
982
989
|
}
|
|
983
990
|
maskResult(result) {
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
}),
|
|
993
|
-
}
|
|
994
|
-
: result;
|
|
991
|
+
const masked = this.queryManager.maskOperation({
|
|
992
|
+
document: this.query,
|
|
993
|
+
data: result.data,
|
|
994
|
+
fetchPolicy: this.options.fetchPolicy,
|
|
995
|
+
cause: this,
|
|
996
|
+
});
|
|
997
|
+
// Maintain object identity as much as possible
|
|
998
|
+
return masked === result.data ? result : { ...result, data: masked };
|
|
995
999
|
}
|
|
996
1000
|
dirty = false;
|
|
997
1001
|
notifyTimeout;
|
|
@@ -1198,7 +1202,7 @@ class ObservableQuery {
|
|
|
1198
1202
|
loading: false,
|
|
1199
1203
|
}
|
|
1200
1204
|
: notification.value;
|
|
1201
|
-
if (
|
|
1205
|
+
if (notification.kind === "E" && result.dataState === "streaming") {
|
|
1202
1206
|
result.dataState = "complete";
|
|
1203
1207
|
}
|
|
1204
1208
|
if (result.error) {
|
|
@@ -1268,7 +1272,7 @@ class ObservableQuery {
|
|
|
1268
1272
|
exports.ObservableQuery = ObservableQuery;
|
|
1269
1273
|
function logMissingFieldErrors(missing) {
|
|
1270
1274
|
if (environment_1.__DEV__ && missing) {
|
|
1271
|
-
__DEV__ && invariant_1.invariant.debug(
|
|
1275
|
+
__DEV__ && invariant_1.invariant.debug(84, missing);
|
|
1272
1276
|
}
|
|
1273
1277
|
}
|
|
1274
1278
|
function isEqualQuery(a, b) {
|