@apollo/client 3.9.0-alpha.5 → 3.9.0-beta.1

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 (221) hide show
  1. package/.changeset/chatty-comics-yawn.md +8 -0
  2. package/.changeset/curvy-seas-hope.md +13 -0
  3. package/.changeset/dirty-tigers-matter.md +13 -0
  4. package/.changeset/late-rabbits-protect.md +7 -0
  5. package/.changeset/mighty-coats-check.md +47 -0
  6. package/.changeset/pre.json +15 -1
  7. package/.changeset/rare-snakes-melt.md +24 -0
  8. package/.changeset/smooth-plums-shout.md +5 -0
  9. package/.changeset/spicy-drinks-camp.md +5 -0
  10. package/.changeset/swift-zoos-collect.md +19 -0
  11. package/.changeset/thick-tips-cry.md +9 -0
  12. package/.changeset/tough-timers-begin.md +8 -0
  13. package/.changeset/unlucky-rats-decide.md +5 -0
  14. package/.changeset/wet-forks-rhyme.md +5 -0
  15. package/.changeset/wise-news-grab.md +7 -0
  16. package/CHANGELOG.md +151 -4
  17. package/apollo-client.cjs +337 -88
  18. package/apollo-client.cjs.map +1 -1
  19. package/apollo-client.min.cjs +1 -1
  20. package/cache/cache.cjs +78 -6
  21. package/cache/cache.cjs.map +1 -1
  22. package/cache/cache.cjs.native.js +78 -6
  23. package/cache/core/cache.d.ts +9 -0
  24. package/cache/core/cache.js +11 -2
  25. package/cache/core/cache.js.map +1 -1
  26. package/cache/core/types/Cache.d.ts +7 -0
  27. package/cache/core/types/Cache.js.map +1 -1
  28. package/cache/core/types/DataProxy.d.ts +12 -0
  29. package/cache/core/types/DataProxy.js.map +1 -1
  30. package/cache/core/types/common.d.ts +4 -0
  31. package/cache/core/types/common.js.map +1 -1
  32. package/cache/inmemory/fragmentRegistry.js +19 -3
  33. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  34. package/cache/inmemory/inMemoryCache.d.ts +9 -0
  35. package/cache/inmemory/inMemoryCache.js +8 -2
  36. package/cache/inmemory/inMemoryCache.js.map +1 -1
  37. package/cache/inmemory/readFromStore.js +7 -3
  38. package/cache/inmemory/readFromStore.js.map +1 -1
  39. package/cache/inmemory/types.d.ts +18 -0
  40. package/cache/inmemory/types.js.map +1 -1
  41. package/core/ApolloClient.d.ts +82 -0
  42. package/core/ApolloClient.js +4 -0
  43. package/core/ApolloClient.js.map +1 -1
  44. package/core/ObservableQuery.d.ts +2 -0
  45. package/core/ObservableQuery.js +15 -5
  46. package/core/ObservableQuery.js.map +1 -1
  47. package/core/QueryInfo.d.ts +1 -0
  48. package/core/QueryInfo.js +4 -0
  49. package/core/QueryInfo.js.map +1 -1
  50. package/core/QueryManager.d.ts +1 -1
  51. package/core/QueryManager.js +15 -10
  52. package/core/QueryManager.js.map +1 -1
  53. package/core/core.cjs +107 -16
  54. package/core/core.cjs.map +1 -1
  55. package/core/core.cjs.native.js +107 -16
  56. package/core/watchQueryOptions.d.ts +20 -1
  57. package/core/watchQueryOptions.js.map +1 -1
  58. package/dev/dev.cjs +1 -1
  59. package/dev/dev.cjs.map +1 -1
  60. package/dev/dev.cjs.native.js +1 -1
  61. package/link/core/ApolloLink.d.ts +15 -0
  62. package/link/core/ApolloLink.js +8 -4
  63. package/link/core/ApolloLink.js.map +1 -1
  64. package/link/core/core.cjs +8 -4
  65. package/link/core/core.cjs.map +1 -1
  66. package/link/core/core.cjs.native.js +8 -4
  67. package/link/persisted-queries/index.d.ts +11 -1
  68. package/link/persisted-queries/index.js +28 -3
  69. package/link/persisted-queries/index.js.map +1 -1
  70. package/link/persisted-queries/persisted-queries.cjs +26 -3
  71. package/link/persisted-queries/persisted-queries.cjs.map +1 -1
  72. package/link/persisted-queries/persisted-queries.cjs.native.js +26 -3
  73. package/link/remove-typename/remove-typename.cjs +18 -2
  74. package/link/remove-typename/remove-typename.cjs.map +1 -1
  75. package/link/remove-typename/remove-typename.cjs.native.js +18 -2
  76. package/link/remove-typename/removeTypenameFromVariables.d.ts +9 -1
  77. package/link/remove-typename/removeTypenameFromVariables.js +19 -3
  78. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  79. package/link/retry/retry.cjs +15 -74
  80. package/link/retry/retry.cjs.map +1 -1
  81. package/link/retry/retry.cjs.native.js +15 -74
  82. package/link/retry/retryLink.js +15 -93
  83. package/link/retry/retryLink.js.map +1 -1
  84. package/package.json +21 -21
  85. package/react/components/Mutation.d.ts +6 -0
  86. package/react/components/Mutation.js +6 -0
  87. package/react/components/Mutation.js.map +1 -1
  88. package/react/components/Query.d.ts +6 -0
  89. package/react/components/Query.js +6 -0
  90. package/react/components/Query.js.map +1 -1
  91. package/react/components/Subscription.d.ts +6 -0
  92. package/react/components/Subscription.js +6 -0
  93. package/react/components/Subscription.js.map +1 -1
  94. package/react/components/components.cjs.map +1 -1
  95. package/react/hoc/graphql.d.ts +5 -0
  96. package/react/hoc/graphql.js +5 -0
  97. package/react/hoc/graphql.js.map +1 -1
  98. package/react/hoc/hoc.cjs.map +1 -1
  99. package/react/hoc/mutation-hoc.d.ts +5 -0
  100. package/react/hoc/mutation-hoc.js +5 -0
  101. package/react/hoc/mutation-hoc.js.map +1 -1
  102. package/react/hoc/query-hoc.d.ts +5 -0
  103. package/react/hoc/query-hoc.js +5 -0
  104. package/react/hoc/query-hoc.js.map +1 -1
  105. package/react/hoc/subscription-hoc.d.ts +5 -0
  106. package/react/hoc/subscription-hoc.js +5 -0
  107. package/react/hoc/subscription-hoc.js.map +1 -1
  108. package/react/hoc/withApollo.d.ts +5 -0
  109. package/react/hoc/withApollo.js +5 -0
  110. package/react/hoc/withApollo.js.map +1 -1
  111. package/react/hooks/hooks.cjs +48 -257
  112. package/react/hooks/hooks.cjs.map +1 -1
  113. package/react/hooks/hooks.cjs.native.js +48 -257
  114. package/react/hooks/index.d.ts +2 -0
  115. package/react/hooks/index.js +1 -0
  116. package/react/hooks/index.js.map +1 -1
  117. package/react/hooks/useBackgroundQuery.d.ts +13 -10
  118. package/react/hooks/useBackgroundQuery.js +2 -4
  119. package/react/hooks/useBackgroundQuery.js.map +1 -1
  120. package/react/hooks/useLoadableQuery.d.ts +2 -2
  121. package/react/hooks/useLoadableQuery.js +2 -4
  122. package/react/hooks/useLoadableQuery.js.map +1 -1
  123. package/react/hooks/useQueryRefHandlers.d.ts +35 -0
  124. package/react/hooks/useQueryRefHandlers.js +48 -0
  125. package/react/hooks/useQueryRefHandlers.js.map +1 -0
  126. package/react/hooks/useReadQuery.d.ts +1 -1
  127. package/react/hooks/useReadQuery.js +8 -2
  128. package/react/hooks/useReadQuery.js.map +1 -1
  129. package/react/hooks/useSuspenseQuery.js +1 -1
  130. package/react/hooks/useSuspenseQuery.js.map +1 -1
  131. package/react/index.d.ts +2 -0
  132. package/react/index.js +1 -0
  133. package/react/index.js.map +1 -1
  134. package/react/{cache → internal/cache}/QueryReference.d.ts +13 -7
  135. package/react/{cache → internal/cache}/QueryReference.js +93 -57
  136. package/react/internal/cache/QueryReference.js.map +1 -0
  137. package/react/{cache → internal/cache}/SuspenseCache.d.ts +1 -1
  138. package/react/{cache → internal/cache}/SuspenseCache.js +1 -1
  139. package/react/internal/cache/SuspenseCache.js.map +1 -0
  140. package/react/{cache → internal/cache}/getSuspenseCache.d.ts +3 -3
  141. package/react/internal/cache/getSuspenseCache.js.map +1 -0
  142. package/react/internal/cache/types.js.map +1 -0
  143. package/react/internal/index.d.ts +6 -0
  144. package/react/internal/index.js +3 -0
  145. package/react/internal/index.js.map +1 -0
  146. package/react/internal/internal.cjs +283 -0
  147. package/react/internal/internal.cjs.map +1 -0
  148. package/react/internal/internal.cjs.native.js +283 -0
  149. package/react/internal/package.json +8 -0
  150. package/react/parser/index.js +6 -3
  151. package/react/parser/index.js.map +1 -1
  152. package/react/parser/parser.cjs +11 -3
  153. package/react/parser/parser.cjs.map +1 -1
  154. package/react/parser/parser.cjs.native.js +11 -3
  155. package/react/query-preloader/createQueryPreloader.d.ts +253 -0
  156. package/react/query-preloader/createQueryPreloader.js +29 -0
  157. package/react/query-preloader/createQueryPreloader.js.map +1 -0
  158. package/react/react.cjs +14 -2
  159. package/react/react.cjs.map +1 -1
  160. package/react/react.cjs.native.js +14 -2
  161. package/react/types/types.d.ts +7 -1
  162. package/react/types/types.js.map +1 -1
  163. package/testing/internal/ObservableStream.js +16 -8
  164. package/testing/internal/ObservableStream.js.map +1 -1
  165. package/testing/internal/index.d.ts +4 -0
  166. package/testing/internal/index.js +2 -0
  167. package/testing/internal/index.js.map +1 -1
  168. package/testing/internal/renderHelpers.d.ts +12 -0
  169. package/testing/internal/renderHelpers.js +22 -0
  170. package/testing/internal/renderHelpers.js.map +1 -0
  171. package/testing/internal/scenarios/index.d.ts +41 -0
  172. package/testing/internal/scenarios/index.js +48 -0
  173. package/testing/internal/scenarios/index.js.map +1 -0
  174. package/testing/matchers/index.js +2 -0
  175. package/testing/matchers/index.js.map +1 -1
  176. package/testing/matchers/toBeDisposed.d.ts +3 -0
  177. package/testing/matchers/toBeDisposed.js +26 -0
  178. package/testing/matchers/toBeDisposed.js.map +1 -0
  179. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
  180. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  181. package/utilities/caching/caches.d.ts +34 -0
  182. package/utilities/caching/caches.js +64 -0
  183. package/utilities/caching/caches.js.map +1 -0
  184. package/utilities/caching/getMemoryInternals.d.ts +76 -0
  185. package/utilities/caching/getMemoryInternals.js +112 -0
  186. package/utilities/caching/getMemoryInternals.js.map +1 -0
  187. package/utilities/caching/index.d.ts +4 -0
  188. package/utilities/caching/index.js +3 -0
  189. package/utilities/caching/index.js.map +1 -0
  190. package/utilities/caching/sizes.d.ts +311 -0
  191. package/utilities/caching/sizes.js +27 -0
  192. package/utilities/caching/sizes.js.map +1 -0
  193. package/utilities/common/canUse.js +1 -1
  194. package/utilities/common/canUse.js.map +1 -1
  195. package/utilities/common/canonicalStringify.js +8 -2
  196. package/utilities/common/canonicalStringify.js.map +1 -1
  197. package/utilities/globals/globals.cjs +1 -1
  198. package/utilities/globals/globals.cjs.map +1 -1
  199. package/utilities/globals/globals.cjs.native.js +1 -1
  200. package/utilities/graphql/DocumentTransform.d.ts +14 -1
  201. package/utilities/graphql/DocumentTransform.js +9 -5
  202. package/utilities/graphql/DocumentTransform.js.map +1 -1
  203. package/utilities/graphql/print.js +6 -2
  204. package/utilities/graphql/print.js.map +1 -1
  205. package/utilities/index.d.ts +2 -0
  206. package/utilities/index.js +1 -0
  207. package/utilities/index.js.map +1 -1
  208. package/utilities/utilities.cjs +57 -9
  209. package/utilities/utilities.cjs.map +1 -1
  210. package/utilities/utilities.cjs.native.js +57 -9
  211. package/version.js +1 -1
  212. package/react/cache/QueryReference.js.map +0 -1
  213. package/react/cache/SuspenseCache.js.map +0 -1
  214. package/react/cache/getSuspenseCache.js.map +0 -1
  215. package/react/cache/index.d.ts +0 -3
  216. package/react/cache/index.js +0 -2
  217. package/react/cache/index.js.map +0 -1
  218. package/react/cache/types.js.map +0 -1
  219. /package/react/{cache → internal/cache}/getSuspenseCache.js +0 -0
  220. /package/react/{cache → internal/cache}/types.d.ts +0 -0
  221. /package/react/{cache → internal/cache}/types.js +0 -0
