@apollo/client 3.3.9 → 3.3.13

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 (59) hide show
  1. package/LICENSE +1 -1
  2. package/apollo-client.cjs.js +34 -28
  3. package/apollo-client.cjs.js.map +1 -1
  4. package/apollo-client.cjs.min.js +1 -1
  5. package/core/ObservableQuery.d.ts.map +1 -1
  6. package/core/ObservableQuery.js +0 -1
  7. package/core/ObservableQuery.js.map +1 -1
  8. package/core/QueryInfo.d.ts +1 -0
  9. package/core/QueryInfo.d.ts.map +1 -1
  10. package/core/QueryInfo.js +7 -2
  11. package/core/QueryInfo.js.map +1 -1
  12. package/core/QueryManager.d.ts.map +1 -1
  13. package/core/QueryManager.js +1 -0
  14. package/core/QueryManager.js.map +1 -1
  15. package/core/core.cjs.js +9 -4
  16. package/core/core.cjs.js.map +1 -1
  17. package/invariantErrorCodes.js +1 -1
  18. package/link/http/createHttpLink.d.ts.map +1 -1
  19. package/link/http/createHttpLink.js +1 -1
  20. package/link/http/createHttpLink.js.map +1 -1
  21. package/link/http/http.cjs.js +1 -2
  22. package/link/http/http.cjs.js.map +1 -1
  23. package/package.json +18 -19
  24. package/react/data/MutationData.d.ts +1 -1
  25. package/react/data/MutationData.d.ts.map +1 -1
  26. package/react/data/MutationData.js.map +1 -1
  27. package/react/data/QueryData.d.ts +2 -2
  28. package/react/data/QueryData.d.ts.map +1 -1
  29. package/react/data/QueryData.js.map +1 -1
  30. package/react/data/SubscriptionData.d.ts.map +1 -1
  31. package/react/data/SubscriptionData.js +2 -1
  32. package/react/data/SubscriptionData.js.map +1 -1
  33. package/react/data/data.cjs.js +2 -1
  34. package/react/data/data.cjs.js.map +1 -1
  35. package/react/hooks/hooks.cjs.js +11 -18
  36. package/react/hooks/hooks.cjs.js.map +1 -1
  37. package/react/hooks/utils/useBaseQuery.d.ts.map +1 -1
  38. package/react/hooks/utils/useBaseQuery.js +11 -18
  39. package/react/hooks/utils/useBaseQuery.js.map +1 -1
  40. package/react/types/types.d.ts +1 -0
  41. package/react/types/types.d.ts.map +1 -1
  42. package/react/types/types.js.map +1 -1
  43. package/testing/testing.cjs.js +12 -4
  44. package/testing/testing.cjs.js.map +1 -1
  45. package/utilities/graphql/transform.js.map +1 -1
  46. package/utilities/observables/Observable.d.ts +0 -5
  47. package/utilities/observables/Observable.d.ts.map +1 -1
  48. package/utilities/observables/Observable.js +5 -1
  49. package/utilities/observables/Observable.js.map +1 -1
  50. package/utilities/observables/asyncMap.d.ts.map +1 -1
  51. package/utilities/observables/asyncMap.js +11 -3
  52. package/utilities/observables/asyncMap.js.map +1 -1
  53. package/utilities/testing/mocking/MockedProvider.d.ts +1 -1
  54. package/utilities/testing/mocking/MockedProvider.d.ts.map +1 -1
  55. package/utilities/testing/mocking/MockedProvider.js +1 -1
  56. package/utilities/testing/mocking/MockedProvider.js.map +1 -1
  57. package/utilities/utilities.cjs.js +11 -3
  58. package/utilities/utilities.cjs.js.map +1 -1
  59. package/version.js +1 -1
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright (c) 2020 Apollo Graph, Inc. (Formerly Meteor Development Group, Inc.)
3
+ Copyright (c) 2021 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
@@ -10,7 +10,6 @@ var graphql = require('graphql');
10
10
  var stringify = _interopDefault(require('fast-json-stable-stringify'));
