@apollo/client 4.0.10 → 4.0.12-beta.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 (319) hide show
  1. package/CHANGELOG.md +217 -0
  2. package/__cjs/cache/core/cache.cjs +216 -52
  3. package/__cjs/cache/core/cache.cjs.map +1 -1
  4. package/__cjs/cache/core/cache.d.cts +141 -25
  5. package/__cjs/cache/core/types/Cache.d.cts +77 -17
  6. package/__cjs/cache/index.cjs.map +1 -1
  7. package/__cjs/cache/index.d.cts +1 -1
  8. package/__cjs/cache/inmemory/entityStore.cjs +6 -4
  9. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  10. package/__cjs/cache/inmemory/helpers.d.cts +1 -1
  11. package/__cjs/cache/inmemory/inMemoryCache.cjs +62 -1
  12. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  13. package/__cjs/cache/inmemory/inMemoryCache.d.cts +48 -0
  14. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  15. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  16. package/__cjs/cache/inmemory/policies.cjs +56 -17
  17. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  18. package/__cjs/cache/inmemory/policies.d.cts +30 -6
  19. package/__cjs/cache/inmemory/readFromStore.cjs +3 -3
  20. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  21. package/__cjs/cache/inmemory/types.d.cts +2 -0
  22. package/__cjs/cache/inmemory/writeToStore.cjs +24 -10
  23. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  24. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
  25. package/__cjs/core/ApolloClient.cjs +31 -49
  26. package/__cjs/core/ApolloClient.cjs.map +1 -1
  27. package/__cjs/core/ApolloClient.d.cts +159 -18
  28. package/__cjs/core/ObservableQuery.cjs +173 -128
  29. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  30. package/__cjs/core/ObservableQuery.d.cts +2 -0
  31. package/__cjs/core/QueryInfo.cjs +9 -1
  32. package/__cjs/core/QueryInfo.cjs.map +1 -1
  33. package/__cjs/core/QueryInfo.d.cts +2 -1
  34. package/__cjs/core/QueryManager.cjs +47 -25
  35. package/__cjs/core/QueryManager.cjs.map +1 -1
  36. package/__cjs/core/QueryManager.d.cts +18 -2
  37. package/__cjs/incremental/handlers/defer20220824.cjs +44 -19
  38. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  39. package/__cjs/incremental/handlers/defer20220824.d.cts +15 -7
  40. package/__cjs/incremental/handlers/graphql17Alpha9.cjs +222 -0
  41. package/__cjs/incremental/handlers/graphql17Alpha9.cjs.map +1 -0
  42. package/__cjs/incremental/handlers/graphql17Alpha9.d.cts +98 -0
  43. package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  44. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -1
  45. package/__cjs/incremental/index.cjs +3 -1
  46. package/__cjs/incremental/index.cjs.map +1 -1
  47. package/__cjs/incremental/index.d.cts +1 -0
  48. package/__cjs/incremental/types.d.cts +9 -0
  49. package/__cjs/invariantErrorCodes.cjs +83 -61
  50. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +13 -1
  51. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
  52. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +1 -1
  53. package/__cjs/link/core/ApolloLink.cjs +3 -3
  54. package/__cjs/link/error/index.cjs +1 -1
  55. package/__cjs/link/error/index.cjs.map +1 -1
  56. package/__cjs/link/error/index.d.cts +1 -1
  57. package/__cjs/link/http/checkFetcher.cjs +1 -1
  58. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +2 -2
  59. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  60. package/__cjs/link/persisted-queries/index.cjs +2 -2
  61. package/__cjs/link/ws/index.cjs +1 -1
  62. package/__cjs/local-state/LocalState.cjs +28 -14
  63. package/__cjs/local-state/LocalState.cjs.map +1 -1
  64. package/__cjs/local-state/LocalState.d.cts +3 -2
  65. package/__cjs/masking/types.d.cts +2 -1
  66. package/__cjs/react/hooks/internal/useDeepMemo.cjs +2 -0
  67. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  68. package/__cjs/react/hooks/useBackgroundQuery.cjs +1 -3
  69. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  70. package/__cjs/react/hooks/useFragment.cjs +38 -87
  71. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  72. package/__cjs/react/hooks/useFragment.d.cts +65 -6
  73. package/__cjs/react/hooks/useLazyQuery.cjs +3 -0
  74. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  75. package/__cjs/react/hooks/useMutation.cjs +7 -1
  76. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  77. package/__cjs/react/hooks/useMutation.d.cts +13 -1
  78. package/__cjs/react/hooks/useQuery.cjs +8 -8
  79. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  80. package/__cjs/react/hooks/useQuery.d.cts +1 -1
  81. package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -3
  82. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  83. package/__cjs/react/hooks/useReadQuery.cjs +1 -3
  84. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  85. package/__cjs/react/hooks/useSubscription.cjs +1 -1
  86. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  87. package/__cjs/react/hooks/useSuspenseFragment.cjs +16 -16
  88. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  89. package/__cjs/react/hooks/useSuspenseFragment.d.cts +33 -7
  90. package/__cjs/react/hooks/useSuspenseQuery.cjs +6 -4
  91. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  92. package/__cjs/react/internal/cache/FragmentReference.cjs +3 -22
  93. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  94. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -4
  95. package/__cjs/react/internal/cache/QueryReference.cjs +16 -0
  96. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  97. package/__cjs/react/internal/cache/QueryReference.d.cts +5 -0
  98. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  99. package/__cjs/react/internal/cache/SuspenseCache.d.cts +1 -1
  100. package/__cjs/react/internal/cache/types.d.cts +2 -2
  101. package/__cjs/react/query-preloader/createQueryPreloader.cjs +41 -1
  102. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  103. package/__cjs/react/ssr/useSSRQuery.cjs +1 -0
  104. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  105. package/__cjs/utilities/DeepPartial.cjs.map +1 -1
  106. package/__cjs/utilities/DeepPartial.d.cts +1 -1
  107. package/__cjs/utilities/internal/DeepMerger.cjs +36 -4
  108. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -1
  109. package/__cjs/utilities/internal/DeepMerger.d.cts +20 -4
  110. package/__cjs/utilities/internal/combineLatestBatched.cjs +71 -0
  111. package/__cjs/utilities/internal/combineLatestBatched.cjs.map +1 -0
  112. package/__cjs/utilities/internal/combineLatestBatched.d.cts +14 -0
  113. package/__cjs/utilities/internal/constants.cjs +29 -0
  114. package/__cjs/utilities/internal/constants.cjs.map +1 -0
  115. package/__cjs/utilities/internal/constants.d.cts +26 -0
  116. package/__cjs/utilities/internal/getStoreKeyName.cjs +1 -0
  117. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  118. package/__cjs/utilities/internal/index.cjs +10 -2
  119. package/__cjs/utilities/internal/index.cjs.map +1 -1
  120. package/__cjs/utilities/internal/index.d.cts +4 -0
  121. package/__cjs/utilities/internal/mapObservableFragment.cjs +27 -0
  122. package/__cjs/utilities/internal/mapObservableFragment.cjs.map +1 -0
  123. package/__cjs/utilities/internal/mapObservableFragment.d.cts +3 -0
  124. package/__cjs/utilities/internal/memoize.cjs +2 -2
  125. package/__cjs/utilities/internal/memoize.cjs.map +1 -1
  126. package/__cjs/utilities/internal/memoize.d.cts +2 -1
  127. package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.cjs +61 -0
  128. package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.cjs.map +1 -0
  129. package/__cjs/utilities/internal/ponyfills/FinalizationRegistry.d.cts +11 -0
  130. package/__cjs/utilities/internal/ponyfills/index.cjs +6 -0
  131. package/__cjs/utilities/internal/ponyfills/index.cjs.map +1 -0
  132. package/__cjs/utilities/internal/ponyfills/index.d.cts +3 -0
  133. package/__cjs/utilities/internal/ponyfills/index.react-native.cjs +6 -0
  134. package/__cjs/utilities/internal/ponyfills/index.react-native.cjs.map +1 -0
  135. package/__cjs/utilities/internal/ponyfills/index.react-native.d.cts +2 -0
  136. package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.cjs +3 -0
  137. package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.cjs.map +1 -0
  138. package/__cjs/utilities/internal/types/ExtensionsWithStreamDetails.d.cts +24 -0
  139. package/__cjs/version.cjs +1 -1
  140. package/__cjs/version.cjs.map +1 -1
  141. package/cache/core/cache.d.ts +141 -25
  142. package/cache/core/cache.js +219 -55
  143. package/cache/core/cache.js.map +1 -1
  144. package/cache/core/types/Cache.d.ts +77 -17
  145. package/cache/core/types/Cache.js.map +1 -1
  146. package/cache/index.d.ts +1 -1
  147. package/cache/index.js.map +1 -1
  148. package/cache/inmemory/entityStore.js +6 -4
  149. package/cache/inmemory/entityStore.js.map +1 -1
  150. package/cache/inmemory/helpers.d.ts +1 -1
  151. package/cache/inmemory/inMemoryCache.d.ts +48 -0
  152. package/cache/inmemory/inMemoryCache.js +62 -1
  153. package/cache/inmemory/inMemoryCache.js.map +1 -1
  154. package/cache/inmemory/key-extractor.js +1 -1
  155. package/cache/inmemory/key-extractor.js.map +1 -1
  156. package/cache/inmemory/policies.d.ts +30 -6
  157. package/cache/inmemory/policies.js +45 -7
  158. package/cache/inmemory/policies.js.map +1 -1
  159. package/cache/inmemory/readFromStore.js +3 -3
  160. package/cache/inmemory/readFromStore.js.map +1 -1
  161. package/cache/inmemory/types.d.ts +2 -0
  162. package/cache/inmemory/types.js.map +1 -1
  163. package/cache/inmemory/writeToStore.d.ts +2 -1
  164. package/cache/inmemory/writeToStore.js +26 -12
  165. package/cache/inmemory/writeToStore.js.map +1 -1
  166. package/core/ApolloClient.d.ts +159 -18
  167. package/core/ApolloClient.js +32 -50
  168. package/core/ApolloClient.js.map +1 -1
  169. package/core/ObservableQuery.d.ts +2 -0
  170. package/core/ObservableQuery.js +176 -131
  171. package/core/ObservableQuery.js.map +1 -1
  172. package/core/QueryInfo.d.ts +2 -1
  173. package/core/QueryInfo.js +10 -2
  174. package/core/QueryInfo.js.map +1 -1
  175. package/core/QueryManager.d.ts +18 -2
  176. package/core/QueryManager.js +48 -26
  177. package/core/QueryManager.js.map +1 -1
  178. package/incremental/handlers/defer20220824.d.ts +15 -7
  179. package/incremental/handlers/defer20220824.js +44 -19
  180. package/incremental/handlers/defer20220824.js.map +1 -1
  181. package/incremental/handlers/graphql17Alpha9.d.ts +98 -0
  182. package/incremental/handlers/graphql17Alpha9.js +218 -0
  183. package/incremental/handlers/graphql17Alpha9.js.map +1 -0
  184. package/incremental/handlers/notImplemented.js +1 -1
  185. package/incremental/handlers/notImplemented.js.map +1 -1
  186. package/incremental/index.d.ts +1 -0
  187. package/incremental/index.js +3 -2
  188. package/incremental/index.js.map +1 -1
  189. package/incremental/types.d.ts +9 -0
  190. package/incremental/types.js.map +1 -1
  191. package/invariantErrorCodes.js +83 -61
  192. package/legacyEntryPoints/utilities/internal/ponyfills/index.d.ts +1 -0
  193. package/legacyEntryPoints/utilities/internal/ponyfills/index.js +1 -0
  194. package/legacyEntryPoints/utilities/internal/ponyfills/ponyfills.cjs +1 -0
  195. package/legacyEntryPoints/utilities/internal/ponyfills/ponyfills.d.cts +1 -0
  196. package/link/client-awareness/ClientAwarenessLink.d.ts +1 -1
  197. package/link/client-awareness/ClientAwarenessLink.js +13 -1
  198. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  199. package/link/core/ApolloLink.js +3 -3
  200. package/link/error/index.d.ts +1 -1
  201. package/link/error/index.js +1 -1
  202. package/link/error/index.js.map +1 -1
  203. package/link/http/checkFetcher.js +1 -1
  204. package/link/http/parseAndCheckHttpResponse.js +2 -2
  205. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  206. package/link/persisted-queries/index.js +2 -2
  207. package/link/ws/index.js +1 -1
  208. package/local-state/LocalState.d.ts +3 -2
  209. package/local-state/LocalState.js +28 -14
  210. package/local-state/LocalState.js.map +1 -1
  211. package/masking/types.d.ts +2 -1
  212. package/masking/types.js.map +1 -1
  213. package/package.json +15 -1
  214. package/react/hooks/internal/useDeepMemo.js +2 -0
  215. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  216. package/react/hooks/useBackgroundQuery.js +1 -3
  217. package/react/hooks/useBackgroundQuery.js.map +1 -1
  218. package/react/hooks/useFragment.d.ts +65 -6
  219. package/react/hooks/useFragment.js +38 -87
  220. package/react/hooks/useFragment.js.map +1 -1
  221. package/react/hooks/useLazyQuery.js +4 -1
  222. package/react/hooks/useLazyQuery.js.map +1 -1
  223. package/react/hooks/useMutation.d.ts +13 -1
  224. package/react/hooks/useMutation.js +7 -1
  225. package/react/hooks/useMutation.js.map +1 -1
  226. package/react/hooks/useQuery.js +9 -9
  227. package/react/hooks/useQuery.js.map +1 -1
  228. package/react/hooks/useQueryRefHandlers.js +1 -3
  229. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  230. package/react/hooks/useReadQuery.js +1 -3
  231. package/react/hooks/useReadQuery.js.map +1 -1
  232. package/react/hooks/useSubscription.js +1 -1
  233. package/react/hooks/useSubscription.js.map +1 -1
  234. package/react/hooks/useSuspenseFragment.d.ts +33 -7
  235. package/react/hooks/useSuspenseFragment.js +17 -17
  236. package/react/hooks/useSuspenseFragment.js.map +1 -1
  237. package/react/hooks/useSuspenseQuery.js +6 -4
  238. package/react/hooks/useSuspenseQuery.js.map +1 -1
  239. package/react/hooks-compiled/internal/useDeepMemo.js +2 -0
  240. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -1
  241. package/react/hooks-compiled/internal/useSuspenseHookCacheKey.js +0 -2
  242. package/react/hooks-compiled/internal/useSuspenseHookCacheKey.js.map +1 -1
  243. package/react/hooks-compiled/useBackgroundQuery.js +1 -3
  244. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
  245. package/react/hooks-compiled/useFragment.d.ts +65 -6
  246. package/react/hooks-compiled/useFragment.js +110 -88
  247. package/react/hooks-compiled/useFragment.js.map +1 -1
  248. package/react/hooks-compiled/useLazyQuery.js +4 -1
  249. package/react/hooks-compiled/useLazyQuery.js.map +1 -1
  250. package/react/hooks-compiled/useLoadableQuery.js +69 -75
  251. package/react/hooks-compiled/useMutation.d.ts +13 -1
  252. package/react/hooks-compiled/useMutation.js +5 -13
  253. package/react/hooks-compiled/useMutation.js.map +1 -1
  254. package/react/hooks-compiled/useQuery.js +53 -61
  255. package/react/hooks-compiled/useQuery.js.map +1 -1
  256. package/react/hooks-compiled/useQueryRefHandlers.js +1 -5
  257. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -1
  258. package/react/hooks-compiled/useReadQuery.js +77 -14
  259. package/react/hooks-compiled/useReadQuery.js.map +1 -1
  260. package/react/hooks-compiled/useSubscription.js +237 -93
  261. package/react/hooks-compiled/useSubscription.js.map +1 -1
  262. package/react/hooks-compiled/useSuspenseFragment.d.ts +33 -7
  263. package/react/hooks-compiled/useSuspenseFragment.js +17 -17
  264. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
  265. package/react/hooks-compiled/useSuspenseQuery.js +7 -9
  266. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
  267. package/react/index.compiled.d.ts +1 -1
  268. package/react/index.compiled.js +1 -1
  269. package/react/index.compiled.js.map +1 -1
  270. package/react/internal/cache/FragmentReference.d.ts +2 -4
  271. package/react/internal/cache/FragmentReference.js +3 -22
  272. package/react/internal/cache/FragmentReference.js.map +1 -1
  273. package/react/internal/cache/QueryReference.d.ts +5 -0
  274. package/react/internal/cache/QueryReference.js +16 -0
  275. package/react/internal/cache/QueryReference.js.map +1 -1
  276. package/react/internal/cache/SuspenseCache.d.ts +1 -1
  277. package/react/internal/cache/SuspenseCache.js.map +1 -1
  278. package/react/internal/cache/types.d.ts +2 -2
  279. package/react/internal/cache/types.js.map +1 -1
  280. package/react/query-preloader/createQueryPreloader.js +41 -1
  281. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  282. package/react/ssr/useSSRQuery.js +1 -0
  283. package/react/ssr/useSSRQuery.js.map +1 -1
  284. package/utilities/DeepPartial.d.ts +1 -1
  285. package/utilities/DeepPartial.js.map +1 -1
  286. package/utilities/internal/DeepMerger.d.ts +20 -4
  287. package/utilities/internal/DeepMerger.js +36 -4
  288. package/utilities/internal/DeepMerger.js.map +1 -1
  289. package/utilities/internal/combineLatestBatched.d.ts +14 -0
  290. package/utilities/internal/combineLatestBatched.js +68 -0
  291. package/utilities/internal/combineLatestBatched.js.map +1 -0
  292. package/utilities/internal/constants.d.ts +26 -0
  293. package/utilities/internal/constants.js +26 -0
  294. package/utilities/internal/constants.js.map +1 -0
  295. package/utilities/internal/getStoreKeyName.js +1 -0
  296. package/utilities/internal/getStoreKeyName.js.map +1 -1
  297. package/utilities/internal/index.d.ts +4 -0
  298. package/utilities/internal/index.js +3 -0
  299. package/utilities/internal/index.js.map +1 -1
  300. package/utilities/internal/mapObservableFragment.d.ts +3 -0
  301. package/utilities/internal/mapObservableFragment.js +24 -0
  302. package/utilities/internal/mapObservableFragment.js.map +1 -0
  303. package/utilities/internal/memoize.d.ts +2 -1
  304. package/utilities/internal/memoize.js +2 -2
  305. package/utilities/internal/memoize.js.map +1 -1
  306. package/utilities/internal/ponyfills/FinalizationRegistry.d.ts +11 -0
  307. package/utilities/internal/ponyfills/FinalizationRegistry.js +57 -0
  308. package/utilities/internal/ponyfills/FinalizationRegistry.js.map +1 -0
  309. package/utilities/internal/ponyfills/index.d.ts +3 -0
  310. package/utilities/internal/ponyfills/index.js +3 -0
  311. package/utilities/internal/ponyfills/index.js.map +1 -0
  312. package/utilities/internal/ponyfills/index.react-native.d.ts +2 -0
  313. package/utilities/internal/ponyfills/index.react-native.js +2 -0
  314. package/utilities/internal/ponyfills/index.react-native.js.map +1 -0
  315. package/utilities/internal/types/ExtensionsWithStreamDetails.d.ts +24 -0
  316. package/utilities/internal/types/ExtensionsWithStreamDetails.js +2 -0
  317. package/utilities/internal/types/ExtensionsWithStreamDetails.js.map +1 -0
  318. package/version.js +1 -1
  319. package/version.js.map +1 -1
