@apollo/client 4.0.0-alpha.3 → 4.0.0-alpha.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 (247) hide show
  1. package/.changeset/eighty-squids-fix.md +15 -0
  2. package/.changeset/eleven-kangaroos-jump.md +5 -0
  3. package/.changeset/forty-shrimps-fry.md +5 -0
  4. package/.changeset/funny-jeans-invent.md +16 -0
  5. package/.changeset/grumpy-vans-type.md +5 -0
  6. package/.changeset/khaki-spies-work.md +11 -0
  7. package/.changeset/light-apes-rescue.md +5 -0
  8. package/.changeset/little-spoons-kick.md +7 -0
  9. package/.changeset/loud-cows-raise.md +7 -0
  10. package/.changeset/many-buses-allow.md +5 -0
  11. package/.changeset/odd-lemons-relax.md +5 -0
  12. package/.changeset/poor-eels-punch.md +5 -0
  13. package/.changeset/pre.json +18 -0
  14. package/.changeset/real-teachers-peel.md +5 -0
  15. package/.changeset/slimy-chicken-melt.md +5 -0
  16. package/.changeset/thick-books-grin.md +5 -0
  17. package/.changeset/tough-rockets-allow.md +5 -0
  18. package/.changeset/tricky-tables-shave.md +5 -0
  19. package/.changeset/warm-ties-sit.md +7 -0
  20. package/CHANGELOG.md +84 -0
  21. package/__cjs/cache/core/cache.cjs +1 -1
  22. package/__cjs/cache/inmemory/entityStore.cjs +3 -3
  23. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  24. package/__cjs/cache/inmemory/policies.cjs +4 -4
  25. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  26. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  27. package/__cjs/core/ApolloClient.cjs +25 -16
  28. package/__cjs/core/ApolloClient.cjs.map +1 -1
  29. package/__cjs/core/ApolloClient.d.cts +17 -5
  30. package/__cjs/core/LocalState.cjs +2 -2
  31. package/__cjs/core/ObservableQuery.cjs +44 -22
  32. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  33. package/__cjs/core/ObservableQuery.d.cts +6 -3
  34. package/__cjs/core/QueryManager.cjs +72 -35
  35. package/__cjs/core/QueryManager.cjs.map +1 -1
  36. package/__cjs/core/QueryManager.d.cts +14 -3
  37. package/__cjs/core/types.d.cts +32 -0
  38. package/__cjs/core/watchQueryOptions.d.cts +18 -25
  39. package/__cjs/invariantErrorCodes.cjs +57 -77
  40. package/__cjs/link/core/ApolloLink.cjs +2 -2
  41. package/__cjs/link/http/checkFetcher.cjs +1 -1
  42. package/__cjs/link/http/createHttpLink.cjs +1 -1
  43. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  44. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  45. package/__cjs/link/persisted-queries/index.cjs +2 -2
  46. package/__cjs/link/utils/validateOperation.cjs +1 -1
  47. package/__cjs/masking/maskDefinition.cjs +2 -2
  48. package/__cjs/masking/maskFragment.cjs +2 -2
  49. package/__cjs/masking/maskOperation.cjs +1 -1
  50. package/__cjs/masking/utils.cjs +1 -1
  51. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  52. package/__cjs/react/context/ApolloContext.cjs +1 -1
  53. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  54. package/__cjs/react/context/ApolloContext.d.cts +2 -2
  55. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  56. package/__cjs/react/hooks/index.cjs +13 -8
  57. package/__cjs/react/hooks/index.cjs.map +1 -1
  58. package/__cjs/react/hooks/index.d.cts +6 -12
  59. package/__cjs/react/hooks/internal/wrapHook.cjs +26 -5
  60. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  61. package/__cjs/react/hooks/internal/wrapHook.d.cts +3 -1
  62. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  63. package/__cjs/react/hooks/useBackgroundQuery.d.cts +146 -43
  64. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  65. package/__cjs/react/hooks/useFragment.d.cts +51 -26
  66. package/__cjs/react/hooks/useLazyQuery.cjs +1 -1
  67. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  68. package/__cjs/react/hooks/useLazyQuery.d.cts +263 -262
  69. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  70. package/__cjs/react/hooks/useLoadableQuery.d.cts +105 -32
  71. package/__cjs/react/hooks/useMutation.cjs +14 -19
  72. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  73. package/__cjs/react/hooks/useMutation.d.cts +198 -3
  74. package/__cjs/react/hooks/useQuery.cjs +82 -189
  75. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  76. package/__cjs/react/hooks/useQuery.d.cts +283 -4
  77. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  78. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +21 -20
  79. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  80. package/__cjs/react/hooks/useReadQuery.d.cts +26 -24
  81. package/__cjs/react/hooks/useSubscription.cjs +8 -57
  82. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  83. package/__cjs/react/hooks/useSubscription.d.cts +96 -9
  84. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  85. package/__cjs/react/hooks/useSuspenseFragment.d.cts +40 -37
  86. package/__cjs/react/hooks/useSuspenseQuery.cjs +2 -2
  87. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  88. package/__cjs/react/hooks/useSuspenseQuery.d.cts +202 -35
  89. package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
  90. package/__cjs/react/index.cjs.map +1 -1
  91. package/__cjs/react/index.d.cts +2 -1
  92. package/__cjs/react/internal/index.cjs +3 -1
  93. package/__cjs/react/internal/index.cjs.map +1 -1
  94. package/__cjs/react/internal/index.d.cts +2 -0
  95. package/__cjs/react/internal/types.d.cts +46 -0
  96. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  97. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +2 -3
  98. package/__cjs/react/ssr/getDataFromTree.cjs +43 -12
  99. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  100. package/__cjs/react/ssr/getDataFromTree.d.cts +5 -0
  101. package/__cjs/react/ssr/index.cjs +1 -3
  102. package/__cjs/react/ssr/index.cjs.map +1 -1
  103. package/__cjs/react/ssr/index.d.cts +0 -1
  104. package/__cjs/react/ssr/useSSRQuery.cjs +60 -0
  105. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  106. package/__cjs/react/ssr/useSSRQuery.d.cts +5 -0
  107. package/__cjs/react/types/deprecated.cjs +3 -0
  108. package/__cjs/react/types/deprecated.cjs.map +1 -0
  109. package/__cjs/react/types/deprecated.d.cts +65 -0
  110. package/__cjs/react/types/types.documentation.d.cts +4 -12
  111. package/__cjs/testing/matchers/index.cjs +4 -0
  112. package/__cjs/testing/matchers/index.cjs.map +1 -1
  113. package/__cjs/testing/matchers/toEmitStrictTyped.cjs +42 -0
  114. package/__cjs/testing/matchers/toEmitStrictTyped.cjs.map +1 -0
  115. package/__cjs/testing/matchers/toEmitStrictTyped.d.cts +7 -0
  116. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs.map +1 -1
  117. package/__cjs/testing/matchers/toEqualLazyQueryResult.d.cts +2 -2
  118. package/__cjs/testing/matchers/toEqualQueryResult.cjs.map +1 -1
  119. package/__cjs/testing/matchers/toEqualQueryResult.d.cts +2 -2
  120. package/__cjs/testing/matchers/toEqualStrictTyped.cjs +26 -0
  121. package/__cjs/testing/matchers/toEqualStrictTyped.cjs.map +1 -0
  122. package/__cjs/testing/matchers/toEqualStrictTyped.d.cts +3 -0
  123. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +23 -0
  124. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -0
  125. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +2 -0
  126. package/__cjs/version.cjs +1 -1
  127. package/__cjs/version.d.cts +1 -1
  128. package/cache/core/cache.js +1 -1
  129. package/cache/inmemory/entityStore.js +3 -3
  130. package/cache/inmemory/key-extractor.js +1 -1
  131. package/cache/inmemory/policies.js +4 -4
  132. package/cache/inmemory/readFromStore.js +2 -2
  133. package/cache/inmemory/writeToStore.js +4 -4
  134. package/core/ApolloClient.d.ts +17 -5
  135. package/core/ApolloClient.js +25 -16
  136. package/core/ApolloClient.js.map +1 -1
  137. package/core/LocalState.js +2 -2
  138. package/core/ObservableQuery.d.ts +6 -3
  139. package/core/ObservableQuery.js +44 -22
  140. package/core/ObservableQuery.js.map +1 -1
  141. package/core/QueryManager.d.ts +14 -3
  142. package/core/QueryManager.js +73 -36
  143. package/core/QueryManager.js.map +1 -1
  144. package/core/types.d.ts +32 -0
  145. package/core/watchQueryOptions.d.ts +18 -25
  146. package/invariantErrorCodes.js +57 -77
  147. package/link/core/ApolloLink.js +2 -2
  148. package/link/http/checkFetcher.js +1 -1
  149. package/link/http/createHttpLink.js +1 -1
  150. package/link/http/parseAndCheckHttpResponse.js +1 -1
  151. package/link/http/serializeFetchParameter.js +1 -1
  152. package/link/persisted-queries/index.js +2 -2
  153. package/link/utils/validateOperation.js +1 -1
  154. package/masking/maskDefinition.js +2 -2
  155. package/masking/maskFragment.js +2 -2
  156. package/masking/maskOperation.js +1 -1
  157. package/masking/utils.js +1 -1
  158. package/package.json +1 -1
  159. package/react/context/ApolloConsumer.js +1 -1
  160. package/react/context/ApolloContext.d.ts +2 -2
  161. package/react/context/ApolloContext.js +1 -1
  162. package/react/context/ApolloContext.js.map +1 -1
  163. package/react/context/ApolloProvider.js +1 -1
  164. package/react/hooks/index.d.ts +6 -12
  165. package/react/hooks/index.js +6 -6
  166. package/react/hooks/index.js.map +1 -1
  167. package/react/hooks/internal/wrapHook.d.ts +3 -1
  168. package/react/hooks/internal/wrapHook.js +24 -5
  169. package/react/hooks/internal/wrapHook.js.map +1 -1
  170. package/react/hooks/useBackgroundQuery.d.ts +146 -43
  171. package/react/hooks/useBackgroundQuery.js.map +1 -1
  172. package/react/hooks/useFragment.d.ts +51 -26
  173. package/react/hooks/useFragment.js.map +1 -1
  174. package/react/hooks/useLazyQuery.d.ts +263 -262
  175. package/react/hooks/useLazyQuery.js +1 -1
  176. package/react/hooks/useLazyQuery.js.map +1 -1
  177. package/react/hooks/useLoadableQuery.d.ts +105 -32
  178. package/react/hooks/useLoadableQuery.js.map +1 -1
  179. package/react/hooks/useMutation.d.ts +198 -3
  180. package/react/hooks/useMutation.js +14 -19
  181. package/react/hooks/useMutation.js.map +1 -1
  182. package/react/hooks/useQuery.d.ts +283 -4
  183. package/react/hooks/useQuery.js +83 -190
  184. package/react/hooks/useQuery.js.map +1 -1
  185. package/react/hooks/useQueryRefHandlers.d.ts +21 -20
  186. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  187. package/react/hooks/useReadQuery.d.ts +26 -24
  188. package/react/hooks/useReadQuery.js.map +1 -1
  189. package/react/hooks/useSubscription.d.ts +96 -9
  190. package/react/hooks/useSubscription.js +7 -53
  191. package/react/hooks/useSubscription.js.map +1 -1
  192. package/react/hooks/useSuspenseFragment.d.ts +40 -37
  193. package/react/hooks/useSuspenseFragment.js.map +1 -1
  194. package/react/hooks/useSuspenseQuery.d.ts +202 -35
  195. package/react/hooks/useSuspenseQuery.js +2 -2
  196. package/react/hooks/useSuspenseQuery.js.map +1 -1
  197. package/react/hooks/useSyncExternalStore.js +1 -1
  198. package/react/index.d.ts +2 -1
  199. package/react/index.js.map +1 -1
  200. package/react/internal/index.d.ts +2 -0
  201. package/react/internal/index.js +2 -1
  202. package/react/internal/index.js.map +1 -1
  203. package/react/internal/types.d.ts +46 -0
  204. package/react/query-preloader/createQueryPreloader.d.ts +2 -3
  205. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  206. package/react/ssr/getDataFromTree.d.ts +5 -0
  207. package/react/ssr/getDataFromTree.js +43 -12
  208. package/react/ssr/getDataFromTree.js.map +1 -1
  209. package/react/ssr/index.d.ts +0 -1
  210. package/react/ssr/index.js +0 -1
  211. package/react/ssr/index.js.map +1 -1
  212. package/react/ssr/useSSRQuery.d.ts +5 -0
  213. package/react/ssr/useSSRQuery.js +56 -0
  214. package/react/ssr/useSSRQuery.js.map +1 -0
  215. package/react/types/deprecated.d.ts +65 -0
  216. package/react/types/deprecated.js +2 -0
  217. package/react/types/deprecated.js.map +1 -0
  218. package/react/types/types.documentation.d.ts +4 -12
  219. package/testing/matchers/index.js +4 -0
  220. package/testing/matchers/index.js.map +1 -1
  221. package/testing/matchers/toEmitStrictTyped.d.ts +7 -0
  222. package/testing/matchers/toEmitStrictTyped.js +38 -0
  223. package/testing/matchers/toEmitStrictTyped.js.map +1 -0
  224. package/testing/matchers/toEqualLazyQueryResult.d.ts +2 -2
  225. package/testing/matchers/toEqualLazyQueryResult.js.map +1 -1
  226. package/testing/matchers/toEqualQueryResult.d.ts +2 -2
  227. package/testing/matchers/toEqualQueryResult.js.map +1 -1
  228. package/testing/matchers/toEqualStrictTyped.d.ts +3 -0
  229. package/testing/matchers/toEqualStrictTyped.js +22 -0
  230. package/testing/matchers/toEqualStrictTyped.js.map +1 -0
  231. package/testing/matchers/utils/getSerializableProperties.d.ts +2 -0
  232. package/testing/matchers/utils/getSerializableProperties.js +20 -0
  233. package/testing/matchers/utils/getSerializableProperties.js.map +1 -0
  234. package/version.d.ts +1 -1
  235. package/version.js +1 -1
  236. package/__cjs/react/ssr/RenderPromises.cjs +0 -104
  237. package/__cjs/react/ssr/RenderPromises.cjs.map +0 -1
  238. package/__cjs/react/ssr/RenderPromises.d.cts +0 -22
  239. package/__cjs/react/types/types.d.cts +0 -661
  240. package/react/ssr/RenderPromises.d.ts +0 -22
  241. package/react/ssr/RenderPromises.js +0 -100
  242. package/react/ssr/RenderPromises.js.map +0 -1
  243. package/react/types/types.d.ts +0 -661
  244. /package/__cjs/react/{types → internal}/types.cjs +0 -0
  245. /package/__cjs/react/{types → internal}/types.cjs.map +0 -0
  246. /package/react/{types → internal}/types.js +0 -0
  247. /package/react/{types → internal}/types.js.map +0 -0
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toEqualStrictTyped = void 0;
4
+ const expect_utils_1 = require("@jest/expect-utils");
5
+ const getSerializableProperties_js_1 = require("./utils/getSerializableProperties.cjs");
6
+ const toEqualStrictTyped = function (actual, expected) {
7
+ const value = actual;
8
+ const hint = this.utils.matcherHint(this.isNot ? ".not.toEqualStrictTyped" : "toEqualStrictTyped", "value", "expected", { isNot: this.isNot, promise: this.promise });
9
+ const serializableProperties = (0, getSerializableProperties_js_1.getSerializableProperties)(value);
10
+ const pass = this.equals(serializableProperties, expected,
11
+ // https://github.com/jestjs/jest/blob/22029ba06b69716699254bb9397f2b3bc7b3cf3b/packages/expect/src/matchers.ts#L62-L67
12
+ [...this.customTesters, expect_utils_1.iterableEquality], true);
13
+ return {
14
+ pass,
15
+ message: () => {
16
+ if (pass) {
17
+ return hint + `\n\nExpected: not ${this.utils.printExpected(expected)}`;
18
+ }
19
+ return (hint +
20
+ "\n\n" +
21
+ this.utils.printDiffOrStringify(expected, serializableProperties, "Expected", "Received", true));
22
+ },
23
+ };
24
+ };
25
+ exports.toEqualStrictTyped = toEqualStrictTyped;
26
+ //# sourceMappingURL=toEqualStrictTyped.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toEqualStrictTyped.cjs","sources":["../../../../src/testing/matchers/toEqualStrictTyped.ts"],"sourcesContent":["import { iterableEquality } from \"@jest/expect-utils\";\nimport type { MatcherFunction } from \"expect\";\n\nimport { getSerializableProperties } from \"./utils/getSerializableProperties.js\";\n\nexport const toEqualStrictTyped: MatcherFunction<[value: any]> = function (\n actual,\n expected\n) {\n const value = actual as Record<string, any>;\n const hint = this.utils.matcherHint(\n this.isNot ? \".not.toEqualStrictTyped\" : \"toEqualStrictTyped\",\n \"value\",\n \"expected\",\n { isNot: this.isNot, promise: this.promise }\n );\n\n const serializableProperties = getSerializableProperties(value);\n\n const pass = this.equals(\n serializableProperties,\n expected,\n // https://github.com/jestjs/jest/blob/22029ba06b69716699254bb9397f2b3bc7b3cf3b/packages/expect/src/matchers.ts#L62-L67\n [...this.customTesters, iterableEquality],\n true\n );\n\n return {\n pass,\n message: () => {\n if (pass) {\n return hint + `\\n\\nExpected: not ${this.utils.printExpected(expected)}`;\n }\n\n return (\n hint +\n \"\\n\\n\" +\n this.utils.printDiffOrStringify(\n expected,\n serializableProperties,\n \"Expected\",\n \"Received\",\n true\n )\n );\n },\n };\n};\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { MatcherFunction } from "expect";
2
+ export declare const toEqualStrictTyped: MatcherFunction<[value: any]>;
3
+ //# sourceMappingURL=toEqualStrictTyped.d.cts.map
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSerializableProperties = getSerializableProperties;
4
+ const core_1 = require("@apollo/client/core");
5
+ const utilities_1 = require("@apollo/client/utilities");
6
+ function isKnownClassInstance(value) {
7
+ return [core_1.ApolloClient, core_1.ObservableQuery].some((c) => value instanceof c);
8
+ }
9
+ function getSerializableProperties(obj) {
10
+ if (Array.isArray(obj)) {
11
+ return obj.map((item) => getSerializableProperties(item));
12
+ }
13
+ if ((0, utilities_1.isPlainObject)(obj)) {
14
+ return Object.entries(obj).reduce((memo, [key, value]) => {
15
+ if (typeof value === "function" || isKnownClassInstance(value)) {
16
+ return memo;
17
+ }
18
+ return { ...memo, [key]: value };
19
+ }, {});
20
+ }
21
+ return obj;
22
+ }
23
+ //# sourceMappingURL=getSerializableProperties.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getSerializableProperties.cjs","sources":["../../../../../src/testing/matchers/utils/getSerializableProperties.ts"],"sourcesContent":["import { ApolloClient, ObservableQuery } from \"@apollo/client/core\";\nimport { isPlainObject } from \"@apollo/client/utilities\";\n\nfunction isKnownClassInstance(value: unknown) {\n return [ApolloClient, ObservableQuery].some((c) => value instanceof c);\n}\n\nexport function getSerializableProperties(obj: unknown): any {\n if (Array.isArray(obj)) {\n return obj.map((item) => getSerializableProperties(item));\n }\n\n if (isPlainObject(obj)) {\n return Object.entries(obj).reduce(\n (memo, [key, value]) => {\n if (typeof value === \"function\" || isKnownClassInstance(value)) {\n return memo;\n }\n\n return { ...memo, [key]: value };\n },\n {} as Record<string, any>\n );\n }\n\n return obj;\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getSerializableProperties(obj: unknown): any;
2
+ //# sourceMappingURL=getSerializableProperties.d.cts.map
package/__cjs/version.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.version = void 0;
4
- exports.version = "4.0.0-alpha.3";
4
+ exports.version = "4.0.0-alpha.5";
5
5
  //# sourceMappingURL=version.cjs.map
