@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
|
@@ -152,6 +152,22 @@ export declare namespace ObservableQuery {
|
|
|
152
152
|
*/
|
|
153
153
|
lastOwnDiff?: Cache.DiffResult<TData>;
|
|
154
154
|
}
|
|
155
|
+
/**
|
|
156
|
+
* Promise returned by `reobserve` and `refetch` methods.
|
|
157
|
+
*
|
|
158
|
+
* By default, if the `ObservableQuery` is not interested in the result
|
|
159
|
+
* of this operation anymore, the network operation will be cancelled.
|
|
160
|
+
*
|
|
161
|
+
* This has an additional `retain` method that can be used to keep the
|
|
162
|
+
* network operation running until it is finished nonetheless.
|
|
163
|
+
*/
|
|
164
|
+
interface ResultPromise<T> extends Promise<T> {
|
|
165
|
+
/**
|
|
166
|
+
* Kepp the network operation running until it is finished, even if
|
|
167
|
+
* `ObservableQuery` unsubscribed from the operation.
|
|
168
|
+
*/
|
|
169
|
+
retain(): this;
|
|
170
|
+
}
|
|
155
171
|
}
|
|
156
172
|
export declare class ObservableQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables> implements Subscribable<ApolloQueryResult<MaybeMasked<TData>>>, InteropObservable<ApolloQueryResult<MaybeMasked<TData>>> {
|
|
157
173
|
/**
|
|
@@ -217,7 +233,7 @@ export declare class ObservableQuery<TData = unknown, TVariables extends Operati
|
|
|
217
233
|
* @param variables - The new set of variables. If there are missing variables,
|
|
218
234
|
* the previous values of those variables will be used.
|
|
219
235
|
*/
|
|
220
|
-
refetch(variables?: Partial<TVariables>):
|
|
236
|
+
refetch(variables?: Partial<TVariables>): ObservableQuery.ResultPromise<QueryResult<TData>>;
|
|
221
237
|
/**
|
|
222
238
|
* 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/).
|
|
223
239
|
*/
|
|
@@ -280,7 +296,8 @@ export declare class ObservableQuery<TData = unknown, TVariables extends Operati
|
|
|
280
296
|
* Reevaluate the query, optionally against new options. New options will be
|
|
281
297
|
* merged with the current options when given.
|
|
282
298
|
*/
|
|
283
|
-
reobserve(newOptions?: Partial<ObservableQuery.Options<TData, TVariables>>):
|
|
299
|
+
reobserve(newOptions?: Partial<ObservableQuery.Options<TData, TVariables>>): ObservableQuery.ResultPromise<QueryResult<MaybeMasked<TData>>>;
|
|
300
|
+
private _reobserve;
|
|
284
301
|
hasObservers(): boolean;
|
|
285
302
|
private tearDownQuery;
|
|
286
303
|
private transformDocument;
|
|
@@ -850,20 +850,29 @@ class QueryManager {
|
|
|
850
850
|
}
|
|
851
851
|
const aqr = {
|
|
852
852
|
data: result.data,
|
|
853
|
+
dataState: result.data ? "complete" : "empty",
|
|
853
854
|
loading: false,
|
|
854
855
|
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
855
856
|
partial: !result.data,
|
|
856
857
|
};
|
|
858
|
+
if ((0, internal_1.isExecutionPatchResult)(result) && result.hasNext) {
|
|
859
|
+
aqr.dataState = "streaming";
|
|
860
|
+
aqr.partial = true;
|
|
861
|
+
}
|
|
857
862
|
// In the case we start multiple network requests simulatenously, we
|
|
858
863
|
// want to ensure we properly set `data` if we're reporting on an old
|
|
859
864
|
// result which will not be caught by the conditional above that ends up
|
|
860
865
|
// throwing the markError result.
|
|
861
866
|
if (hasErrors && errorPolicy === "none") {
|
|
862
867
|
aqr.data = void 0;
|
|
868
|
+
aqr.dataState = "empty";
|
|
863
869
|
}
|
|
864
870
|
if (hasErrors && errorPolicy !== "ignore") {
|
|
865
871
|
aqr.error = new errors_1.CombinedGraphQLErrors(result);
|
|
866
872
|
aqr.networkStatus = networkStatus_js_1.NetworkStatus.error;
|
|
873
|
+
if (aqr.data) {
|
|
874
|
+
aqr.dataState = "complete";
|
|
875
|
+
}
|
|
867
876
|
}
|
|
868
877
|
return aqr;
|
|
869
878
|
}), (0, rxjs_1.catchError)((error) => {
|
|
@@ -875,6 +884,7 @@ class QueryManager {
|
|
|
875
884
|
}
|
|
876
885
|
const aqr = {
|
|
877
886
|
data: undefined,
|
|
887
|
+
dataState: "empty",
|
|
878
888
|
loading: false,
|
|
879
889
|
networkStatus: networkStatus_js_1.NetworkStatus.ready,
|
|
880
890
|
partial: true,
|
|
@@ -1059,7 +1069,9 @@ class QueryManager {
|
|
|
1059
1069
|
if (result === true) {
|
|
1060
1070
|
// The onQueryUpdated function requested the default refetching
|
|
1061
1071
|
// behavior by returning true.
|
|
1062
|
-
result = oq
|
|
1072
|
+
result = oq
|
|
1073
|
+
.refetch()
|
|
1074
|
+
.retain( /* create a persistent subscription on the query */);
|
|
1063
1075
|
}
|
|
1064
1076
|
// Record the result in the results Map, as long as onQueryUpdated
|
|
1065
1077
|
// did not return false to skip/ignore this result.
|
|
@@ -1093,7 +1105,9 @@ class QueryManager {
|
|
|
1093
1105
|
}
|
|
1094
1106
|
// Otherwise, we fall back to refetching.
|
|
1095
1107
|
if (!onQueryUpdated || result === true) {
|
|
1096
|
-
result = oq
|
|
1108
|
+
result = oq
|
|
1109
|
+
.refetch()
|
|
1110
|
+
.retain( /* create a persistent subscription on the query */);
|
|
1097
1111
|
}
|
|
1098
1112
|
if (result !== false) {
|
|
1099
1113
|
results.set(oq, result);
|
|
@@ -1165,6 +1179,9 @@ class QueryManager {
|
|
|
1165
1179
|
return {
|
|
1166
1180
|
// TODO: Handle partial data
|
|
1167
1181
|
data: data,
|
|
1182
|
+
dataState: diff.complete ? "complete"
|
|
1183
|
+
: data ? "partial"
|
|
1184
|
+
: "empty",
|
|
1168
1185
|
loading: (0, networkStatus_js_1.isNetworkRequestInFlight)(networkStatus),
|
|
1169
1186
|
networkStatus,
|
|
1170
1187
|
partial: !diff.complete,
|