11
11
  var Observable = _interopDefault(require('zen-observable'));
12
12
  require('symbol-observable');
13
- var visitor = require('graphql/language/visitor');
14
13
  var equality = require('@wry/equality');
15
14
  var optimism = require('optimism');
16
15
  var context = require('@wry/context');
@@ -816,19 +815,27 @@ function asyncMap(observable, mapFn, catchFn) {
816
815
  var next = observer.next, error = observer.error, complete = observer.complete;
817
816
  var activeCallbackCount = 0;
818
817
  var completed = false;
818
+ var promiseQueue = {
819
+ then: function (callback) {
820
+ return new Promise(function (resolve) { return resolve(callback()); });
821
+ },
822
+ };
819
823
  function makeCallback(examiner, delegate) {
820
824
  if (examiner) {
821
825
  return function (arg) {
822
826
  ++activeCallbackCount;
823
- new Promise(function (resolve) { return resolve(examiner(arg)); }).then(function (result) {
827
+ var both = function () { return examiner(arg); };
828
+ promiseQueue = promiseQueue.then(both, both).then(function (result) {
824
829
  --activeCallbackCount;
825
830
  next && next.call(observer, result);
826
831
  if (completed) {
827
832
  handler.complete();
828
833
  }
829
- }, function (e) {
834
+ }, function (error) {
830
835
  --activeCallbackCount;
831
- error && error.call(observer, e);
836
+ throw error;
837
+ }).catch(function (caught) {
838
+ error && error.call(observer, caught);
832
839
  });
833
840
  };
834
841
  }
@@ -1227,7 +1234,7 @@ var concat = ApolloLink.concat;
1227
1234
 
1228
1235
  var execute = ApolloLink.execute;
1229
1236
 
1230
- var version = '3.3.9';
1237
+ var version = '3.3.13';
1231
1238
 
1232
1239
  var hasOwnProperty$1 = Object.prototype.hasOwnProperty;
1233
1240
  function parseAndCheckHttpResponse(operations) {
@@ -1421,7 +1428,7 @@ var createHttpLink = function (linkOptions) {
1421
1428
  var _b = selectHttpOptionsAndBody(operation, fallbackHttpConfig, linkConfig, contextConfig), options = _b.options, body = _b.body;
1422
1429
  if (body.variables && !includeUnusedVariables) {
1423
1430
  var unusedNames_1 = new Set(Object.keys(body.variables));
1424
- visitor.visit(operation.query, {
1431
+ graphql.visit(operation.query, {
1425
1432
  Variable: function (node, _key, parent) {
1426
1433
  if (parent && parent.kind !== 'VariableDefinition') {
1427
1434
  unusedNames_1.delete(node.name.value);
@@ -1957,7 +1964,6 @@ var ObservableQuery = (function (_super) {
1957
1964
  this.reobserver.stop();
1958
1965
  delete this.reobserver;
1959
1966
  }
1960
- delete this.options.context;
1961
1967
  this.subscriptions.forEach(function (sub) { return sub.unsubscribe(); });
1962
1968
  this.subscriptions.clear();
1963
1969
  this.queryManager.stopQuery(this.queryId);
@@ -4064,6 +4070,11 @@ var QueryInfo = (function () {
4064
4070
  }
4065
4071
  return this;
4066
4072
  };
4073
+ QueryInfo.prototype.reset = function () {
4074
+ cancelNotifyTimeout(this);
4075
+ this.diff = null;
4076
+ this.dirty = false;
4077
+ };
4067
4078
  QueryInfo.prototype.getDiff = function (variables) {
4068
4079
  if (variables === void 0) { variables = this.variables; }
4069
4080
  if (this.diff && equality.equal(variables, this.variables)) {
@@ -4175,7 +4186,7 @@ var QueryInfo = (function () {
4175
4186
  QueryInfo.prototype.markResult = function (result, options, allowCacheWrite) {
4176
4187
  var _this = this;
4177
4188
  this.graphQLErrors = isNonEmptyArray(result.errors) ? result.errors : [];
4178
- cancelNotifyTimeout(this);
4189
+ this.reset();
4179
4190
  if (options.fetchPolicy === 'no-cache') {
4180
4191
  this.diff = { result: result.data, complete: true };
4181
4192
  }
@@ -4227,7 +4238,7 @@ var QueryInfo = (function () {
4227
4238
  QueryInfo.prototype.markError = function (error) {
4228
4239
  this.networkStatus = exports.NetworkStatus.error;
4229
4240
  this.lastWrite = void 0;
4230
- cancelNotifyTimeout(this);
4241
+ this.reset();
4231
4242
  if (error.graphQLErrors) {
4232
4243
  this.graphQLErrors = error.graphQLErrors;
4233
4244
  }
@@ -4392,6 +4403,7 @@ var QueryManager = (function () {
4392
4403
  self.queries.forEach(function (_a) {
4393
4404
  var observableQuery = _a.observableQuery;
4394
4405
  if (observableQuery &&
4406
+ observableQuery.hasObservers() &&
4395
4407
  observableQuery.queryName === refetchQuery) {
4396
4408
  refetchQueryPromises.push(observableQuery.refetch());
4397
4409
  }
@@ -5359,7 +5371,8 @@ var SubscriptionData = (function (_super) {
5359
5371
  this.currentObservable.query = this.refreshClient().client.subscribe({
5360
5372
  query: options.subscription,
5361
5373
  variables: options.variables,
5362
- fetchPolicy: options.fetchPolicy
5374
+ fetchPolicy: options.fetchPolicy,
5375
+ context: options.context,
5363
5376
  });
5364
5377
  };
5365
5378
  SubscriptionData.prototype.startSubscription = function () {
@@ -5832,24 +5845,20 @@ function useBaseQuery(query, options, lazy) {
5832
5845
  var _a = React.useReducer(function (x) { return x + 1; }, 0), tick = _a[0], forceUpdate = _a[1];
5833
5846
  var updatedOptions = options ? tslib.__assign(tslib.__assign({}, options), { query: query }) : { query: query };
5834
5847
  var queryDataRef = React.useRef();
5835
- var queryData = queryDataRef.current ||
5836
- new QueryData({
5837
- options: updatedOptions,
5838
- context: context,
5839
- onNewData: function () {
5840
- if (!queryData.ssrInitiated()) {
5841
- Promise.resolve().then(forceUpdate);
5842
- }
5843
- else {
5844
- forceUpdate();
5845
- }
5848
+ var queryData = queryDataRef.current || (queryDataRef.current = new QueryData({
5849
+ options: updatedOptions,
5850
+ context: context,
5851
+ onNewData: function () {
5852
+ if (!queryData.ssrInitiated()) {
5853
+ Promise.resolve().then(function () { return queryDataRef.current && forceUpdate(); });
5846
5854
  }
5847
- });
5855
+ else {
5856
+ forceUpdate();
5857
+ }
5858
+ }
5859
+ }));
5848
5860
  queryData.setOptions(updatedOptions);
5849
5861
  queryData.context = context;
5850
- if (queryData.ssrInitiated() && !queryDataRef.current) {
5851
- queryDataRef.current = queryData;
5852
- }
5853
5862
  var memo = {
5854
5863
  options: tslib.__assign(tslib.__assign({}, updatedOptions), { onError: undefined, onCompleted: undefined }),
5855
5864
  context: context,
@@ -5860,9 +5869,6 @@ function useBaseQuery(query, options, lazy) {
5860
5869
  ? result[1]
5861
5870
  : result;
5862
5871
  React.useEffect(function () {
5863
- if (!queryDataRef.current) {
5864
- queryDataRef.current = queryData;
5865
- }
5866
5872
  return function () { return queryData.cleanup(); };
5867
5873
  }, []);
5868
5874
  React.useEffect(function () { return queryData.afterExecute({ lazy: lazy }); }, [