@@ -1,2 +1,2 @@
1
- export declare const version = "4.0.0-alpha.3";
1
+ export declare const version = "4.0.0-alpha.5";
2
2
  //# sourceMappingURL=version.d.cts.map
@@ -87,7 +87,7 @@ export class ApolloCache {
87
87
  if (__DEV__) {
88
88
  const actualFragmentName = fragmentName || getFragmentDefinition(fragment).name.value;
89
89
  if (!id) {
90
- __DEV__ && invariant.warn(97, actualFragmentName);
90
+ __DEV__ && invariant.warn(93, actualFragmentName);
91
91
  }
92
92
  }
93
93
  const diffOptions = {
@@ -72,7 +72,7 @@ export class EntityStore {
72
72
  // then there are no fields to be merged, so we're done.
73
73
  if (!incoming)
74
74
  return;
75
- invariant(typeof dataId === "string", 83);
75
+ invariant(typeof dataId === "string", 79);
76
76
  const merged = new DeepMerger(storeObjectReconciler).merge(existing, incoming);
77
77
  // Even if merged === existing, existing may have come from a lower
78
78
  // layer, so we always need to set this.data[dataId] on this level.
@@ -172,7 +172,7 @@ export class EntityStore {
172
172
  if (__DEV__) {
173
173
  const checkReference = (ref) => {
174
174
  if (this.lookup(ref.__ref) === undefined) {
175
- __DEV__ && invariant.warn(84, ref);
175
+ __DEV__ && invariant.warn(80, ref);
176
176
  return true;
177
177
  }
178
178
  };
@@ -201,7 +201,7 @@ export class EntityStore {
201
201
  }
202
202
  }
203
203
  if (seenReference && someNonReference !== undefined) {
204
- __DEV__ && invariant.warn(85, someNonReference);
204
+ __DEV__ && invariant.warn(81, someNonReference);
205
205
  break;
206
206
  }
207
207
  }
@@ -34,7 +34,7 @@ export function keyFieldsFnFromSpecifier(specifier) {
34
34
  // context.readField for this extraction.
35
35
  extracted = extractKeyPath(object, schemaKeyPath, extractKey);
36
36
  }
37
- invariant(extracted !== void 0, 86, schemaKeyPath.join("."), object);
37
+ invariant(extracted !== void 0, 82, schemaKeyPath.join("."), object);
38
38
  return extracted;
39
39
  }));
