@apollo/client 3.8.0-rc.1 → 3.8.0

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 (292) hide show
  1. package/apollo-client.cjs +231 -202
  2. package/apollo-client.cjs.map +1 -1
  3. package/apollo-client.min.cjs +1 -1
  4. package/cache/index.d.ts +13 -7
  5. package/cache/index.d.ts.map +1 -1
  6. package/cache/index.js +4 -4
  7. package/cache/index.js.map +1 -1
  8. package/cache/inmemory/types.d.ts +2 -2
  9. package/cache/inmemory/types.d.ts.map +1 -1
  10. package/cache/inmemory/types.js.map +1 -1
  11. package/core/core.cjs +2 -2
  12. package/core/core.cjs.map +1 -1
  13. package/core/core.cjs.native.js +2 -2
  14. package/core/equalByQuery.d.ts +2 -2
  15. package/core/equalByQuery.js +3 -3
  16. package/core/equalByQuery.js.map +1 -1
  17. package/core/index.d.ts +19 -14
  18. package/core/index.d.ts.map +1 -1
  19. package/core/index.js +12 -12
  20. package/core/index.js.map +1 -1
  21. package/core/types.d.ts +1 -1
  22. package/core/types.d.ts.map +1 -1
  23. package/core/types.js.map +1 -1
  24. package/dev/dev.cjs +22 -24
  25. package/dev/dev.cjs.map +1 -1
  26. package/dev/dev.cjs.native.js +22 -24
  27. package/dev/index.d.ts +3 -3
  28. package/dev/index.js +3 -3
  29. package/dev/index.js.map +1 -1
  30. package/dev/loadDevMessages.js +2 -2
  31. package/dev/loadDevMessages.js.map +1 -1
  32. package/dev/loadErrorMessageHandler.d.ts +1 -1
  33. package/dev/loadErrorMessageHandler.js +4 -4
  34. package/dev/loadErrorMessageHandler.js.map +1 -1
  35. package/dev/loadErrorMessages.js +2 -2
  36. package/dev/loadErrorMessages.js.map +1 -1
  37. package/invariantErrorCodes.js +16 -18
  38. package/link/batch/batchLink.d.ts +2 -1
  39. package/link/batch/batchLink.d.ts.map +1 -1
  40. package/link/batch/batchLink.js.map +1 -1
  41. package/link/core/types.d.ts +2 -2
  42. package/link/core/types.d.ts.map +1 -1
  43. package/link/core/types.js.map +1 -1
  44. package/link/http/index.d.ts +6 -3
  45. package/link/http/index.d.ts.map +1 -1
  46. package/link/http/index.js +1 -1
  47. package/link/http/index.js.map +1 -1
  48. package/link/remove-typename/index.d.ts +2 -1
  49. package/link/remove-typename/index.d.ts.map +1 -1
  50. package/link/remove-typename/index.js +1 -1
  51. package/link/remove-typename/index.js.map +1 -1
  52. package/link/remove-typename/remove-typename.cjs +2 -2
  53. package/link/remove-typename/remove-typename.cjs.map +1 -1
  54. package/link/remove-typename/remove-typename.cjs.native.js +2 -2
  55. package/link/remove-typename/removeTypenameFromVariables.d.ts +1 -1
  56. package/link/remove-typename/removeTypenameFromVariables.js +6 -6
  57. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  58. package/link/utils/index.d.ts +2 -1
  59. package/link/utils/index.d.ts.map +1 -1
  60. package/link/utils/index.js.map +1 -1
  61. package/package.json +2 -10
  62. package/react/cache/QueryReference.d.ts +10 -6
  63. package/react/cache/QueryReference.d.ts.map +1 -1
  64. package/react/cache/QueryReference.js +42 -31
  65. package/react/cache/QueryReference.js.map +1 -1
  66. package/react/cache/SuspenseCache.d.ts +3 -3
  67. package/react/cache/SuspenseCache.d.ts.map +1 -1
  68. package/react/cache/SuspenseCache.js +3 -3
  69. package/react/cache/SuspenseCache.js.map +1 -1
  70. package/react/cache/getSuspenseCache.d.ts +4 -4
  71. package/react/cache/getSuspenseCache.js +2 -2
  72. package/react/cache/getSuspenseCache.js.map +1 -1
  73. package/react/cache/index.d.ts +3 -3
  74. package/react/cache/index.js +5 -5
  75. package/react/cache/index.js.map +1 -1
  76. package/react/cache/types.d.ts +5 -1
  77. package/react/cache/types.d.ts.map +1 -1
  78. package/react/cache/types.js.map +1 -1
  79. package/react/components/Mutation.d.ts +3 -3
  80. package/react/components/Mutation.js +3 -3
  81. package/react/components/Mutation.js.map +1 -1
  82. package/react/components/Query.d.ts +3 -3
  83. package/react/components/Query.d.ts.map +1 -1
  84. package/react/components/Query.js +3 -3
  85. package/react/components/Query.js.map +1 -1
  86. package/react/components/Subscription.d.ts +3 -3
  87. package/react/components/Subscription.d.ts.map +1 -1
  88. package/react/components/Subscription.js +3 -3
  89. package/react/components/Subscription.js.map +1 -1
  90. package/react/components/components.cjs +3 -3
  91. package/react/components/components.cjs.map +1 -1
  92. package/react/components/components.cjs.native.js +3 -3
  93. package/react/components/index.d.ts +4 -4
  94. package/react/components/index.js +4 -4
  95. package/react/components/index.js.map +1 -1
  96. package/react/components/types.d.ts +4 -4
  97. package/react/components/types.d.ts.map +1 -1
  98. package/react/components/types.js.map +1 -1
  99. package/react/context/ApolloConsumer.d.ts +2 -2
  100. package/react/context/ApolloConsumer.js +3 -3
  101. package/react/context/ApolloConsumer.js.map +1 -1
  102. package/react/context/ApolloContext.d.ts +3 -10
  103. package/react/context/ApolloContext.d.ts.map +1 -1
  104. package/react/context/ApolloContext.js +15 -13
  105. package/react/context/ApolloContext.js.map +1 -1
  106. package/react/context/ApolloProvider.d.ts +2 -2
  107. package/react/context/ApolloProvider.js +3 -3
  108. package/react/context/ApolloProvider.js.map +1 -1
  109. package/react/context/context.cjs +12 -10
  110. package/react/context/context.cjs.map +1 -1
  111. package/react/context/context.cjs.native.js +12 -10
  112. package/react/context/index.d.ts +7 -4
  113. package/react/context/index.d.ts.map +1 -1
  114. package/react/context/index.js +4 -4
  115. package/react/context/index.js.map +1 -1
  116. package/react/hoc/graphql.d.ts +3 -3
  117. package/react/hoc/graphql.js +4 -4
  118. package/react/hoc/graphql.js.map +1 -1
  119. package/react/hoc/hoc-utils.d.ts +3 -3
  120. package/react/hoc/hoc-utils.d.ts.map +1 -1
  121. package/react/hoc/hoc-utils.js +5 -5
  122. package/react/hoc/hoc-utils.js.map +1 -1
  123. package/react/hoc/hoc.cjs +24 -23
  124. package/react/hoc/hoc.cjs.map +1 -1
  125. package/react/hoc/hoc.cjs.native.js +24 -23
  126. package/react/hoc/index.d.ts +7 -7
  127. package/react/hoc/index.js +7 -7
  128. package/react/hoc/index.js.map +1 -1
  129. package/react/hoc/mutation-hoc.d.ts +5 -5
  130. package/react/hoc/mutation-hoc.d.ts.map +1 -1
  131. package/react/hoc/mutation-hoc.js +13 -11
  132. package/react/hoc/mutation-hoc.js.map +1 -1
  133. package/react/hoc/query-hoc.d.ts +3 -3
  134. package/react/hoc/query-hoc.d.ts.map +1 -1
  135. package/react/hoc/query-hoc.js +10 -10
  136. package/react/hoc/query-hoc.js.map +1 -1
  137. package/react/hoc/subscription-hoc.d.ts +3 -3
  138. package/react/hoc/subscription-hoc.d.ts.map +1 -1
  139. package/react/hoc/subscription-hoc.js +11 -12
  140. package/react/hoc/subscription-hoc.js.map +1 -1
  141. package/react/hoc/types.d.ts +4 -4
  142. package/react/hoc/types.d.ts.map +1 -1
  143. package/react/hoc/types.js.map +1 -1
  144. package/react/hoc/withApollo.d.ts +3 -3
  145. package/react/hoc/withApollo.js +6 -6
  146. package/react/hoc/withApollo.js.map +1 -1
  147. package/react/hooks/constants.d.ts +3 -0
  148. package/react/hooks/constants.d.ts.map +1 -0
  149. package/react/hooks/constants.js +2 -0
  150. package/react/hooks/constants.js.map +1 -0
  151. package/react/hooks/hooks.cjs +182 -160
  152. package/react/hooks/hooks.cjs.map +1 -1
  153. package/react/hooks/hooks.cjs.native.js +182 -160
  154. package/react/hooks/index.d.ts +15 -11
  155. package/react/hooks/index.d.ts.map +1 -1
  156. package/react/hooks/index.js +12 -11
  157. package/react/hooks/index.js.map +1 -1
  158. package/react/hooks/internal/__use.js +6 -6
  159. package/react/hooks/internal/__use.js.map +1 -1
  160. package/react/hooks/internal/index.d.ts +3 -3
  161. package/react/hooks/internal/index.js +3 -3
  162. package/react/hooks/internal/index.js.map +1 -1
  163. package/react/hooks/internal/useDeepMemo.d.ts +1 -1
  164. package/react/hooks/internal/useDeepMemo.js +2 -2
  165. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  166. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  167. package/react/hooks/internal/useIsomorphicLayoutEffect.js +2 -2
  168. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  169. package/react/hooks/useApolloClient.d.ts +1 -1
  170. package/react/hooks/useApolloClient.js +3 -3
  171. package/react/hooks/useApolloClient.js.map +1 -1
  172. package/react/hooks/useBackgroundQuery.d.ts +48 -21
  173. package/react/hooks/useBackgroundQuery.d.ts.map +1 -1
  174. package/react/hooks/useBackgroundQuery.js +14 -17
  175. package/react/hooks/useBackgroundQuery.js.map +1 -1
  176. package/react/hooks/useFragment.d.ts.map +1 -1
  177. package/react/hooks/useFragment.js +7 -2
  178. package/react/hooks/useFragment.js.map +1 -1
  179. package/react/hooks/useLazyQuery.d.ts +4 -4
  180. package/react/hooks/useLazyQuery.d.ts.map +1 -1
  181. package/react/hooks/useLazyQuery.js +13 -12
  182. package/react/hooks/useLazyQuery.js.map +1 -1
  183. package/react/hooks/useMutation.d.ts +4 -4
  184. package/react/hooks/useMutation.d.ts.map +1 -1
  185. package/react/hooks/useMutation.js +28 -18
  186. package/react/hooks/useMutation.js.map +1 -1
  187. package/react/hooks/useQuery.d.ts +6 -5
  188. package/react/hooks/useQuery.d.ts.map +1 -1
  189. package/react/hooks/useQuery.js +45 -40
  190. package/react/hooks/useQuery.js.map +1 -1
  191. package/react/hooks/useReactiveVar.d.ts +1 -1
  192. package/react/hooks/useReactiveVar.js +1 -1
  193. package/react/hooks/useReactiveVar.js.map +1 -1
  194. package/react/hooks/useReadQuery.d.ts +2 -3
  195. package/react/hooks/useReadQuery.d.ts.map +1 -1
  196. package/react/hooks/useReadQuery.js +11 -24
  197. package/react/hooks/useReadQuery.js.map +1 -1
  198. package/react/hooks/useSubscription.d.ts +4 -4
  199. package/react/hooks/useSubscription.d.ts.map +1 -1
  200. package/react/hooks/useSubscription.js +10 -10
  201. package/react/hooks/useSubscription.js.map +1 -1
  202. package/react/hooks/useSuspenseQuery.d.ts +15 -10
  203. package/react/hooks/useSuspenseQuery.d.ts.map +1 -1
  204. package/react/hooks/useSuspenseQuery.js +22 -18
  205. package/react/hooks/useSuspenseQuery.js.map +1 -1
  206. package/react/hooks/useSyncExternalStore.d.ts.map +1 -1
  207. package/react/hooks/useSyncExternalStore.js +33 -30
  208. package/react/hooks/useSyncExternalStore.js.map +1 -1
  209. package/react/index.d.ts +8 -6
  210. package/react/index.d.ts.map +1 -1
  211. package/react/index.js +6 -6
  212. package/react/index.js.map +1 -1
  213. package/react/parser/index.d.ts +1 -1
  214. package/react/parser/index.d.ts.map +1 -1
  215. package/react/parser/index.js +14 -12
  216. package/react/parser/index.js.map +1 -1
  217. package/react/parser/parser.cjs +13 -11
  218. package/react/parser/parser.cjs.map +1 -1
  219. package/react/parser/parser.cjs.native.js +13 -11
  220. package/react/react.cjs +34 -30
  221. package/react/react.cjs.map +1 -1
  222. package/react/react.cjs.native.js +34 -30
  223. package/react/ssr/RenderPromises.d.ts +2 -2
  224. package/react/ssr/RenderPromises.d.ts.map +1 -1
  225. package/react/ssr/RenderPromises.js +17 -15
  226. package/react/ssr/RenderPromises.js.map +1 -1
  227. package/react/ssr/getDataFromTree.d.ts +2 -2
  228. package/react/ssr/getDataFromTree.d.ts.map +1 -1
  229. package/react/ssr/getDataFromTree.js +9 -7
  230. package/react/ssr/getDataFromTree.js.map +1 -1
  231. package/react/ssr/index.d.ts +3 -3
  232. package/react/ssr/index.js +3 -3
  233. package/react/ssr/index.js.map +1 -1
  234. package/react/ssr/renderToStringWithData.d.ts +1 -1
  235. package/react/ssr/renderToStringWithData.js +3 -3
  236. package/react/ssr/renderToStringWithData.js.map +1 -1
  237. package/react/ssr/ssr.cjs +23 -19
  238. package/react/ssr/ssr.cjs.map +1 -1
  239. package/react/ssr/ssr.cjs.native.js +23 -19
  240. package/react/types/types.d.ts +18 -19
  241. package/react/types/types.d.ts.map +1 -1
  242. package/react/types/types.js.map +1 -1
  243. package/testing/core/index.d.ts +8 -7
  244. package/testing/core/index.d.ts.map +1 -1
  245. package/testing/core/index.js +7 -7
  246. package/testing/core/index.js.map +1 -1
  247. package/testing/index.d.ts +2 -1
  248. package/testing/index.d.ts.map +1 -1
  249. package/testing/index.js.map +1 -1
  250. package/testing/matchers/index.js +3 -3
  251. package/testing/matchers/index.js.map +1 -1
  252. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +3 -3
  253. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +6 -6
  254. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  255. package/testing/matchers/toMatchDocument.d.ts +2 -2
  256. package/testing/matchers/toMatchDocument.js +8 -8
  257. package/testing/matchers/toMatchDocument.js.map +1 -1
  258. package/utilities/common/omitDeep.d.ts +1 -1
  259. package/utilities/common/omitDeep.js +1 -1
  260. package/utilities/common/omitDeep.js.map +1 -1
  261. package/utilities/common/stripTypename.js +2 -2
  262. package/utilities/common/stripTypename.js.map +1 -1
  263. package/utilities/globals/globals.cjs +4 -4
  264. package/utilities/globals/globals.cjs.map +1 -1
  265. package/utilities/globals/globals.cjs.native.js +4 -4
  266. package/utilities/globals/invariantWrappers.d.ts +2 -2
  267. package/utilities/globals/invariantWrappers.js +7 -7
  268. package/utilities/globals/invariantWrappers.js.map +1 -1
  269. package/utilities/graphql/DocumentTransform.d.ts +1 -1
  270. package/utilities/graphql/DocumentTransform.js +4 -4
  271. package/utilities/graphql/DocumentTransform.js.map +1 -1
  272. package/utilities/graphql/operations.d.ts +1 -1
  273. package/utilities/graphql/operations.js +4 -4
  274. package/utilities/graphql/operations.js.map +1 -1
  275. package/utilities/graphql/print.d.ts +1 -1
  276. package/utilities/graphql/print.js +2 -2
  277. package/utilities/graphql/print.js.map +1 -1
  278. package/utilities/index.d.ts +40 -34
  279. package/utilities/index.d.ts.map +1 -1
  280. package/utilities/index.js +32 -32
  281. package/utilities/index.js.map +1 -1
  282. package/utilities/promises/decoration.d.ts +3 -3
  283. package/utilities/promises/decoration.js +8 -8
  284. package/utilities/promises/decoration.js.map +1 -1
  285. package/utilities/types/DeepOmit.d.ts +1 -1
  286. package/utilities/types/DeepOmit.js.map +1 -1
  287. package/utilities/types/DeepPartial.d.ts +1 -1
  288. package/utilities/types/DeepPartial.js.map +1 -1
  289. package/utilities/utilities.cjs +12 -12
  290. package/utilities/utilities.cjs.map +1 -1
  291. package/utilities/utilities.cjs.native.js +12 -12
  292. package/version.js +1 -1
