@apollo/client 4.0.0-alpha.16 → 4.0.0-alpha.17
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 +88 -0
- package/__cjs/core/ObservableQuery.cjs +104 -48
- package/__cjs/core/ObservableQuery.cjs.map +1 -1
- package/__cjs/core/ObservableQuery.d.cts +19 -2
- package/__cjs/core/QueryManager.cjs +19 -2
- package/__cjs/core/QueryManager.cjs.map +1 -1
- package/__cjs/core/index.cjs.map +1 -1
- package/__cjs/core/index.d.cts +1 -1
- package/__cjs/core/types.d.cts +25 -3
- package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useBackgroundQuery.d.cts +50 -14
- package/__cjs/react/hooks/useLazyQuery.cjs +1 -0
- package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLazyQuery.d.cts +28 -53
- package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useLoadableQuery.d.cts +7 -8
- package/__cjs/react/hooks/useQuery.cjs +3 -2
- package/__cjs/react/hooks/useQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useQuery.d.cts +10 -48
- package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
- package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
- package/__cjs/react/hooks/useReadQuery.cjs +1 -0
- package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useReadQuery.d.cts +4 -11
- package/__cjs/react/hooks/useSuspenseQuery.cjs +2 -0
- package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
- package/__cjs/react/hooks/useSuspenseQuery.d.cts +12 -24
- package/__cjs/react/index.cjs.map +1 -1
- package/__cjs/react/index.d.cts +1 -1
- package/__cjs/react/internal/cache/QueryReference.cjs +7 -1
- package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
- package/__cjs/react/internal/cache/QueryReference.d.cts +25 -65
- package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
- package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
- package/__cjs/react/internal/index.cjs.map +1 -1
- package/__cjs/react/internal/index.d.cts +1 -1
- package/__cjs/react/internal/types.d.cts +2 -2
- package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
- package/__cjs/react/query-preloader/createQueryPreloader.d.cts +4 -5
- package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
- package/__cjs/react/ssr/useSSRQuery.cjs +1 -0
- package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
- package/__cjs/react/types/types.documentation.d.cts +12 -0
- package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
- package/__cjs/version.cjs +1 -1
- package/core/ObservableQuery.d.ts +19 -2
- package/core/ObservableQuery.js +105 -49
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryManager.js +19 -2
- package/core/QueryManager.js.map +1 -1
- package/core/index.d.ts +1 -1
- package/core/index.js.map +1 -1
- package/core/types.d.ts +25 -3
- package/package.json +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +50 -14
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useLazyQuery.d.ts +28 -53
- package/react/hooks/useLazyQuery.js +1 -0
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useLoadableQuery.d.ts +7 -8
- package/react/hooks/useLoadableQuery.js.map +1 -1
- package/react/hooks/useQuery.d.ts +10 -48
- package/react/hooks/useQuery.js +3 -2
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useQueryRefHandlers.d.ts +2 -2
- package/react/hooks/useQueryRefHandlers.js.map +1 -1
- package/react/hooks/useReadQuery.d.ts +4 -11
- package/react/hooks/useReadQuery.js +1 -0
- package/react/hooks/useReadQuery.js.map +1 -1
- package/react/hooks/useSuspenseQuery.d.ts +12 -24
- package/react/hooks/useSuspenseQuery.js +2 -0
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/index.d.ts +1 -1
- package/react/index.js.map +1 -1
- package/react/internal/cache/QueryReference.d.ts +25 -65
- package/react/internal/cache/QueryReference.js +7 -1
- package/react/internal/cache/QueryReference.js.map +1 -1
- package/react/internal/cache/SuspenseCache.d.ts +3 -3
- package/react/internal/cache/SuspenseCache.js.map +1 -1
- package/react/internal/index.d.ts +1 -1
- package/react/internal/index.js.map +1 -1
- package/react/internal/types.d.ts +2 -2
- package/react/query-preloader/createQueryPreloader.d.ts +4 -5
- package/react/query-preloader/createQueryPreloader.js.map +1 -1
- package/react/ssr/prerenderStatic.js.map +1 -1
- package/react/ssr/useSSRQuery.js +1 -0
- package/react/ssr/useSSRQuery.js.map +1 -1
- package/react/types/types.documentation.d.ts +12 -0
- package/utilities/internal/toQueryResult.js.map +1 -1
- package/version.js +1 -1
package/core/QueryManager.js
CHANGED
|
@@ -835,20 +835,29 @@ export class QueryManager {
|
|
|
835
835
|
}
|
|
836
836
|
const aqr = {
|
|
837
837
|
data: result.data,
|
|
838
|
+
dataState: result.data ? "complete" : "empty",
|
|
838
839
|
loading: false,
|
|
839
840
|
networkStatus: NetworkStatus.ready,
|
|
840
841
|
partial: !result.data,
|
|
841
842
|
};
|
|
843
|
+
if (isExecutionPatchResult(result) && result.hasNext) {
|
|
844
|
+
aqr.dataState = "streaming";
|
|
845
|
+
aqr.partial = true;
|
|
846
|
+
}
|
|
842
847
|
// In the case we start multiple network requests simulatenously, we
|
|
843
848
|
// want to ensure we properly set `data` if we're reporting on an old
|
|
844
849
|
// result which will not be caught by the conditional above that ends up
|
|
845
850
|
// throwing the markError result.
|
|
846
851
|
if (hasErrors && errorPolicy === "none") {
|
|
847
852
|
aqr.data = void 0;
|
|
853
|
+
aqr.dataState = "empty";
|
|
848
854
|
}
|
|
849
855
|
if (hasErrors && errorPolicy !== "ignore") {
|
|
850
856
|
aqr.error = new CombinedGraphQLErrors(result);
|
|
851
857
|
aqr.networkStatus = NetworkStatus.error;
|
|
858
|
+
if (aqr.data) {
|
|
859
|
+
aqr.dataState = "complete";
|
|
860
|
+
}
|
|
852
861
|
}
|
|
853
862
|
return aqr;
|
|
854
863
|
}), catchError((error) => {
|
|
@@ -860,6 +869,7 @@ export class QueryManager {
|
|
|
860
869
|
}
|
|
861
870
|
const aqr = {
|
|
862
871
|
data: undefined,
|
|
872
|
+
dataState: "empty",
|
|
863
873
|
loading: false,
|
|
864
874
|
networkStatus: NetworkStatus.ready,
|
|
865
875
|
partial: true,
|
|
@@ -1040,7 +1050,9 @@ export class QueryManager {
|
|
|
1040
1050
|
if (result === true) {
|
|
1041
1051
|
// The onQueryUpdated function requested the default refetching
|
|
1042
1052
|
// behavior by returning true.
|
|
1043
|
-
result = oq
|
|
1053
|
+
result = oq
|
|
1054
|
+
.refetch()
|
|
1055
|
+
.retain( /* create a persistent subscription on the query */);
|
|
1044
1056
|
}
|
|
1045
1057
|
// Record the result in the results Map, as long as onQueryUpdated
|
|
1046
1058
|
// did not return false to skip/ignore this result.
|
|
@@ -1074,7 +1086,9 @@ export class QueryManager {
|
|
|
1074
1086
|
}
|
|
1075
1087
|
// Otherwise, we fall back to refetching.
|
|
1076
1088
|
if (!onQueryUpdated || result === true) {
|
|
1077
|
-
result = oq
|
|
1089
|
+
result = oq
|
|
1090
|
+
.refetch()
|
|
1091
|
+
.retain( /* create a persistent subscription on the query */);
|
|
1078
1092
|
}
|
|
1079
1093
|
if (result !== false) {
|
|
1080
1094
|
results.set(oq, result);
|
|
@@ -1143,6 +1157,9 @@ export class QueryManager {
|
|
|
1143
1157
|
return {
|
|
1144
1158
|
// TODO: Handle partial data
|
|
1145
1159
|
data: data,
|
|
1160
|
+
dataState: diff.complete ? "complete"
|
|
1161
|
+
: data ? "partial"
|
|
1162
|
+
: "empty",
|
|
1146
1163
|
loading: isNetworkRequestInFlight(networkStatus),
|
|
1147
1164
|
networkStatus,
|
|
1148
1165
|
partial: !diff.complete,
|