@apollo/client 3.8.3 → 3.8.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.
Files changed (97) hide show
  1. package/README.md +8 -6
  2. package/apollo-client.cjs +57 -73
  3. package/apollo-client.cjs.map +1 -1
  4. package/apollo-client.min.cjs +1 -1
  5. package/config/jest/setup.js +10 -0
  6. package/config/jest/setup.js.map +1 -1
  7. package/core/ObservableQuery.d.ts.map +1 -1
  8. package/core/ObservableQuery.js +5 -6
  9. package/core/ObservableQuery.js.map +1 -1
  10. package/core/QueryInfo.d.ts +0 -2
  11. package/core/QueryInfo.d.ts.map +1 -1
  12. package/core/QueryInfo.js +0 -2
  13. package/core/QueryInfo.js.map +1 -1
  14. package/core/QueryManager.d.ts +1 -1
  15. package/core/QueryManager.d.ts.map +1 -1
  16. package/core/QueryManager.js +2 -2
  17. package/core/QueryManager.js.map +1 -1
  18. package/core/core.cjs +8 -11
  19. package/core/core.cjs.map +1 -1
  20. package/core/core.cjs.native.js +8 -11
  21. package/dev/dev.cjs +30 -16
  22. package/dev/dev.cjs.map +1 -1
  23. package/dev/dev.cjs.native.js +30 -16
  24. package/dev/loadErrorMessageHandler.js +1 -1
  25. package/dev/loadErrorMessageHandler.js.map +1 -1
  26. package/package.json +30 -23
  27. package/react/cache/index.d.ts +0 -4
  28. package/react/cache/index.d.ts.map +1 -1
  29. package/react/cache/index.js +0 -14
  30. package/react/cache/index.js.map +1 -1
  31. package/react/index.d.ts +0 -1
  32. package/react/index.d.ts.map +1 -1
  33. package/react/index.js +0 -1
  34. package/react/index.js.map +1 -1
  35. package/react/react.cjs +1 -218
  36. package/react/react.cjs.map +1 -1
  37. package/react/react.cjs.native.js +1 -218
  38. package/react/types/types.d.ts +0 -3
  39. package/react/types/types.d.ts.map +1 -1
  40. package/react/types/types.js.map +1 -1
  41. package/testing/core/withConsoleSpy.d.ts.map +1 -1
  42. package/testing/core/withConsoleSpy.js.map +1 -1
  43. package/testing/internal/ObservableStream.d.ts +26 -0
  44. package/testing/internal/ObservableStream.d.ts.map +1 -0
  45. package/testing/internal/ObservableStream.js +101 -0
  46. package/testing/internal/ObservableStream.js.map +1 -0
  47. package/testing/internal/disposables/index.d.ts +3 -0
  48. package/testing/internal/disposables/index.d.ts.map +1 -0
  49. package/testing/internal/disposables/index.js +3 -0
  50. package/testing/internal/disposables/index.js.map +1 -0
  51. package/testing/internal/disposables/spyOnConsole.d.ts +10 -0
  52. package/testing/internal/disposables/spyOnConsole.d.ts.map +1 -0
  53. package/testing/internal/disposables/spyOnConsole.js +33 -0
  54. package/testing/internal/disposables/spyOnConsole.js.map +1 -0
  55. package/testing/internal/disposables/withCleanup.d.ts +3 -0
  56. package/testing/internal/disposables/withCleanup.d.ts.map +1 -0
  57. package/testing/internal/disposables/withCleanup.js +11 -0
  58. package/testing/internal/disposables/withCleanup.js.map +1 -0
  59. package/testing/internal/index.d.ts +4 -0
  60. package/testing/internal/index.d.ts.map +1 -0
  61. package/testing/internal/index.js +4 -0
  62. package/testing/internal/index.js.map +1 -0
  63. package/testing/internal/profile/Render.d.ts +140 -0
  64. package/testing/internal/profile/Render.d.ts.map +1 -0
  65. package/testing/internal/profile/Render.js +132 -0
  66. package/testing/internal/profile/Render.js.map +1 -0
  67. package/testing/internal/profile/index.d.ts +4 -0
  68. package/testing/internal/profile/index.d.ts.map +1 -0
  69. package/testing/internal/profile/index.js +2 -0
  70. package/testing/internal/profile/index.js.map +1 -0
  71. package/testing/internal/profile/profile.d.ts +55 -0
  72. package/testing/internal/profile/profile.d.ts.map +1 -0
  73. package/testing/internal/profile/profile.js +222 -0
  74. package/testing/internal/profile/profile.js.map +1 -0
  75. package/testing/internal/profile/traces.d.ts +3 -0
  76. package/testing/internal/profile/traces.d.ts.map +1 -0
  77. package/testing/internal/profile/traces.js +26 -0
  78. package/testing/internal/profile/traces.js.map +1 -0
  79. package/testing/matchers/ProfiledComponent.d.ts +8 -0
  80. package/testing/matchers/ProfiledComponent.d.ts.map +1 -0
  81. package/testing/matchers/ProfiledComponent.js +107 -0
  82. package/testing/matchers/ProfiledComponent.js.map +1 -0
  83. package/testing/matchers/index.js +3 -0
  84. package/testing/matchers/index.js.map +1 -1
  85. package/utilities/globals/globals.cjs +31 -16
  86. package/utilities/globals/globals.cjs.map +1 -1
  87. package/utilities/globals/globals.cjs.native.js +31 -16
  88. package/utilities/globals/invariantWrappers.d.ts.map +1 -1
  89. package/utilities/globals/invariantWrappers.js +30 -15
  90. package/utilities/globals/invariantWrappers.js.map +1 -1
  91. package/utilities/observables/asyncMap.d.ts.map +1 -1
  92. package/utilities/observables/asyncMap.js +17 -34
  93. package/utilities/observables/asyncMap.js.map +1 -1
  94. package/utilities/utilities.cjs +17 -34
  95. package/utilities/utilities.cjs.map +1 -1
  96. package/utilities/utilities.cjs.native.js +17 -34
  97. package/version.js +1 -1