package/apollo-client.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
- var invariant$1 = require('ts-invariant');
6
+ var tsInvariant = require('ts-invariant');
7
7
  var equal = require('@wry/equality');
8
8
  var graphql = require('graphql');
9
9
  var zenObservableTs = require('zen-observable-ts');
@@ -28,11 +28,10 @@ function _interopNamespace(e) {
28
28
  return Object.freeze(n);
29
29
  }
30
30
 
31
- var invariant__default = /*#__PURE__*/_interopDefaultLegacy(invariant$1);
32
31
  var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
33
32
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
34
33
 
35
- var version = '3.8.0-rc.1';
34
+ var version = '3.8.0';
36
35
 
37
36
  function maybe(thunk) {
38
37
  try {
@@ -67,7 +66,7 @@ function wrap(fn) {
67
66
  for (var _i = 1; _i < arguments.length; _i++) {
68
67
  args[_i - 1] = arguments[_i];
69
68
  }
70
- fn.apply(void 0, tslib.__spreadArray([typeof message === 'number' ? getErrorMsg(message) : message], args, false));
69
+ fn.apply(void 0, tslib.__spreadArray([typeof message === "number" ? getErrorMsg(message) : message], args, false));
71
70
  };
72
71
  }
73
72
  var invariant = Object.assign(function invariant(condition, message) {
@@ -76,28 +75,28 @@ var invariant = Object.assign(function invariant(condition, message) {
76
75
  args[_i - 2] = arguments[_i];
77
76
  }
78
77
  if (!condition) {
79
- invariant$1.invariant(condition, getErrorMsg(message, args));
78
+ tsInvariant.invariant(condition, getErrorMsg(message, args));
80
79
  }
81
80
  }, {
82
- debug: wrap(invariant$1.invariant.debug),
83
- log: wrap(invariant$1.invariant.log),
84
- warn: wrap(invariant$1.invariant.warn),
85
- error: wrap(invariant$1.invariant.error),
81
+ debug: wrap(tsInvariant.invariant.debug),
82
+ log: wrap(tsInvariant.invariant.log),
83
+ warn: wrap(tsInvariant.invariant.warn),
84
+ error: wrap(tsInvariant.invariant.error),
86
85
  });
87
86
  function newInvariantError(message) {
88
87
  var optionalParams = [];
89
88
  for (var _i = 1; _i < arguments.length; _i++) {
90
89
  optionalParams[_i - 1] = arguments[_i];
91
90
  }
92
- return new invariant$1.InvariantError(getErrorMsg(message, optionalParams));
91
+ return new tsInvariant.InvariantError(getErrorMsg(message, optionalParams));
93
92
  }
94
- var ApolloErrorMessageHandler = Symbol.for('ApolloErrorMessageHandler_' + version);
93
+ var ApolloErrorMessageHandler = Symbol.for("ApolloErrorMessageHandler_" + version);
95
94
  function getErrorMsg(message, messageArgs) {
96
95
  if (messageArgs === void 0) { messageArgs = []; }
97
96
  if (!message)
98
97
  return;
99
98
  var args = messageArgs.map(function (arg) {
100
- return typeof arg == 'string' ? arg : stringifyForDisplay(arg, 2).slice(0, 1000);
99
+ return typeof arg == "string" ? arg : stringifyForDisplay(arg, 2).slice(0, 1000);
101
100
  });
102
101
  return ((global$1[ApolloErrorMessageHandler] &&
103
102
  global$1[ApolloErrorMessageHandler](message, args)) ||
@@ -958,36 +957,36 @@ var DeepMerger = (function () {
958
957
 
959
958
  function createFulfilledPromise(value) {
960
959
  var promise = Promise.resolve(value);
961
- promise.status = 'fulfilled';
960
+ promise.status = "fulfilled";
962
961
  promise.value = value;
963
962
  return promise;
964
963
  }
965
964
  function createRejectedPromise(reason) {
966
965
  var promise = Promise.reject(reason);
967
966
  promise.catch(function () { });
968
- promise.status = 'rejected';
967
+ promise.status = "rejected";
969
968
  promise.reason = reason;
970
969
  return promise;
971
970
  }
972
971
  function isStatefulPromise(promise) {
973
- return 'status' in promise;
972
+ return "status" in promise;
974
973
  }
975
974
  function wrapPromiseWithState(promise) {
976
975
  if (isStatefulPromise(promise)) {
977
976
  return promise;
978
977
  }
979
978
  var pendingPromise = promise;
980
- pendingPromise.status = 'pending';
979
+ pendingPromise.status = "pending";
981
980
  pendingPromise.then(function (value) {
982
- if (pendingPromise.status === 'pending') {
981
+ if (pendingPromise.status === "pending") {
983
982
  var fulfilledPromise = pendingPromise;
984
- fulfilledPromise.status = 'fulfilled';
983
+ fulfilledPromise.status = "fulfilled";
985
984
  fulfilledPromise.value = value;
986
985
  }
987
986
  }, function (reason) {
988
- if (pendingPromise.status === 'pending') {
987
+ if (pendingPromise.status === "pending") {
989
988
  var rejectedPromise = pendingPromise;
990
- rejectedPromise.status = 'rejected';
989
+ rejectedPromise.status = "rejected";
991
990
  rejectedPromise.reason = reason;
992
991
  }
993
992
  });
@@ -4560,7 +4559,7 @@ function selectionHasNonreactiveDirective(selection) {
4560
4559
  return (!!selection.directives && selection.directives.some(directiveIsNonreactive));
4561
4560
  }
4562
4561
  function directiveIsNonreactive(dir) {
4563
- return dir.name.value === 'nonreactive';
4562
+ return dir.name.value === "nonreactive";
4564
4563
  }
4565
4564
 
4566
4565
  var assign = Object.assign, hasOwnProperty$2 = Object.hasOwnProperty;
@@ -6808,19 +6807,21 @@ var ApolloClient = (function () {
6808
6807
  }());
6809
6808
 
6810
6809
  var contextKey = canUseSymbol
6811
- ? Symbol.for('__APOLLO_CONTEXT__')
6812
- : '__APOLLO_CONTEXT__';
6810
+ ? Symbol.for("__APOLLO_CONTEXT__")
6811
+ : "__APOLLO_CONTEXT__";
6813
6812
  function getApolloContext() {
6814
- invariant('createContext' in React__namespace, 43);
6815
- var contextStorage = global$1[contextKey] || (global$1[contextKey] = new Map());
6816
- var value = contextStorage.get(React__namespace.createContext);
6817
- if (!value) {
6818
- value = Object.assign(React__namespace.createContext({}), {
6819
- displayName: 'ApolloContext',
6813
+ invariant("createContext" in React__namespace, 43);
6814
+ var context = React__namespace.createContext[contextKey];
6815
+ if (!context) {
6816
+ Object.defineProperty(React__namespace.createContext, contextKey, {
6817
+ value: (context = React__namespace.createContext({})),
6818
+ enumerable: false,
6819
+ writable: false,
6820
+ configurable: true,
6820
6821
  });
6821
- contextStorage.set(React__namespace.createContext, value);
6822
+ context.displayName = "ApolloContext";
6822
6823
  }
6823
- return value;
6824
+ return context;
6824
6825
  }
6825
6826
  var resetApolloContext = getApolloContext;
6826
6827
 
@@ -6853,38 +6854,41 @@ function useApolloClient(override) {
6853
6854
  var didWarnUncachedGetSnapshot = false;
6854
6855
  var uSESKey = "useSyncExternalStore";
6855
6856
  var realHook$1 = React__namespace[uSESKey];
6856
- var useSyncExternalStore = realHook$1 || (function (subscribe, getSnapshot, getServerSnapshot) {
6857
- var value = getSnapshot();
6858
- if (globalThis.__DEV__ !== false &&
6859
- !didWarnUncachedGetSnapshot &&
6860
- value !== getSnapshot()) {
6861
- didWarnUncachedGetSnapshot = true;
6862
- globalThis.__DEV__ !== false && invariant.error(56);
6863
- }
6864
- var _a = React__namespace.useState({ inst: { value: value, getSnapshot: getSnapshot } }), inst = _a[0].inst, forceUpdate = _a[1];
6865
- if (canUseLayoutEffect) {
6866
- React__namespace.useLayoutEffect(function () {
6857
+ var useSyncExternalStore = realHook$1 ||
6858
+ (function (subscribe, getSnapshot, getServerSnapshot) {
6859
+ var value = getSnapshot();
6860
+ if (globalThis.__DEV__ !== false &&
6861
+ !didWarnUncachedGetSnapshot &&
6862
+ value !== getSnapshot()) {
6863
+ didWarnUncachedGetSnapshot = true;
6864
+ globalThis.__DEV__ !== false && invariant.error(56);
6865
+ }
6866
+ var _a = React__namespace.useState({
6867
+ inst: { value: value, getSnapshot: getSnapshot },
6868
+ }), inst = _a[0].inst, forceUpdate = _a[1];
6869
+ if (canUseLayoutEffect) {
6870
+ React__namespace.useLayoutEffect(function () {
6871
+ Object.assign(inst, { value: value, getSnapshot: getSnapshot });
6872
+ if (checkIfSnapshotChanged(inst)) {
6873
+ forceUpdate({ inst: inst });
6874
+ }
6875
+ }, [subscribe, value, getSnapshot]);
6876
+ }
6877
+ else {
6867
6878
  Object.assign(inst, { value: value, getSnapshot: getSnapshot });
6868
- if (checkIfSnapshotChanged(inst)) {
6869
- forceUpdate({ inst: inst });
6870
- }
6871
- }, [subscribe, value, getSnapshot]);
6872
- }
6873
- else {
6874
- Object.assign(inst, { value: value, getSnapshot: getSnapshot });
6875
- }
6876
- React__namespace.useEffect(function () {
6877
- if (checkIfSnapshotChanged(inst)) {
6878
- forceUpdate({ inst: inst });
6879
6879
  }
6880
- return subscribe(function handleStoreChange() {
6880
+ React__namespace.useEffect(function () {
6881
6881
  if (checkIfSnapshotChanged(inst)) {
6882
6882
  forceUpdate({ inst: inst });
6883
6883
  }
6884
- });
6885
- }, [subscribe]);
6886
- return value;
6887
- });
6884
+ return subscribe(function handleStoreChange() {
6885
+ if (checkIfSnapshotChanged(inst)) {
6886
+ forceUpdate({ inst: inst });
6887
+ }
6888
+ });
6889
+ }, [subscribe]);
6890
+ return value;
6891
+ });
6888
6892
  function checkIfSnapshotChanged(_a) {
6889
6893
  var value = _a.value, getSnapshot = _a.getSnapshot;
6890
6894
  try {
@@ -6906,13 +6910,13 @@ function operationName(type) {
6906
6910
  var name;
6907
6911
  switch (type) {
6908
6912
  case exports.DocumentType.Query:
6909
- name = 'Query';
6913
+ name = "Query";
6910
6914
  break;
6911
6915
  case exports.DocumentType.Mutation:
6912
- name = 'Mutation';
6916
+ name = "Mutation";
6913
6917
  break;
6914
6918
  case exports.DocumentType.Subscription:
6915
- name = 'Subscription';
6919
+ name = "Subscription";
6916
6920
  break;
6917
6921
  }
6918
6922
  return name;
@@ -6929,26 +6933,28 @@ function parser(document) {
6929
6933
  var subscriptions = [];
6930
6934
  for (var _i = 0, _a = document.definitions; _i < _a.length; _i++) {
6931
6935
  var x = _a[_i];
6932
- if (x.kind === 'FragmentDefinition') {
6936
+ if (x.kind === "FragmentDefinition") {
6933
6937
  fragments.push(x);
6934
6938
  continue;
6935
6939
  }
6936
- if (x.kind === 'OperationDefinition') {
6940
+ if (x.kind === "OperationDefinition") {
6937
6941
  switch (x.operation) {
6938
- case 'query':
6942
+ case "query":
6939
6943
  queries.push(x);
6940
6944
  break;
6941
- case 'mutation':
6945
+ case "mutation":
6942
6946
  mutations.push(x);
6943
6947
  break;
6944
- case 'subscription':
6948
+ case "subscription":
6945
6949
  subscriptions.push(x);
6946
6950
  break;
6947
6951
  }
6948
6952
  }
6949
6953
  }
6950
6954
  invariant(!fragments.length ||
6951
- (queries.length || mutations.length || subscriptions.length), 58);
6955
+ queries.length ||
6956
+ mutations.length ||
6957
+ subscriptions.length, 58);
6952
6958
  invariant(
6953
6959
  queries.length + mutations.length + subscriptions.length <= 1,
6954
6960
  59,
@@ -6968,11 +6974,11 @@ function parser(document) {
6968
6974
  invariant(definitions.length === 1, 60, document, definitions.length);
6969
6975
  var definition = definitions[0];
6970
6976
  variables = definition.variableDefinitions || [];
6971
- if (definition.name && definition.name.kind === 'Name') {
6977
+ if (definition.name && definition.name.kind === "Name") {
6972
6978
  name = definition.name.value;
6973
6979
  }
6974
6980
  else {
6975
- name = 'data';
6981
+ name = "data";
6976
6982
  }
6977
6983
  var payload = { name: name, type: type, variables: variables };
6978
6984
  cache.set(document, payload);
@@ -7004,16 +7010,15 @@ function useInternalState(client, query) {
7004
7010
  stateRef.current = new InternalState(client, query, stateRef.current);
7005
7011
  }
7006
7012
  var state = stateRef.current;
7007
- var _a = React__namespace.useState(0); _a[0]; var setTick = _a[1];
7008
- state.forceUpdate = function () {
7009
- setTick(function (tick) { return tick + 1; });
7010
- };
7013
+ state.forceUpdateState = React__namespace.useReducer(function (tick) { return tick + 1; }, 0)[1];
7011
7014
  return state;
7012
7015
  }
7013
7016
  var InternalState = (function () {
7014
7017
  function InternalState(client, query, previous) {
7018
+ var _this = this;
7015
7019
  this.client = client;
7016
7020
  this.query = query;
7021
+ this.forceUpdate = function () { return _this.forceUpdateState(); };
7017
7022
  this.ssrDisabledResult = maybeDeepFreeze({
7018
7023
  loading: true,
7019
7024
  data: void 0,
@@ -7034,7 +7039,7 @@ var InternalState = (function () {
7034
7039
  this.previousData = previousData;
7035
7040
  }
7036
7041
  }
7037
- InternalState.prototype.forceUpdate = function () {
7042
+ InternalState.prototype.forceUpdateState = function () {
7038
7043
  globalThis.__DEV__ !== false && invariant.warn(48);
7039
7044
  };
7040
7045
  InternalState.prototype.executeQuery = function (options) {
@@ -7043,7 +7048,7 @@ var InternalState = (function () {
7043
7048
  if (options.query) {
7044
7049
  Object.assign(this, { query: options.query });
7045
7050
  }
7046
- this.watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);
7051
+ this.watchQueryOptions = this.createWatchQueryOptions((this.queryHookOptions = options));
7047
7052
  var concast = this.observable.reobserveAsConcast(this.getObsQueryOptions());
7048
7053
  this.previousData = ((_a = this.result) === null || _a === void 0 ? void 0 : _a.data) || this.previousData;
7049
7054
  this.result = void 0;
@@ -7059,7 +7064,7 @@ var InternalState = (function () {
7059
7064
  },
7060
7065
  complete: function () {
7061
7066
  resolve(_this.toQueryResult(result));
7062
- }
7067
+ },
7063
7068
  });
7064
7069
  });
7065
7070
  };
@@ -7068,10 +7073,11 @@ var InternalState = (function () {
7068
7073
  this.renderPromises = React__namespace.useContext(getApolloContext()).renderPromises;
7069
7074
  this.useOptions(options);
7070
7075
  var obsQuery = this.useObservableQuery();
7071
- var result = useSyncExternalStore(React__namespace.useCallback(function () {
7076
+ var result = useSyncExternalStore(React__namespace.useCallback(function (handleStoreChange) {
7072
7077
  if (_this.renderPromises) {
7073
7078
  return function () { };
7074
7079
  }
7080
+ _this.forceUpdate = handleStoreChange;
7075
7081
  var onNext = function () {
7076
7082
  var previousResult = _this.result;
7077
7083
  var result = obsQuery.getCurrentResult();
@@ -7093,7 +7099,7 @@ var InternalState = (function () {
7093
7099
  finally {
7094
7100
  obsQuery["last"] = last;
7095
7101
  }
7096
- if (!hasOwnProperty.call(error, 'graphQLErrors')) {
7102
+ if (!hasOwnProperty.call(error, "graphQLErrors")) {
7097
7103
  throw error;
7098
7104
  }
7099
7105
  var previousResult = _this.result;
@@ -7109,7 +7115,10 @@ var InternalState = (function () {
7109
7115
  }
7110
7116
  };
7111
7117
  var subscription = obsQuery.subscribe(onNext, onError);
7112
- return function () { return setTimeout(function () { return subscription.unsubscribe(); }); };
7118
+ return function () {
7119
+ setTimeout(function () { return subscription.unsubscribe(); });
7120
+ _this.forceUpdate = function () { return _this.forceUpdateState(); };
7121
+ };
7113
7122
  }, [
7114
7123
  obsQuery,
7115
7124
  this.renderPromises,
@@ -7120,7 +7129,7 @@ var InternalState = (function () {
7120
7129
  };
7121
7130
  InternalState.prototype.useOptions = function (options) {
7122
7131
  var _a;
7123
- var watchQueryOptions = this.createWatchQueryOptions(this.queryHookOptions = options);
7132
+ var watchQueryOptions = this.createWatchQueryOptions((this.queryHookOptions = options));
7124
7133
  var currentWatchQueryOptions = this.watchQueryOptions;
7125
7134
  if (!equal.equal(watchQueryOptions, currentWatchQueryOptions)) {
7126
7135
  this.watchQueryOptions = watchQueryOptions;
@@ -7130,7 +7139,8 @@ var InternalState = (function () {
7130
7139
  this.result = void 0;
7131
7140
  }
7132
7141
  }
7133
- this.onCompleted = options.onCompleted || InternalState.prototype.onCompleted;
7142
+ this.onCompleted =
7143
+ options.onCompleted || InternalState.prototype.onCompleted;
7134
7144
  this.onError = options.onError || InternalState.prototype.onError;
7135
7145
  if ((this.renderPromises || this.client.disableNetworkFetches) &&
7136
7146
  this.queryHookOptions.ssr === false &&
@@ -7138,7 +7148,7 @@ var InternalState = (function () {
7138
7148
  this.result = this.ssrDisabledResult;
7139
7149
  }
7140
7150
  else if (this.queryHookOptions.skip ||
7141
- this.watchQueryOptions.fetchPolicy === 'standby') {
7151
+ this.watchQueryOptions.fetchPolicy === "standby") {
7142
7152
  this.result = this.skipStandbyResult;
7143
7153
  }
7144
7154
  else if (this.result === this.ssrDisabledResult ||
@@ -7163,9 +7173,9 @@ var InternalState = (function () {
7163
7173
  var skip = _a.skip; _a.ssr; _a.onCompleted; _a.onError; _a.defaultOptions; var otherOptions = tslib.__rest(_a, ["skip", "ssr", "onCompleted", "onError", "defaultOptions"]);
7164
7174
  var watchQueryOptions = Object.assign(otherOptions, { query: this.query });
7165
7175
  if (this.renderPromises &&
7166
- (watchQueryOptions.fetchPolicy === 'network-only' ||
7167
- watchQueryOptions.fetchPolicy === 'cache-and-network')) {
7168
- watchQueryOptions.fetchPolicy = 'cache-first';
7176
+ (watchQueryOptions.fetchPolicy === "network-only" ||
7177
+ watchQueryOptions.fetchPolicy === "cache-and-network")) {
7178
+ watchQueryOptions.fetchPolicy = "cache-first";
7169
7179
  }
7170
7180
  if (!watchQueryOptions.variables) {
7171
7181
  watchQueryOptions.variables = {};
@@ -7174,7 +7184,7 @@ var InternalState = (function () {
7174
7184
  var _c = watchQueryOptions.fetchPolicy, fetchPolicy = _c === void 0 ? this.getDefaultFetchPolicy() : _c, _d = watchQueryOptions.initialFetchPolicy, initialFetchPolicy = _d === void 0 ? fetchPolicy : _d;
7175
7185
  Object.assign(watchQueryOptions, {
7176
7186
  initialFetchPolicy: initialFetchPolicy,
7177
- fetchPolicy: 'standby',
7187
+ fetchPolicy: "standby",
7178
7188
  });
7179
7189
  }
7180
7190
  else if (!watchQueryOptions.fetchPolicy) {
@@ -7193,11 +7203,11 @@ var InternalState = (function () {
7193
7203
  InternalState.prototype.onCompleted = function (data) { };
7194
7204
  InternalState.prototype.onError = function (error) { };
7195
7205
  InternalState.prototype.useObservableQuery = function () {
7196
- var obsQuery = this.observable =
7197
- this.renderPromises
7198
- && this.renderPromises.getSSRObservable(this.watchQueryOptions)
7199
- || this.observable
7200
- || this.client.watchQuery(this.getObsQueryOptions());
7206
+ var obsQuery = (this.observable =
7207
+ (this.renderPromises &&
7208
+ this.renderPromises.getSSRObservable(this.watchQueryOptions)) ||
7209
+ this.observable ||
7210
+ this.client.watchQuery(this.getObsQueryOptions()));
7201
7211
  this.obsQueryFields = React__namespace.useMemo(function () { return ({
7202
7212
  refetch: obsQuery.refetch.bind(obsQuery),
7203
7213
  reobserve: obsQuery.reobserve.bind(obsQuery),
@@ -7207,8 +7217,7 @@ var InternalState = (function () {
7207
7217
  stopPolling: obsQuery.stopPolling.bind(obsQuery),
7208
7218
  subscribeToMore: obsQuery.subscribeToMore.bind(obsQuery),
7209
7219
  }); }, [obsQuery]);
7210
- var ssrAllowed = !(this.queryHookOptions.ssr === false ||
7211
- this.queryHookOptions.skip);
7220
+ var ssrAllowed = !(this.queryHookOptions.ssr === false || this.queryHookOptions.skip);
7212
7221
  if (this.renderPromises && ssrAllowed) {
7213
7222
  this.renderPromises.registerSSRObservable(obsQuery);
7214
7223
  if (obsQuery.getCurrentResult().loading) {
@@ -7230,7 +7239,8 @@ var InternalState = (function () {
7230
7239
  var _this = this;
7231
7240
  if (!result.loading) {
7232
7241
  var error_1 = this.toApolloError(result);
7233
- Promise.resolve().then(function () {
7242
+ Promise.resolve()
7243
+ .then(function () {
7234
7244
  if (error_1) {
7235
7245
  _this.onError(error_1);
7236
7246
  }
@@ -7239,7 +7249,8 @@ var InternalState = (function () {
7239
7249
  result.networkStatus === exports.NetworkStatus.ready) {
7240
7250
  _this.onCompleted(result.data);
7241
7251
  }
7242
- }).catch(function (error) {
7252
+ })
7253
+ .catch(function (error) {
7243
7254
  globalThis.__DEV__ !== false && invariant.warn(error);
7244
7255
  });
7245
7256
  }
@@ -7251,7 +7262,7 @@ var InternalState = (function () {
7251
7262
  };
7252
7263
  InternalState.prototype.getCurrentResult = function () {
7253
7264
  if (!this.result) {
7254
- this.handleErrorOrCompleted(this.result = this.observable.getCurrentResult());
7265
+ this.handleErrorOrCompleted((this.result = this.observable.getCurrentResult()));
7255
7266
  }
7256
7267
  return this.result;
7257
7268
  };
@@ -7260,7 +7271,7 @@ var InternalState = (function () {
7260
7271
  if (queryResult)
7261
7272
  return queryResult;
7262
7273
  var data = result.data; result.partial; var resultWithoutPartial = tslib.__rest(result, ["data", "partial"]);
7263
- this.toQueryResultCache.set(result, queryResult = tslib.__assign(tslib.__assign(tslib.__assign({ data: data }, resultWithoutPartial), this.obsQueryFields), { client: this.client, observable: this.observable, variables: this.observable.variables, called: !this.queryHookOptions.skip, previousData: this.previousData }));
7274
+ this.toQueryResultCache.set(result, (queryResult = tslib.__assign(tslib.__assign(tslib.__assign({ data: data }, resultWithoutPartial), this.obsQueryFields), { client: this.client, observable: this.observable, variables: this.observable.variables, called: !this.queryHookOptions.skip, previousData: this.previousData })));
7264
7275
  if (!queryResult.error && isNonEmptyArray(result.errors)) {
7265
7276
  queryResult.error = new ApolloError({ graphQLErrors: result.errors });
7266
7277
  }
@@ -7271,7 +7282,7 @@ var InternalState = (function () {
7271
7282
  this.queryHookOptions.partialRefetch &&
7272
7283
  !result.loading &&
7273
7284
  (!result.data || Object.keys(result.data).length === 0) &&
7274
- this.observable.options.fetchPolicy !== 'cache-only') {
7285
+ this.observable.options.fetchPolicy !== "cache-only") {
7275
7286
  Object.assign(result, {
7276
7287
  loading: true,
7277
7288
  networkStatus: exports.NetworkStatus.refetch,
@@ -7283,12 +7294,12 @@ var InternalState = (function () {
7283
7294
  }());
7284
7295
 
7285
7296
  var EAGER_METHODS = [
7286
- 'refetch',
7287
- 'reobserve',
7288
- 'fetchMore',
7289
- 'updateQuery',
7290
- 'startPolling',
7291
- 'subscribeToMore',
7297
+ "refetch",
7298
+ "reobserve",
7299
+ "fetchMore",
7300
+ "updateQuery",
7301
+ "startPolling",
7302
+ "subscribeToMore",
7292
7303
  ];
7293
7304
  function useLazyQuery(query, options) {
7294
7305
  var _a;
@@ -7313,7 +7324,7 @@ function useLazyQuery(query, options) {
7313
7324
  eagerMethods[key] = function () {
7314
7325
  if (!execOptionsRef.current) {
7315
7326
  execOptionsRef.current = Object.create(null);
7316
- internalState.forceUpdate();
7327
+ internalState.forceUpdateState();
7317
7328
  }
7318
7329
  return method.apply(this, arguments);
7319
7330
  };
@@ -7326,7 +7337,8 @@ function useLazyQuery(query, options) {
7326
7337
  }, []);
7327
7338
  Object.assign(result, eagerMethods);
7328
7339
  var execute = React__namespace.useCallback(function (executeOptions) {
7329
- execOptionsRef.current = executeOptions ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
7340
+ execOptionsRef.current = executeOptions
7341
+ ? tslib.__assign(tslib.__assign({}, executeOptions), { fetchPolicy: executeOptions.fetchPolicy || initialFetchPolicy }) : {
7330
7342
  fetchPolicy: initialFetchPolicy,
7331
7343
  };
7332
7344
  var options = mergeOptions(optionsRef.current, tslib.__assign({ query: queryRef.current }, execOptionsRef.current));
@@ -7363,23 +7375,31 @@ function useMutation(mutation, options) {
7363
7375
  var _a = ref.current, options = _a.options, mutation = _a.mutation;
7364
7376
  var baseOptions = tslib.__assign(tslib.__assign({}, options), { mutation: mutation });
7365
7377
  var client = executeOptions.client || ref.current.client;
7366
- if (!ref.current.result.loading && !baseOptions.ignoreResults && ref.current.isMounted) {
7367
- setResult(ref.current.result = {
7378
+ if (!ref.current.result.loading &&
7379
+ !baseOptions.ignoreResults &&
7380
+ ref.current.isMounted) {
7381
+ setResult((ref.current.result = {
7368
7382
  loading: true,
7369
7383
  error: void 0,
7370
7384
  data: void 0,
7371
7385
  called: true,
7372
7386
  client: client,
7373
- });
7387
+ }));
7374
7388
  }
7375
7389
  var mutationId = ++ref.current.mutationId;
7376
7390
  var clientOptions = mergeOptions(baseOptions, executeOptions);
7377
- return client.mutate(clientOptions).then(function (response) {
7378
- var _a;
7391
+ return client
7392
+ .mutate(clientOptions)
7393
+ .then(function (response) {
7394
+ var _a, _b;
7379
7395
  var data = response.data, errors = response.errors;
7380
7396
  var error = errors && errors.length > 0
7381
7397
  ? new ApolloError({ graphQLErrors: errors })
7382
7398
  : void 0;
7399
+ var onError = executeOptions.onError || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError);
7400
+ if (error && onError) {
7401
+ onError(error, clientOptions);
7402
+ }
7383
7403
  if (mutationId === ref.current.mutationId &&
7384
7404
  !clientOptions.ignoreResults) {
7385
7405
  var result_1 = {
@@ -7390,16 +7410,18 @@ function useMutation(mutation, options) {
7390
7410
  client: client,
7391
7411
  };
7392
7412
  if (ref.current.isMounted && !equal.equal(ref.current.result, result_1)) {
7393
- setResult(ref.current.result = result_1);
7413
+ setResult((ref.current.result = result_1));
7394
7414
  }
7395
7415
  }
7396
- var onCompleted = executeOptions.onCompleted || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onCompleted);
7397
- onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(response.data, clientOptions);
7416
+ var onCompleted = executeOptions.onCompleted || ((_b = ref.current.options) === null || _b === void 0 ? void 0 : _b.onCompleted);
7417
+ if (!error) {
7418
+ onCompleted === null || onCompleted === void 0 ? void 0 : onCompleted(response.data, clientOptions);
7419
+ }
7398
7420
  return response;
7399
- }).catch(function (error) {
7421
+ })
7422
+ .catch(function (error) {
7400
7423
  var _a;
7401
- if (mutationId === ref.current.mutationId &&
7402
- ref.current.isMounted) {
7424
+ if (mutationId === ref.current.mutationId && ref.current.isMounted) {
7403
7425
  var result_2 = {
7404
7426
  loading: false,
7405
7427
  error: error,
@@ -7408,7 +7430,7 @@ function useMutation(mutation, options) {
7408
7430
  client: client,
7409
7431
  };
7410
7432
  if (!equal.equal(ref.current.result, result_2)) {
7411
- setResult(ref.current.result = result_2);
7433
+ setResult((ref.current.result = result_2));
7412
7434
  }
7413
7435
  }
7414
7436
  var onError = executeOptions.onError || ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onError);
@@ -7473,11 +7495,12 @@ function useSubscription(subscription, options) {
7473
7495
  React__namespace.useEffect(function () {
7474
7496
  var _a, _b, _c, _d;
7475
7497
  var shouldResubscribe = options === null || options === void 0 ? void 0 : options.shouldResubscribe;
7476
- if (typeof shouldResubscribe === 'function') {
7498
+ if (typeof shouldResubscribe === "function") {
7477
7499
  shouldResubscribe = !!shouldResubscribe(options);
7478
7500
  }
7479
7501
  if (options === null || options === void 0 ? void 0 : options.skip) {
7480
- if (!(options === null || options === void 0 ? void 0 : options.skip) !== !((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.skip) || canResetObservableRef.current) {
7502
+ if (!(options === null || options === void 0 ? void 0 : options.skip) !== !((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.skip) ||
7503
+ canResetObservableRef.current) {
7481
7504
  setResult({
7482
7505
  loading: false,
7483
7506
  data: void 0,
@@ -7532,13 +7555,13 @@ function useSubscription(subscription, options) {
7532
7555
  if ((_a = ref.current.options) === null || _a === void 0 ? void 0 : _a.onData) {
7533
7556
  ref.current.options.onData({
7534
7557
  client: client,
7535
- data: result
7558
+ data: result,
7536
7559
  });
7537
7560
  }
7538
7561
  else if ((_b = ref.current.options) === null || _b === void 0 ? void 0 : _b.onSubscriptionData) {
7539
7562
  ref.current.options.onSubscriptionData({
7540
7563
  client: client,
7541
- subscriptionData: result
7564
+ subscriptionData: result,
7542
7565
  });
7543
7566
  }
7544
7567
  },
@@ -7605,12 +7628,17 @@ function useFragment(options) {
7605
7628
  : (resultRef.current = latestDiffToResult);
7606
7629
  };
7607
7630
  return useSyncExternalStore(function (forceUpdate) {
7608
- return cache.watch(tslib.__assign(tslib.__assign({}, diffOptions), { immediate: true, callback: function (diff) {
7631
+ var lastTimeout = 0;
7632
+ var unsubcribe = cache.watch(tslib.__assign(tslib.__assign({}, diffOptions), { immediate: true, callback: function (diff) {
7609
7633
  if (!equal.equal(diff, latestDiff)) {
7610
7634
  resultRef.current = diffToResult((latestDiff = diff));
7611
- forceUpdate();
7635
+ lastTimeout = setTimeout(forceUpdate);
7612
7636
  }
7613
7637
  } }));
7638
+ return function () {
7639
+ unsubcribe();
7640
+ clearTimeout(lastTimeout);
7641
+ };
7614
7642
  }, getSnapshot, getSnapshot);
7615
7643
  }
7616
7644
  function diffToResult(diff) {
@@ -7632,41 +7660,46 @@ function useDeepMemo(memoFn, deps) {
7632
7660
  return ref.current.value;
7633
7661
  }
7634
7662
 
7635
- var useKey = 'use';
7663
+ var useKey = "use";
7636
7664
  var realHook = React__namespace[useKey];
7637
7665
  var __use = realHook ||
7638
7666
  function __use(promise) {
7639
7667
  var statefulPromise = wrapPromiseWithState(promise);
7640
7668
  switch (statefulPromise.status) {
7641
- case 'pending':
7669
+ case "pending":
7642
7670
  throw statefulPromise;
7643
- case 'rejected':
7671
+ case "rejected":
7644
7672
  throw statefulPromise.reason;
7645
- case 'fulfilled':
7673
+ case "fulfilled":
7646
7674
  return statefulPromise.value;
7647
7675
  }
7648
7676
  };
7649
7677
 
7650
7678
  var QUERY_REFERENCE_SYMBOL = Symbol();
7679
+ function wrapQueryRef(internalQueryRef) {
7680
+ var _a;
7681
+ return _a = {}, _a[QUERY_REFERENCE_SYMBOL] = internalQueryRef, _a;
7682
+ }
7683
+ function unwrapQueryRef(queryRef) {
7684
+ return queryRef[QUERY_REFERENCE_SYMBOL];
7685
+ }
7651
7686
  var OBSERVED_CHANGED_OPTIONS = [
7652
- 'canonizeResults',
7653
- 'context',
7654
- 'errorPolicy',
7655
- 'fetchPolicy',
7656
- 'refetchWritePolicy',
7657
- 'returnPartialData',
7687
+ "canonizeResults",
7688
+ "context",
7689
+ "errorPolicy",
7690
+ "fetchPolicy",
7691
+ "refetchWritePolicy",
7692
+ "returnPartialData",
7658
7693
  ];
7659
7694
  var InternalQueryReference = (function () {
7660
7695
  function InternalQueryReference(observable, options) {
7661
7696
  var _this = this;
7662
7697
  var _a;
7663
7698
  this.listeners = new Set();
7664
- this.status = 'loading';
7699
+ this.status = "loading";
7665
7700
  this.references = 0;
7666
- this.listen = this.listen.bind(this);
7667
7701
  this.handleNext = this.handleNext.bind(this);
7668
7702
  this.handleError = this.handleError.bind(this);
7669
- this.initiateFetch = this.initiateFetch.bind(this);
7670
7703
  this.dispose = this.dispose.bind(this);
7671
7704
  this.observable = observable;
7672
7705
  this.result = observable.getCurrentResult(false);
@@ -7678,7 +7711,7 @@ var InternalQueryReference = (function () {
7678
7711
  (this.result.data &&
7679
7712
  (!this.result.partial || this.watchQueryOptions.returnPartialData))) {
7680
7713
  this.promise = createFulfilledPromise(this.result);
7681
- this.status = 'idle';
7714
+ this.status = "idle";
7682
7715
  }
7683
7716
  else {
7684
7717
  this.promise = new Promise(function (resolve, reject) {
@@ -7730,10 +7763,9 @@ var InternalQueryReference = (function () {
7730
7763
  };
7731
7764
  InternalQueryReference.prototype.applyOptions = function (watchQueryOptions) {
7732
7765
  var _a = this.watchQueryOptions, currentFetchPolicy = _a.fetchPolicy, currentCanonizeResults = _a.canonizeResults;
7733
- if (currentFetchPolicy === 'standby' &&
7766
+ if (currentFetchPolicy === "standby" &&
7734
7767
  currentFetchPolicy !== watchQueryOptions.fetchPolicy) {
7735
- this.observable.reobserve(watchQueryOptions);
7736
- this.initiateFetch();
7768
+ this.initiateFetch(this.observable.reobserve(watchQueryOptions));
7737
7769
  }
7738
7770
  else {
7739
7771
  this.observable.silentSetOptions(watchQueryOptions);
@@ -7752,14 +7784,10 @@ var InternalQueryReference = (function () {
7752
7784
  };
7753
7785
  };
7754
7786
  InternalQueryReference.prototype.refetch = function (variables) {
7755
- var promise = this.observable.refetch(variables);
7756
- this.initiateFetch();
7757
- return promise;
7787
+ return this.initiateFetch(this.observable.refetch(variables));
7758
7788
  };
7759
7789
  InternalQueryReference.prototype.fetchMore = function (options) {
7760
- var promise = this.observable.fetchMore(options);
7761
- this.initiateFetch();
7762
- return promise;
7790
+ return this.initiateFetch(this.observable.fetchMore(options));
7763
7791
  };
7764
7792
  InternalQueryReference.prototype.dispose = function () {
7765
7793
  this.subscription.unsubscribe();
@@ -7770,16 +7798,16 @@ var InternalQueryReference = (function () {
7770
7798
  InternalQueryReference.prototype.handleNext = function (result) {
7771
7799
  var _a;
7772
7800
  switch (this.status) {
7773
- case 'loading': {
7801
+ case "loading": {
7774
7802
  if (result.data === void 0) {
7775
7803
  result.data = this.result.data;
7776
7804
  }
7777
- this.status = 'idle';
7805
+ this.status = "idle";
7778
7806
  this.result = result;
7779
7807
  (_a = this.resolve) === null || _a === void 0 ? void 0 : _a.call(this, result);
7780
7808
  break;
7781
7809
  }
7782
- case 'idle': {
7810
+ case "idle": {
7783
7811
  if (result.data === this.result.data) {
7784
7812
  return;
7785
7813
  }
@@ -7796,12 +7824,12 @@ var InternalQueryReference = (function () {
7796
7824
  InternalQueryReference.prototype.handleError = function (error) {
7797
7825
  var _a;
7798
7826
  switch (this.status) {
7799
- case 'loading': {
7800
- this.status = 'idle';
7827
+ case "loading": {
7828
+ this.status = "idle";
7801
7829
  (_a = this.reject) === null || _a === void 0 ? void 0 : _a.call(this, error);
7802
7830
  break;
7803
7831
  }
7804
- case 'idle': {
7832
+ case "idle": {
7805
7833
  this.promise = createRejectedPromise(error);
7806
7834
  this.deliver(this.promise);
7807
7835
  }
@@ -7810,14 +7838,25 @@ var InternalQueryReference = (function () {
7810
7838
  InternalQueryReference.prototype.deliver = function (promise) {
7811
7839
  this.listeners.forEach(function (listener) { return listener(promise); });
7812
7840
  };
7813
- InternalQueryReference.prototype.initiateFetch = function () {
7841
+ InternalQueryReference.prototype.initiateFetch = function (returnedPromise) {
7814
7842
  var _this = this;
7815
- this.status = 'loading';
7843
+ this.status = "loading";
7816
7844
  this.promise = new Promise(function (resolve, reject) {
7817
7845
  _this.resolve = resolve;
7818
7846
  _this.reject = reject;
7819
7847
  });
7820
7848
  this.promise.catch(function () { });
7849
+ returnedPromise
7850
+ .then(function (result) {
7851
+ var _a;
7852
+ if (_this.status === "loading") {
7853
+ _this.status = "idle";
7854
+ _this.result = result;
7855
+ (_a = _this.resolve) === null || _a === void 0 ? void 0 : _a.call(_this, result);
7856
+ }
7857
+ })
7858
+ .catch(function () { });
7859
+ return returnedPromise;
7821
7860
  };
7822
7861
  return InternalQueryReference;
7823
7862
  }());
@@ -7844,7 +7883,7 @@ var SuspenseCache$1 = (function () {
7844
7883
  return SuspenseCache;
7845
7884
  }());
7846
7885
 
7847
- var suspenseCacheSymbol = Symbol.for('apollo.suspenseCache');
7886
+ var suspenseCacheSymbol = Symbol.for("apollo.suspenseCache");
7848
7887
  function getSuspenseCache(client) {
7849
7888
  var _a;
7850
7889
  if (!client[suspenseCacheSymbol]) {
@@ -7857,13 +7896,15 @@ var SuspenseCache = (function (_super) {
7857
7896
  tslib.__extends(SuspenseCache, _super);
7858
7897
  function SuspenseCache() {
7859
7898
  _super.call(this) || this;
7860
- throw new Error('It is no longer necessary to create a `SuspenseCache` instance and pass it into the `ApolloProvider`.\n' +
7861
- 'Please remove this code from your application. \n\n' +
7862
- 'This export will be removed with the final 3.8 release.');
7899
+ throw new Error("It is no longer necessary to create a `SuspenseCache` instance and pass it into the `ApolloProvider`.\n" +
7900
+ "Please remove this code from your application. \n\n" +
7901
+ "This export will be removed with the final 3.8 release.");
7863
7902
  }
7864
7903
  return SuspenseCache;
7865
7904
  }(SuspenseCache$1));
7866
7905
 
7906
+ var skipToken = Symbol.for('apollo.skipToken');
7907
+
7867
7908
  function useSuspenseQuery(query, options) {
7868
7909
  if (options === void 0) { options = Object.create(null); }
7869
7910
  var client = useApolloClient(options.client);
@@ -7909,7 +7950,7 @@ function useSuspenseQuery(query, options) {
7909
7950
  error: error,
7910
7951
  };
7911
7952
  }, [queryRef.result]);
7912
- var result = fetchPolicy === 'standby' ? skipResult : __use(promise);
7953
+ var result = fetchPolicy === "standby" ? skipResult : __use(promise);
7913
7954
  var fetchMore = React__namespace.useCallback(function (options) {
7914
7955
  var promise = queryRef.fetchMore(options);
7915
7956
  setPromiseCache(function (previousPromiseCache) {
@@ -7944,17 +7985,17 @@ function validateOptions(options) {
7944
7985
  validatePartialDataReturn(fetchPolicy, returnPartialData);
7945
7986
  }
7946
7987
  function validateFetchPolicy(fetchPolicy) {
7947
- if (fetchPolicy === void 0) { fetchPolicy = 'cache-first'; }
7988
+ if (fetchPolicy === void 0) { fetchPolicy = "cache-first"; }
7948
7989
  var supportedFetchPolicies = [
7949
- 'cache-first',
7950
- 'network-only',
7951
- 'no-cache',
7952
- 'cache-and-network',
7990
+ "cache-first",
7991
+ "network-only",
7992
+ "no-cache",
7993
+ "cache-and-network",
7953
7994
  ];
7954
7995
  invariant(supportedFetchPolicies.includes(fetchPolicy), 54, fetchPolicy);
7955
7996
  }
7956
7997
  function validatePartialDataReturn(fetchPolicy, returnPartialData) {
7957
- if (fetchPolicy === 'no-cache' && returnPartialData) {
7998
+ if (fetchPolicy === "no-cache" && returnPartialData) {
7958
7999
  globalThis.__DEV__ !== false && invariant.warn(55);
7959
8000
  }
7960
8001
  }
@@ -7967,15 +8008,18 @@ function useWatchQueryOptions(_a) {
7967
8008
  var client = _a.client, query = _a.query, options = _a.options;
7968
8009
  return useDeepMemo(function () {
7969
8010
  var _a;
8011
+ if (options === skipToken) {
8012
+ return { query: query, fetchPolicy: "standby" };
8013
+ }
7970
8014
  var fetchPolicy = options.fetchPolicy ||
7971
8015
  ((_a = client.defaultOptions.watchQuery) === null || _a === void 0 ? void 0 : _a.fetchPolicy) ||
7972
- 'cache-first';
8016
+ "cache-first";
7973
8017
  var watchQueryOptions = tslib.__assign(tslib.__assign({}, options), { fetchPolicy: fetchPolicy, query: query, notifyOnNetworkStatusChange: false, nextFetchPolicy: void 0 });
7974
8018
  if (globalThis.__DEV__ !== false) {
7975
8019
  validateOptions(watchQueryOptions);
7976
8020
  }
7977
8021
  if (options.skip) {
7978
- watchQueryOptions.fetchPolicy = 'standby';
8022
+ watchQueryOptions.fetchPolicy = "standby";
7979
8023
  }
7980
8024
  return watchQueryOptions;
7981
8025
  }, [client, options, query]);
@@ -7986,8 +8030,10 @@ function useBackgroundQuery(query, options) {
7986
8030
  var client = useApolloClient(options.client);
7987
8031
  var suspenseCache = getSuspenseCache(client);
7988
8032
  var watchQueryOptions = useWatchQueryOptions({ client: client, query: query, options: options });
7989
- var variables = watchQueryOptions.variables;
8033
+ var fetchPolicy = watchQueryOptions.fetchPolicy, variables = watchQueryOptions.variables;
7990
8034
  var _a = options.queryKey, queryKey = _a === void 0 ? [] : _a;
8035
+ var didFetchResult = React__namespace.useRef(fetchPolicy !== "standby");
8036
+ didFetchResult.current || (didFetchResult.current = fetchPolicy !== "standby");
7991
8037
  var cacheKey = tslib.__spreadArray([
7992
8038
  query,
7993
8039
  canonicalStringify(variables)
@@ -8016,45 +8062,27 @@ function useBackgroundQuery(query, options) {
8016
8062
  return promise;
8017
8063
  }, [queryRef]);
8018
8064
  queryRef.promiseCache = promiseCache;
8019
- return React__namespace.useMemo(function () {
8020
- var _a;
8021
- return [
8022
- (_a = {}, _a[QUERY_REFERENCE_SYMBOL] = queryRef, _a),
8023
- {
8024
- fetchMore: fetchMore,
8025
- refetch: refetch,
8026
- },
8027
- ];
8028
- }, [queryRef, fetchMore, refetch]);
8065
+ var wrappedQueryRef = React__namespace.useMemo(function () { return wrapQueryRef(queryRef); }, [queryRef]);
8066
+ return [
8067
+ didFetchResult.current ? wrappedQueryRef : void 0,
8068
+ { fetchMore: fetchMore, refetch: refetch },
8069
+ ];
8029
8070
  }
8030
8071
 
8031
8072
  function useReadQuery(queryRef) {
8032
- var _a = React__namespace.useState(0), forceUpdate = _a[1];
8033
- var internalQueryRef = queryRef[QUERY_REFERENCE_SYMBOL];
8034
- invariant__default(internalQueryRef.promiseCache, 49);
8035
- var skipResult = React__namespace.useMemo(function () {
8036
- var error = toApolloError(internalQueryRef.result);
8037
- return {
8038
- loading: false,
8039
- data: internalQueryRef.result.data,
8040
- networkStatus: error ? exports.NetworkStatus.error : exports.NetworkStatus.ready,
8041
- error: error,
8042
- };
8043
- }, [internalQueryRef.result]);
8044
- var promise = internalQueryRef.promiseCache.get(internalQueryRef.key);
8045
- if (!promise) {
8046
- promise = internalQueryRef.promise;
8047
- internalQueryRef.promiseCache.set(internalQueryRef.key, promise);
8073
+ var internalQueryRef = unwrapQueryRef(queryRef);
8074
+ invariant(internalQueryRef.promiseCache, 49);
8075
+ var promiseCache = internalQueryRef.promiseCache, key = internalQueryRef.key;
8076
+ if (!promiseCache.has(key)) {
8077
+ promiseCache.set(key, internalQueryRef.promise);
8048
8078
  }
8049
- React__namespace.useEffect(function () {
8079
+ var promise = useSyncExternalStore(React__namespace.useCallback(function (forceUpdate) {
8050
8080
  return internalQueryRef.listen(function (promise) {
8051
8081
  internalQueryRef.promiseCache.set(internalQueryRef.key, promise);
8052
- forceUpdate(function (prevState) { return prevState + 1; });
8082
+ forceUpdate();
8053
8083
  });
8054
- }, [queryRef]);
8055
- var result = internalQueryRef.watchQueryOptions.fetchPolicy === 'standby'
8056
- ? skipResult
8057
- : __use(promise);
8084
+ }, [internalQueryRef]), function () { return promiseCache.get(key); }, function () { return promiseCache.get(key); });
8085
+ var result = __use(promise);
8058
8086
  return React__namespace.useMemo(function () {
8059
8087
  return {
8060
8088
  data: result.data,
@@ -8064,7 +8092,7 @@ function useReadQuery(queryRef) {
8064
8092
  }, [result]);
8065
8093
  }
8066
8094
 
8067
- exports.setLogVerbosity = invariant$1.setVerbosity;
8095
+ exports.setLogVerbosity = tsInvariant.setVerbosity;
8068
8096
  exports.Observable = zenObservableTs.Observable;
8069
8097
  exports.disableExperimentalFragmentVariables = graphqlTag.disableExperimentalFragmentVariables;
8070
8098
  exports.disableFragmentWarnings = graphqlTag.disableFragmentWarnings;
@@ -8111,6 +8139,7 @@ exports.selectHttpOptionsAndBody = selectHttpOptionsAndBody;
8111
8139
  exports.selectHttpOptionsAndBodyInternal = selectHttpOptionsAndBodyInternal;
8112
8140
  exports.selectURI = selectURI;
8113
8141
  exports.serializeFetchParameter = serializeFetchParameter;
8142
+ exports.skipToken = skipToken;
8114
8143
  exports.split = split;
8115
8144
  exports.throwServerError = throwServerError;
8116
8145
  exports.toPromise = toPromise;