@apollo/client 4.3.0-alpha.1 → 4.3.0-alpha.3
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 +285 -0
- package/__cjs/cache/core/Scalar.cjs +36 -0
- package/__cjs/cache/core/Scalar.cjs.map +1 -0
- package/__cjs/cache/core/Scalar.d.cts +20 -0
- package/__cjs/cache/core/cache.cjs +8 -1
- package/__cjs/cache/core/cache.cjs.map +1 -1
- package/__cjs/cache/core/cache.d.cts +16 -0
- package/__cjs/cache/index.cjs +3 -1
- package/__cjs/cache/index.cjs.map +1 -1
- package/__cjs/cache/index.d.cts +3 -2
- package/__cjs/cache/inmemory/entityStore.cjs +45 -2
- package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/entityStore.d.cts +3 -0
- package/__cjs/cache/inmemory/helpers.d.cts +9 -1
- package/__cjs/cache/inmemory/inMemoryCache.cjs +73 -4
- package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
- package/__cjs/cache/inmemory/inMemoryCache.d.cts +35 -3
- package/__cjs/cache/inmemory/policies.cjs +8 -1
- package/__cjs/cache/inmemory/policies.cjs.map +1 -1
- package/__cjs/cache/inmemory/policies.d.cts +4 -1
- package/__cjs/cache/inmemory/readFromStore.cjs +16 -3
- package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
- package/__cjs/cache/inmemory/types.d.cts +20 -4
- package/__cjs/cache/inmemory/writeToStore.cjs +10 -6
- package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
- package/__cjs/core/ApolloClient.cjs +2 -2
- package/__cjs/core/ApolloClient.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.cjs +1 -3
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/QueryInfo.cjs +211 -37
- package/__cjs/core/QueryInfo.cjs.map +1 -1
- package/__cjs/core/QueryInfo.d.cts +5 -2
- package/__cjs/core/QueryManager.cjs +12 -18
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/QueryManager.d.cts +1 -3
- package/__cjs/core/index.cjs +2 -1
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +2 -2
- package/__cjs/invariantErrorCodes.cjs +12 -7
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +13 -13
- package/__cjs/utilities/index.cjs.map +1 -1
- package/__cjs/utilities/index.d.cts +1 -0
- package/__cjs/utilities/internal/collectSiblingFields.cjs +61 -0
- package/__cjs/utilities/internal/collectSiblingFields.cjs.map +1 -0
- package/__cjs/utilities/internal/collectSiblingFields.d.cts +21 -0
- package/__cjs/utilities/internal/getUnwrappedType.cjs +20 -0
- package/__cjs/utilities/internal/getUnwrappedType.cjs.map +1 -0
- package/__cjs/utilities/internal/getUnwrappedType.d.cts +8 -0
- package/__cjs/utilities/internal/index.cjs +10 -2
- package/__cjs/utilities/internal/index.cjs.map +1 -1
- package/__cjs/utilities/internal/index.d.cts +6 -0
- package/__cjs/utilities/internal/isDeferredFragment.cjs +23 -0
- package/__cjs/utilities/internal/isDeferredFragment.cjs.map +1 -0
- package/__cjs/utilities/internal/isDeferredFragment.d.cts +4 -0
- package/__cjs/utilities/internal/isTypenameField.cjs +7 -0
- package/__cjs/utilities/internal/isTypenameField.cjs.map +1 -0
- package/__cjs/utilities/internal/isTypenameField.d.cts +3 -0
- package/__cjs/utilities/internal/types/IsLooselyEqual.cjs +3 -0
- package/__cjs/utilities/internal/types/IsLooselyEqual.cjs.map +1 -0
- package/__cjs/utilities/internal/types/IsLooselyEqual.d.cts +10 -0
- package/__cjs/utilities/policies/pagination.cjs.map +1 -1
- package/__cjs/utilities/policies/pagination.d.cts +1 -1
- package/__cjs/utilities/subscriptions/relay/index.cjs +1 -0
- package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
- package/__cjs/version.cjs +1 -1
- package/cache/core/Scalar.d.ts +20 -0
- package/cache/core/Scalar.js +32 -0
- package/cache/core/Scalar.js.map +1 -0
- package/cache/core/cache.d.ts +16 -0
- package/cache/core/cache.js +8 -1
- package/cache/core/cache.js.map +1 -1
- package/cache/index.d.ts +3 -2
- package/cache/index.js +1 -0
- package/cache/index.js.map +1 -1
- package/cache/inmemory/entityStore.d.ts +3 -0
- package/cache/inmemory/entityStore.js +46 -3
- package/cache/inmemory/entityStore.js.map +1 -1
- package/cache/inmemory/helpers.d.ts +9 -1
- package/cache/inmemory/inMemoryCache.d.ts +35 -3
- package/cache/inmemory/inMemoryCache.js +74 -5
- package/cache/inmemory/inMemoryCache.js.map +1 -1
- package/cache/inmemory/policies.d.ts +4 -1
- package/cache/inmemory/policies.js +8 -1
- package/cache/inmemory/policies.js.map +1 -1
- package/cache/inmemory/readFromStore.js +11 -2
- package/cache/inmemory/readFromStore.js.map +1 -1
- package/cache/inmemory/types.d.ts +20 -4
- package/cache/inmemory/types.js.map +1 -1
- package/cache/inmemory/writeToStore.js +11 -7
- package/cache/inmemory/writeToStore.js.map +1 -1
- package/core/ApolloClient.js +2 -2
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.js +1 -3
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryInfo.d.ts +5 -2
- package/core/QueryInfo.js +212 -38
- package/core/QueryInfo.js.map +1 -1
- package/core/QueryManager.d.ts +1 -3
- package/core/QueryManager.js +12 -18
- package/core/QueryManager.js.map +1 -1
- package/core/index.d.ts +2 -2
- package/core/index.js +1 -1
- package/core/index.js.map +1 -1
- package/invariantErrorCodes.js +12 -7
- package/package.json +1 -1
- package/react/hooks/useLazyQuery.d.ts +13 -13
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks-compiled/useLazyQuery.d.ts +13 -13
- package/react/hooks-compiled/useLazyQuery.js.map +1 -1
- package/utilities/index.d.ts +1 -0
- package/utilities/index.js.map +1 -1
- package/utilities/internal/collectSiblingFields.d.ts +21 -0
- package/utilities/internal/collectSiblingFields.js +58 -0
- package/utilities/internal/collectSiblingFields.js.map +1 -0
- package/utilities/internal/getUnwrappedType.d.ts +8 -0
- package/utilities/internal/getUnwrappedType.js +17 -0
- package/utilities/internal/getUnwrappedType.js.map +1 -0
- package/utilities/internal/index.d.ts +6 -0
- package/utilities/internal/index.js +4 -0
- package/utilities/internal/index.js.map +1 -1
- package/utilities/internal/isDeferredFragment.d.ts +4 -0
- package/utilities/internal/isDeferredFragment.js +20 -0
- package/utilities/internal/isDeferredFragment.js.map +1 -0
- package/utilities/internal/isTypenameField.d.ts +3 -0
- package/utilities/internal/isTypenameField.js +4 -0
- package/utilities/internal/isTypenameField.js.map +1 -0
- package/utilities/internal/types/IsLooselyEqual.d.ts +10 -0
- package/utilities/internal/types/IsLooselyEqual.js +2 -0
- package/utilities/internal/types/IsLooselyEqual.js.map +1 -0
- package/utilities/policies/pagination.d.ts +1 -1
- package/utilities/policies/pagination.js.map +1 -1
- package/utilities/subscriptions/relay/index.js +1 -0
- package/utilities/subscriptions/relay/index.js.map +1 -1
- package/version.js +1 -1
package/core/QueryManager.js
CHANGED
|
@@ -117,7 +117,7 @@ export class QueryManager {
|
|
|
117
117
|
const mutationStoreValue = this.mutationStore &&
|
|
118
118
|
(this.mutationStore[queryInfo.id] = {
|
|
119
119
|
mutation,
|
|
120
|
-
variables,
|
|
120
|
+
variables: this.cache.serializeVariables(mutation, variables),
|
|
121
121
|
loading: true,
|
|
122
122
|
error: null,
|
|
123
123
|
});
|
|
@@ -330,10 +330,6 @@ export class QueryManager {
|
|
|
330
330
|
}),
|
|
331
331
|
}));
|
|
332
332
|
}
|
|
333
|
-
requestIdCounter = 1;
|
|
334
|
-
generateRequestId() {
|
|
335
|
-
return this.requestIdCounter++;
|
|
336
|
-
}
|
|
337
333
|
clearStore(options = {
|
|
338
334
|
discardWatches: true,
|
|
339
335
|
}) {
|
|
@@ -519,6 +515,7 @@ export class QueryManager {
|
|
|
519
515
|
const executeContext = {
|
|
520
516
|
client: this.client,
|
|
521
517
|
};
|
|
518
|
+
variables = this.cache.serializeVariables(query, variables);
|
|
522
519
|
if (serverQuery) {
|
|
523
520
|
const { inFlightLinkObservables, link } = this;
|
|
524
521
|
try {
|
|
@@ -620,7 +617,6 @@ export class QueryManager {
|
|
|
620
617
|
};
|
|
621
618
|
}
|
|
622
619
|
getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, exposeExtensions, }) {
|
|
623
|
-
const requestId = (queryInfo.lastRequestId = this.generateRequestId());
|
|
624
620
|
const { errorPolicy } = options;
|
|
625
621
|
// Performing transformForLink here gives this.cache a chance to fill in
|
|
626
622
|
// missing fragment definitions (for example) before sending this document
|
|
@@ -630,10 +626,11 @@ export class QueryManager {
|
|
|
630
626
|
// Use linkDocument rather than queryInfo.document so the
|
|
631
627
|
// operation/fragments used to write the result are the same as the
|
|
632
628
|
// ones used to obtain it from the link.
|
|
633
|
-
const result = queryInfo.markQueryResult(incoming, {
|
|
629
|
+
const { dataState, ...result } = queryInfo.markQueryResult(incoming, {
|
|
634
630
|
...options,
|
|
635
631
|
document: linkDocument,
|
|
636
632
|
cacheWriteBehavior,
|
|
633
|
+
returnPartialData: options.returnPartialData,
|
|
637
634
|
});
|
|
638
635
|
const hasErrors = graphQLResultHasError(result);
|
|
639
636
|
if (hasErrors && errorPolicy === "none") {
|
|
@@ -641,29 +638,26 @@ export class QueryManager {
|
|
|
641
638
|
observableQuery?.["resetNotifications"]();
|
|
642
639
|
throw new CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
|
|
643
640
|
}
|
|
641
|
+
const partial = dataState !== "complete";
|
|
644
642
|
const aqr = {
|
|
645
643
|
data: result.data,
|
|
646
644
|
...(queryInfo.hasNext ?
|
|
647
645
|
{
|
|
648
646
|
loading: true,
|
|
649
647
|
networkStatus: NetworkStatus.streaming,
|
|
650
|
-
dataState
|
|
651
|
-
partial
|
|
648
|
+
dataState,
|
|
649
|
+
partial,
|
|
652
650
|
}
|
|
653
651
|
: {
|
|
654
|
-
dataState
|
|
652
|
+
dataState,
|
|
655
653
|
loading: false,
|
|
656
654
|
networkStatus: NetworkStatus.ready,
|
|
657
|
-
partial
|
|
655
|
+
partial,
|
|
658
656
|
}),
|
|
659
657
|
};
|
|
660
658
|
if (exposeExtensions && "extensions" in result) {
|
|
661
659
|
aqr[extensionsSymbol] = result.extensions;
|
|
662
660
|
}
|
|
663
|
-
// In the case we start multiple network requests simultaneously, we
|
|
664
|
-
// want to ensure we properly set `data` if we're reporting on an old
|
|
665
|
-
// result which will not be caught by the conditional above that ends up
|
|
666
|
-
// throwing the markError result.
|
|
667
661
|
if (hasErrors) {
|
|
668
662
|
if (errorPolicy === "none") {
|
|
669
663
|
aqr.data = void 0;
|
|
@@ -671,15 +665,14 @@ export class QueryManager {
|
|
|
671
665
|
}
|
|
672
666
|
if (errorPolicy !== "ignore") {
|
|
673
667
|
aqr.error = new CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
|
|
674
|
-
if (aqr.
|
|
668
|
+
if (aqr.networkStatus !== NetworkStatus.streaming) {
|
|
675
669
|
aqr.networkStatus = NetworkStatus.error;
|
|
676
670
|
}
|
|
677
671
|
}
|
|
678
672
|
}
|
|
679
673
|
return aqr;
|
|
680
674
|
}), catchError((error) => {
|
|
681
|
-
|
|
682
|
-
if (requestId >= queryInfo.lastRequestId && errorPolicy === "none") {
|
|
675
|
+
if (errorPolicy === "none") {
|
|
683
676
|
queryInfo.resetLastWrite();
|
|
684
677
|
observableQuery?.["resetNotifications"]();
|
|
685
678
|
throw error;
|
|
@@ -1037,6 +1030,7 @@ export class QueryManager {
|
|
|
1037
1030
|
context,
|
|
1038
1031
|
fetchPolicy,
|
|
1039
1032
|
errorPolicy,
|
|
1033
|
+
returnPartialData,
|
|
1040
1034
|
}, {
|
|
1041
1035
|
cacheWriteBehavior,
|
|
1042
1036
|
queryInfo,
|