package/README.md CHANGED
@@ -1,11 +1,13 @@
1
- # <a href="https://www.apollographql.com/"><img src="https://user-images.githubusercontent.com/841294/53402609-b97a2180-39ba-11e9-8100-812bab86357c.png" height="100" alt="Apollo Client"></a>
1
+ <div align="center">
2
2
 
3
- ## Apollo Client
3
+ <p>
4
+ <a href="https://www.apollographql.com/"><img src="https://raw.githubusercontent.com/apollographql/apollo-client-devtools/main/assets/apollo-wordmark.svg" height="100" alt="Apollo Client"></a>
5
+ </p>
6
+ <h1>Apollo Client</h1>
4
7
 
5
- [![npm version](https://badge.fury.io/js/%40apollo%2Fclient.svg)](https://badge.fury.io/js/%40apollo%2Fclient)
6
- [![Build Status](https://circleci.com/gh/apollographql/apollo-client.svg?style=svg)](https://circleci.com/gh/apollographql/apollo-client)
7
- [![Join the community](https://img.shields.io/discourse/status?label=Join%20the%20community&server=https%3A%2F%2Fcommunity.apollographql.com)](https://community.apollographql.com)
8
- [![Join our Discord server](https://img.shields.io/discord/1022972389463687228.svg?color=7389D8&labelColor=6A7EC2&logo=discord&logoColor=ffffff&style=flat-square)](https://discord.gg/graphos)
8
+ [![npm version](https://badge.fury.io/js/%40apollo%2Fclient.svg)](https://badge.fury.io/js/%40apollo%2Fclient) [![Build Status](https://circleci.com/gh/apollographql/apollo-client.svg?style=svg)](https://circleci.com/gh/apollographql/apollo-client) [![Join the community](https://img.shields.io/discourse/status?label=Join%20the%20community&server=https%3A%2F%2Fcommunity.apollographql.com)](https://community.apollographql.com) [![Join our Discord server](https://img.shields.io/discord/1022972389463687228.svg?color=7389D8&labelColor=6A7EC2&logo=discord&logoColor=ffffff&style=flat-square)](https://discord.gg/graphos)
9
+
10
+ </div>
9
11
 
10
12
  Apollo Client is a fully-featured caching GraphQL client with integrations for React, Angular, and more. It allows you to easily build UI components that fetch data via GraphQL.
11
13
 
package/apollo-client.cjs CHANGED
@@ -31,7 +31,7 @@ function _interopNamespace(e) {
31
31
  var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
32
32
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
33
 
34
- var version = "3.8.3";
34
+ var version = "3.8.5";
35
35
 
36
36
  function maybe(thunk) {
37
37
  try {
@@ -70,7 +70,15 @@ function wrap(fn) {
70
70
  for (var _i = 1; _i < arguments.length; _i++) {
71
71
  args[_i - 1] = arguments[_i];
72
72
  }
73
- fn.apply(void 0, tslib.__spreadArray([typeof message === "number" ? getErrorMsg(message) : message], args, false));
73
+ if (typeof message === "number") {
74
+ var arg0 = message;
75
+ message = getHandledErrorMsg(arg0);
76
+ if (!message) {
77
+ message = getFallbackErrorMsg(arg0, args);
78
+ args = [];
79
+ }
80
+ }
81
+ fn.apply(void 0, [message].concat(args));
74
82
  };
75
83
  }
76
84
  var invariant = Object.assign(function invariant(condition, message) {
@@ -79,7 +87,7 @@ var invariant = Object.assign(function invariant(condition, message) {
79
87
  args[_i - 2] = arguments[_i];
80
88
  }
81
89
  if (!condition) {
82
- tsInvariant.invariant(condition, getErrorMsg(message, args));
90
+ tsInvariant.invariant(condition, getHandledErrorMsg(message, args) || getFallbackErrorMsg(message, args));
83
91
  }
84
92
  }, {
85
93
  debug: wrap(tsInvariant.invariant.debug),
@@ -92,23 +100,31 @@ function newInvariantError(message) {
92
100
  for (var _i = 1; _i < arguments.length; _i++) {
93
101
  optionalParams[_i - 1] = arguments[_i];
94
102
  }
95
- return new tsInvariant.InvariantError(getErrorMsg(message, optionalParams));
103
+ return new tsInvariant.InvariantError(getHandledErrorMsg(message, optionalParams) ||
104
+ getFallbackErrorMsg(message, optionalParams));
96
105
  }
97
106
  var ApolloErrorMessageHandler = Symbol.for("ApolloErrorMessageHandler_" + version);
98
- function getErrorMsg(message, messageArgs) {
107
+ function stringify$1(arg) {
108
+ return typeof arg == "string"
109
+ ? arg
110
+ : stringifyForDisplay(arg, 2).slice(0, 1000);
111
+ }
112
+ function getHandledErrorMsg(message, messageArgs) {
99
113
  if (messageArgs === void 0) { messageArgs = []; }
100
114
  if (!message)
101
115
  return;
102
- var args = messageArgs.map(function (arg) {
103
- return typeof arg == "string" ? arg : stringifyForDisplay(arg, 2).slice(0, 1000);
104
- });
105
- return ((global$1[ApolloErrorMessageHandler] &&
106
- global$1[ApolloErrorMessageHandler](message, args)) ||
107
- "An error occurred! For more details, see the full error text at https://go.apollo.dev/c/err#".concat(encodeURIComponent(JSON.stringify({
108
- version: version,
109
- message: message,
110
- args: args,
111
- }))));
116
+ return (global$1[ApolloErrorMessageHandler] &&
117
+ global$1[ApolloErrorMessageHandler](message, messageArgs.map(stringify$1)));
118
+ }
119
+ function getFallbackErrorMsg(message, messageArgs) {
120
+ if (messageArgs === void 0) { messageArgs = []; }
121
+ if (!message)
122
+ return;
123
+ return "An error occurred! For more details, see the full error text at https://go.apollo.dev/c/err#".concat(encodeURIComponent(JSON.stringify({
124
+ version: version,
125
+ message: message,
126
+ args: messageArgs.map(stringify$1),
127
+ })));
112
128
  }
113
129
 
114
130
  function shouldInclude(_a, variables) {
@@ -1087,48 +1103,31 @@ function iterateObserversSafely(observers, method, argument) {
1087
1103
 
1088
1104
  function asyncMap(observable, mapFn, catchFn) {
1089
1105
  return new zenObservableTs.Observable(function (observer) {
1090
- var next = observer.next, error = observer.error, complete = observer.complete;
1091
- var activeCallbackCount = 0;
1092
- var completed = false;
1093
1106
  var promiseQueue = {
1094
1107
  then: function (callback) {
1095
1108
  return new Promise(function (resolve) { return resolve(callback()); });
1096
1109
  },
1097
1110
  };
1098
- function makeCallback(examiner, delegate) {
1099
- if (examiner) {
1100
- return function (arg) {
1101
- ++activeCallbackCount;
1102
- var both = function () { return examiner(arg); };
1103
- promiseQueue = promiseQueue
1104
- .then(both, both)
1105
- .then(function (result) {
1106
- --activeCallbackCount;
1107
- next && next.call(observer, result);
1108
- if (completed) {
1109
- handler.complete();
1110
- }
1111
- }, function (error) {
1112
- --activeCallbackCount;
1113
- throw error;
1114
- })
1115
- .catch(function (caught) {
1116
- error && error.call(observer, caught);
1117
- });
1118
- };
1119
- }
1120
- else {
1121
- return function (arg) { return delegate && delegate.call(observer, arg); };
1122
- }
1111
+ function makeCallback(examiner, key) {
1112
+ return function (arg) {
1113
+ if (examiner) {
1114
+ var both = function () {
1115
+ return observer.closed
1116
+ ? 0
1117
+ : examiner(arg);
1118
+ };
1119
+ promiseQueue = promiseQueue.then(both, both).then(function (result) { return observer.next(result); }, function (error) { return observer.error(error); });
1120
+ }
1121
+ else {
1122
+ observer[key](arg);
1123
+ }
1124
+ };
1123
1125
  }
1124
1126
  var handler = {
1125
- next: makeCallback(mapFn, next),
1126
- error: makeCallback(catchFn, error),
1127
+ next: makeCallback(mapFn, "next"),
1128
+ error: makeCallback(catchFn, "error"),
1127
1129
  complete: function () {
1128
- completed = true;
1129
- if (!activeCallbackCount) {
1130
- complete && complete.call(observer);
1131
- }
1130
+ promiseQueue.then(function () { return observer.complete(); });
1132
1131
  },
1133
1132
  };
1134
1133
  var sub = observable.subscribe(handler);
@@ -5002,9 +5001,9 @@ var ObservableQuery = (function (_super) {
5002
5001
  }
5003
5002
  return options.fetchPolicy;
5004
5003
  };
5005
- ObservableQuery.prototype.fetch = function (options, newNetworkStatus) {
5004
+ ObservableQuery.prototype.fetch = function (options, newNetworkStatus, query) {
5006
5005
  this.queryManager.setObservableQuery(this);
5007
- return this.queryManager["fetchConcastWithInfo"](this.queryId, options, newNetworkStatus);
5006
+ return this.queryManager["fetchConcastWithInfo"](this.queryId, options, newNetworkStatus, query);
5008
5007
  };
5009
5008
  ObservableQuery.prototype.updatePolling = function () {
5010
5009
  var _this = this;
@@ -5086,15 +5085,14 @@ var ObservableQuery = (function (_super) {
5086
5085
  }
5087
5086
  }
5088
5087
  }
5089
- var fetchOptions = query === options.query ? options : tslib.__assign(tslib.__assign({}, options), { query: query });
5090
- this.waitForOwnResult && (this.waitForOwnResult = skipCacheDataFor(fetchOptions.fetchPolicy));
5088
+ this.waitForOwnResult && (this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy));
5091
5089
  var finishWaitingForOwnResult = function () {
5092
5090
  if (_this.concast === concast) {
5093
5091
  _this.waitForOwnResult = false;
5094
5092
  }
5095
5093
  };
5096
- var variables = fetchOptions.variables && tslib.__assign({}, fetchOptions.variables);
5097
- var _a = this.fetch(fetchOptions, newNetworkStatus), concast = _a.concast, fromLink = _a.fromLink;
5094
+ var variables = options.variables && tslib.__assign({}, options.variables);
5095
+ var _a = this.fetch(options, newNetworkStatus, query), concast = _a.concast, fromLink = _a.fromLink;
5098
5096
  var observer = {
5099
5097
  next: function (result) {
5100
5098
  finishWaitingForOwnResult();
@@ -5536,7 +5534,6 @@ var QueryInfo = (function () {
5536
5534
  this.listeners = new Set();
5537
5535
  this.document = null;
5538
5536
  this.lastRequestId = 1;
5539
- this.subscriptions = new Set();
5540
5537
  this.stopped = false;
5541
5538
  this.dirty = false;
5542
5539
  this.observableQuery = null;
@@ -5671,7 +5668,6 @@ var QueryInfo = (function () {
5671
5668
  this.reset();
5672
5669
  this.cancel();
5673
5670
  this.cancel = QueryInfo.prototype.cancel;
5674
- this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
5675
5671
  var oq = this.observableQuery;
5676
5672
  if (oq)
5677
5673
  oq.stopPolling();
@@ -6450,10 +6446,10 @@ var QueryManager = (function () {
6450
6446
  throw error;
6451
6447
  });
6452
6448
  };
6453
- QueryManager.prototype.fetchConcastWithInfo = function (queryId, options, networkStatus) {
6449
+ QueryManager.prototype.fetchConcastWithInfo = function (queryId, options, networkStatus, query) {
6454
6450
  var _this = this;
6455
6451
  if (networkStatus === void 0) { networkStatus = exports.NetworkStatus.loading; }
6456
- var query = options.query;
6452
+ if (query === void 0) { query = options.query; }
6457
6453
  var variables = this.getVariables(query, options.variables);
6458
6454
  var queryInfo = this.getQuery(queryId);
6459
6455
  var defaults = this.defaultOptions.watchQuery;
@@ -7993,7 +7989,7 @@ var InternalQueryReference = (function () {
7993
7989
  return InternalQueryReference;
7994
7990
  }());
7995
7991
 
7996
- var SuspenseCache$1 = (function () {
7992
+ var SuspenseCache = (function () {
7997
7993
  function SuspenseCache(options) {
7998
7994
  if (options === void 0) { options = Object.create(null); }
7999
7995
  this.queryRefs = new trie.Trie(canUseWeakMap);
@@ -8019,22 +8015,11 @@ var suspenseCacheSymbol = Symbol.for("apollo.suspenseCache");
8019
8015
  function getSuspenseCache(client) {
8020
8016
  var _a;
8021
8017
  if (!client[suspenseCacheSymbol]) {
8022
- client[suspenseCacheSymbol] = new SuspenseCache$1((_a = client.defaultOptions.react) === null || _a === void 0 ? void 0 : _a.suspense);
8018
+ client[suspenseCacheSymbol] = new SuspenseCache((_a = client.defaultOptions.react) === null || _a === void 0 ? void 0 : _a.suspense);
8023
8019
  }
8024
8020
  return client[suspenseCacheSymbol];
8025
8021
  }
8026
8022
 
8027
- var SuspenseCache = (function (_super) {
8028
- tslib.__extends(SuspenseCache, _super);
8029
- function SuspenseCache() {
8030
- _super.call(this) || this;
8031
- throw new Error("It is no longer necessary to create a `SuspenseCache` instance and pass it into the `ApolloProvider`.\n" +
8032
- "Please remove this code from your application. \n\n" +
8033
- "This export will be removed with the final 3.8 release.");
8034
- }
8035
- return SuspenseCache;
8036
- }(SuspenseCache$1));
8037
-
8038
8023
  var skipToken = Symbol.for("apollo.skipToken");
8039
8024
 
8040
8025
  function useSuspenseQuery(query, options) {
@@ -8242,7 +8227,6 @@ exports.HttpLink = HttpLink;
8242
8227
  exports.InMemoryCache = InMemoryCache;
8243
8228
  exports.MissingFieldError = MissingFieldError;
8244
8229
  exports.ObservableQuery = ObservableQuery;
8245
- exports.SuspenseCache = SuspenseCache;
8246
8230
  exports.checkFetcher = checkFetcher;
8247
8231
  exports.concat = concat;
8248
8232
  exports.createHttpLink = createHttpLink;