package/cache/cache.cjs CHANGED
@@ -6,14 +6,64 @@ var globals = require('../utilities/globals');
6
6
  var tslib = require('tslib');
7
7
  var optimism = require('optimism');
8
8
  var utilities = require('../utilities');
9
+ var caches = require('@wry/caches');
9
10
  var equality = require('@wry/equality');
10
11
  var trie = require('@wry/trie');
11
12
  var graphql = require('graphql');
12
13
 
14
+ var getInMemoryCacheMemoryInternals = globalThis.__DEV__ !== false ?
15
+ _getInMemoryCacheMemoryInternals
16
+ : undefined;
17
+ var getApolloCacheMemoryInternals = globalThis.__DEV__ !== false ?
18
+ _getApolloCacheMemoryInternals
19
+ : undefined;
20
+ function _getApolloCacheMemoryInternals() {
21
+ return {
22
+ cache: {
23
+ fragmentQueryDocuments: getWrapperInformation(this["getFragmentDoc"]),
24
+ },
25
+ };
26
+ }
27
+ function _getInMemoryCacheMemoryInternals() {
28
+ var fragments = this.config.fragments;
29
+ return tslib.__assign(tslib.__assign({}, _getApolloCacheMemoryInternals.apply(this)), { addTypenameDocumentTransform: transformInfo(this["addTypenameTransform"]), inMemoryCache: {
30
+ executeSelectionSet: getWrapperInformation(this["storeReader"]["executeSelectionSet"]),
31
+ executeSubSelectedArray: getWrapperInformation(this["storeReader"]["executeSubSelectedArray"]),
32
+ maybeBroadcastWatch: getWrapperInformation(this["maybeBroadcastWatch"]),
33
+ }, fragmentRegistry: {
34
+ findFragmentSpreads: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.findFragmentSpreads),
35
+ lookup: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.lookup),
36
+ transform: getWrapperInformation(fragments === null || fragments === void 0 ? void 0 : fragments.transform),
37
+ } });
38
+ }
39
+ function isWrapper(f) {
40
+ return !!f && "dirtyKey" in f;
41
+ }
42
+ function getWrapperInformation(f) {
43
+ return isWrapper(f) ? f.size : undefined;
44
+ }
45
+ function isDefined(value) {
46
+ return value != null;
47
+ }
48
+ function transformInfo(transform) {
49
+ return recurseTransformInfo(transform).map(function (cache) { return ({ cache: cache }); });
50
+ }
51
+ function recurseTransformInfo(transform) {
52
+ return transform ?
53
+ tslib.__spreadArray(tslib.__spreadArray([
54
+ getWrapperInformation(transform === null || transform === void 0 ? void 0 : transform["performWork"])
55
+ ], recurseTransformInfo(transform === null || transform === void 0 ? void 0 : transform["left"]), true), recurseTransformInfo(transform === null || transform === void 0 ? void 0 : transform["right"]), true).filter(isDefined)
56
+ : [];
57
+ }
58
+
13
59
  var ApolloCache = (function () {
14
60
  function ApolloCache() {
15
61
  this.assumeImmutableResults = false;
16
- this.getFragmentDoc = optimism.wrap(utilities.getFragmentQueryDocument);
62
+ this.getFragmentDoc = optimism.wrap(utilities.getFragmentQueryDocument, {
63
+ max: utilities.cacheSizes["cache.fragmentQueryDocuments"] ||
64
+ 1000 ,
65
+ cache: caches.WeakCache,
66
+ });
17
67
  }
18
68
  ApolloCache.prototype.batch = function (options) {
19
69
  var _this = this;
@@ -91,6 +141,9 @@ var ApolloCache = (function () {
91
141
  };
92
142
  return ApolloCache;
93
143
  }());
144
+ if (globalThis.__DEV__ !== false) {
145
+ ApolloCache.prototype.getMemoryInternals = getApolloCacheMemoryInternals;
146
+ }
94
147
 
95
148
  exports.Cache = void 0;
96
149
  (function (Cache) {
@@ -827,7 +880,9 @@ var StoreReader = (function () {
827
880
  maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);
828
881
  return _this.execSelectionSetImpl(options);
829
882
  }, {
830
- max: this.config.resultCacheMaxSize,
883
+ max: this.config.resultCacheMaxSize ||
884
+ utilities.cacheSizes["inMemoryCache.executeSelectionSet"] ||
885
+ 10000 ,
831
886
  keyArgs: execSelectionSetKeyArgs,
832
887
  makeCacheKey: function (selectionSet, parent, context, canonizeResults) {
833
888
  if (supportsResultCaching(context.store)) {
@@ -839,7 +894,9 @@ var StoreReader = (function () {
839
894
  maybeDependOnExistenceOfEntity(options.context.store, options.enclosingRef.__ref);
840
895
  return _this.execSubSelectedArrayImpl(options);
841
896
  }, {
842
- max: this.config.resultCacheMaxSize,
897
+ max: this.config.resultCacheMaxSize ||
898
+ utilities.cacheSizes["inMemoryCache.executeSubSelectedArray"] ||
899
+ 5000 ,
843
900
  makeCacheKey: function (_a) {
844
901
  var field = _a.field, array = _a.array, context = _a.context;
845
902
  if (supportsResultCaching(context.store)) {
@@ -2116,7 +2173,9 @@ var InMemoryCache = (function (_super) {
2116
2173
  this.maybeBroadcastWatch = optimism.wrap(function (c, options) {
2117
2174
  return _this.broadcastWatch(c, options);
2118
2175
  }, {
2119
- max: this.config.resultCacheMaxSize,
2176
+ max: this.config.resultCacheMaxSize ||
2177
+ utilities.cacheSizes["inMemoryCache.maybeBroadcastWatch"] ||
2178
+ 5000 ,
2120
2179
  makeCacheKey: function (c) {
2121
2180
  var store = c.optimistic ? _this.optimisticData : _this.data;
2122
2181
  if (supportsResultCaching(store)) {
@@ -2371,6 +2430,9 @@ var InMemoryCache = (function (_super) {
2371
2430
  };
2372
2431
  return InMemoryCache;
2373
2432
  }(ApolloCache));
2433
+ if (globalThis.__DEV__ !== false) {
2434
+ InMemoryCache.prototype.getMemoryInternals = getInMemoryCacheMemoryInternals;
2435
+ }
2374
2436
 
2375
2437
  function createFragmentRegistry() {
2376
2438
  var fragments = [];
@@ -2416,9 +2478,19 @@ var FragmentRegistry = (function () {
2416
2478
  var proto = FragmentRegistry.prototype;
2417
2479
  this.invalidate = (this.lookup = optimism.wrap(proto.lookup.bind(this), {
2418
2480
  makeCacheKey: function (arg) { return arg; },
2481
+ max: utilities.cacheSizes["fragmentRegistry.lookup"] ||
2482
+ 1000 ,
2419
2483
  })).dirty;
2420
- this.transform = optimism.wrap(proto.transform.bind(this));
2421
- this.findFragmentSpreads = optimism.wrap(proto.findFragmentSpreads.bind(this));
2484
+ this.transform = optimism.wrap(proto.transform.bind(this), {
2485
+ cache: caches.WeakCache,
2486
+ max: utilities.cacheSizes["fragmentRegistry.transform"] ||
2487
+ 2000 ,
2488
+ });
2489
+ this.findFragmentSpreads = optimism.wrap(proto.findFragmentSpreads.bind(this), {
2490
+ cache: caches.WeakCache,
2491
+ max: utilities.cacheSizes["fragmentRegistry.findFragmentSpreads"] ||
2492
+ 4000 ,
2493
+ });
2422
2494
  };
2423
2495
  FragmentRegistry.prototype.lookup = function (fragmentName) {
2424
2496
  return this.registry[fragmentName] || null;