@apollo/client 3.6.0 → 3.6.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.
Files changed (56) hide show
  1. package/LICENSE +1 -1
  2. package/apollo-client.cjs +92 -122
  3. package/apollo-client.cjs.map +1 -1
  4. package/apollo-client.min.cjs +1 -1
  5. package/core/ApolloClient.d.ts.map +1 -1
  6. package/core/ApolloClient.js.map +1 -1
  7. package/core/ObservableQuery.d.ts.map +1 -1
  8. package/core/ObservableQuery.js +3 -1
  9. package/core/ObservableQuery.js.map +1 -1
  10. package/core/QueryManager.d.ts.map +1 -1
  11. package/core/QueryManager.js +7 -23
  12. package/core/QueryManager.js.map +1 -1
  13. package/core/core.cjs +11 -25
  14. package/core/core.cjs.map +1 -1
  15. package/core/watchQueryOptions.d.ts +0 -1
  16. package/core/watchQueryOptions.d.ts.map +1 -1
  17. package/core/watchQueryOptions.js.map +1 -1
  18. package/invariantErrorCodes.js +1 -1
  19. package/link/http/selectHttpOptionsAndBody.d.ts.map +1 -1
  20. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  21. package/link/persisted-queries/index.d.ts +2 -1
  22. package/link/persisted-queries/index.d.ts.map +1 -1
  23. package/link/persisted-queries/index.js +26 -13
  24. package/link/persisted-queries/index.js.map +1 -1
  25. package/link/persisted-queries/persisted-queries.cjs +25 -12
  26. package/link/persisted-queries/persisted-queries.cjs.map +1 -1
  27. package/package.json +13 -13
  28. package/react/context/ApolloConsumer.js +2 -2
  29. package/react/context/ApolloProvider.js +2 -2
  30. package/react/context/context.cjs +4 -4
  31. package/react/context/context.cjs.map +1 -1
  32. package/react/hooks/hooks.cjs +53 -83
  33. package/react/hooks/hooks.cjs.map +1 -1
  34. package/react/hooks/useLazyQuery.d.ts.map +1 -1
  35. package/react/hooks/useLazyQuery.js +7 -22
  36. package/react/hooks/useLazyQuery.js.map +1 -1
  37. package/react/hooks/useQuery.d.ts +5 -1
  38. package/react/hooks/useQuery.d.ts.map +1 -1
  39. package/react/hooks/useQuery.js +47 -63
  40. package/react/hooks/useQuery.js.map +1 -1
  41. package/react/parser/index.d.ts.map +1 -1
  42. package/react/parser/index.js +24 -10
  43. package/react/parser/index.js.map +1 -1
  44. package/react/parser/parser.cjs +24 -10
  45. package/react/parser/parser.cjs.map +1 -1
  46. package/testing/core/mocking/mockQueryManager.js +1 -1
  47. package/testing/core/mocking/mockWatchQuery.js +1 -1
  48. package/testing/core/wrap.js +1 -1
  49. package/utilities/common/mergeOptions.d.ts +1 -1
  50. package/utilities/common/mergeOptions.d.ts.map +1 -1
  51. package/utilities/common/mergeOptions.js +1 -1
  52. package/utilities/common/mergeOptions.js.map +1 -1
  53. package/utilities/globals/global.js +1 -2
  54. package/utilities/utilities.cjs +1 -1
  55. package/utilities/utilities.cjs.map +1 -1
  56. package/version.js +1 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2021 Apollo Graph, Inc. (Formerly Meteor Development Group, Inc.)
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
@@ -1090,7 +1090,7 @@ function stringifyForDisplay(value) {
1090
1090
 
1091
1091
  function mergeOptions(defaults, options) {
1092
1092
  return compact(defaults, options, options.variables && {
1093
- variables: tslib.__assign(tslib.__assign({}, defaults.variables), options.variables),
1093
+ variables: tslib.__assign(tslib.__assign({}, (defaults && defaults.variables)), options.variables),
1094
1094
  });
1095
1095
  }
1096
1096
 
@@ -1298,7 +1298,7 @@ var concat = ApolloLink.concat;
1298
1298
 
1299
1299
  var execute = ApolloLink.execute;
1300
1300
 
1301
- var version = '3.6.0';
1301
+ var version = '3.6.3';
1302
1302
 
1303
1303
  var hasOwnProperty$3 = Object.prototype.hasOwnProperty;
1304
1304
  function parseAndCheckHttpResponse(operations) {
@@ -3948,7 +3948,9 @@ var ObservableQuery = (function (_super) {
3948
3948
  _this.queryInfo = queryInfo;
3949
3949
  _this.queryManager = queryManager;
3950
3950
  _this.isTornDown = false;
3951
- _this.options = tslib.__assign({ initialFetchPolicy: options.fetchPolicy || "cache-first" }, options);
3951
+ var _b = queryManager.defaultOptions.watchQuery, _c = _b === void 0 ? {} : _b, _d = _c.fetchPolicy, defaultFetchPolicy = _d === void 0 ? "cache-first" : _d;
3952
+ var _e = options.fetchPolicy, fetchPolicy = _e === void 0 ? defaultFetchPolicy : _e, _f = options.initialFetchPolicy, initialFetchPolicy = _f === void 0 ? (fetchPolicy === "standby" ? defaultFetchPolicy : fetchPolicy) : _f;
3953
+ _this.options = tslib.__assign(tslib.__assign({}, options), { initialFetchPolicy: initialFetchPolicy, fetchPolicy: fetchPolicy });
3952
3954
  _this.queryId = queryInfo.queryId || queryManager.generateQueryId();
3953
3955
  var opDef = getOperationDefinition(_this.query);
3954
3956
  _this.queryName = opDef && opDef.name && opDef.name.value;
@@ -5644,7 +5646,7 @@ var QueryManager = (function () {
5644
5646
  };
5645
5647
  QueryManager.prototype.fetchQueryByPolicy = function (queryInfo, _a, networkStatus) {
5646
5648
  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, fetchBlockingPromise = _a.fetchBlockingPromise;
5649
+ 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
5650
  var oldNetworkStatus = queryInfo.networkStatus;
5649
5651
  queryInfo.init({
5650
5652
  document: this.transform(query).document,
@@ -5676,28 +5678,12 @@ var QueryManager = (function () {
5676
5678
  (networkStatus === exports.NetworkStatus.refetch &&
5677
5679
  refetchWritePolicy !== "merge") ? 1
5678
5680
  : 2;
5679
- var resultsFromLink = function () {
5680
- var get = function () { return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {
5681
- variables: variables,
5682
- context: context,
5683
- fetchPolicy: fetchPolicy,
5684
- errorPolicy: errorPolicy,
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
- };
5681
+ var resultsFromLink = function () { return _this.getResultsFromLink(queryInfo, cacheWriteBehavior, {
5682
+ variables: variables,
5683
+ context: context,
5684
+ fetchPolicy: fetchPolicy,
5685
+ errorPolicy: errorPolicy,
5686
+ }); };
5701
5687
  var shouldNotify = notifyOnNetworkStatusChange &&
5702
5688
  typeof oldNetworkStatus === "number" &&
5703
5689
  oldNetworkStatus !== networkStatus &&
@@ -6020,17 +6006,17 @@ function getApolloContext() {
6020
6006
 
6021
6007
  var ApolloConsumer = function (props) {
6022
6008
  var ApolloContext = getApolloContext();
6023
- return React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
6009
+ return (React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
6024
6010
  __DEV__ ? tsInvariant.invariant(context && context.client, 'Could not find "client" in the context of ApolloConsumer. ' +
6025
6011
  'Wrap the root component in an <ApolloProvider>.') : tsInvariant.invariant(context && context.client, 25);
6026
6012
  return props.children(context.client);
6027
- });
6013
+ }));
6028
6014
  };
6029
6015
 
6030
6016
  var ApolloProvider = function (_a) {
6031
6017
  var client = _a.client, children = _a.children;
6032
6018
  var ApolloContext = getApolloContext();
6033
- return React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
6019
+ return (React__namespace.createElement(ApolloContext.Consumer, null, function (context) {
6034
6020
  if (context === void 0) { context = {}; }
6035
6021
  if (client && context.client !== client) {
6036
6022
  context = Object.assign({}, context, { client: client });
@@ -6038,7 +6024,7 @@ var ApolloProvider = function (_a) {
6038
6024
  __DEV__ ? tsInvariant.invariant(context.client, 'ApolloProvider was not passed a client instance. Make ' +
6039
6025
  'sure you pass in your client via the "client" prop.') : tsInvariant.invariant(context.client, 26);
6040
6026
  return (React__namespace.createElement(ApolloContext.Provider, { value: context }, children));
6041
- });
6027
+ }));
6042
6028
  };
6043
6029
 
6044
6030
  function useApolloClient(override) {
@@ -6080,16 +6066,30 @@ function parser(document) {
6080
6066
  __DEV__ ? tsInvariant.invariant(!!document && !!document.kind, "Argument of ".concat(document, " passed to parser was not a valid GraphQL ") +
6081
6067
  "DocumentNode. You may need to use 'graphql-tag' or another method " +
6082
6068
  "to convert your operation into a document") : tsInvariant.invariant(!!document && !!document.kind, 30);
6083
- var fragments = document.definitions.filter(function (x) { return x.kind === 'FragmentDefinition'; });
6084
- var queries = document.definitions.filter(function (x) {
6085
- return x.kind === 'OperationDefinition' && x.operation === 'query';
6086
- });
6087
- var mutations = document.definitions.filter(function (x) {
6088
- return x.kind === 'OperationDefinition' && x.operation === 'mutation';
6089
- });
6090
- var subscriptions = document.definitions.filter(function (x) {
6091
- return x.kind === 'OperationDefinition' && x.operation === 'subscription';
6092
- });
6069
+ var fragments = [];
6070
+ var queries = [];
6071
+ var mutations = [];
6072
+ var subscriptions = [];
6073
+ for (var _i = 0, _a = document.definitions; _i < _a.length; _i++) {
6074
+ var x = _a[_i];
6075
+ if (x.kind === 'FragmentDefinition') {
6076
+ fragments.push(x);
6077
+ continue;
6078
+ }
6079
+ if (x.kind === 'OperationDefinition') {
6080
+ switch (x.operation) {
6081
+ case 'query':
6082
+ queries.push(x);
6083
+ break;
6084
+ case 'mutation':
6085
+ mutations.push(x);
6086
+ break;
6087
+ case 'subscription':
6088
+ subscriptions.push(x);
6089
+ break;
6090
+ }
6091
+ }
6092
+ }
6093
6093
  __DEV__ ? tsInvariant.invariant(!fragments.length ||
6094
6094
  (queries.length || mutations.length || subscriptions.length), "Passing only a fragment to 'graphql' is not yet supported. " +
6095
6095
  "You must include a query, subscription or mutation as well") : tsInvariant.invariant(!fragments.length ||
@@ -6152,6 +6152,8 @@ var InternalState = (function () {
6152
6152
  function InternalState(client, query) {
6153
6153
  this.client = client;
6154
6154
  this.query = query;
6155
+ this.asyncResolveFns = new Set();
6156
+ this.optionsToIgnoreOnce = new (canUseWeakSet ? WeakSet : Set)();
6155
6157
  this.ssrDisabledResult = maybeDeepFreeze({
6156
6158
  loading: true,
6157
6159
  data: void 0,
@@ -6168,6 +6170,15 @@ var InternalState = (function () {
6168
6170
  verifyDocumentType(query, exports.DocumentType.Query);
6169
6171
  }
6170
6172
  InternalState.prototype.forceUpdate = function () {
6173
+ __DEV__ && tsInvariant.invariant.warn("Calling default no-op implementation of InternalState#forceUpdate");
6174
+ };
6175
+ InternalState.prototype.asyncUpdate = function () {
6176
+ var _this = this;
6177
+ return new Promise(function (resolve) {
6178
+ _this.asyncResolveFns.add(resolve);
6179
+ _this.optionsToIgnoreOnce.add(_this.watchQueryOptions);
6180
+ _this.forceUpdate();
6181
+ });
6171
6182
  };
6172
6183
  InternalState.prototype.useQuery = function (options) {
6173
6184
  var _this = this;
@@ -6220,30 +6231,34 @@ var InternalState = (function () {
6220
6231
  obsQuery,
6221
6232
  this.renderPromises,
6222
6233
  this.client.disableNetworkFetches,
6223
- ]), function () { return _this.getCurrentResult(); });
6234
+ ]), function () { return _this.getCurrentResult(); }, function () { return _this.getCurrentResult(); });
6224
6235
  this.unsafeHandlePartialRefetch(result);
6225
- return this.toQueryResult(result);
6236
+ var queryResult = this.toQueryResult(result);
6237
+ if (!queryResult.loading && this.asyncResolveFns.size) {
6238
+ this.asyncResolveFns.forEach(function (resolve) { return resolve(queryResult); });
6239
+ this.asyncResolveFns.clear();
6240
+ }
6241
+ return queryResult;
6226
6242
  };
6227
6243
  InternalState.prototype.useOptions = function (options) {
6228
6244
  var _a;
6229
6245
  var watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);
6230
6246
  var currentWatchQueryOptions = this.watchQueryOptions;
6231
- var resolveFetchBlockingPromise;
6232
- if (!equality.equal(watchQueryOptions, currentWatchQueryOptions)) {
6247
+ if (this.optionsToIgnoreOnce.has(currentWatchQueryOptions) ||
6248
+ !equality.equal(watchQueryOptions, currentWatchQueryOptions)) {
6233
6249
  this.watchQueryOptions = watchQueryOptions;
6234
6250
  if (currentWatchQueryOptions && this.observable) {
6235
- this.observable.reobserve(tslib.__assign({ fetchBlockingPromise: new Promise(function (resolve) {
6236
- resolveFetchBlockingPromise = resolve;
6237
- }) }, watchQueryOptions));
6251
+ this.optionsToIgnoreOnce.delete(currentWatchQueryOptions);
6252
+ this.observable.reobserve(watchQueryOptions);
6238
6253
  this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
6239
6254
  this.result = void 0;
6240
6255
  }
6241
6256
  }
6242
- useUnblockFetchEffect(this.renderPromises, resolveFetchBlockingPromise);
6243
6257
  this.onCompleted = options.onCompleted || InternalState.prototype.onCompleted;
6244
6258
  this.onError = options.onError || InternalState.prototype.onError;
6245
6259
  if ((this.renderPromises || this.client.disableNetworkFetches) &&
6246
- this.queryHookOptions.ssr === false) {
6260
+ this.queryHookOptions.ssr === false &&
6261
+ !this.queryHookOptions.skip) {
6247
6262
  this.result = this.ssrDisabledResult;
6248
6263
  }
6249
6264
  else if (this.queryHookOptions.skip ||
@@ -6256,63 +6271,46 @@ var InternalState = (function () {
6256
6271
  }
6257
6272
  };
6258
6273
  InternalState.prototype.createWatchQueryOptions = function (_a) {
6274
+ var _b;
6259
6275
  if (_a === void 0) { _a = {}; }
6260
- var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.displayName; var defaultOptions = _a.defaultOptions, otherOptions = tslib.__rest(_a, ["skip", "ssr", "onCompleted", "onError", "displayName", "defaultOptions"]);
6261
- var toMerge = [];
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 });
6276
+ 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"]);
6277
+ var watchQueryOptions = Object.assign(otherOptions, { query: this.query });
6284
6278
  if (this.renderPromises &&
6285
6279
  (watchQueryOptions.fetchPolicy === 'network-only' ||
6286
6280
  watchQueryOptions.fetchPolicy === 'cache-and-network')) {
6287
6281
  watchQueryOptions.fetchPolicy = 'cache-first';
6288
6282
  }
6289
- else if (!watchQueryOptions.fetchPolicy) {
6290
- watchQueryOptions.fetchPolicy = 'cache-first';
6283
+ if (!watchQueryOptions.variables) {
6284
+ watchQueryOptions.variables = {};
6291
6285
  }
6292
6286
  if (skip) {
6293
- var _b = watchQueryOptions.initialFetchPolicy, initialFetchPolicy = _b === void 0 ? watchQueryOptions.fetchPolicy : _b;
6287
+ var _c = watchQueryOptions.fetchPolicy, fetchPolicy = _c === void 0 ? this.getDefaultFetchPolicy() : _c, _d = watchQueryOptions.initialFetchPolicy, initialFetchPolicy = _d === void 0 ? fetchPolicy : _d;
6294
6288
  Object.assign(watchQueryOptions, {
6295
6289
  initialFetchPolicy: initialFetchPolicy,
6296
6290
  fetchPolicy: 'standby',
6297
6291
  });
6298
6292
  }
6299
- if (!watchQueryOptions.variables) {
6300
- watchQueryOptions.variables = {};
6293
+ else if (!watchQueryOptions.fetchPolicy) {
6294
+ watchQueryOptions.fetchPolicy =
6295
+ ((_b = this.observable) === null || _b === void 0 ? void 0 : _b.options.initialFetchPolicy) ||
6296
+ this.getDefaultFetchPolicy();
6301
6297
  }
6302
6298
  return watchQueryOptions;
6303
6299
  };
6300
+ InternalState.prototype.getDefaultFetchPolicy = function () {
6301
+ var _a, _b;
6302
+ return (((_a = this.queryHookOptions.defaultOptions) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||
6303
+ ((_b = this.client.defaultOptions.watchQuery) === null || _b === void 0 ? void 0 : _b.fetchPolicy) ||
6304
+ "cache-first");
6305
+ };
6304
6306
  InternalState.prototype.onCompleted = function (data) { };
6305
6307
  InternalState.prototype.onError = function (error) { };
6306
6308
  InternalState.prototype.useObservableQuery = function () {
6307
- var resolveFetchBlockingPromise;
6308
6309
  var obsQuery = this.observable =
6309
6310
  this.renderPromises
6310
6311
  && this.renderPromises.getSSRObservable(this.watchQueryOptions)
6311
6312
  || this.observable
6312
- || this.client.watchQuery(tslib.__assign({ fetchBlockingPromise: new Promise(function (resolve) {
6313
- resolveFetchBlockingPromise = resolve;
6314
- }) }, this.watchQueryOptions));
6315
- useUnblockFetchEffect(this.renderPromises, resolveFetchBlockingPromise);
6313
+ || this.client.watchQuery(mergeOptions(this.queryHookOptions.defaultOptions, this.watchQueryOptions));
6316
6314
  this.obsQueryFields = React.useMemo(function () { return ({
6317
6315
  refetch: obsQuery.refetch.bind(obsQuery),
6318
6316
  reobserve: obsQuery.reobserve.bind(obsQuery),
@@ -6322,11 +6320,11 @@ var InternalState = (function () {
6322
6320
  stopPolling: obsQuery.stopPolling.bind(obsQuery),
6323
6321
  subscribeToMore: obsQuery.subscribeToMore.bind(obsQuery),
6324
6322
  }); }, [obsQuery]);
6325
- if (this.renderPromises) {
6323
+ var ssrAllowed = !(this.queryHookOptions.ssr === false ||
6324
+ this.queryHookOptions.skip);
6325
+ if (this.renderPromises && ssrAllowed) {
6326
6326
  this.renderPromises.registerSSRObservable(obsQuery);
6327
- var ssrAllowed = !(this.queryHookOptions.ssr === false ||
6328
- this.queryHookOptions.skip);
6329
- if (ssrAllowed && obsQuery.getCurrentResult().loading) {
6327
+ if (obsQuery.getCurrentResult().loading) {
6330
6328
  this.renderPromises.addObservableQueryPromise(obsQuery);
6331
6329
  }
6332
6330
  }
@@ -6383,21 +6381,6 @@ var InternalState = (function () {
6383
6381
  };
6384
6382
  return InternalState;
6385
6383
  }());
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
6384
 
6402
6385
  var EAGER_METHODS = [
6403
6386
  'refetch',
@@ -6410,12 +6393,9 @@ var EAGER_METHODS = [
6410
6393
  function useLazyQuery(query, options) {
6411
6394
  var internalState = useInternalState(useApolloClient(options && options.client), query);
6412
6395
  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
6396
  var useQueryResult = internalState.useQuery(tslib.__assign(tslib.__assign(tslib.__assign({}, options), execOptionsRef.current), { skip: !execOptionsRef.current }));
6397
+ var initialFetchPolicy = useQueryResult.observable.options.initialFetchPolicy ||
6398
+ internalState.getDefaultFetchPolicy();
6419
6399
  var result = Object.assign(useQueryResult, {
6420
6400
  called: !!execOptionsRef.current,
6421
6401
  });
@@ -6439,22 +6419,12 @@ function useLazyQuery(query, options) {
6439
6419
  }, []);
6440
6420
  Object.assign(result, eagerMethods);
6441
6421
  var execute = React.useCallback(function (executeOptions) {
6442
- var promise = result.reobserve(execOptionsRef.current = executeOptions ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
6422
+ execOptionsRef.current = executeOptions ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
6443
6423
  fetchPolicy: initialFetchPolicy,
6444
- }).then(function (apolloQueryResult) {
6445
- apolloQueryResult = apolloQueryResult || internalState["getCurrentResult"]();
6446
- if (apolloQueryResult.error ||
6447
- isNonEmptyArray(apolloQueryResult.errors)) {
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();
6424
+ };
6425
+ var promise = internalState
6426
+ .asyncUpdate()
6427
+ .then(function (queryResult) { return Object.assign(queryResult, eagerMethods); });
6458
6428
  promise.catch(function () { });
6459
6429
  return promise;
6460
6430
  }, []);