@apollo/client 3.7.10 → 3.7.11
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 +177 -145
- 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 +2 -1
- package/core/ObservableQuery.d.ts.map +1 -1
- package/core/ObservableQuery.js +8 -5
- package/core/ObservableQuery.js.map +1 -1
- package/core/QueryManager.d.ts +1 -0
- package/core/QueryManager.d.ts.map +1 -1
- package/core/QueryManager.js +52 -43
- package/core/QueryManager.js.map +1 -1
- package/core/core.cjs +63 -52
- package/core/core.cjs.map +1 -1
- package/core/core.cjs.native.js +63 -52
- package/errors/errors.cjs +17 -17
- package/errors/errors.cjs.map +1 -1
- package/errors/errors.cjs.native.js +17 -17
- package/errors/index.d.ts +24 -8
- package/errors/index.d.ts.map +1 -1
- package/errors/index.js +17 -19
- package/errors/index.js.map +1 -1
- package/invariantErrorCodes.js +1 -1
- package/link/core/types.d.ts +4 -0
- package/link/core/types.d.ts.map +1 -1
- package/link/core/types.js.map +1 -1
- package/link/http/createHttpLink.d.ts.map +1 -1
- package/link/http/createHttpLink.js +19 -3
- package/link/http/createHttpLink.js.map +1 -1
- package/link/http/http.cjs +52 -15
- package/link/http/http.cjs.map +1 -1
- package/link/http/http.cjs.native.js +52 -15
- package/link/http/parseAndCheckHttpResponse.d.ts.map +1 -1
- package/link/http/parseAndCheckHttpResponse.js +29 -14
- package/link/http/parseAndCheckHttpResponse.js.map +1 -1
- package/link/subscriptions/index.d.ts.map +1 -1
- package/link/subscriptions/index.js +8 -3
- package/link/subscriptions/index.js.map +1 -1
- package/link/subscriptions/subscriptions.cjs +8 -3
- package/link/subscriptions/subscriptions.cjs.map +1 -1
- package/link/subscriptions/subscriptions.cjs.native.js +8 -3
- package/package.json +18 -19
- package/react/hooks/hooks.cjs +36 -44
- package/react/hooks/hooks.cjs.map +1 -1
- package/react/hooks/hooks.cjs.native.js +36 -44
- package/react/hooks/useLazyQuery.d.ts.map +1 -1
- package/react/hooks/useLazyQuery.js +11 -20
- package/react/hooks/useLazyQuery.js.map +1 -1
- package/react/hooks/useQuery.d.ts +1 -3
- package/react/hooks/useQuery.d.ts.map +1 -1
- package/react/hooks/useQuery.js +27 -26
- package/react/hooks/useQuery.js.map +1 -1
- package/testing/core/itAsync.js.map +1 -1
- package/testing/core/mocking/mockSubscriptionLink.d.ts +1 -1
- package/testing/react/MockedProvider.js +5 -4
- package/testing/react/MockedProvider.js.map +1 -1
- package/testing/testing.cjs +4 -2
- package/testing/testing.cjs.map +1 -1
- package/testing/testing.cjs.native.js +4 -2
- package/utilities/common/incrementalResult.d.ts +2 -1
- package/utilities/common/incrementalResult.d.ts.map +1 -1
- package/utilities/common/incrementalResult.js +4 -0
- package/utilities/common/incrementalResult.js.map +1 -1
- package/utilities/utilities.cjs.map +1 -1
- package/version.js +1 -1
package/apollo-client.cjs
CHANGED
|
@@ -1075,6 +1075,9 @@ function isExecutionPatchResult(value) {
|
|
|
1075
1075
|
return (isExecutionPatchIncrementalResult(value) ||
|
|
1076
1076
|
isExecutionPatchInitialResult(value));
|
|
1077
1077
|
}
|
|
1078
|
+
function isApolloPayloadResult(value) {
|
|
1079
|
+
return isNonNullObject(value) && "payload" in value;
|
|
1080
|
+
}
|
|
1078
1081
|
function mergeIncrementalData(prevResult, result) {
|
|
1079
1082
|
var mergedData = prevResult;
|
|
1080
1083
|
var merger = new DeepMerger();
|
|
@@ -1357,7 +1360,7 @@ var concat = ApolloLink.concat;
|
|
|
1357
1360
|
|
|
1358
1361
|
var execute = ApolloLink.execute;
|
|
1359
1362
|
|
|
1360
|
-
var version = '3.7.
|
|
1363
|
+
var version = '3.7.11';
|
|
1361
1364
|
|
|
1362
1365
|
function isNodeResponse(value) {
|
|
1363
1366
|
return !!value.body;
|
|
@@ -1522,20 +1525,56 @@ function responseIterator(response) {
|
|
|
1522
1525
|
throw new Error("Unknown body type for responseIterator. Please pass a streamable response.");
|
|
1523
1526
|
}
|
|
1524
1527
|
|
|
1528
|
+
var PROTOCOL_ERRORS_SYMBOL = Symbol();
|
|
1529
|
+
function graphQLResultHasProtocolErrors(result) {
|
|
1530
|
+
if (result.extensions) {
|
|
1531
|
+
return Array.isArray(result.extensions[PROTOCOL_ERRORS_SYMBOL]);
|
|
1532
|
+
}
|
|
1533
|
+
return false;
|
|
1534
|
+
}
|
|
1535
|
+
function isApolloError(err) {
|
|
1536
|
+
return err.hasOwnProperty('graphQLErrors');
|
|
1537
|
+
}
|
|
1538
|
+
var generateErrorMessage = function (err) {
|
|
1539
|
+
var errors = tslib.__spreadArray(tslib.__spreadArray(tslib.__spreadArray([], err.graphQLErrors, true), err.clientErrors, true), err.protocolErrors, true);
|
|
1540
|
+
if (err.networkError)
|
|
1541
|
+
errors.push(err.networkError);
|
|
1542
|
+
return errors
|
|
1543
|
+
.map(function (err) { return isNonNullObject(err) && err.message || 'Error message not found.'; })
|
|
1544
|
+
.join('\n');
|
|
1545
|
+
};
|
|
1546
|
+
var ApolloError = (function (_super) {
|
|
1547
|
+
tslib.__extends(ApolloError, _super);
|
|
1548
|
+
function ApolloError(_a) {
|
|
1549
|
+
var graphQLErrors = _a.graphQLErrors, protocolErrors = _a.protocolErrors, clientErrors = _a.clientErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;
|
|
1550
|
+
var _this = _super.call(this, errorMessage) || this;
|
|
1551
|
+
_this.name = 'ApolloError';
|
|
1552
|
+
_this.graphQLErrors = graphQLErrors || [];
|
|
1553
|
+
_this.protocolErrors = protocolErrors || [];
|
|
1554
|
+
_this.clientErrors = clientErrors || [];
|
|
1555
|
+
_this.networkError = networkError || null;
|
|
1556
|
+
_this.message = errorMessage || generateErrorMessage(_this);
|
|
1557
|
+
_this.extraInfo = extraInfo;
|
|
1558
|
+
_this.__proto__ = ApolloError.prototype;
|
|
1559
|
+
return _this;
|
|
1560
|
+
}
|
|
1561
|
+
return ApolloError;
|
|
1562
|
+
}(Error));
|
|
1563
|
+
|
|
1525
1564
|
var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
|
|
1526
1565
|
function readMultipartBody(response, observer) {
|
|
1527
|
-
var _a, _b, _c;
|
|
1566
|
+
var _a, _b, _c, _d;
|
|
1528
1567
|
return tslib.__awaiter(this, void 0, void 0, function () {
|
|
1529
|
-
var decoder, contentType, delimiter, boundaryVal, boundary, buffer, iterator, running,
|
|
1530
|
-
var
|
|
1531
|
-
return tslib.__generator(this, function (
|
|
1532
|
-
switch (
|
|
1568
|
+
var decoder, contentType, delimiter, boundaryVal, boundary, buffer, iterator, running, _e, value, done, chunk, bi, message, i, headers, contentType_1, body, result, next;
|
|
1569
|
+
var _f, _g;
|
|
1570
|
+
return tslib.__generator(this, function (_h) {
|
|
1571
|
+
switch (_h.label) {
|
|
1533
1572
|
case 0:
|
|
1534
1573
|
if (TextDecoder === undefined) {
|
|
1535
1574
|
throw new Error("TextDecoder must be defined in the environment: please import a polyfill.");
|
|
1536
1575
|
}
|
|
1537
1576
|
decoder = new TextDecoder("utf-8");
|
|
1538
|
-
contentType = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get(
|
|
1577
|
+
contentType = (_a = response.headers) === null || _a === void 0 ? void 0 : _a.get("content-type");
|
|
1539
1578
|
delimiter = "boundary=";
|
|
1540
1579
|
boundaryVal = (contentType === null || contentType === void 0 ? void 0 : contentType.includes(delimiter))
|
|
1541
1580
|
? contentType === null || contentType === void 0 ? void 0 : contentType.substring((contentType === null || contentType === void 0 ? void 0 : contentType.indexOf(delimiter)) + delimiter.length).replace(/['"]/g, "").replace(/\;(.*)/gm, "").trim()
|
|
@@ -1544,22 +1583,22 @@ function readMultipartBody(response, observer) {
|
|
|
1544
1583
|
buffer = "";
|
|
1545
1584
|
iterator = responseIterator(response);
|
|
1546
1585
|
running = true;
|
|
1547
|
-
|
|
1586
|
+
_h.label = 1;
|
|
1548
1587
|
case 1:
|
|
1549
1588
|
if (!running) return [3, 3];
|
|
1550
1589
|
return [4, iterator.next()];
|
|
1551
1590
|
case 2:
|
|
1552
|
-
|
|
1591
|
+
_e = _h.sent(), value = _e.value, done = _e.done;
|
|
1553
1592
|
chunk = typeof value === "string" ? value : decoder.decode(value);
|
|
1554
1593
|
running = !done;
|
|
1555
1594
|
buffer += chunk;
|
|
1556
1595
|
bi = buffer.indexOf(boundary);
|
|
1557
1596
|
while (bi > -1) {
|
|
1558
1597
|
message = void 0;
|
|
1559
|
-
|
|
1598
|
+
_f = [
|
|
1560
1599
|
buffer.slice(0, bi),
|
|
1561
1600
|
buffer.slice(bi + boundary.length),
|
|
1562
|
-
], message =
|
|
1601
|
+
], message = _f[0], buffer = _f[1];
|
|
1563
1602
|
if (message.trim()) {
|
|
1564
1603
|
i = message.indexOf("\r\n\r\n");
|
|
1565
1604
|
headers = parseHeaders(message.slice(0, i));
|
|
@@ -1574,8 +1613,21 @@ function readMultipartBody(response, observer) {
|
|
|
1574
1613
|
if (Object.keys(result).length > 1 ||
|
|
1575
1614
|
"data" in result ||
|
|
1576
1615
|
"incremental" in result ||
|
|
1577
|
-
"errors" in result
|
|
1578
|
-
|
|
1616
|
+
"errors" in result ||
|
|
1617
|
+
"payload" in result) {
|
|
1618
|
+
if (isApolloPayloadResult(result)) {
|
|
1619
|
+
next = {};
|
|
1620
|
+
if ("payload" in result) {
|
|
1621
|
+
next = tslib.__assign({}, result.payload);
|
|
1622
|
+
}
|
|
1623
|
+
if ("errors" in result) {
|
|
1624
|
+
next = tslib.__assign(tslib.__assign({}, next), { extensions: tslib.__assign(tslib.__assign({}, ("extensions" in next ? next.extensions : null)), (_g = {}, _g[PROTOCOL_ERRORS_SYMBOL] = result.errors, _g)) });
|
|
1625
|
+
}
|
|
1626
|
+
(_b = observer.next) === null || _b === void 0 ? void 0 : _b.call(observer, next);
|
|
1627
|
+
}
|
|
1628
|
+
else {
|
|
1629
|
+
(_c = observer.next) === null || _c === void 0 ? void 0 : _c.call(observer, result);
|
|
1630
|
+
}
|
|
1579
1631
|
}
|
|
1580
1632
|
}
|
|
1581
1633
|
catch (err) {
|
|
@@ -1586,7 +1638,7 @@ function readMultipartBody(response, observer) {
|
|
|
1586
1638
|
}
|
|
1587
1639
|
return [3, 1];
|
|
1588
1640
|
case 3:
|
|
1589
|
-
(
|
|
1641
|
+
(_d = observer.complete) === null || _d === void 0 ? void 0 : _d.call(observer);
|
|
1590
1642
|
return [2];
|
|
1591
1643
|
}
|
|
1592
1644
|
});
|
|
@@ -1884,13 +1936,28 @@ var createHttpLink = function (linkOptions) {
|
|
|
1884
1936
|
var definitionIsMutation = function (d) {
|
|
1885
1937
|
return d.kind === 'OperationDefinition' && d.operation === 'mutation';
|
|
1886
1938
|
};
|
|
1939
|
+
var definitionIsSubscription = function (d) {
|
|
1940
|
+
return d.kind === 'OperationDefinition' && d.operation === 'subscription';
|
|
1941
|
+
};
|
|
1942
|
+
var isSubscription = definitionIsSubscription(getMainDefinition(operation.query));
|
|
1943
|
+
var hasDefer = hasDirectives(['defer'], operation.query);
|
|
1887
1944
|
if (useGETForQueries &&
|
|
1888
1945
|
!operation.query.definitions.some(definitionIsMutation)) {
|
|
1889
1946
|
options.method = 'GET';
|
|
1890
1947
|
}
|
|
1891
|
-
if (
|
|
1948
|
+
if (hasDefer || isSubscription) {
|
|
1892
1949
|
options.headers = options.headers || {};
|
|
1893
|
-
|
|
1950
|
+
var acceptHeader = "multipart/mixed;";
|
|
1951
|
+
if (isSubscription && hasDefer) {
|
|
1952
|
+
__DEV__ && tsInvariant.invariant.warn("Multipart-subscriptions do not support @defer");
|
|
1953
|
+
}
|
|
1954
|
+
if (isSubscription) {
|
|
1955
|
+
acceptHeader += 'boundary=graphql;subscriptionSpec=1.0,application/json';
|
|
1956
|
+
}
|
|
1957
|
+
else if (hasDefer) {
|
|
1958
|
+
acceptHeader += 'deferSpec=20220824,application/json';
|
|
1959
|
+
}
|
|
1960
|
+
options.headers.accept = acceptHeader;
|
|
1894
1961
|
}
|
|
1895
1962
|
if (options.method === 'GET') {
|
|
1896
1963
|
var _d = rewriteURIForGET(chosenURI, body), newURI = _d.newURI, parseError = _d.parseError;
|
|
@@ -4230,44 +4297,6 @@ var InMemoryCache = (function (_super) {
|
|
|
4230
4297
|
return InMemoryCache;
|
|
4231
4298
|
}(ApolloCache));
|
|
4232
4299
|
|
|
4233
|
-
function isApolloError(err) {
|
|
4234
|
-
return err.hasOwnProperty('graphQLErrors');
|
|
4235
|
-
}
|
|
4236
|
-
var generateErrorMessage = function (err) {
|
|
4237
|
-
var message = '';
|
|
4238
|
-
if (isNonEmptyArray(err.graphQLErrors) || isNonEmptyArray(err.clientErrors)) {
|
|
4239
|
-
var errors = (err.graphQLErrors || [])
|
|
4240
|
-
.concat(err.clientErrors || []);
|
|
4241
|
-
errors.forEach(function (error) {
|
|
4242
|
-
var errorMessage = error
|
|
4243
|
-
? error.message
|
|
4244
|
-
: 'Error message not found.';
|
|
4245
|
-
message += "".concat(errorMessage, "\n");
|
|
4246
|
-
});
|
|
4247
|
-
}
|
|
4248
|
-
if (err.networkError) {
|
|
4249
|
-
message += "".concat(err.networkError.message, "\n");
|
|
4250
|
-
}
|
|
4251
|
-
message = message.replace(/\n$/, '');
|
|
4252
|
-
return message;
|
|
4253
|
-
};
|
|
4254
|
-
var ApolloError = (function (_super) {
|
|
4255
|
-
tslib.__extends(ApolloError, _super);
|
|
4256
|
-
function ApolloError(_a) {
|
|
4257
|
-
var graphQLErrors = _a.graphQLErrors, clientErrors = _a.clientErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;
|
|
4258
|
-
var _this = _super.call(this, errorMessage) || this;
|
|
4259
|
-
_this.name = 'ApolloError';
|
|
4260
|
-
_this.graphQLErrors = graphQLErrors || [];
|
|
4261
|
-
_this.clientErrors = clientErrors || [];
|
|
4262
|
-
_this.networkError = networkError || null;
|
|
4263
|
-
_this.message = errorMessage || generateErrorMessage(_this);
|
|
4264
|
-
_this.extraInfo = extraInfo;
|
|
4265
|
-
_this.__proto__ = ApolloError.prototype;
|
|
4266
|
-
return _this;
|
|
4267
|
-
}
|
|
4268
|
-
return ApolloError;
|
|
4269
|
-
}(Error));
|
|
4270
|
-
|
|
4271
4300
|
exports.NetworkStatus = void 0;
|
|
4272
4301
|
(function (NetworkStatus) {
|
|
4273
4302
|
NetworkStatus[NetworkStatus["loading"] = 1] = "loading";
|
|
@@ -4614,7 +4643,7 @@ var ObservableQuery = (function (_super) {
|
|
|
4614
4643
|
};
|
|
4615
4644
|
ObservableQuery.prototype.fetch = function (options, newNetworkStatus) {
|
|
4616
4645
|
this.queryManager.setObservableQuery(this);
|
|
4617
|
-
return this.queryManager
|
|
4646
|
+
return this.queryManager['fetchConcastWithInfo'](this.queryId, options, newNetworkStatus);
|
|
4618
4647
|
};
|
|
4619
4648
|
ObservableQuery.prototype.updatePolling = function () {
|
|
4620
4649
|
var _this = this;
|
|
@@ -4667,7 +4696,7 @@ var ObservableQuery = (function (_super) {
|
|
|
4667
4696
|
}
|
|
4668
4697
|
return this.last;
|
|
4669
4698
|
};
|
|
4670
|
-
ObservableQuery.prototype.
|
|
4699
|
+
ObservableQuery.prototype.reobserveAsConcast = function (newOptions, newNetworkStatus) {
|
|
4671
4700
|
var _this = this;
|
|
4672
4701
|
this.isTornDown = false;
|
|
4673
4702
|
var useDisposableConcast = newNetworkStatus === exports.NetworkStatus.refetch ||
|
|
@@ -4693,7 +4722,7 @@ var ObservableQuery = (function (_super) {
|
|
|
4693
4722
|
}
|
|
4694
4723
|
}
|
|
4695
4724
|
var variables = options.variables && tslib.__assign({}, options.variables);
|
|
4696
|
-
var
|
|
4725
|
+
var _a = this.fetch(options, newNetworkStatus), concast = _a.concast, fromLink = _a.fromLink;
|
|
4697
4726
|
var observer = {
|
|
4698
4727
|
next: function (result) {
|
|
4699
4728
|
_this.reportResult(result, variables);
|
|
@@ -4702,7 +4731,7 @@ var ObservableQuery = (function (_super) {
|
|
|
4702
4731
|
_this.reportError(error, variables);
|
|
4703
4732
|
},
|
|
4704
4733
|
};
|
|
4705
|
-
if (!useDisposableConcast) {
|
|
4734
|
+
if (!useDisposableConcast && fromLink) {
|
|
4706
4735
|
if (this.concast && this.observer) {
|
|
4707
4736
|
this.concast.removeObserver(this.observer);
|
|
4708
4737
|
}
|
|
@@ -4710,7 +4739,10 @@ var ObservableQuery = (function (_super) {
|
|
|
4710
4739
|
this.observer = observer;
|
|
4711
4740
|
}
|
|
4712
4741
|
concast.addObserver(observer);
|
|
4713
|
-
return concast
|
|
4742
|
+
return concast;
|
|
4743
|
+
};
|
|
4744
|
+
ObservableQuery.prototype.reobserve = function (newOptions, newNetworkStatus) {
|
|
4745
|
+
return this.reobserveAsConcast(newOptions, newNetworkStatus).promise;
|
|
4714
4746
|
};
|
|
4715
4747
|
ObservableQuery.prototype.observe = function () {
|
|
4716
4748
|
this.reportResult(this.getCurrentResult(false), this.variables);
|
|
@@ -5881,10 +5913,17 @@ var QueryManager = (function () {
|
|
|
5881
5913
|
}
|
|
5882
5914
|
_this.broadcastQueries();
|
|
5883
5915
|
}
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
}
|
|
5916
|
+
var hasErrors = graphQLResultHasError(result);
|
|
5917
|
+
var hasProtocolErrors = graphQLResultHasProtocolErrors(result);
|
|
5918
|
+
if (hasErrors || hasProtocolErrors) {
|
|
5919
|
+
var errors = {};
|
|
5920
|
+
if (hasErrors) {
|
|
5921
|
+
errors.graphQLErrors = result.errors;
|
|
5922
|
+
}
|
|
5923
|
+
if (hasProtocolErrors) {
|
|
5924
|
+
errors.protocolErrors = result.extensions[PROTOCOL_ERRORS_SYMBOL];
|
|
5925
|
+
}
|
|
5926
|
+
throw new ApolloError(errors);
|
|
5888
5927
|
}
|
|
5889
5928
|
return result;
|
|
5890
5929
|
});
|
|
@@ -6016,6 +6055,9 @@ var QueryManager = (function () {
|
|
|
6016
6055
|
});
|
|
6017
6056
|
};
|
|
6018
6057
|
QueryManager.prototype.fetchQueryObservable = function (queryId, options, networkStatus) {
|
|
6058
|
+
return this.fetchConcastWithInfo(queryId, options, networkStatus).concast;
|
|
6059
|
+
};
|
|
6060
|
+
QueryManager.prototype.fetchConcastWithInfo = function (queryId, options, networkStatus) {
|
|
6019
6061
|
var _this = this;
|
|
6020
6062
|
if (networkStatus === void 0) { networkStatus = exports.NetworkStatus.loading; }
|
|
6021
6063
|
var query = this.transform(options.query).document;
|
|
@@ -6034,24 +6076,36 @@ var QueryManager = (function () {
|
|
|
6034
6076
|
});
|
|
6035
6077
|
var fromVariables = function (variables) {
|
|
6036
6078
|
normalized.variables = variables;
|
|
6037
|
-
var
|
|
6079
|
+
var sourcesWithInfo = _this.fetchQueryByPolicy(queryInfo, normalized, networkStatus);
|
|
6038
6080
|
if (normalized.fetchPolicy !== "standby" &&
|
|
6039
|
-
|
|
6081
|
+
sourcesWithInfo.sources.length > 0 &&
|
|
6040
6082
|
queryInfo.observableQuery) {
|
|
6041
6083
|
queryInfo.observableQuery["applyNextFetchPolicy"]("after-fetch", options);
|
|
6042
6084
|
}
|
|
6043
|
-
return
|
|
6085
|
+
return sourcesWithInfo;
|
|
6044
6086
|
};
|
|
6045
6087
|
var cleanupCancelFn = function () { return _this.fetchCancelFns.delete(queryId); };
|
|
6046
6088
|
this.fetchCancelFns.set(queryId, function (reason) {
|
|
6047
6089
|
cleanupCancelFn();
|
|
6048
6090
|
setTimeout(function () { return concast.cancel(reason); });
|
|
6049
6091
|
});
|
|
6050
|
-
var concast
|
|
6051
|
-
|
|
6052
|
-
|
|
6092
|
+
var concast, containsDataFromLink;
|
|
6093
|
+
if (this.transform(normalized.query).hasClientExports) {
|
|
6094
|
+
concast = new Concast(this.localState
|
|
6095
|
+
.addExportedVariables(normalized.query, normalized.variables, normalized.context)
|
|
6096
|
+
.then(fromVariables).then(function (sourcesWithInfo) { return sourcesWithInfo.sources; }));
|
|
6097
|
+
containsDataFromLink = true;
|
|
6098
|
+
}
|
|
6099
|
+
else {
|
|
6100
|
+
var sourcesWithInfo = fromVariables(normalized.variables);
|
|
6101
|
+
containsDataFromLink = sourcesWithInfo.fromLink;
|
|
6102
|
+
concast = new Concast(sourcesWithInfo.sources);
|
|
6103
|
+
}
|
|
6053
6104
|
concast.promise.then(cleanupCancelFn, cleanupCancelFn);
|
|
6054
|
-
return
|
|
6105
|
+
return {
|
|
6106
|
+
concast: concast,
|
|
6107
|
+
fromLink: containsDataFromLink,
|
|
6108
|
+
};
|
|
6055
6109
|
};
|
|
6056
6110
|
QueryManager.prototype.refetchQueries = function (_a) {
|
|
6057
6111
|
var _this = this;
|
|
@@ -6175,54 +6229,40 @@ var QueryManager = (function () {
|
|
|
6175
6229
|
case "cache-first": {
|
|
6176
6230
|
var diff = readCache();
|
|
6177
6231
|
if (diff.complete) {
|
|
6178
|
-
return [
|
|
6179
|
-
resultsFromCache(diff, queryInfo.markReady()),
|
|
6180
|
-
];
|
|
6232
|
+
return { fromLink: false, sources: [resultsFromCache(diff, queryInfo.markReady())] };
|
|
6181
6233
|
}
|
|
6182
6234
|
if (returnPartialData || shouldNotify) {
|
|
6183
|
-
return [
|
|
6184
|
-
resultsFromCache(diff),
|
|
6185
|
-
resultsFromLink(),
|
|
6186
|
-
];
|
|
6235
|
+
return { fromLink: true, sources: [resultsFromCache(diff), resultsFromLink()] };
|
|
6187
6236
|
}
|
|
6188
|
-
return [
|
|
6189
|
-
resultsFromLink(),
|
|
6190
|
-
];
|
|
6237
|
+
return { fromLink: true, sources: [resultsFromLink()] };
|
|
6191
6238
|
}
|
|
6192
6239
|
case "cache-and-network": {
|
|
6193
6240
|
var diff = readCache();
|
|
6194
6241
|
if (diff.complete || returnPartialData || shouldNotify) {
|
|
6195
|
-
return [
|
|
6196
|
-
resultsFromCache(diff),
|
|
6197
|
-
resultsFromLink(),
|
|
6198
|
-
];
|
|
6242
|
+
return { fromLink: true, sources: [resultsFromCache(diff), resultsFromLink()] };
|
|
6199
6243
|
}
|
|
6200
|
-
return [
|
|
6201
|
-
resultsFromLink(),
|
|
6202
|
-
];
|
|
6244
|
+
return { fromLink: true, sources: [resultsFromLink()] };
|
|
6203
6245
|
}
|
|
6204
6246
|
case "cache-only":
|
|
6205
|
-
return [
|
|
6206
|
-
resultsFromCache(readCache(), queryInfo.markReady()),
|
|
6207
|
-
];
|
|
6247
|
+
return { fromLink: false, sources: [resultsFromCache(readCache(), queryInfo.markReady())] };
|
|
6208
6248
|
case "network-only":
|
|
6209
6249
|
if (shouldNotify) {
|
|
6210
|
-
return [
|
|
6211
|
-
resultsFromCache(readCache()),
|
|
6212
|
-
resultsFromLink(),
|
|
6213
|
-
];
|
|
6250
|
+
return { fromLink: true, sources: [resultsFromCache(readCache()), resultsFromLink()] };
|
|
6214
6251
|
}
|
|
6215
|
-
return [resultsFromLink()];
|
|
6252
|
+
return { fromLink: true, sources: [resultsFromLink()] };
|
|
6216
6253
|
case "no-cache":
|
|
6217
6254
|
if (shouldNotify) {
|
|
6218
|
-
return
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6255
|
+
return {
|
|
6256
|
+
fromLink: true,
|
|
6257
|
+
sources: [
|
|
6258
|
+
resultsFromCache(queryInfo.getDiff()),
|
|
6259
|
+
resultsFromLink(),
|
|
6260
|
+
],
|
|
6261
|
+
};
|
|
6222
6262
|
}
|
|
6223
|
-
return [resultsFromLink()];
|
|
6263
|
+
return { fromLink: true, sources: [resultsFromLink()] };
|
|
6224
6264
|
case "standby":
|
|
6225
|
-
return [];
|
|
6265
|
+
return { fromLink: false, sources: [] };
|
|
6226
6266
|
}
|
|
6227
6267
|
};
|
|
6228
6268
|
QueryManager.prototype.getQuery = function (queryId) {
|
|
@@ -6685,8 +6725,6 @@ var InternalState = (function () {
|
|
|
6685
6725
|
function InternalState(client, query, previous) {
|
|
6686
6726
|
this.client = client;
|
|
6687
6727
|
this.query = query;
|
|
6688
|
-
this.asyncResolveFns = new Set();
|
|
6689
|
-
this.optionsToIgnoreOnce = new (canUseWeakSet ? WeakSet : Set)();
|
|
6690
6728
|
this.ssrDisabledResult = maybeDeepFreeze({
|
|
6691
6729
|
loading: true,
|
|
6692
6730
|
data: void 0,
|
|
@@ -6710,20 +6748,30 @@ var InternalState = (function () {
|
|
|
6710
6748
|
InternalState.prototype.forceUpdate = function () {
|
|
6711
6749
|
__DEV__ && tsInvariant.invariant.warn("Calling default no-op implementation of InternalState#forceUpdate");
|
|
6712
6750
|
};
|
|
6713
|
-
InternalState.prototype.
|
|
6751
|
+
InternalState.prototype.executeQuery = function (options) {
|
|
6714
6752
|
var _this = this;
|
|
6715
|
-
|
|
6716
|
-
|
|
6717
|
-
|
|
6718
|
-
|
|
6719
|
-
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
6725
|
-
|
|
6726
|
-
|
|
6753
|
+
var _a;
|
|
6754
|
+
if (options.query) {
|
|
6755
|
+
Object.assign(this, { query: options.query });
|
|
6756
|
+
}
|
|
6757
|
+
this.watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);
|
|
6758
|
+
var concast = this.observable.reobserveAsConcast(this.getObsQueryOptions());
|
|
6759
|
+
this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
|
|
6760
|
+
this.result = void 0;
|
|
6761
|
+
this.forceUpdate();
|
|
6762
|
+
return new Promise(function (resolve) {
|
|
6763
|
+
var result;
|
|
6764
|
+
concast.subscribe({
|
|
6765
|
+
next: function (value) {
|
|
6766
|
+
result = value;
|
|
6767
|
+
},
|
|
6768
|
+
error: function () {
|
|
6769
|
+
resolve(_this.toQueryResult(_this.observable.getCurrentResult()));
|
|
6770
|
+
},
|
|
6771
|
+
complete: function () {
|
|
6772
|
+
resolve(_this.toQueryResult(result));
|
|
6773
|
+
}
|
|
6774
|
+
});
|
|
6727
6775
|
});
|
|
6728
6776
|
};
|
|
6729
6777
|
InternalState.prototype.useQuery = function (options) {
|
|
@@ -6772,29 +6820,22 @@ var InternalState = (function () {
|
|
|
6772
6820
|
}
|
|
6773
6821
|
};
|
|
6774
6822
|
var subscription = obsQuery.subscribe(onNext, onError);
|
|
6775
|
-
return function () { return subscription.unsubscribe(); };
|
|
6823
|
+
return function () { return setTimeout(function () { return subscription.unsubscribe(); }); };
|
|
6776
6824
|
}, [
|
|
6777
6825
|
obsQuery,
|
|
6778
6826
|
this.renderPromises,
|
|
6779
6827
|
this.client.disableNetworkFetches,
|
|
6780
6828
|
]), function () { return _this.getCurrentResult(); }, function () { return _this.getCurrentResult(); });
|
|
6781
6829
|
this.unsafeHandlePartialRefetch(result);
|
|
6782
|
-
|
|
6783
|
-
if (!queryResult.loading && this.asyncResolveFns.size) {
|
|
6784
|
-
this.asyncResolveFns.forEach(function (resolve) { return resolve(queryResult); });
|
|
6785
|
-
this.asyncResolveFns.clear();
|
|
6786
|
-
}
|
|
6787
|
-
return queryResult;
|
|
6830
|
+
return this.toQueryResult(result);
|
|
6788
6831
|
};
|
|
6789
6832
|
InternalState.prototype.useOptions = function (options) {
|
|
6790
6833
|
var _a;
|
|
6791
6834
|
var watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);
|
|
6792
6835
|
var currentWatchQueryOptions = this.watchQueryOptions;
|
|
6793
|
-
if (
|
|
6794
|
-
!equality.equal(watchQueryOptions, currentWatchQueryOptions)) {
|
|
6836
|
+
if (!equality.equal(watchQueryOptions, currentWatchQueryOptions)) {
|
|
6795
6837
|
this.watchQueryOptions = watchQueryOptions;
|
|
6796
6838
|
if (currentWatchQueryOptions && this.observable) {
|
|
6797
|
-
this.optionsToIgnoreOnce.delete(currentWatchQueryOptions);
|
|
6798
6839
|
this.observable.reobserve(this.getObsQueryOptions());
|
|
6799
6840
|
this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
|
|
6800
6841
|
this.result = void 0;
|
|
@@ -6960,10 +7001,14 @@ var EAGER_METHODS = [
|
|
|
6960
7001
|
];
|
|
6961
7002
|
function useLazyQuery(query, options) {
|
|
6962
7003
|
var _a;
|
|
6963
|
-
var abortControllersRef = React.useRef(new Set());
|
|
6964
7004
|
var execOptionsRef = React.useRef();
|
|
7005
|
+
var optionsRef = React.useRef();
|
|
7006
|
+
var queryRef = React.useRef();
|
|
6965
7007
|
var merged = execOptionsRef.current ? mergeOptions(options, execOptionsRef.current) : options;
|
|
6966
|
-
var
|
|
7008
|
+
var document = (_a = merged === null || merged === void 0 ? void 0 : merged.query) !== null && _a !== void 0 ? _a : query;
|
|
7009
|
+
optionsRef.current = merged;
|
|
7010
|
+
queryRef.current = document;
|
|
7011
|
+
var internalState = useInternalState(useApolloClient(options && options.client), document);
|
|
6967
7012
|
var useQueryResult = internalState.useQuery(tslib.__assign(tslib.__assign({}, merged), { skip: !execOptionsRef.current }));
|
|
6968
7013
|
var initialFetchPolicy = useQueryResult.observable.options.initialFetchPolicy ||
|
|
6969
7014
|
internalState.getDefaultFetchPolicy();
|
|
@@ -6989,28 +7034,15 @@ function useLazyQuery(query, options) {
|
|
|
6989
7034
|
return eagerMethods;
|
|
6990
7035
|
}, []);
|
|
6991
7036
|
Object.assign(result, eagerMethods);
|
|
6992
|
-
React.useEffect(function () {
|
|
6993
|
-
return function () {
|
|
6994
|
-
abortControllersRef.current.forEach(function (controller) {
|
|
6995
|
-
controller.abort();
|
|
6996
|
-
});
|
|
6997
|
-
};
|
|
6998
|
-
}, []);
|
|
6999
7037
|
var execute = React.useCallback(function (executeOptions) {
|
|
7000
|
-
var controller = new AbortController();
|
|
7001
|
-
abortControllersRef.current.add(controller);
|
|
7002
7038
|
execOptionsRef.current = executeOptions ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
|
|
7003
7039
|
fetchPolicy: initialFetchPolicy,
|
|
7004
7040
|
};
|
|
7041
|
+
var options = mergeOptions(optionsRef.current, tslib.__assign({ query: queryRef.current }, execOptionsRef.current));
|
|
7005
7042
|
var promise = internalState
|
|
7006
|
-
.
|
|
7007
|
-
.then(function (queryResult) {
|
|
7008
|
-
|
|
7009
|
-
return Object.assign(queryResult, eagerMethods);
|
|
7010
|
-
});
|
|
7011
|
-
promise.catch(function () {
|
|
7012
|
-
abortControllersRef.current.delete(controller);
|
|
7013
|
-
});
|
|
7043
|
+
.executeQuery(tslib.__assign(tslib.__assign({}, options), { skip: false }))
|
|
7044
|
+
.then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
|
|
7045
|
+
promise.catch(function () { });
|
|
7014
7046
|
return promise;
|
|
7015
7047
|
}, []);
|
|
7016
7048
|
return [execute, result];
|