@@ -99,7 +99,7 @@ class QueryManager {
99
99
  */
100
100
  stop() {
101
101
  this.obsQueries.forEach((oq) => oq.stop());
102
- this.cancelPendingFetches((0, invariant_1.newInvariantError)(83));
102
+ this.cancelPendingFetches((0, invariant_1.newInvariantError)(87));
103
103
  }
104
104
  cancelPendingFetches(error) {
105
105
  this.fetchCancelFns.forEach((cancel) => cancel(error));
@@ -114,7 +114,7 @@ class QueryManager {
114
114
  if (environment_1.__DEV__) {
115
115
  (0, invariant_1.invariant)(
116
116
  this.localState,
117
- 84,
117
+ 88,
118
118
  (0, internal_1.getOperationName)(mutation, "(anonymous)")
119
119
  );
120
120
  }
@@ -151,7 +151,7 @@ class QueryManager {
151
151
  return this.getObservableFromLink(mutation, {
152
152
  ...context,
153
153
  optimisticResponse: isOptimistic ? optimisticResponse : void 0,
154
- }, variables, {}, false)
154
+ }, variables, fetchPolicy, {}, false)
155
155
  .observable.pipe(validateDidEmitValue(), (0, rxjs_2.mergeMap)((result) => {
156
156
  const storeResult = { ...result };
157
157
  return (0, rxjs_2.from)(queryInfo.markMutationResult(storeResult, {
@@ -174,7 +174,7 @@ class QueryManager {
174
174
  .pipe((0, rxjs_2.map)((storeResult) => {
175
175
  const hasErrors = (0, internal_1.graphQLResultHasError)(storeResult);
176
176
  if (hasErrors && errorPolicy === "none") {
177
- throw new errors_1.CombinedGraphQLErrors(storeResult);
177
+ throw new errors_1.CombinedGraphQLErrors(removeStreamDetailsFromExtensions(storeResult));
178
178
  }
179
179
  if (mutationStoreValue) {
180
180
  mutationStoreValue.loading = false;
@@ -353,7 +353,7 @@ class QueryManager {
353
353
  // depend on values that previously existed in the data portion of the
354
354
  // store. So, we cancel the promises and observers that we have issued
355
355
  // so far and not yet resolved (in the case of queries).
356
- this.cancelPendingFetches((0, invariant_1.newInvariantError)(85));
356
+ this.cancelPendingFetches((0, invariant_1.newInvariantError)(89));
357
357
  this.obsQueries.forEach((observableQuery) => {
358
358
  // Set loading to true so listeners don't trigger unless they want
359
359
  // results with partial data.
@@ -423,10 +423,10 @@ class QueryManager {
423
423
  if (!included) {
424
424
  const queryName = queryNames.get(nameOrQueryString);
425
425
  if (queryName) {
426
- __DEV__ && invariant_1.invariant.warn(86, queryName);
426
+ __DEV__ && invariant_1.invariant.warn(90, queryName);
427
427
  }
428
428
  else {
429
- __DEV__ && invariant_1.invariant.warn(87);
429
+ __DEV__ && invariant_1.invariant.warn(91);
430
430
  }
431
431
  }
432
432
  });
@@ -447,7 +447,7 @@ class QueryManager {
447
447
  }
448
448
  startGraphQLSubscription(options) {
449
449
  let { query, variables } = options;
450
- const { fetchPolicy, errorPolicy = "none", context = {}, extensions = {}, } = options;
450
+ const { fetchPolicy = "cache-first", errorPolicy = "none", context = {}, extensions = {}, } = options;
451
451
  (0, internal_1.checkDocument)(query, graphql_1.OperationTypeNode.SUBSCRIPTION);
452
452
  query = this.transform(query);
453
453
  variables = this.getVariables(query, variables);
@@ -455,7 +455,7 @@ class QueryManager {
455
455
  if (environment_1.__DEV__) {
456
456
  (0, invariant_1.invariant)(
457
457
  !this.getDocumentInfo(query).hasClientExports || this.localState,
458
- 88,
458
+ 92,
459
459
  (0, internal_1.getOperationName)(query, "(anonymous)")
460
460
  );
461
461
  }
@@ -467,7 +467,7 @@ class QueryManager {
467
467
  context,
468
468
  }))
469
469
  : (0, rxjs_2.of)(variables)).pipe((0, rxjs_2.mergeMap)((variables) => {
470
- const { observable, restart: res } = this.getObservableFromLink(query, context, variables, extensions);
470
+ const { observable, restart: res } = this.getObservableFromLink(query, context, variables, fetchPolicy, extensions);
471
471
  const queryInfo = new QueryInfo_js_1.QueryInfo(this);
472
472
  restart = res;
473
473
  return observable.pipe((0, rxjs_2.map)((rawResult) => {
@@ -520,7 +520,7 @@ class QueryManager {
520
520
  // Use protected instead of private field so
521
521
  // @apollo/experimental-nextjs-app-support can access type info.
522
522
  inFlightLinkObservables = new trie_1.Trie(false);
523
- getObservableFromLink(query, context, variables, extensions,
523
+ getObservableFromLink(query, context, variables, fetchPolicy, extensions,
524
524
  // Prefer context.queryDeduplication if specified.
525
525
  deduplication = context?.queryDeduplication ??
526
526
  this.queryDeduplication) {
@@ -599,14 +599,14 @@ class QueryManager {
599
599
  if (environment_1.__DEV__) {
600
600
  (0, invariant_1.invariant)(
601
601
  this.localState,
602
- 89,
602
+ 93,
603
603
  operation[0].toUpperCase() + operation.slice(1),
604
604
  operationName ?? "(anonymous)"
605
605
  );
606
606
  }
607
607
  (0, invariant_1.invariant)(
608
608
  !hasIncrementalDirective,
609
- 90,
609
+ 94,
610
610
  operation[0].toUpperCase() + operation.slice(1),
611
611
  operationName ?? "(anonymous)"
612
612
  );
@@ -617,6 +617,7 @@ class QueryManager {
617
617
  remoteResult: result,
618
618
  context,
619
619
  variables,
620
+ fetchPolicy,
620
621
  }));
621
622
  }));
622
623
  }
@@ -629,14 +630,14 @@ class QueryManager {
629
630
  })),
630
631
  };
631
632
  }
632
- getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, }) {
633
+ getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, exposeExtensions, }) {
633
634
  const requestId = (queryInfo.lastRequestId = this.generateRequestId());
634
635
  const { errorPolicy } = options;
635
636
  // Performing transformForLink here gives this.cache a chance to fill in
636
637
  // missing fragment definitions (for example) before sending this document
637
638
  // through the link chain.
638
639
  const linkDocument = this.cache.transformForLink(options.query);
639
- return this.getObservableFromLink(linkDocument, options.context, options.variables).observable.pipe((0, rxjs_2.map)((incoming) => {
640
+ return this.getObservableFromLink(linkDocument, options.context, options.variables, options.fetchPolicy).observable.pipe((0, rxjs_2.map)((incoming) => {
640
641
  // Use linkDocument rather than queryInfo.document so the
641
642
  // operation/fragments used to write the result are the same as the
642
643
  // ones used to obtain it from the link.
@@ -649,7 +650,7 @@ class QueryManager {
649
650
  if (hasErrors && errorPolicy === "none") {
650
651
  queryInfo.resetLastWrite();
651
652
  observableQuery?.["resetNotifications"]();
652
- throw new errors_1.CombinedGraphQLErrors(result);
653
+ throw new errors_1.CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
653
654
  }
654
655
  const aqr = {
655
656
  data: result.data,
@@ -667,6 +668,9 @@ class QueryManager {
667
668
  partial: !result.data,
668
669
  }),
669
670
  };
671
+ if (exposeExtensions && "extensions" in result) {
672
+ aqr[internal_1.extensionsSymbol] = result.extensions;
673
+ }
670
674
  // In the case we start multiple network requests simultaneously, we
671
675
  // want to ensure we properly set `data` if we're reporting on an old
672
676
  // result which will not be caught by the conditional above that ends up
@@ -677,7 +681,7 @@ class QueryManager {
677
681
  aqr.dataState = "empty";
678
682
  }
679
683
  if (errorPolicy !== "ignore") {
680
- aqr.error = new errors_1.CombinedGraphQLErrors(result);
684
+ aqr.error = new errors_1.CombinedGraphQLErrors(removeStreamDetailsFromExtensions(result));
681
685
  if (aqr.dataState !== "streaming") {
682
686
  aqr.networkStatus = networkStatus_js_1.NetworkStatus.error;
683
687
  }
@@ -709,7 +713,7 @@ class QueryManager {
709
713
  // The initial networkStatus for this fetch, most often
710
714
  // NetworkStatus.loading, but also possibly fetchMore, poll, refetch,
711
715
  // or setVariables.
712
- networkStatus = networkStatus_js_1.NetworkStatus.loading, query = options.query, fetchQueryOperator = (x) => x, onCacheHit = () => { }, observableQuery, }) {
716
+ networkStatus = networkStatus_js_1.NetworkStatus.loading, query = options.query, fetchQueryOperator = (x) => x, onCacheHit = () => { }, observableQuery, exposeExtensions, }) {
713
717
  const variables = this.getVariables(query, options.variables);
714
718
  const defaults = this.defaultOptions.watchQuery;
715
719
  let { fetchPolicy = (defaults && defaults.fetchPolicy) || "cache-first", errorPolicy = (defaults && defaults.errorPolicy) || "none", returnPartialData = false, notifyOnNetworkStatusChange = true, context = {}, } = options;
@@ -739,7 +743,13 @@ class QueryManager {
739
743
  normalized.refetchWritePolicy !== "merge") ?
740
744
  1 /* CacheWriteBehavior.OVERWRITE */
741
745
  : 2 /* CacheWriteBehavior.MERGE */;
742
- const observableWithInfo = this.fetchQueryByPolicy(normalized, { queryInfo, cacheWriteBehavior, onCacheHit, observableQuery });
746
+ const observableWithInfo = this.fetchQueryByPolicy(normalized, {
747
+ queryInfo,
748
+ cacheWriteBehavior,
749
+ onCacheHit,
750
+ observableQuery,
751
+ exposeExtensions,
752
+ });
743
753
  observableWithInfo.observable =
744
754
  observableWithInfo.observable.pipe(fetchQueryOperator);
745
755
  if (
@@ -775,7 +785,7 @@ class QueryManager {
775
785
  if (environment_1.__DEV__) {
776
786
  (0, invariant_1.invariant)(
777
787
  this.localState,
778
- 91,
788
+ 95,
779
789
  (0, internal_1.getOperationName)(normalized.query, "(anonymous)")
780
790
  );
781
791
  }
@@ -812,7 +822,7 @@ class QueryManager {
812
822
  const includedQueriesByOq = new Map();
813
823
  if (include) {
814
824
  this.getObservableQueries(include).forEach((oq) => {
815
- if (oq.options.fetchPolicy === "cache-only") {
825
+ if (oq.options.fetchPolicy === "cache-only" || oq["variablesUnknown"]) {
816
826
  return;
817
827
  }
818
828
  const current = oq.getCurrentResult();
@@ -951,7 +961,7 @@ class QueryManager {
951
961
  !this.noCacheWarningsByCause.has(cause)) {
952
962
  this.noCacheWarningsByCause.add(cause);
953
963
  __DEV__ && invariant_1.invariant.warn(
954
- 92,
964
+ 96,
955
965
  (0, internal_1.getOperationName)(document, `Unnamed ${operationType ?? "operation"}`)
956
966
  );
957
967
  }
@@ -966,7 +976,7 @@ class QueryManager {
966
976
  (0, masking_1.maskFragment)(data, fragment, this.cache, fragmentName)
967
977
  : data;
968
978
  }
969
- fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, }) {
979
+ fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, exposeExtensions, }) {
970
980
  const readCache = () => this.cache.diff({
971
981
  query,
972
982
  variables,
@@ -1013,7 +1023,7 @@ class QueryManager {
1013
1023
  if (environment_1.__DEV__) {
1014
1024
  (0, invariant_1.invariant)(
1015
1025
  this.localState,
1016
- 93,
1026
+ 97,
1017
1027
  (0, internal_1.getOperationName)(query, "(anonymous)")
1018
1028
  );
1019
1029
  }
@@ -1026,6 +1036,7 @@ class QueryManager {
1026
1036
  variables,
1027
1037
  onlyRunForcedResolvers: true,
1028
1038
  returnPartialData: true,
1039
+ fetchPolicy,
1029
1040
  }).then((resolved) => ({
1030
1041
  kind: "N",
1031
1042
  value: toResult(resolved.data || void 0),
@@ -1053,6 +1064,7 @@ class QueryManager {
1053
1064
  cacheWriteBehavior,
1054
1065
  queryInfo,
1055
1066
  observableQuery,
1067
+ exposeExtensions,
1056
1068
  }).pipe(validateDidEmitValue(), (0, rxjs_2.materialize)(), (0, rxjs_2.map)((result) => ({
1057
1069
  ...result,
1058
1070
  source: "network",
@@ -1107,7 +1119,7 @@ function validateDidEmitValue() {
1107
1119
  didEmitValue = true;
1108
1120
  },
1109
1121
  complete() {
1110
- (0, invariant_1.invariant)(didEmitValue, 94);
1122
+ (0, invariant_1.invariant)(didEmitValue, 98);
1111
1123
  },
1112
1124
  });
1113
1125
  }
@@ -1146,4 +1158,14 @@ function addNonReactiveToNamedFragments(document) {
1146
1158
  },
1147
1159
  });
1148
1160
  }
1161
+ function removeStreamDetailsFromExtensions(original) {
1162
+ if (original.extensions?.[internal_1.streamDetailsSymbol] == null) {
1163
+ return original;
1164
+ }
1165
+ const { extensions: { [internal_1.streamDetailsSymbol]: _, ...extensions }, ...result } = original;
1166
+ if (Object.keys(extensions).length > 0) {
1167
+ result.extensions = extensions;
1168
+ }
1169
+ return result;
1170
+ }
1149
1171
  //# sourceMappingURL=QueryManager.cjs.map