@apollo/client 3.7.0-alpha.0 → 3.7.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/LICENSE +1 -1
- package/apollo-client.cjs +150 -128
- package/apollo-client.cjs.map +1 -1
- package/apollo-client.min.cjs +1 -1
- package/core/ApolloClient.d.ts.map +1 -1
- package/core/ApolloClient.js.map +1 -1
- package/core/ObservableQuery.d.ts.map +1 -1
- package/core/ObservableQuery.js +3 -1
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryManager.d.ts.map +1 -1
- package/core/QueryManager.js +7 -23
- package/core/QueryManager.js.map +1 -1
- package/core/core.cjs +11 -25
- package/core/core.cjs.map +1 -1
- package/core/watchQueryOptions.d.ts +0 -1
- package/core/watchQueryOptions.d.ts.map +1 -1
- package/core/watchQueryOptions.js.map +1 -1
- package/invariantErrorCodes.js +1 -1
- package/link/http/selectHttpOptionsAndBody.d.ts.map +1 -1
- package/link/http/selectHttpOptionsAndBody.js.map +1 -1
- package/link/persisted-queries/index.d.ts +2 -1
- package/link/persisted-queries/index.d.ts.map +1 -1
- package/link/persisted-queries/index.js +26 -13
- package/link/persisted-queries/index.js.map +1 -1
- package/link/persisted-queries/persisted-queries.cjs +25 -12
- package/link/persisted-queries/persisted-queries.cjs.map +1 -1
- package/package.json +14 -15
- package/react/context/ApolloConsumer.js +2 -2
- package/react/context/ApolloProvider.js +2 -2
- package/react/context/context.cjs +4 -4
- package/react/context/context.cjs.map +1 -1
- package/react/hooks/hooks.cjs +137 -107
- package/react/hooks/hooks.cjs.map +1 -1
- package/react/hooks/useLazyQuery.d.ts.map +1 -1
- package/react/hooks/useLazyQuery.js +7 -22
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useQuery.d.ts +5 -1
- package/react/hooks/useQuery.d.ts.map +1 -1
- package/react/hooks/useQuery.js +48 -64
- package/react/hooks/useQuery.js.map +1 -1
- package/react/hooks/useSyncExternalStore.d.ts +4 -0
- package/react/hooks/useSyncExternalStore.d.ts.map +1 -0
- package/react/hooks/useSyncExternalStore.js +50 -0
- package/react/hooks/useSyncExternalStore.js.map +1 -0
- package/react/parser/index.d.ts.map +1 -1
- package/react/parser/index.js +24 -10
- package/react/parser/index.js.map +1 -1
- package/react/parser/parser.cjs +24 -10
- package/react/parser/parser.cjs.map +1 -1
- package/testing/core/mocking/mockQueryManager.js +1 -1
- package/testing/core/mocking/mockWatchQuery.js +1 -1
- package/testing/core/wrap.js +1 -1
- package/utilities/common/canUse.d.ts +2 -0
- package/utilities/common/canUse.d.ts.map +1 -1
- package/utilities/common/canUse.js +6 -2
- package/utilities/common/canUse.js.map +1 -1
- package/utilities/common/mergeOptions.d.ts +1 -1
- package/utilities/common/mergeOptions.d.ts.map +1 -1
- package/utilities/common/mergeOptions.js +1 -1
- package/utilities/common/mergeOptions.js.map +1 -1
- package/utilities/globals/global.js +1 -2
- package/utilities/observables/Concast.d.ts.map +1 -1
- package/utilities/observables/Concast.js +5 -2
- package/utilities/observables/Concast.js.map +1 -1
- package/utilities/utilities.cjs +13 -5
- package/utilities/utilities.cjs.map +1 -1
- package/version.js +1 -1
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2022 Apollo Graph, Inc. (Formerly Meteor Development Group, Inc.)
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/apollo-client.cjs
CHANGED
|
@@ -13,7 +13,6 @@ var context = require('@wry/context');
|
|
|
13
13
|
var trie = require('@wry/trie');
|
|
14
14
|
var graphqlTag = require('graphql-tag');
|
|
15
15
|
var React = require('react');
|
|
16
|
-
var index_js = require('use-sync-external-store/shim/index.js');
|
|
17
16
|
|
|
18
17
|
function _interopNamespace(e) {
|
|
19
18
|
if (e && e.__esModule) return e;
|
|
@@ -899,11 +898,14 @@ function asyncMap(observable, mapFn, catchFn) {
|
|
|
899
898
|
});
|
|
900
899
|
}
|
|
901
900
|
|
|
902
|
-
var canUseWeakMap = typeof WeakMap === 'function' &&
|
|
903
|
-
navigator.product
|
|
901
|
+
var canUseWeakMap = typeof WeakMap === 'function' &&
|
|
902
|
+
maybe(function () { return navigator.product; }) !== 'ReactNative';
|
|
904
903
|
var canUseWeakSet = typeof WeakSet === 'function';
|
|
905
904
|
var canUseSymbol = typeof Symbol === 'function' &&
|
|
906
905
|
typeof Symbol.for === 'function';
|
|
906
|
+
var canUseDOM = typeof maybe(function () { return window.document.createElement; }) === "function";
|
|
907
|
+
var usingJSDOM = maybe(function () { return navigator.userAgent.indexOf("jsdom") >= 0; }) || false;
|
|
908
|
+
var canUseLayoutEffect = canUseDOM && !usingJSDOM;
|
|
907
909
|
|
|
908
910
|
function fixObservableSubclass(subclass) {
|
|
909
911
|
function set(key) {
|
|
@@ -951,9 +953,12 @@ var Concast = (function (_super) {
|
|
|
951
953
|
}
|
|
952
954
|
},
|
|
953
955
|
complete: function () {
|
|
954
|
-
|
|
956
|
+
var sub = _this.sub;
|
|
957
|
+
if (sub !== null) {
|
|
955
958
|
var value = _this.sources.shift();
|
|
956
959
|
if (!value) {
|
|
960
|
+
if (sub)
|
|
961
|
+
setTimeout(function () { return sub.unsubscribe(); });
|
|
957
962
|
_this.sub = null;
|
|
958
963
|
if (_this.latest &&
|
|
959
964
|
_this.latest[0] === "next") {
|
|
@@ -1021,7 +1026,7 @@ var Concast = (function (_super) {
|
|
|
1021
1026
|
if (this.observers.delete(observer) &&
|
|
1022
1027
|
--this.addCount < 1 &&
|
|
1023
1028
|
!quietly) {
|
|
1024
|
-
this.handlers.
|
|
1029
|
+
this.handlers.complete();
|
|
1025
1030
|
}
|
|
1026
1031
|
};
|
|
1027
1032
|
Concast.prototype.cleanup = function (callback) {
|
|
@@ -1090,7 +1095,7 @@ function stringifyForDisplay(value) {
|
|
|
1090
1095
|
|
|
1091
1096
|
function mergeOptions(defaults, options) {
|
|
1092
1097
|
return compact(defaults, options, options.variables && {
|
|
1093
|
-
variables: tslib.__assign(tslib.__assign({}, defaults.variables), options.variables),
|
|
1098
|
+
variables: tslib.__assign(tslib.__assign({}, (defaults && defaults.variables)), options.variables),
|
|
1094
1099
|
});
|
|
1095
1100
|
}
|
|
1096
1101
|
|
|
@@ -1298,7 +1303,7 @@ var concat = ApolloLink.concat;
|
|
|
1298
1303
|
|
|
1299
1304
|
var execute = ApolloLink.execute;
|
|
1300
1305
|
|
|
1301
|
-
var version = '3.7.0-alpha.
|
|
1306
|
+
var version = '3.7.0-alpha.3';
|
|
1302
1307
|
|
|
1303
1308
|
var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
|
|
1304
1309
|
function parseAndCheckHttpResponse(operations) {
|
|
@@ -3948,7 +3953,9 @@ var ObservableQuery = (function (_super) {
|
|
|
3948
3953
|
_this.queryInfo = queryInfo;
|
|
3949
3954
|
_this.queryManager = queryManager;
|
|
3950
3955
|
_this.isTornDown = false;
|
|
3951
|
-
|
|
3956
|
+
var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? "cache-first" : _d;
|
|
3957
|
+
var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e, _f = options.initialFetchPolicy, initialFetchPolicy = _f === void 0 ? (fetchPolicy === "standby" ? defaultFetchPolicy : fetchPolicy) : _f;
|
|
3958
|
+
_this.options = tslib.__assign(tslib.__assign({}, options), { initialFetchPolicy: initialFetchPolicy, fetchPolicy: fetchPolicy });
|
|
3952
3959
|
_this.queryId = queryInfo.queryId || queryManager.generateQueryId();
|
|
3953
3960
|
var opDef = getOperationDefinition(_this.query);
|
|
3954
3961
|
_this.queryName = opDef && opDef.name && opDef.name.value;
|
|
@@ -5644,7 +5651,7 @@ var QueryManager = (function () {
|
|
|
5644
5651
|
};
|
|
5645
5652
|
QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, _a, networkStatus) {
|
|
5646
5653
|
var _this = this;
|
|
5647
|
-
var query = _a.query, variables = _a.variables, fetchPolicy = _a.fetchPolicy, refetchWritePolicy = _a.refetchWritePolicy, errorPolicy = _a.errorPolicy, returnPartialData = _a.returnPartialData, context = _a.context, notifyOnNetworkStatusChange = _a.notifyOnNetworkStatusChange
|
|
5654
|
+
var query = _a.query, variables = _a.variables, fetchPolicy = _a.fetchPolicy, refetchWritePolicy = _a.refetchWritePolicy, errorPolicy = _a.errorPolicy, returnPartialData = _a.returnPartialData, context = _a.context, notifyOnNetworkStatusChange = _a.notifyOnNetworkStatusChange;
|
|
5648
5655
|
var oldNetworkStatus = queryInfo.networkStatus;
|
|
5649
5656
|
queryInfo.init({
|
|
5650
5657
|
document: this.transform(query).document,
|
|
@@ -5676,28 +5683,12 @@ var QueryManager = (function () {
|
|
|
5676
5683
|
(networkStatus === exports.NetworkStatus.refetch &&
|
|
5677
5684
|
refetchWritePolicy !== "merge") ? 1
|
|
5678
5685
|
: 2;
|
|
5679
|
-
var resultsFromLink = function () {
|
|
5680
|
-
|
|
5681
|
-
|
|
5682
|
-
|
|
5683
|
-
|
|
5684
|
-
|
|
5685
|
-
}); };
|
|
5686
|
-
return fetchBlockingPromise ? fetchBlockingPromise.then(function (ok) { return ok ? get() : zenObservableTs.Observable.of(); }, function (error) {
|
|
5687
|
-
var apolloError = isApolloError(error)
|
|
5688
|
-
? error
|
|
5689
|
-
: new ApolloError({ clientErrors: [error] });
|
|
5690
|
-
if (errorPolicy !== "ignore") {
|
|
5691
|
-
queryInfo.markError(apolloError);
|
|
5692
|
-
}
|
|
5693
|
-
return zenObservableTs.Observable.of({
|
|
5694
|
-
loading: false,
|
|
5695
|
-
networkStatus: exports.NetworkStatus.error,
|
|
5696
|
-
error: apolloError,
|
|
5697
|
-
data: readCache().result,
|
|
5698
|
-
});
|
|
5699
|
-
}) : get();
|
|
5700
|
-
};
|
|
5686
|
+
var resultsFromLink = function () { return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {
|
|
5687
|
+
variables: variables,
|
|
5688
|
+
context: context,
|
|
5689
|
+
fetchPolicy: fetchPolicy,
|
|
5690
|
+
errorPolicy: errorPolicy,
|
|
5691
|
+
}); };
|
|
5701
5692
|
var shouldNotify = notifyOnNetworkStatusChange &&
|
|
5702
5693
|
typeof oldNetworkStatus === "number" &&
|
|
5703
5694
|
oldNetworkStatus !== networkStatus &&
|
|
@@ -6020,17 +6011,17 @@ function getApolloContext() {
|
|
|
6020
6011
|
|
|
6021
6012
|
var ApolloConsumer = function (props) {
|
|
6022
6013
|
var ApolloContext = getApolloContext();
|
|
6023
|
-
return React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
|
|
6014
|
+
return (React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
|
|
6024
6015
|
__DEV__ ? tsInvariant.invariant(context && context.client, 'Could not find "client" in the context of ApolloConsumer. ' +
|
|
6025
6016
|
'Wrap the root component in an <ApolloProvider>.') : tsInvariant.invariant(context && context.client, 25);
|
|
6026
6017
|
return props.children(context.client);
|
|
6027
|
-
});
|
|
6018
|
+
}));
|
|
6028
6019
|
};
|
|
6029
6020
|
|
|
6030
6021
|
var ApolloProvider = function (_a) {
|
|
6031
6022
|
var client = _a.client, children = _a.children;
|
|
6032
6023
|
var ApolloContext = getApolloContext();
|
|
6033
|
-
return React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
|
|
6024
|
+
return (React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
|
|
6034
6025
|
if (context === void 0) { context = {}; }
|
|
6035
6026
|
if (client && context.client !== client) {
|
|
6036
6027
|
context = Object.assign({}, context, { client: client });
|
|
@@ -6038,7 +6029,7 @@ var ApolloProvider = function (_a) {
|
|
|
6038
6029
|
__DEV__ ? tsInvariant.invariant(context.client, 'ApolloProvider was not passed a client instance. Make ' +
|
|
6039
6030
|
'sure you pass in your client via the "client" prop.') : tsInvariant.invariant(context.client, 26);
|
|
6040
6031
|
return (React__namespace.createElement(ApolloContext.Provider, { value: context }, children));
|
|
6041
|
-
});
|
|
6032
|
+
}));
|
|
6042
6033
|
};
|
|
6043
6034
|
|
|
6044
6035
|
function useApolloClient(override) {
|
|
@@ -6050,6 +6041,53 @@ function useApolloClient(override) {
|
|
|
6050
6041
|
return client;
|
|
6051
6042
|
}
|
|
6052
6043
|
|
|
6044
|
+
var didWarnUncachedGetSnapshot = false;
|
|
6045
|
+
var useSyncExternalStore = function (subscribe, getSnapshot, getServerSnapshot) {
|
|
6046
|
+
var realHook = React__namespace.useSyncExternalStore;
|
|
6047
|
+
if (realHook) {
|
|
6048
|
+
return realHook(subscribe, getSnapshot, getServerSnapshot);
|
|
6049
|
+
}
|
|
6050
|
+
var value = getSnapshot();
|
|
6051
|
+
if (__DEV__ &&
|
|
6052
|
+
!didWarnUncachedGetSnapshot &&
|
|
6053
|
+
value !== getSnapshot()) {
|
|
6054
|
+
didWarnUncachedGetSnapshot = true;
|
|
6055
|
+
__DEV__ && tsInvariant.invariant.error('The result of getSnapshot should be cached to avoid an infinite loop');
|
|
6056
|
+
}
|
|
6057
|
+
var _a = React__namespace.useState({ inst: { value: value, getSnapshot: getSnapshot } }), inst = _a[0].inst, forceUpdate = _a[1];
|
|
6058
|
+
if (canUseLayoutEffect) {
|
|
6059
|
+
React__namespace.useLayoutEffect(function () {
|
|
6060
|
+
Object.assign(inst, { value: value, getSnapshot: getSnapshot });
|
|
6061
|
+
if (checkIfSnapshotChanged(inst)) {
|
|
6062
|
+
forceUpdate({ inst: inst });
|
|
6063
|
+
}
|
|
6064
|
+
}, [subscribe, value, getSnapshot]);
|
|
6065
|
+
}
|
|
6066
|
+
else {
|
|
6067
|
+
Object.assign(inst, { value: value, getSnapshot: getSnapshot });
|
|
6068
|
+
}
|
|
6069
|
+
React__namespace.useEffect(function () {
|
|
6070
|
+
if (checkIfSnapshotChanged(inst)) {
|
|
6071
|
+
forceUpdate({ inst: inst });
|
|
6072
|
+
}
|
|
6073
|
+
return subscribe(function handleStoreChange() {
|
|
6074
|
+
if (checkIfSnapshotChanged(inst)) {
|
|
6075
|
+
forceUpdate({ inst: inst });
|
|
6076
|
+
}
|
|
6077
|
+
});
|
|
6078
|
+
}, [subscribe]);
|
|
6079
|
+
return value;
|
|
6080
|
+
};
|
|
6081
|
+
function checkIfSnapshotChanged(_a) {
|
|
6082
|
+
var value = _a.value, getSnapshot = _a.getSnapshot;
|
|
6083
|
+
try {
|
|
6084
|
+
return value !== getSnapshot();
|
|
6085
|
+
}
|
|
6086
|
+
catch (_b) {
|
|
6087
|
+
return true;
|
|
6088
|
+
}
|
|
6089
|
+
}
|
|
6090
|
+
|
|
6053
6091
|
exports.DocumentType = void 0;
|
|
6054
6092
|
(function (DocumentType) {
|
|
6055
6093
|
DocumentType[DocumentType["Query"] = 0] = "Query";
|
|
@@ -6080,16 +6118,30 @@ function parser(document) {
|
|
|
6080
6118
|
__DEV__ ? tsInvariant.invariant(!!document && !!document.kind, "Argument of ".concat(document, " passed to parser was not a valid GraphQL ") +
|
|
6081
6119
|
"DocumentNode. You may need to use 'graphql-tag' or another method " +
|
|
6082
6120
|
"to convert your operation into a document") : tsInvariant.invariant(!!document && !!document.kind, 30);
|
|
6083
|
-
var fragments =
|
|
6084
|
-
var queries =
|
|
6085
|
-
|
|
6086
|
-
|
|
6087
|
-
var
|
|
6088
|
-
|
|
6089
|
-
|
|
6090
|
-
|
|
6091
|
-
|
|
6092
|
-
|
|
6121
|
+
var fragments = [];
|
|
6122
|
+
var queries = [];
|
|
6123
|
+
var mutations = [];
|
|
6124
|
+
var subscriptions = [];
|
|
6125
|
+
for (var _i = 0, _a = document.definitions; _i < _a.length; _i++) {
|
|
6126
|
+
var x = _a[_i];
|
|
6127
|
+
if (x.kind === 'FragmentDefinition') {
|
|
6128
|
+
fragments.push(x);
|
|
6129
|
+
continue;
|
|
6130
|
+
}
|
|
6131
|
+
if (x.kind === 'OperationDefinition') {
|
|
6132
|
+
switch (x.operation) {
|
|
6133
|
+
case 'query':
|
|
6134
|
+
queries.push(x);
|
|
6135
|
+
break;
|
|
6136
|
+
case 'mutation':
|
|
6137
|
+
mutations.push(x);
|
|
6138
|
+
break;
|
|
6139
|
+
case 'subscription':
|
|
6140
|
+
subscriptions.push(x);
|
|
6141
|
+
break;
|
|
6142
|
+
}
|
|
6143
|
+
}
|
|
6144
|
+
}
|
|
6093
6145
|
__DEV__ ? tsInvariant.invariant(!fragments.length ||
|
|
6094
6146
|
(queries.length || mutations.length || subscriptions.length), "Passing only a fragment to 'graphql' is not yet supported. " +
|
|
6095
6147
|
"You must include a query, subscription or mutation as well") : tsInvariant.invariant(!fragments.length ||
|
|
@@ -6152,6 +6204,8 @@ var InternalState = (function () {
|
|
|
6152
6204
|
function InternalState(client, query) {
|
|
6153
6205
|
this.client = client;
|
|
6154
6206
|
this.query = query;
|
|
6207
|
+
this.asyncResolveFns = new Set();
|
|
6208
|
+
this.optionsToIgnoreOnce = new (canUseWeakSet ? WeakSet : Set)();
|
|
6155
6209
|
this.ssrDisabledResult = maybeDeepFreeze({
|
|
6156
6210
|
loading: true,
|
|
6157
6211
|
data: void 0,
|
|
@@ -6168,13 +6222,22 @@ var InternalState = (function () {
|
|
|
6168
6222
|
verifyDocumentType(query, exports.DocumentType.Query);
|
|
6169
6223
|
}
|
|
6170
6224
|
InternalState.prototype.forceUpdate = function () {
|
|
6225
|
+
__DEV__ && tsInvariant.invariant.warn("Calling default no-op implementation of InternalState#forceUpdate");
|
|
6226
|
+
};
|
|
6227
|
+
InternalState.prototype.asyncUpdate = function () {
|
|
6228
|
+
var _this = this;
|
|
6229
|
+
return new Promise(function (resolve) {
|
|
6230
|
+
_this.asyncResolveFns.add(resolve);
|
|
6231
|
+
_this.optionsToIgnoreOnce.add(_this.watchQueryOptions);
|
|
6232
|
+
_this.forceUpdate();
|
|
6233
|
+
});
|
|
6171
6234
|
};
|
|
6172
6235
|
InternalState.prototype.useQuery = function (options) {
|
|
6173
6236
|
var _this = this;
|
|
6174
6237
|
this.renderPromises = React.useContext(getApolloContext()).renderPromises;
|
|
6175
6238
|
this.useOptions(options);
|
|
6176
6239
|
var obsQuery = this.useObservableQuery();
|
|
6177
|
-
var result =
|
|
6240
|
+
var result = useSyncExternalStore(React.useCallback(function () {
|
|
6178
6241
|
if (_this.renderPromises) {
|
|
6179
6242
|
return function () { };
|
|
6180
6243
|
}
|
|
@@ -6220,30 +6283,34 @@ var InternalState = (function () {
|
|
|
6220
6283
|
obsQuery,
|
|
6221
6284
|
this.renderPromises,
|
|
6222
6285
|
this.client.disableNetworkFetches,
|
|
6223
|
-
]), function () { return _this.getCurrentResult(); });
|
|
6286
|
+
]), function () { return _this.getCurrentResult(); }, function () { return _this.getCurrentResult(); });
|
|
6224
6287
|
this.unsafeHandlePartialRefetch(result);
|
|
6225
|
-
|
|
6288
|
+
var queryResult = this.toQueryResult(result);
|
|
6289
|
+
if (!queryResult.loading && this.asyncResolveFns.size) {
|
|
6290
|
+
this.asyncResolveFns.forEach(function (resolve) { return resolve(queryResult); });
|
|
6291
|
+
this.asyncResolveFns.clear();
|
|
6292
|
+
}
|
|
6293
|
+
return queryResult;
|
|
6226
6294
|
};
|
|
6227
6295
|
InternalState.prototype.useOptions = function (options) {
|
|
6228
6296
|
var _a;
|
|
6229
6297
|
var watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);
|
|
6230
6298
|
var currentWatchQueryOptions = this.watchQueryOptions;
|
|
6231
|
-
|
|
6232
|
-
|
|
6299
|
+
if (this.optionsToIgnoreOnce.has(currentWatchQueryOptions) ||
|
|
6300
|
+
!equality.equal(watchQueryOptions, currentWatchQueryOptions)) {
|
|
6233
6301
|
this.watchQueryOptions = watchQueryOptions;
|
|
6234
6302
|
if (currentWatchQueryOptions && this.observable) {
|
|
6235
|
-
this.
|
|
6236
|
-
|
|
6237
|
-
}) }, watchQueryOptions));
|
|
6303
|
+
this.optionsToIgnoreOnce.delete(currentWatchQueryOptions);
|
|
6304
|
+
this.observable.reobserve(watchQueryOptions);
|
|
6238
6305
|
this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
|
|
6239
6306
|
this.result = void 0;
|
|
6240
6307
|
}
|
|
6241
6308
|
}
|
|
6242
|
-
useUnblockFetchEffect(this.renderPromises, resolveFetchBlockingPromise);
|
|
6243
6309
|
this.onCompleted = options.onCompleted || InternalState.prototype.onCompleted;
|
|
6244
6310
|
this.onError = options.onError || InternalState.prototype.onError;
|
|
6245
6311
|
if ((this.renderPromises || this.client.disableNetworkFetches) &&
|
|
6246
|
-
this.queryHookOptions.ssr === false
|
|
6312
|
+
this.queryHookOptions.ssr === false &&
|
|
6313
|
+
!this.queryHookOptions.skip) {
|
|
6247
6314
|
this.result = this.ssrDisabledResult;
|
|
6248
6315
|
}
|
|
6249
6316
|
else if (this.queryHookOptions.skip ||
|
|
@@ -6256,63 +6323,46 @@ var InternalState = (function () {
|
|
|
6256
6323
|
}
|
|
6257
6324
|
};
|
|
6258
6325
|
InternalState.prototype.createWatchQueryOptions = function (_a) {
|
|
6326
|
+
var _b;
|
|
6259
6327
|
if (_a === void 0) { _a = {}; }
|
|
6260
|
-
var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.displayName;
|
|
6261
|
-
var
|
|
6262
|
-
var globalDefaults = this.client.defaultOptions.watchQuery;
|
|
6263
|
-
if (globalDefaults)
|
|
6264
|
-
toMerge.push(globalDefaults);
|
|
6265
|
-
if (defaultOptions)
|
|
6266
|
-
toMerge.push(defaultOptions);
|
|
6267
|
-
var latestOptions = this.observable && this.observable.options;
|
|
6268
|
-
if (latestOptions && toMerge.length) {
|
|
6269
|
-
var defaults_1 = toMerge.reduce(mergeOptions, Object.create(null));
|
|
6270
|
-
toMerge.length = 1;
|
|
6271
|
-
toMerge[0] = defaults_1;
|
|
6272
|
-
Object.keys(defaults_1).forEach(function (defaultOptionName) {
|
|
6273
|
-
var currentOptionValue = latestOptions[defaultOptionName];
|
|
6274
|
-
if (hasOwnProperty.call(latestOptions, defaultOptionName) &&
|
|
6275
|
-
!equality.equal(defaults_1[defaultOptionName], currentOptionValue)) {
|
|
6276
|
-
defaults_1[defaultOptionName] = defaultOptionName === "variables"
|
|
6277
|
-
? tslib.__assign(tslib.__assign({}, defaults_1.variables), currentOptionValue) : currentOptionValue;
|
|
6278
|
-
}
|
|
6279
|
-
});
|
|
6280
|
-
}
|
|
6281
|
-
toMerge.push(otherOptions);
|
|
6282
|
-
var merged = toMerge.reduce(mergeOptions, Object.create(null));
|
|
6283
|
-
var watchQueryOptions = Object.assign(merged, { query: this.query });
|
|
6328
|
+
var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.displayName; _a.defaultOptions; var otherOptions = tslib.__rest(_a, ["skip", "ssr", "onCompleted", "onError", "displayName", "defaultOptions"]);
|
|
6329
|
+
var watchQueryOptions = Object.assign(otherOptions, { query: this.query });
|
|
6284
6330
|
if (this.renderPromises &&
|
|
6285
6331
|
(watchQueryOptions.fetchPolicy === 'network-only' ||
|
|
6286
6332
|
watchQueryOptions.fetchPolicy === 'cache-and-network')) {
|
|
6287
6333
|
watchQueryOptions.fetchPolicy = 'cache-first';
|
|
6288
6334
|
}
|
|
6289
|
-
|
|
6290
|
-
watchQueryOptions.
|
|
6335
|
+
if (!watchQueryOptions.variables) {
|
|
6336
|
+
watchQueryOptions.variables = {};
|
|
6291
6337
|
}
|
|
6292
6338
|
if (skip) {
|
|
6293
|
-
var
|
|
6339
|
+
var _c = watchQueryOptions.fetchPolicy, fetchPolicy = _c === void 0 ? this.getDefaultFetchPolicy() : _c, _d = watchQueryOptions.initialFetchPolicy, initialFetchPolicy = _d === void 0 ? fetchPolicy : _d;
|
|
6294
6340
|
Object.assign(watchQueryOptions, {
|
|
6295
6341
|
initialFetchPolicy: initialFetchPolicy,
|
|
6296
6342
|
fetchPolicy: 'standby',
|
|
6297
6343
|
});
|
|
6298
6344
|
}
|
|
6299
|
-
if (!watchQueryOptions.
|
|
6300
|
-
watchQueryOptions.
|
|
6345
|
+
else if (!watchQueryOptions.fetchPolicy) {
|
|
6346
|
+
watchQueryOptions.fetchPolicy =
|
|
6347
|
+
((_b = this.observable) === null || _b === void 0 ? void 0 : _b.options.initialFetchPolicy) ||
|
|
6348
|
+
this.getDefaultFetchPolicy();
|
|
6301
6349
|
}
|
|
6302
6350
|
return watchQueryOptions;
|
|
6303
6351
|
};
|
|
6352
|
+
InternalState.prototype.getDefaultFetchPolicy = function () {
|
|
6353
|
+
var _a, _b;
|
|
6354
|
+
return (((_a = this.queryHookOptions.defaultOptions) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||
|
|
6355
|
+
((_b = this.client.defaultOptions.watchQuery) === null || _b === void 0 ? void 0 : _b.fetchPolicy) ||
|
|
6356
|
+
"cache-first");
|
|
6357
|
+
};
|
|
6304
6358
|
InternalState.prototype.onCompleted = function (data) { };
|
|
6305
6359
|
InternalState.prototype.onError = function (error) { };
|
|
6306
6360
|
InternalState.prototype.useObservableQuery = function () {
|
|
6307
|
-
var resolveFetchBlockingPromise;
|
|
6308
6361
|
var obsQuery = this.observable =
|
|
6309
6362
|
this.renderPromises
|
|
6310
6363
|
&& this.renderPromises.getSSRObservable(this.watchQueryOptions)
|
|
6311
6364
|
|| this.observable
|
|
6312
|
-
|| this.client.watchQuery(
|
|
6313
|
-
resolveFetchBlockingPromise = resolve;
|
|
6314
|
-
}) }, this.watchQueryOptions));
|
|
6315
|
-
useUnblockFetchEffect(this.renderPromises, resolveFetchBlockingPromise);
|
|
6365
|
+
|| this.client.watchQuery(mergeOptions(this.queryHookOptions.defaultOptions, this.watchQueryOptions));
|
|
6316
6366
|
this.obsQueryFields = React.useMemo(function () { return ({
|
|
6317
6367
|
refetch: obsQuery.refetch.bind(obsQuery),
|
|
6318
6368
|
reobserve: obsQuery.reobserve.bind(obsQuery),
|
|
@@ -6322,11 +6372,11 @@ var InternalState = (function () {
|
|
|
6322
6372
|
stopPolling: obsQuery.stopPolling.bind(obsQuery),
|
|
6323
6373
|
subscribeToMore: obsQuery.subscribeToMore.bind(obsQuery),
|
|
6324
6374
|
}); }, [obsQuery]);
|
|
6325
|
-
|
|
6375
|
+
var ssrAllowed = !(this.queryHookOptions.ssr === false ||
|
|
6376
|
+
this.queryHookOptions.skip);
|
|
6377
|
+
if (this.renderPromises && ssrAllowed) {
|
|
6326
6378
|
this.renderPromises.registerSSRObservable(obsQuery);
|
|
6327
|
-
|
|
6328
|
-
this.queryHookOptions.skip);
|
|
6329
|
-
if (ssrAllowed && obsQuery.getCurrentResult().loading) {
|
|
6379
|
+
if (obsQuery.getCurrentResult().loading) {
|
|
6330
6380
|
this.renderPromises.addObservableQueryPromise(obsQuery);
|
|
6331
6381
|
}
|
|
6332
6382
|
}
|
|
@@ -6383,21 +6433,6 @@ var InternalState = (function () {
|
|
|
6383
6433
|
};
|
|
6384
6434
|
return InternalState;
|
|
6385
6435
|
}());
|
|
6386
|
-
function useUnblockFetchEffect(renderPromises, resolveFetchBlockingPromise) {
|
|
6387
|
-
if (resolveFetchBlockingPromise) {
|
|
6388
|
-
if (renderPromises) {
|
|
6389
|
-
resolveFetchBlockingPromise(true);
|
|
6390
|
-
}
|
|
6391
|
-
else {
|
|
6392
|
-
setTimeout(function () { return resolveFetchBlockingPromise(false); }, 5000);
|
|
6393
|
-
}
|
|
6394
|
-
}
|
|
6395
|
-
React.useEffect(function () {
|
|
6396
|
-
if (resolveFetchBlockingPromise) {
|
|
6397
|
-
resolveFetchBlockingPromise(true);
|
|
6398
|
-
}
|
|
6399
|
-
}, [resolveFetchBlockingPromise]);
|
|
6400
|
-
}
|
|
6401
6436
|
|
|
6402
6437
|
var EAGER_METHODS = [
|
|
6403
6438
|
'refetch',
|
|
@@ -6410,12 +6445,9 @@ var EAGER_METHODS = [
|
|
|
6410
6445
|
function useLazyQuery(query, options) {
|
|
6411
6446
|
var internalState = useInternalState(useApolloClient(options && options.client), query);
|
|
6412
6447
|
var execOptionsRef = React.useRef();
|
|
6413
|
-
var defaultOptions = internalState.client.defaultOptions.watchQuery;
|
|
6414
|
-
var initialFetchPolicy = (options && options.fetchPolicy) ||
|
|
6415
|
-
(execOptionsRef.current && execOptionsRef.current.fetchPolicy) ||
|
|
6416
|
-
(defaultOptions && defaultOptions.fetchPolicy) ||
|
|
6417
|
-
"cache-first";
|
|
6418
6448
|
var useQueryResult = internalState.useQuery(tslib.__assign(tslib.__assign(tslib.__assign({}, options), execOptionsRef.current), { skip: !execOptionsRef.current }));
|
|
6449
|
+
var initialFetchPolicy = useQueryResult.observable.options.initialFetchPolicy ||
|
|
6450
|
+
internalState.getDefaultFetchPolicy();
|
|
6419
6451
|
var result = Object.assign(useQueryResult, {
|
|
6420
6452
|
called: !!execOptionsRef.current,
|
|
6421
6453
|
});
|
|
@@ -6439,22 +6471,12 @@ function useLazyQuery(query, options) {
|
|
|
6439
6471
|
}, []);
|
|
6440
6472
|
Object.assign(result, eagerMethods);
|
|
6441
6473
|
var execute = React.useCallback(function (executeOptions) {
|
|
6442
|
-
|
|
6474
|
+
execOptionsRef.current = executeOptions ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
|
|
6443
6475
|
fetchPolicy: initialFetchPolicy,
|
|
6444
|
-
}
|
|
6445
|
-
|
|
6446
|
-
|
|
6447
|
-
|
|
6448
|
-
var _a = result.observable.options.errorPolicy, errorPolicy = _a === void 0 ? "none" : _a;
|
|
6449
|
-
if (errorPolicy === "none") {
|
|
6450
|
-
throw apolloQueryResult.error || new ApolloError({
|
|
6451
|
-
graphQLErrors: apolloQueryResult.errors,
|
|
6452
|
-
});
|
|
6453
|
-
}
|
|
6454
|
-
}
|
|
6455
|
-
return internalState.toQueryResult(apolloQueryResult);
|
|
6456
|
-
}).then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
|
|
6457
|
-
internalState.forceUpdate();
|
|
6476
|
+
};
|
|
6477
|
+
var promise = internalState
|
|
6478
|
+
.asyncUpdate()
|
|
6479
|
+
.then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
|
|
6458
6480
|
promise.catch(function () { });
|
|
6459
6481
|
return promise;
|
|
6460
6482
|
}, []);
|