40
40
  return `${context.typename}:${JSON.stringify(keyObject)}`;
@@ -195,7 +195,7 @@ export class Policies {
195
195
  const rootId = "ROOT_" + which.toUpperCase();
196
196
  const old = this.rootTypenamesById[rootId];
197
197
  if (typename !== old) {
198
- invariant(!old || old === which, 87, which);
198
+ invariant(!old || old === which, 83, which);
199
199
  // First, delete any old __typename associated with this rootId from
200
200
  // rootIdsByTypename.
201
201
  if (old)
@@ -340,7 +340,7 @@ export class Policies {
340
340
  if (supertypeSet.has(supertype)) {
341
341
  if (!typenameSupertypeSet.has(supertype)) {
342
342
  if (checkingFuzzySubtypes) {
343
- __DEV__ && invariant.warn(88, typename, supertype);
343
+ __DEV__ && invariant.warn(84, typename, supertype);
344
344
  }
345
345
  // Record positive results for faster future lookup.
346
346
  // Unfortunately, we cannot safely cache negative results,
@@ -550,7 +550,7 @@ export function normalizeReadFieldOptions(readFieldArgs, objectOrReference, vari
550
550
  }
551
551
  }
552
552
  if (__DEV__ && options.from === void 0) {
553
- __DEV__ && invariant.warn(89, stringifyForDisplay(Array.from(readFieldArgs)));
553
+ __DEV__ && invariant.warn(85, stringifyForDisplay(Array.from(readFieldArgs)));
554
554
  }
555
555
  if (void 0 === options.variables) {
556
556
  options.variables = variables;
@@ -560,7 +560,7 @@ export function normalizeReadFieldOptions(readFieldArgs, objectOrReference, vari
560
560
  function makeMergeObjectsFunction(store) {
561
561
  return function mergeObjects(existing, incoming) {
562
562
  if (isArray(existing) || isArray(incoming)) {
563
- throw newInvariantError(90);
563
+ throw newInvariantError(86);
564
564
  }
565
565
  // These dynamic checks are necessary because the parameters of a
566
566
  // custom merge function can easily have the any type, so the type
@@ -194,7 +194,7 @@ export class StoreReader {
194
194
  else {
195
195
  const fragment = getFragmentFromSelection(selection, context.lookupFragment);
196
196
  if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {
197
- throw newInvariantError(91, selection.name.value);
197
+ throw newInvariantError(87, selection.name.value);
198
198
  }
199
199
  if (fragment && policies.fragmentMatches(fragment, typename)) {
200
200
  fragment.selectionSet.selections.forEach(workSet.add, workSet);
@@ -277,7 +277,7 @@ function assertSelectionSetForIdValue(store, field, fieldValue) {
277
277
  if (isNonNullObject(value)) {
278
278
  invariant(
279
279
  !isReference(value),
280
- 92,
280
+ 88,
281
281
  getTypenameFromStoreObject(store, value),
282
282
  field.name.value
283
283
  );
@@ -65,7 +65,7 @@ export class StoreWriter {
65
65
  context,
66
66
  });
67
67
  if (!isReference(ref)) {
68
- throw newInvariantError(93, result);
68
+ throw newInvariantError(89, result);
69
69
  }
70
70
  // So far, the store has not been modified, so now it's time to process
71
71
  // context.incomingById and merge those incoming fields into context.store.
@@ -215,7 +215,7 @@ export class StoreWriter {
215
215
  // provide a default value, so its absence from the written data should
216
216
  // not be cause for alarm.
217
217
  !policies.getReadFunction(typename, field.name.value)) {
218
- __DEV__ && invariant.error(94, resultKeyNameFromField(field), result);
218
+ __DEV__ && invariant.error(90, resultKeyNameFromField(field), result);
219
219
  }
220
220
  });
221
221
  // Identify the result object, even if dataId was already provided,
@@ -362,7 +362,7 @@ export class StoreWriter {
362
362
  else {
363
363
  const fragment = getFragmentFromSelection(selection, context.lookupFragment);
364
364
  if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {
365
- throw newInvariantError(95, selection.name.value);
365
+ throw newInvariantError(91, selection.name.value);
366
366
  }
367
367
  if (fragment &&
368
368
  policies.fragmentMatches(fragment, typename, result, context.variables)) {
@@ -534,7 +534,7 @@ function warnAboutDataLoss(existingRef, incomingObj, storeFieldName, store) {
534
534
  }
535
535
  });
536
536
  }
537
- __DEV__ && invariant.warn(96, fieldName, parentType, childTypenames.length ?
537
+ __DEV__ && invariant.warn(92, fieldName, parentType, childTypenames.length ?
538
538
  "either ensure all objects of type " +
539
539
  childTypenames.join(" and ") +
540
540
  " have an ID or a custom merge function, or "
@@ -2,7 +2,7 @@ import type { DocumentNode, FormattedExecutionResult } from "graphql";
2
2
  import type { Observable } from "rxjs";
3
3
  import type { ApolloCache, DataProxy, Reference } from "@apollo/client/cache";
4
4
  import type { WatchFragmentOptions, WatchFragmentResult } from "@apollo/client/cache";
5
- import type { FetchResult, GraphQLRequest } from "@apollo/client/link/core";
5
+ import type { GraphQLRequest } from "@apollo/client/link/core";
6
6
  import { ApolloLink } from "@apollo/client/link/core";
7
7
  import type { UriFunction } from "@apollo/client/link/http";
8
8
  import type { MaybeMasked, Unmasked } from "@apollo/client/masking";
@@ -11,7 +11,7 @@ import { mergeOptions } from "@apollo/client/utilities";
11
11
  import { getApolloClientMemoryInternals } from "@apollo/client/utilities/internal";
12
12
  import type { FragmentMatcher } from "./LocalState.js";
13
13
  import type { ObservableQuery } from "./ObservableQuery.js";
14
- import type { ApolloQueryResult, DefaultContext, OperationVariables, RefetchQueriesInclude, RefetchQueriesOptions, RefetchQueriesResult, Resolvers } from "./types.js";
14
+ import type { ApolloQueryResult, DefaultContext, MutateResult, OperationVariables, RefetchQueriesInclude, RefetchQueriesOptions, RefetchQueriesResult, Resolvers, SubscribeResult } from "./types.js";
15
15
  import type { MutationOptions, QueryOptions, SubscriptionOptions, WatchQueryOptions } from "./watchQueryOptions.js";
16
16
  export interface DefaultOptions {
17
17
  watchQuery?: Partial<WatchQueryOptions<any, any>>;
@@ -133,7 +133,19 @@ export { mergeOptions };
133
133
  export declare class ApolloClient implements DataProxy {
134
134
  link: ApolloLink;
135
135
  cache: ApolloCache;
136
- disableNetworkFetches: boolean;
136
+ /**
137
+ * @deprecated `disableNetworkFetches` has been renamed to `prioritizeCacheValues`.
138
+ */
139
+ disableNetworkFetches: never;
140
+ set prioritizeCacheValues(value: boolean);
141
+ /**
142
+ * Whether to prioritize cache values over network results when `query` or `watchQuery` is called.
143
+ * This will essentially turn a `"network-only"` or `"cache-and-network"` fetchPolicy into a `"cache-first"` fetchPolicy,
144
+ * but without influencing the `fetchPolicy` of the created `ObservableQuery` long-term.
145
+ *
146
+ * This can e.g. be used to prioritize the cache during the first render after SSR.
147
+ */
148
+ get prioritizeCacheValues(): boolean;
137
149
  version: string;
138
150
  queryDeduplication: boolean;
139
151
  defaultOptions: DefaultOptions;
@@ -221,12 +233,12 @@ export declare class ApolloClient implements DataProxy {
221
233
  *
222
234
  * It takes options as an object with the following keys and values:
223
235
  */
224
- mutate<TData = unknown, TVariables extends OperationVariables = OperationVariables, TContext extends Record<string, any> = DefaultContext, TCache extends ApolloCache = ApolloCache>(options: MutationOptions<TData, TVariables, TContext>): Promise<FetchResult<MaybeMasked<TData>>>;
236
+ mutate<TData = unknown, TVariables extends OperationVariables = OperationVariables, TContext extends Record<string, any> = DefaultContext, TCache extends ApolloCache = ApolloCache>(options: MutationOptions<TData, TVariables, TContext>): Promise<MutateResult<MaybeMasked<TData>>>;
225
237
  /**
226
238
  * This subscribes to a graphql subscription according to the options specified and returns an
227
239
  * `Observable` which either emits received data or an error.
228
240
  */
229
- subscribe<TData = unknown, TVariables extends OperationVariables = OperationVariables>(options: SubscriptionOptions<TVariables, TData>): Observable<FetchResult<MaybeMasked<TData>>>;
241
+ subscribe<TData = unknown, TVariables extends OperationVariables = OperationVariables>(options: SubscriptionOptions<TVariables, TData>): Observable<SubscribeResult<MaybeMasked<TData>>>;
230
242
  /**
231
243
  * Tries to read some data from the store in the shape of the provided
232
244
  * GraphQL query without making a network request. This method will start at
@@ -23,7 +23,23 @@ export { mergeOptions };
23
23
  export class ApolloClient {
24
24
  link;
25
25
  cache;
26
+ /**
27
+ * @deprecated `disableNetworkFetches` has been renamed to `prioritizeCacheValues`.
28
+ */
26
29
  disableNetworkFetches;
30
+ set prioritizeCacheValues(value) {
31
+ this.queryManager.prioritizeCacheValues = value;
32
+ }
33
+ /**
34
+ * Whether to prioritize cache values over network results when `query` or `watchQuery` is called.
35
+ * This will essentially turn a `"network-only"` or `"cache-and-network"` fetchPolicy into a `"cache-first"` fetchPolicy,
36
+ * but without influencing the `fetchPolicy` of the created `ObservableQuery` long-term.
37
+ *
38
+ * This can e.g. be used to prioritize the cache during the first render after SSR.
39
+ */
40
+ get prioritizeCacheValues() {
41
+ return this.queryManager.prioritizeCacheValues;
42
+ }
27
43
  version;
28
44
  queryDeduplication;
29
45
  defaultOptions;
@@ -62,7 +78,7 @@ export class ApolloClient {
62
78
  */
63
79
  constructor(options) {
64
80
  if (!options.cache) {
65
- throw newInvariantError(62);
81
+ throw newInvariantError(58);
66
82
  }
67
83
  const { uri, credentials, headers, cache, documentTransform, ssrMode = false, ssrForceFetchDelay = 0,
68
84
  // Expose the client instance as window.__APOLLO_CLIENT__ and call
@@ -76,7 +92,6 @@ export class ApolloClient {
76
92
  }
77
93
  this.link = link;
78
94
  this.cache = cache;
79
- this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;
80
95
  this.queryDeduplication = queryDeduplication;
81
96
  this.defaultOptions = defaultOptions || {};
82
97
  this.typeDefs = typeDefs;
@@ -87,9 +102,6 @@ export class ApolloClient {
87
102
  if (this.devtoolsConfig.enabled === undefined) {
88
103
  this.devtoolsConfig.enabled = __DEV__;
89
104
  }
90
- if (ssrForceFetchDelay) {
91
- setTimeout(() => (this.disableNetworkFetches = false), ssrForceFetchDelay);
92
- }
93
105
  this.watchQuery = this.watchQuery.bind(this);
94
106
  this.query = this.query.bind(this);
95
107
  this.mutate = this.mutate.bind(this);
@@ -126,6 +138,12 @@ export class ApolloClient {
126
138
  }
127
139
  : void 0,
128
140
  });
141
+ this.prioritizeCacheValues = ssrMode || ssrForceFetchDelay > 0;
142
+ if (ssrForceFetchDelay) {
143
+ setTimeout(() => {
144
+ this.prioritizeCacheValues = false;
145
+ }, ssrForceFetchDelay);
146
+ }
129
147
  if (this.devtoolsConfig.enabled)
130
148
  this.connectToDevTools();
131
149
  }
@@ -209,12 +227,6 @@ export class ApolloClient {
209
227
  if (this.defaultOptions.watchQuery) {
210
228
  options = mergeOptions(this.defaultOptions.watchQuery, options);
211
229
  }
212
- // XXX Overwriting options is probably not the best way to do this long term...
213
- if (this.disableNetworkFetches &&
214
- (options.fetchPolicy === "network-only" ||
215
- options.fetchPolicy === "cache-and-network")) {
216
- options = { ...options, fetchPolicy: "cache-first" };
217
- }
218
230
  return this.queryManager.watchQuery(options);
219
231
  }
220
232
  /**
@@ -230,10 +242,7 @@ export class ApolloClient {
230
242
  if (this.defaultOptions.query) {
231
243
  options = mergeOptions(this.defaultOptions.query, options);
232
244
  }
233
- invariant(options.fetchPolicy !== "cache-and-network", 63);
234
- if (this.disableNetworkFetches && options.fetchPolicy === "network-only") {
235
- options = { ...options, fetchPolicy: "cache-first" };
236
- }
245
+ invariant(options.fetchPolicy !== "cache-and-network", 59);
237
246
  return this.queryManager.query(options);
238
247
  }
239
248
  /**
@@ -453,7 +462,7 @@ export class ApolloClient {
453
462
  // result.queries and result.results instead, you shouldn't have to worry
454
463
  // about preventing uncaught rejections for the Promise.all result.
455
464
  result.catch((error) => {
456
- __DEV__ && invariant.debug(64, error);
465
+ __DEV__ && invariant.debug(60, error);
457
466
  });
458
467
  return result;
459
468
  }