@apollo/client 3.8.0-beta.3 → 3.8.0-beta.5
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/apollo-client.cjs +172 -99
- package/apollo-client.cjs.map +1 -1
- package/apollo-client.min.cjs +1 -1
- package/core/ObservableQuery.d.ts +1 -0
- package/core/ObservableQuery.d.ts.map +1 -1
- package/core/ObservableQuery.js +17 -4
- package/core/ObservableQuery.js.map +1 -1
- package/core/core.cjs +18 -5
- package/core/core.cjs.map +1 -1
- package/core/core.cjs.native.js +18 -5
- package/dev/dev.cjs +5 -5
- package/dev/dev.cjs.map +1 -1
- package/dev/dev.cjs.native.js +5 -5
- package/invariantErrorCodes.js +4 -4
- package/link/batch-http/batchHttpLink.d.ts +1 -1
- package/link/batch-http/batchHttpLink.d.ts.map +1 -1
- package/link/batch-http/batchHttpLink.js.map +1 -1
- package/link/persisted-queries/index.d.ts +10 -4
- package/link/persisted-queries/index.d.ts.map +1 -1
- package/link/persisted-queries/index.js +25 -28
- package/link/persisted-queries/index.js.map +1 -1
- package/link/persisted-queries/persisted-queries.cjs +24 -27
- package/link/persisted-queries/persisted-queries.cjs.map +1 -1
- package/link/persisted-queries/persisted-queries.cjs.native.js +24 -27
- package/package.json +9 -9
- package/react/cache/QueryReference.d.ts +10 -4
- package/react/cache/QueryReference.d.ts.map +1 -1
- package/react/cache/QueryReference.js +31 -14
- package/react/cache/QueryReference.js.map +1 -1
- package/react/cache/SuspenseCache.d.ts +2 -2
- package/react/cache/SuspenseCache.d.ts.map +1 -1
- package/react/cache/SuspenseCache.js +2 -2
- package/react/cache/SuspenseCache.js.map +1 -1
- package/react/hooks/hooks.cjs +184 -20
- package/react/hooks/hooks.cjs.map +1 -1
- package/react/hooks/hooks.cjs.native.js +184 -20
- package/react/hooks/index.d.ts +2 -1
- package/react/hooks/index.d.ts.map +1 -1
- package/react/hooks/index.js +2 -1
- package/react/hooks/index.js.map +1 -1
- package/react/hooks/useBackgroundQuery.d.ts +18 -11
- package/react/hooks/useBackgroundQuery.d.ts.map +1 -1
- package/react/hooks/useBackgroundQuery.js +12 -30
- package/react/hooks/useBackgroundQuery.js.map +1 -1
- package/react/hooks/useQuery.js +1 -1
- package/react/hooks/useReadQuery.d.ts +8 -0
- package/react/hooks/useReadQuery.d.ts.map +1 -0
- package/react/hooks/useReadQuery.js +42 -0
- package/react/hooks/useReadQuery.js.map +1 -0
- package/react/hooks/useSuspenseQuery.d.ts +14 -6
- package/react/hooks/useSuspenseQuery.d.ts.map +1 -1
- package/react/hooks/useSuspenseQuery.js +33 -10
- package/react/hooks/useSuspenseQuery.js.map +1 -1
- package/react/react.cjs +30 -14
- package/react/react.cjs.map +1 -1
- package/react/react.cjs.native.js +30 -14
- package/react/types/types.d.ts +7 -1
- package/react/types/types.d.ts.map +1 -1
- package/react/types/types.js.map +1 -1
- package/utilities/globals/globals.cjs +1 -1
- package/utilities/globals/globals.cjs.map +1 -1
- package/utilities/globals/globals.cjs.native.js +1 -1
- package/utilities/index.js.map +1 -1
- package/utilities/policies/pagination.d.ts.map +1 -1
- package/utilities/policies/pagination.js +3 -0
- package/utilities/policies/pagination.js.map +1 -1
- package/utilities/utilities.cjs +3 -0
- package/utilities/utilities.cjs.map +1 -1
- package/utilities/utilities.cjs.native.js +3 -0
- package/version.js +1 -1
package/apollo-client.cjs
CHANGED
|
@@ -6,7 +6,7 @@ var tslib = require('tslib');
|
|
|
6
6
|
var process$1 = require('ts-invariant/process');
|
|
7
7
|
var graphql = require('graphql');
|
|
8
8
|
var equal = require('@wry/equality');
|
|
9
|
-
var
|
|
9
|
+
var invariant$1 = require('ts-invariant');
|
|
10
10
|
var zenObservableTs = require('zen-observable-ts');
|
|
11
11
|
require('symbol-observable');
|
|
12
12
|
var optimism = require('optimism');
|
|
@@ -30,10 +30,11 @@ function _interopNamespace(e) {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
|
|
33
|
+
var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant$1);
|
|
33
34
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
34
35
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
35
36
|
|
|
36
|
-
var version = '3.8.0-beta.
|
|
37
|
+
var version = '3.8.0-beta.5';
|
|
37
38
|
|
|
38
39
|
function maybe(thunk) {
|
|
39
40
|
try {
|
|
@@ -78,20 +79,20 @@ var invariant = Object.assign(function invariant(condition, message) {
|
|
|
78
79
|
args[_i - 2] = arguments[_i];
|
|
79
80
|
}
|
|
80
81
|
if (!condition) {
|
|
81
|
-
|
|
82
|
+
invariant$1.invariant(condition, getErrorMsg(message, args));
|
|
82
83
|
}
|
|
83
84
|
}, {
|
|
84
|
-
debug: wrap(
|
|
85
|
-
log: wrap(
|
|
86
|
-
warn: wrap(
|
|
87
|
-
error: wrap(
|
|
85
|
+
debug: wrap(invariant$1.invariant.debug),
|
|
86
|
+
log: wrap(invariant$1.invariant.log),
|
|
87
|
+
warn: wrap(invariant$1.invariant.warn),
|
|
88
|
+
error: wrap(invariant$1.invariant.error),
|
|
88
89
|
});
|
|
89
90
|
function newInvariantError(message) {
|
|
90
91
|
var optionalParams = [];
|
|
91
92
|
for (var _i = 1; _i < arguments.length; _i++) {
|
|
92
93
|
optionalParams[_i - 1] = arguments[_i];
|
|
93
94
|
}
|
|
94
|
-
return new
|
|
95
|
+
return new invariant$1.InvariantError(getErrorMsg(message, optionalParams));
|
|
95
96
|
}
|
|
96
97
|
var ApolloErrorMessageHandler = Symbol.for('ApolloErrorMessageHandler_' + version);
|
|
97
98
|
function getErrorMsg(message, messageArgs) {
|
|
@@ -4622,6 +4623,7 @@ var ObservableQuery = (function (_super) {
|
|
|
4622
4623
|
_this.subscriptions = new Set();
|
|
4623
4624
|
_this.queryInfo = queryInfo;
|
|
4624
4625
|
_this.queryManager = queryManager;
|
|
4626
|
+
_this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy);
|
|
4625
4627
|
_this.isTornDown = false;
|
|
4626
4628
|
var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? "cache-first" : _d;
|
|
4627
4629
|
var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e, _f = options.initialFetchPolicy, initialFetchPolicy = _f === void 0 ? (fetchPolicy === "standby" ? defaultFetchPolicy : fetchPolicy) : _f;
|
|
@@ -4672,10 +4674,11 @@ var ObservableQuery = (function (_super) {
|
|
|
4672
4674
|
exports.NetworkStatus.ready;
|
|
4673
4675
|
var result = tslib.__assign(tslib.__assign({}, lastResult), { loading: isNetworkRequestInFlight(networkStatus), networkStatus: networkStatus });
|
|
4674
4676
|
var _a = this.options.fetchPolicy, fetchPolicy = _a === void 0 ? "cache-first" : _a;
|
|
4675
|
-
if (fetchPolicy
|
|
4676
|
-
fetchPolicy === 'no-cache' ||
|
|
4677
|
-
fetchPolicy === 'standby' ||
|
|
4677
|
+
if (skipCacheDataFor(fetchPolicy) ||
|
|
4678
4678
|
this.queryManager.getDocumentInfo(this.query).hasForcedResolvers) ;
|
|
4679
|
+
else if (this.waitForOwnResult) {
|
|
4680
|
+
this.queryInfo['updateWatch']();
|
|
4681
|
+
}
|
|
4679
4682
|
else {
|
|
4680
4683
|
var diff = this.queryInfo.getDiff();
|
|
4681
4684
|
if (diff.complete || this.options.returnPartialData) {
|
|
@@ -5013,13 +5016,21 @@ var ObservableQuery = (function (_super) {
|
|
|
5013
5016
|
}
|
|
5014
5017
|
}
|
|
5015
5018
|
var fetchOptions = query === options.query ? options : tslib.__assign(tslib.__assign({}, options), { query: query });
|
|
5016
|
-
|
|
5019
|
+
this.waitForOwnResult && (this.waitForOwnResult = skipCacheDataFor(fetchOptions.fetchPolicy));
|
|
5020
|
+
var finishWaitingForOwnResult = function () {
|
|
5021
|
+
if (_this.concast === concast) {
|
|
5022
|
+
_this.waitForOwnResult = false;
|
|
5023
|
+
}
|
|
5024
|
+
};
|
|
5025
|
+
var variables = fetchOptions.variables && tslib.__assign({}, fetchOptions.variables);
|
|
5017
5026
|
var _a = this.fetch(fetchOptions, newNetworkStatus), concast = _a.concast, fromLink = _a.fromLink;
|
|
5018
5027
|
var observer = {
|
|
5019
5028
|
next: function (result) {
|
|
5029
|
+
finishWaitingForOwnResult();
|
|
5020
5030
|
_this.reportResult(result, variables);
|
|
5021
5031
|
},
|
|
5022
5032
|
error: function (error) {
|
|
5033
|
+
finishWaitingForOwnResult();
|
|
5023
5034
|
_this.reportError(error, variables);
|
|
5024
5035
|
},
|
|
5025
5036
|
};
|
|
@@ -5103,6 +5114,9 @@ function logMissingFieldErrors(missing) {
|
|
|
5103
5114
|
__DEV__ && invariant.debug(23, missing);
|
|
5104
5115
|
}
|
|
5105
5116
|
}
|
|
5117
|
+
function skipCacheDataFor(fetchPolicy) {
|
|
5118
|
+
return fetchPolicy === "network-only" || fetchPolicy === "no-cache" || fetchPolicy === "standby";
|
|
5119
|
+
}
|
|
5106
5120
|
|
|
5107
5121
|
var LocalState = (function () {
|
|
5108
5122
|
function LocalState(_a) {
|
|
@@ -7034,7 +7048,7 @@ var InternalState = (function () {
|
|
|
7034
7048
|
}
|
|
7035
7049
|
}
|
|
7036
7050
|
InternalState.prototype.forceUpdate = function () {
|
|
7037
|
-
__DEV__ && invariant.warn(
|
|
7051
|
+
__DEV__ && invariant.warn(49);
|
|
7038
7052
|
};
|
|
7039
7053
|
InternalState.prototype.executeQuery = function (options) {
|
|
7040
7054
|
var _this = this;
|
|
@@ -7667,15 +7681,20 @@ function useSuspenseQuery(query, options) {
|
|
|
7667
7681
|
if (options === void 0) { options = Object.create(null); }
|
|
7668
7682
|
var client = useApolloClient(options.client);
|
|
7669
7683
|
var suspenseCache = useSuspenseCache(options.suspenseCache);
|
|
7670
|
-
var watchQueryOptions = useWatchQueryOptions({ query: query, options: options });
|
|
7671
|
-
var variables = watchQueryOptions.variables;
|
|
7684
|
+
var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
|
|
7685
|
+
var fetchPolicy = watchQueryOptions.fetchPolicy, variables = watchQueryOptions.variables;
|
|
7672
7686
|
var _a = options.queryKey, queryKey = _a === void 0 ? [] : _a;
|
|
7673
7687
|
var cacheKey = [client, query, canonicalStringify(variables)].concat(queryKey);
|
|
7674
7688
|
var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
|
|
7675
7689
|
return client.watchQuery(watchQueryOptions);
|
|
7676
7690
|
});
|
|
7691
|
+
var currentFetchPolicy = queryRef.watchQueryOptions.fetchPolicy;
|
|
7677
7692
|
var _b = React.useState(function () { return new Map([[queryRef.key, queryRef.promise]]); }), promiseCache = _b[0], setPromiseCache = _b[1];
|
|
7678
7693
|
var promise = promiseCache.get(queryRef.key);
|
|
7694
|
+
if (currentFetchPolicy === 'standby' && fetchPolicy !== currentFetchPolicy) {
|
|
7695
|
+
promise = queryRef.reobserve({ fetchPolicy: fetchPolicy });
|
|
7696
|
+
promiseCache.set(queryRef.key, promise);
|
|
7697
|
+
}
|
|
7679
7698
|
if (!promise) {
|
|
7680
7699
|
promise = queryRef.promise;
|
|
7681
7700
|
promiseCache.set(queryRef.key, promise);
|
|
@@ -7688,7 +7707,16 @@ function useSuspenseQuery(query, options) {
|
|
|
7688
7707
|
});
|
|
7689
7708
|
});
|
|
7690
7709
|
}, [queryRef]);
|
|
7691
|
-
var
|
|
7710
|
+
var skipResult = React.useMemo(function () {
|
|
7711
|
+
var error = toApolloError(queryRef.result);
|
|
7712
|
+
return {
|
|
7713
|
+
loading: false,
|
|
7714
|
+
data: queryRef.result.data,
|
|
7715
|
+
networkStatus: error ? exports.NetworkStatus.error : exports.NetworkStatus.ready,
|
|
7716
|
+
error: error,
|
|
7717
|
+
};
|
|
7718
|
+
}, [queryRef.result]);
|
|
7719
|
+
var result = watchQueryOptions.fetchPolicy === 'standby' ? skipResult : __use(promise);
|
|
7692
7720
|
var fetchMore = React.useCallback(function (options) {
|
|
7693
7721
|
var promise = queryRef.fetchMore(options);
|
|
7694
7722
|
setPromiseCache(function (previousPromiseCache) {
|
|
@@ -7750,78 +7778,26 @@ function useTrackedQueryRefs(queryRef) {
|
|
|
7750
7778
|
});
|
|
7751
7779
|
}
|
|
7752
7780
|
function useWatchQueryOptions(_a) {
|
|
7753
|
-
var query = _a.query, options = _a.options;
|
|
7754
|
-
|
|
7755
|
-
|
|
7756
|
-
|
|
7757
|
-
|
|
7758
|
-
|
|
7759
|
-
}
|
|
7760
|
-
|
|
7761
|
-
|
|
7762
|
-
|
|
7763
|
-
|
|
7764
|
-
|
|
7765
|
-
|
|
7766
|
-
|
|
7767
|
-
|
|
7768
|
-
var cacheKey = [client, query, canonicalStringify(variables)].concat(queryKey);
|
|
7769
|
-
var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
|
|
7770
|
-
return client.watchQuery(watchQueryOptions);
|
|
7771
|
-
});
|
|
7772
|
-
var _b = React.useState(function () { return new Map([[queryRef.key, queryRef.promise]]); }), promiseCache = _b[0], setPromiseCache = _b[1];
|
|
7773
|
-
useTrackedQueryRefs(queryRef);
|
|
7774
|
-
var fetchMore = React.useCallback(function (options) {
|
|
7775
|
-
var promise = queryRef.fetchMore(options);
|
|
7776
|
-
setPromiseCache(function (promiseCache) {
|
|
7777
|
-
return new Map(promiseCache).set(queryRef.key, promise);
|
|
7778
|
-
});
|
|
7779
|
-
return promise;
|
|
7780
|
-
}, [queryRef]);
|
|
7781
|
-
var refetch = React.useCallback(function (variables) {
|
|
7782
|
-
var promise = queryRef.refetch(variables);
|
|
7783
|
-
setPromiseCache(function (promiseCache) {
|
|
7784
|
-
return new Map(promiseCache).set(queryRef.key, promise);
|
|
7785
|
-
});
|
|
7786
|
-
return promise;
|
|
7787
|
-
}, [queryRef]);
|
|
7788
|
-
queryRef.promiseCache = promiseCache;
|
|
7789
|
-
return React.useMemo(function () {
|
|
7790
|
-
return [
|
|
7791
|
-
queryRef,
|
|
7792
|
-
{
|
|
7793
|
-
fetchMore: fetchMore,
|
|
7794
|
-
refetch: refetch,
|
|
7795
|
-
},
|
|
7796
|
-
];
|
|
7797
|
-
}, [queryRef, fetchMore, refetch]);
|
|
7798
|
-
}
|
|
7799
|
-
function useReadQuery(queryRef) {
|
|
7800
|
-
var _a = React.useState(0), forceUpdate = _a[1];
|
|
7801
|
-
invariant(queryRef.promiseCache, 49);
|
|
7802
|
-
var promise = queryRef.promiseCache.get(queryRef.key);
|
|
7803
|
-
if (!promise) {
|
|
7804
|
-
promise = queryRef.promise;
|
|
7805
|
-
queryRef.promiseCache.set(queryRef.key, promise);
|
|
7806
|
-
}
|
|
7807
|
-
React.useEffect(function () {
|
|
7808
|
-
return queryRef.listen(function (promise) {
|
|
7809
|
-
queryRef.promiseCache.set(queryRef.key, promise);
|
|
7810
|
-
forceUpdate(function (prevState) { return prevState + 1; });
|
|
7811
|
-
});
|
|
7812
|
-
}, [queryRef]);
|
|
7813
|
-
var result = __use(promise);
|
|
7814
|
-
return React.useMemo(function () {
|
|
7815
|
-
return {
|
|
7816
|
-
data: result.data,
|
|
7817
|
-
networkStatus: result.networkStatus,
|
|
7818
|
-
error: toApolloError(result),
|
|
7819
|
-
};
|
|
7820
|
-
}, [result]);
|
|
7781
|
+
var client = _a.client, query = _a.query, options = _a.options;
|
|
7782
|
+
return useDeepMemo(function () {
|
|
7783
|
+
var _a;
|
|
7784
|
+
var fetchPolicy = options.fetchPolicy ||
|
|
7785
|
+
((_a = client.defaultOptions.watchQuery) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||
|
|
7786
|
+
'cache-first';
|
|
7787
|
+
var watchQueryOptions = tslib.__assign(tslib.__assign({}, options), { fetchPolicy: fetchPolicy, query: query, notifyOnNetworkStatusChange: false, nextFetchPolicy: void 0 });
|
|
7788
|
+
if (__DEV__) {
|
|
7789
|
+
validateOptions(watchQueryOptions);
|
|
7790
|
+
}
|
|
7791
|
+
if (options.skip) {
|
|
7792
|
+
watchQueryOptions.fetchPolicy = 'standby';
|
|
7793
|
+
}
|
|
7794
|
+
return watchQueryOptions;
|
|
7795
|
+
}, [client, options, query]);
|
|
7821
7796
|
}
|
|
7822
7797
|
|
|
7823
|
-
var
|
|
7824
|
-
|
|
7798
|
+
var QUERY_REFERENCE_SYMBOL = Symbol();
|
|
7799
|
+
var InternalQueryReference = (function () {
|
|
7800
|
+
function InternalQueryReference(observable, options) {
|
|
7825
7801
|
var _this = this;
|
|
7826
7802
|
var _a;
|
|
7827
7803
|
this.listeners = new Set();
|
|
@@ -7856,7 +7832,14 @@ var QueryReference = (function () {
|
|
|
7856
7832
|
}
|
|
7857
7833
|
this.autoDisposeTimeoutId = setTimeout(this.dispose, (_a = options.autoDisposeTimeoutMs) !== null && _a !== void 0 ? _a : 30000);
|
|
7858
7834
|
}
|
|
7859
|
-
|
|
7835
|
+
Object.defineProperty(InternalQueryReference.prototype, "watchQueryOptions", {
|
|
7836
|
+
get: function () {
|
|
7837
|
+
return this.observable.options;
|
|
7838
|
+
},
|
|
7839
|
+
enumerable: false,
|
|
7840
|
+
configurable: true
|
|
7841
|
+
});
|
|
7842
|
+
InternalQueryReference.prototype.listen = function (listener) {
|
|
7860
7843
|
var _this = this;
|
|
7861
7844
|
clearTimeout(this.autoDisposeTimeoutId);
|
|
7862
7845
|
this.listeners.add(listener);
|
|
@@ -7864,24 +7847,29 @@ var QueryReference = (function () {
|
|
|
7864
7847
|
_this.listeners.delete(listener);
|
|
7865
7848
|
};
|
|
7866
7849
|
};
|
|
7867
|
-
|
|
7850
|
+
InternalQueryReference.prototype.refetch = function (variables) {
|
|
7868
7851
|
this.refetching = true;
|
|
7869
7852
|
var promise = this.observable.refetch(variables);
|
|
7870
7853
|
this.promise = promise;
|
|
7871
7854
|
return promise;
|
|
7872
7855
|
};
|
|
7873
|
-
|
|
7856
|
+
InternalQueryReference.prototype.fetchMore = function (options) {
|
|
7874
7857
|
var promise = this.observable.fetchMore(options);
|
|
7875
7858
|
this.promise = promise;
|
|
7876
7859
|
return promise;
|
|
7877
7860
|
};
|
|
7878
|
-
|
|
7861
|
+
InternalQueryReference.prototype.reobserve = function (watchQueryOptions) {
|
|
7862
|
+
var promise = this.observable.reobserve(watchQueryOptions);
|
|
7863
|
+
this.promise = promise;
|
|
7864
|
+
return promise;
|
|
7865
|
+
};
|
|
7866
|
+
InternalQueryReference.prototype.dispose = function () {
|
|
7879
7867
|
this.subscription.unsubscribe();
|
|
7880
7868
|
this.onDispose();
|
|
7881
7869
|
};
|
|
7882
|
-
|
|
7870
|
+
InternalQueryReference.prototype.onDispose = function () {
|
|
7883
7871
|
};
|
|
7884
|
-
|
|
7872
|
+
InternalQueryReference.prototype.handleNext = function (result) {
|
|
7885
7873
|
if (!this.initialized || this.refetching) {
|
|
7886
7874
|
if (!isNetworkRequestSettled(result.networkStatus)) {
|
|
7887
7875
|
return;
|
|
@@ -7892,7 +7880,9 @@ var QueryReference = (function () {
|
|
|
7892
7880
|
this.initialized = true;
|
|
7893
7881
|
this.refetching = false;
|
|
7894
7882
|
this.result = result;
|
|
7895
|
-
this.resolve
|
|
7883
|
+
if (this.resolve) {
|
|
7884
|
+
this.resolve(result);
|
|
7885
|
+
}
|
|
7896
7886
|
return;
|
|
7897
7887
|
}
|
|
7898
7888
|
if (result.data === this.result.data) {
|
|
@@ -7902,13 +7892,15 @@ var QueryReference = (function () {
|
|
|
7902
7892
|
this.promise = createFulfilledPromise(result);
|
|
7903
7893
|
this.deliver(this.promise);
|
|
7904
7894
|
};
|
|
7905
|
-
|
|
7895
|
+
InternalQueryReference.prototype.handleError = function (error) {
|
|
7906
7896
|
var result = tslib.__assign(tslib.__assign({}, this.result), { error: error, networkStatus: exports.NetworkStatus.error });
|
|
7907
7897
|
this.result = result;
|
|
7908
7898
|
if (!this.initialized || this.refetching) {
|
|
7909
7899
|
this.initialized = true;
|
|
7910
7900
|
this.refetching = false;
|
|
7911
|
-
this.reject
|
|
7901
|
+
if (this.reject) {
|
|
7902
|
+
this.reject(error);
|
|
7903
|
+
}
|
|
7912
7904
|
return;
|
|
7913
7905
|
}
|
|
7914
7906
|
this.result = result;
|
|
@@ -7917,12 +7909,93 @@ var QueryReference = (function () {
|
|
|
7917
7909
|
: createRejectedPromise(result);
|
|
7918
7910
|
this.deliver(this.promise);
|
|
7919
7911
|
};
|
|
7920
|
-
|
|
7912
|
+
InternalQueryReference.prototype.deliver = function (promise) {
|
|
7921
7913
|
this.listeners.forEach(function (listener) { return listener(promise); });
|
|
7922
7914
|
};
|
|
7923
|
-
return
|
|
7915
|
+
return InternalQueryReference;
|
|
7924
7916
|
}());
|
|
7925
7917
|
|
|
7918
|
+
function useBackgroundQuery(query, options) {
|
|
7919
|
+
if (options === void 0) { options = Object.create(null); }
|
|
7920
|
+
var suspenseCache = useSuspenseCache(options.suspenseCache);
|
|
7921
|
+
var client = useApolloClient(options.client);
|
|
7922
|
+
var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
|
|
7923
|
+
var fetchPolicy = watchQueryOptions.fetchPolicy, variables = watchQueryOptions.variables;
|
|
7924
|
+
var _a = options.queryKey, queryKey = _a === void 0 ? [] : _a;
|
|
7925
|
+
var cacheKey = [client, query, canonicalStringify(variables)].concat(queryKey);
|
|
7926
|
+
var queryRef = suspenseCache.getQueryRef(cacheKey, function () {
|
|
7927
|
+
return client.watchQuery(watchQueryOptions);
|
|
7928
|
+
});
|
|
7929
|
+
var currentFetchPolicy = queryRef.watchQueryOptions.fetchPolicy;
|
|
7930
|
+
var _b = React.useState(function () { return new Map([[queryRef.key, queryRef.promise]]); }), promiseCache = _b[0], setPromiseCache = _b[1];
|
|
7931
|
+
if (currentFetchPolicy === 'standby' && fetchPolicy !== currentFetchPolicy) {
|
|
7932
|
+
var promise = queryRef.reobserve({ fetchPolicy: fetchPolicy });
|
|
7933
|
+
promiseCache.set(queryRef.key, promise);
|
|
7934
|
+
}
|
|
7935
|
+
useTrackedQueryRefs(queryRef);
|
|
7936
|
+
var fetchMore = React.useCallback(function (options) {
|
|
7937
|
+
var promise = queryRef.fetchMore(options);
|
|
7938
|
+
setPromiseCache(function (promiseCache) {
|
|
7939
|
+
return new Map(promiseCache).set(queryRef.key, promise);
|
|
7940
|
+
});
|
|
7941
|
+
return promise;
|
|
7942
|
+
}, [queryRef]);
|
|
7943
|
+
var refetch = React.useCallback(function (variables) {
|
|
7944
|
+
var promise = queryRef.refetch(variables);
|
|
7945
|
+
setPromiseCache(function (promiseCache) {
|
|
7946
|
+
return new Map(promiseCache).set(queryRef.key, promise);
|
|
7947
|
+
});
|
|
7948
|
+
return promise;
|
|
7949
|
+
}, [queryRef]);
|
|
7950
|
+
queryRef.promiseCache = promiseCache;
|
|
7951
|
+
return React.useMemo(function () {
|
|
7952
|
+
var _a;
|
|
7953
|
+
return [
|
|
7954
|
+
(_a = {}, _a[QUERY_REFERENCE_SYMBOL] = queryRef, _a),
|
|
7955
|
+
{
|
|
7956
|
+
fetchMore: fetchMore,
|
|
7957
|
+
refetch: refetch,
|
|
7958
|
+
},
|
|
7959
|
+
];
|
|
7960
|
+
}, [queryRef, fetchMore, refetch]);
|
|
7961
|
+
}
|
|
7962
|
+
|
|
7963
|
+
function useReadQuery(queryRef) {
|
|
7964
|
+
var _a = React.useState(0), forceUpdate = _a[1];
|
|
7965
|
+
var internalQueryRef = queryRef[QUERY_REFERENCE_SYMBOL];
|
|
7966
|
+
invariant__default(internalQueryRef.promiseCache, 50);
|
|
7967
|
+
var skipResult = React.useMemo(function () {
|
|
7968
|
+
var error = toApolloError(internalQueryRef.result);
|
|
7969
|
+
return {
|
|
7970
|
+
loading: false,
|
|
7971
|
+
data: internalQueryRef.result.data,
|
|
7972
|
+
networkStatus: error ? exports.NetworkStatus.error : exports.NetworkStatus.ready,
|
|
7973
|
+
error: error,
|
|
7974
|
+
};
|
|
7975
|
+
}, [internalQueryRef.result]);
|
|
7976
|
+
var promise = internalQueryRef.promiseCache.get(internalQueryRef.key);
|
|
7977
|
+
if (!promise) {
|
|
7978
|
+
promise = internalQueryRef.promise;
|
|
7979
|
+
internalQueryRef.promiseCache.set(internalQueryRef.key, promise);
|
|
7980
|
+
}
|
|
7981
|
+
React.useEffect(function () {
|
|
7982
|
+
return internalQueryRef.listen(function (promise) {
|
|
7983
|
+
internalQueryRef.promiseCache.set(internalQueryRef.key, promise);
|
|
7984
|
+
forceUpdate(function (prevState) { return prevState + 1; });
|
|
7985
|
+
});
|
|
7986
|
+
}, [queryRef]);
|
|
7987
|
+
var result = internalQueryRef.watchQueryOptions.fetchPolicy === 'standby'
|
|
7988
|
+
? skipResult
|
|
7989
|
+
: __use(promise);
|
|
7990
|
+
return React.useMemo(function () {
|
|
7991
|
+
return {
|
|
7992
|
+
data: result.data,
|
|
7993
|
+
networkStatus: result.networkStatus,
|
|
7994
|
+
error: toApolloError(result),
|
|
7995
|
+
};
|
|
7996
|
+
}, [result]);
|
|
7997
|
+
}
|
|
7998
|
+
|
|
7926
7999
|
var SuspenseCache = (function () {
|
|
7927
8000
|
function SuspenseCache(options) {
|
|
7928
8001
|
if (options === void 0) { options = Object.create(null); }
|
|
@@ -7932,7 +8005,7 @@ var SuspenseCache = (function () {
|
|
|
7932
8005
|
SuspenseCache.prototype.getQueryRef = function (cacheKey, createObservable) {
|
|
7933
8006
|
var ref = this.queryRefs.lookupArray(cacheKey);
|
|
7934
8007
|
if (!ref.current) {
|
|
7935
|
-
ref.current = new
|
|
8008
|
+
ref.current = new InternalQueryReference(createObservable(), {
|
|
7936
8009
|
key: cacheKey,
|
|
7937
8010
|
autoDisposeTimeoutMs: this.options.autoDisposeTimeoutMs,
|
|
7938
8011
|
onDispose: function () {
|
|
@@ -7945,7 +8018,7 @@ var SuspenseCache = (function () {
|
|
|
7945
8018
|
return SuspenseCache;
|
|
7946
8019
|
}());
|
|
7947
8020
|
|
|
7948
|
-
exports.setLogVerbosity =
|
|
8021
|
+
exports.setLogVerbosity = invariant$1.setVerbosity;
|
|
7949
8022
|
exports.Observable = zenObservableTs.Observable;
|
|
7950
8023
|
exports.disableExperimentalFragmentVariables = graphqlTag.disableExperimentalFragmentVariables;
|
|
7951
8024
|
exports.disableFragmentWarnings = graphqlTag.disableFragmentWarnings;
|