@apollo/client 4.0.0-alpha.0 → 4.0.0-alpha.10

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 (935) hide show
  1. package/.changeset/afraid-moons-arrive.md +5 -0
  2. package/.changeset/beige-mirrors-talk.md +15 -0
  3. package/.changeset/clean-sheep-hide.md +6 -0
  4. package/.changeset/cool-bikes-shake.md +12 -0
  5. package/.changeset/cool-kiwis-hunt.md +15 -0
  6. package/.changeset/cuddly-spiders-tie.md +5 -0
  7. package/.changeset/dirty-eagles-poke.md +5 -0
  8. package/.changeset/early-eggs-develop.md +22 -0
  9. package/.changeset/eighty-squids-fix.md +15 -0
  10. package/.changeset/eleven-kangaroos-jump.md +5 -0
  11. package/.changeset/forty-shrimps-fry.md +5 -0
  12. package/.changeset/forty-tomatoes-punch.md +5 -0
  13. package/.changeset/four-countries-clean.md +24 -0
  14. package/.changeset/four-ghosts-watch.md +5 -0
  15. package/.changeset/funny-jeans-invent.md +16 -0
  16. package/.changeset/funny-terms-deny.md +5 -0
  17. package/.changeset/fuzzy-tips-sit.md +5 -0
  18. package/.changeset/gentle-badgers-train.md +5 -0
  19. package/.changeset/giant-apes-thank.md +5 -0
  20. package/.changeset/giant-bags-share.md +5 -0
  21. package/.changeset/gorgeous-chefs-tap.md +5 -0
  22. package/.changeset/great-roses-jog.md +15 -0
  23. package/.changeset/grumpy-vans-type.md +5 -0
  24. package/.changeset/hip-vans-act.md +5 -0
  25. package/.changeset/hungry-bikes-cough.md +5 -0
  26. package/.changeset/itchy-chefs-run.md +23 -0
  27. package/.changeset/khaki-keys-deliver.md +5 -0
  28. package/.changeset/khaki-spies-work.md +11 -0
  29. package/.changeset/large-plants-know.md +5 -0
  30. package/.changeset/light-apes-rescue.md +5 -0
  31. package/.changeset/little-spoons-kick.md +7 -0
  32. package/.changeset/loud-cows-raise.md +7 -0
  33. package/.changeset/many-buses-allow.md +5 -0
  34. package/.changeset/mean-lizards-think.md +5 -0
  35. package/.changeset/nervous-fireants-bow.md +5 -0
  36. package/.changeset/nervous-goats-allow.md +5 -0
  37. package/.changeset/nice-dots-matter.md +5 -0
  38. package/.changeset/ninety-bags-bake.md +17 -0
  39. package/.changeset/odd-chicken-hide.md +17 -0
  40. package/.changeset/odd-lemons-relax.md +5 -0
  41. package/.changeset/perfect-vans-give.md +7 -0
  42. package/.changeset/poor-eels-punch.md +5 -0
  43. package/.changeset/pre.json +67 -0
  44. package/.changeset/purple-bears-flash.md +5 -0
  45. package/.changeset/rare-houses-prove.md +5 -0
  46. package/.changeset/real-teachers-peel.md +5 -0
  47. package/.changeset/serious-moons-juggle.md +5 -0
  48. package/.changeset/seven-dragons-repair.md +14 -0
  49. package/.changeset/shaggy-pugs-add.md +52 -0
  50. package/.changeset/short-months-complain.md +5 -0
  51. package/.changeset/slimy-chicken-melt.md +5 -0
  52. package/.changeset/slimy-maps-press.md +5 -0
  53. package/.changeset/small-buttons-rhyme.md +5 -0
  54. package/.changeset/swift-rivers-share.md +13 -0
  55. package/.changeset/tall-bikes-develop.md +5 -0
  56. package/.changeset/tame-doors-shop.md +14 -0
  57. package/.changeset/tame-points-work.md +11 -0
  58. package/.changeset/tender-swans-flash.md +16 -0
  59. package/.changeset/thick-books-grin.md +5 -0
  60. package/.changeset/thin-peas-hear.md +16 -0
  61. package/.changeset/tidy-pandas-punch.md +5 -0
  62. package/.changeset/tough-rockets-allow.md +5 -0
  63. package/.changeset/tricky-tables-shave.md +5 -0
  64. package/.changeset/unlucky-kiwis-sell.md +5 -0
  65. package/.changeset/warm-ties-sit.md +7 -0
  66. package/.changeset/wicked-forks-double.md +33 -0
  67. package/.changeset/young-phones-fold.md +5 -0
  68. package/.changeset/young-snails-grin.md +5 -0
  69. package/CHANGELOG.md +507 -0
  70. package/__cjs/cache/core/cache.cjs +3 -3
  71. package/__cjs/cache/core/cache.cjs.map +1 -1
  72. package/__cjs/cache/core/cache.d.cts +19 -19
  73. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  74. package/__cjs/cache/core/types/Cache.d.cts +9 -16
  75. package/__cjs/cache/core/types/DataProxy.d.cts +8 -23
  76. package/__cjs/cache/core/types/common.cjs +1 -0
  77. package/__cjs/cache/core/types/common.cjs.map +1 -1
  78. package/__cjs/cache/index.cjs +4 -4
  79. package/__cjs/cache/index.cjs.map +1 -1
  80. package/__cjs/cache/index.d.cts +3 -3
  81. package/__cjs/cache/inmemory/entityStore.cjs +6 -5
  82. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  83. package/__cjs/cache/inmemory/entityStore.d.cts +3 -2
  84. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -3
  85. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  86. package/__cjs/cache/inmemory/helpers.cjs +0 -8
  87. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  88. package/__cjs/cache/inmemory/helpers.d.cts +3 -4
  89. package/__cjs/cache/inmemory/inMemoryCache.cjs +6 -18
  90. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  91. package/__cjs/cache/inmemory/inMemoryCache.d.cts +9 -11
  92. package/__cjs/cache/inmemory/policies.cjs +5 -5
  93. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  94. package/__cjs/cache/inmemory/policies.d.cts +1 -1
  95. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  96. package/__cjs/cache/inmemory/reactiveVars.d.cts +7 -7
  97. package/__cjs/cache/inmemory/readFromStore.cjs +12 -54
  98. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  99. package/__cjs/cache/inmemory/readFromStore.d.cts +1 -6
  100. package/__cjs/cache/inmemory/types.d.cts +3 -17
  101. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  102. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  103. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -2
  104. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +6 -4
  105. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +1 -1
  106. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +3 -3
  107. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +1 -1
  108. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +2 -3
  109. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +1 -1
  110. package/__cjs/config/jest/areServerErrorsEqual.cjs +22 -0
  111. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +1 -0
  112. package/__cjs/config/jest/areServerErrorsEqual.d.cts +3 -0
  113. package/__cjs/config/jest/resolver.cjs +11 -0
  114. package/__cjs/config/jest/resolver.cjs.map +1 -1
  115. package/__cjs/config/jest/setup.cjs +18 -1
  116. package/__cjs/config/jest/setup.cjs.map +1 -1
  117. package/__cjs/core/ApolloClient.cjs +36 -19
  118. package/__cjs/core/ApolloClient.cjs.map +1 -1
  119. package/__cjs/core/ApolloClient.d.cts +36 -26
  120. package/__cjs/core/LocalState.cjs +2 -2
  121. package/__cjs/core/LocalState.cjs.map +1 -1
  122. package/__cjs/core/LocalState.d.cts +8 -8
  123. package/__cjs/core/ObservableQuery.cjs +268 -104
  124. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  125. package/__cjs/core/ObservableQuery.d.cts +156 -17
  126. package/__cjs/core/QueryInfo.cjs +12 -86
  127. package/__cjs/core/QueryInfo.cjs.map +1 -1
  128. package/__cjs/core/QueryInfo.d.cts +2 -11
  129. package/__cjs/core/QueryManager.cjs +148 -104
  130. package/__cjs/core/QueryManager.cjs.map +1 -1
  131. package/__cjs/core/QueryManager.d.cts +45 -24
  132. package/__cjs/core/index.cjs +42 -21
  133. package/__cjs/core/index.cjs.map +1 -1
  134. package/__cjs/core/index.d.cts +12 -11
  135. package/__cjs/core/types.d.cts +60 -7
  136. package/__cjs/core/watchQueryOptions.d.cts +32 -119
  137. package/__cjs/errors/CombinedGraphQLErrors.cjs +30 -11
  138. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  139. package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
  140. package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
  141. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  142. package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
  143. package/__cjs/errors/LinkError.cjs +20 -0
  144. package/__cjs/errors/LinkError.cjs.map +1 -0
  145. package/__cjs/errors/LinkError.d.cts +14 -0
  146. package/__cjs/errors/ServerError.cjs +6 -0
  147. package/__cjs/errors/ServerError.cjs.map +1 -1
  148. package/__cjs/errors/ServerError.d.cts +2 -0
  149. package/__cjs/errors/ServerParseError.cjs +6 -0
  150. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  151. package/__cjs/errors/ServerParseError.d.cts +2 -0
  152. package/__cjs/errors/UnconventionalError.cjs +6 -0
  153. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  154. package/__cjs/errors/UnconventionalError.d.cts +2 -0
  155. package/__cjs/errors/index.cjs +19 -4
  156. package/__cjs/errors/index.cjs.map +1 -1
  157. package/__cjs/errors/index.d.cts +2 -3
  158. package/__cjs/errors/isErrorLike.cjs +12 -0
  159. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  160. package/__cjs/errors/isErrorLike.d.cts +3 -0
  161. package/__cjs/errors/utils.cjs +18 -0
  162. package/__cjs/errors/utils.cjs.map +1 -0
  163. package/__cjs/errors/utils.d.cts +3 -0
  164. package/__cjs/invariantErrorCodes.cjs +121 -122
  165. package/__cjs/link/batch/batching.cjs.map +1 -1
  166. package/__cjs/link/batch/index.cjs +4 -2
  167. package/__cjs/link/batch/index.cjs.map +1 -1
  168. package/__cjs/link/batch/index.d.cts +2 -1
  169. package/__cjs/link/batch-http/index.cjs +3 -2
  170. package/__cjs/link/batch-http/index.cjs.map +1 -1
  171. package/__cjs/link/batch-http/index.d.cts +1 -1
  172. package/__cjs/link/context/index.cjs.map +1 -1
  173. package/__cjs/link/context/index.d.cts +1 -1
  174. package/__cjs/link/core/ApolloLink.cjs +2 -20
  175. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  176. package/__cjs/link/core/ApolloLink.d.cts +1 -3
  177. package/__cjs/link/core/index.cjs.map +1 -1
  178. package/__cjs/link/core/index.d.cts +1 -1
  179. package/__cjs/link/core/types.d.cts +1 -1
  180. package/__cjs/link/error/index.cjs +13 -28
  181. package/__cjs/link/error/index.cjs.map +1 -1
  182. package/__cjs/link/error/index.d.cts +4 -15
  183. package/__cjs/link/http/checkFetcher.cjs +1 -1
  184. package/__cjs/link/http/createHttpLink.cjs +1 -1
  185. package/__cjs/link/http/createHttpLink.d.cts +2 -1
  186. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +4 -3
  187. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  188. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  189. package/__cjs/link/persisted-queries/index.cjs +3 -3
  190. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  191. package/__cjs/link/persisted-queries/index.d.cts +14 -3
  192. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +1 -1
  193. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  194. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +10 -1
  195. package/__cjs/link/retry/index.cjs +3 -2
  196. package/__cjs/link/retry/index.cjs.map +1 -1
  197. package/__cjs/link/retry/index.d.cts +1 -1
  198. package/__cjs/link/subscriptions/index.cjs +3 -1
  199. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  200. package/__cjs/link/utils/validateOperation.cjs +1 -1
  201. package/__cjs/masking/maskDefinition.cjs +2 -2
  202. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  203. package/__cjs/masking/maskDefinition.d.cts +1 -1
  204. package/__cjs/masking/maskFragment.cjs +2 -2
  205. package/__cjs/masking/maskFragment.cjs.map +1 -1
  206. package/__cjs/masking/maskFragment.d.cts +2 -2
  207. package/__cjs/masking/maskOperation.cjs +1 -1
  208. package/__cjs/masking/maskOperation.cjs.map +1 -1
  209. package/__cjs/masking/maskOperation.d.cts +2 -2
  210. package/__cjs/masking/utils.cjs +1 -1
  211. package/__cjs/react/context/ApolloConsumer.cjs +2 -2
  212. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -1
  213. package/__cjs/react/context/ApolloConsumer.d.cts +7 -4
  214. package/__cjs/react/context/ApolloContext.cjs +2 -2
  215. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  216. package/__cjs/react/context/ApolloContext.d.cts +4 -4
  217. package/__cjs/react/context/ApolloProvider.cjs +2 -2
  218. package/__cjs/react/context/ApolloProvider.cjs.map +1 -1
  219. package/__cjs/react/context/ApolloProvider.d.cts +7 -5
  220. package/__cjs/react/hooks/internal/__use.cjs +1 -1
  221. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  222. package/__cjs/react/hooks/internal/__use.d.cts +3 -1
  223. package/__cjs/react/hooks/internal/useDeepMemo.cjs +3 -1
  224. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  225. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +1 -1
  226. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  227. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.d.cts +2 -2
  228. package/__cjs/react/hooks/internal/useRenderGuard.cjs +1 -1
  229. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -1
  230. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  231. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  232. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  233. package/__cjs/react/hooks/internal/wrapHook.cjs +26 -5
  234. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  235. package/__cjs/react/hooks/internal/wrapHook.d.cts +7 -5
  236. package/__cjs/react/hooks/useApolloClient.cjs +3 -3
  237. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  238. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  239. package/__cjs/react/hooks/useBackgroundQuery.cjs +3 -3
  240. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  241. package/__cjs/react/hooks/useBackgroundQuery.d.cts +143 -46
  242. package/__cjs/react/hooks/useFragment.cjs +1 -1
  243. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  244. package/__cjs/react/hooks/useFragment.d.cts +51 -26
  245. package/__cjs/react/hooks/useLazyQuery.cjs +33 -32
  246. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  247. package/__cjs/react/hooks/useLazyQuery.d.cts +278 -276
  248. package/__cjs/react/hooks/useLoadableQuery.cjs +22 -3
  249. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  250. package/__cjs/react/hooks/useLoadableQuery.d.cts +106 -34
  251. package/__cjs/react/hooks/useMutation.cjs +15 -23
  252. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  253. package/__cjs/react/hooks/useMutation.d.cts +198 -4
  254. package/__cjs/react/hooks/useQuery.cjs +88 -207
  255. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  256. package/__cjs/react/hooks/useQuery.d.cts +274 -4
  257. package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -1
  258. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  259. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +23 -22
  260. package/__cjs/react/hooks/useReactiveVar.cjs +1 -1
  261. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  262. package/__cjs/react/hooks/useReactiveVar.d.cts +1 -1
  263. package/__cjs/react/hooks/useReadQuery.cjs +1 -1
  264. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  265. package/__cjs/react/hooks/useReadQuery.d.cts +27 -25
  266. package/__cjs/react/hooks/useSubscription.cjs +10 -60
  267. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  268. package/__cjs/react/hooks/useSubscription.d.cts +94 -3
  269. package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -1
  270. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  271. package/__cjs/react/hooks/useSuspenseFragment.d.cts +40 -38
  272. package/__cjs/react/hooks/useSuspenseQuery.cjs +8 -33
  273. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  274. package/__cjs/react/hooks/useSuspenseQuery.d.cts +199 -38
  275. package/__cjs/react/hooks/useSyncExternalStore.cjs +2 -2
  276. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  277. package/__cjs/react/index.cjs +35 -11
  278. package/__cjs/react/index.cjs.map +1 -1
  279. package/__cjs/react/index.d.cts +21 -6
  280. package/__cjs/react/index.react-server.cjs +48 -0
  281. package/__cjs/react/index.react-server.cjs.map +1 -0
  282. package/__cjs/react/index.react-server.d.cts +19 -0
  283. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  284. package/__cjs/react/internal/cache/FragmentReference.d.cts +3 -3
  285. package/__cjs/react/internal/cache/QueryReference.cjs +3 -14
  286. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  287. package/__cjs/react/internal/cache/QueryReference.d.cts +7 -7
  288. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  289. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  290. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  291. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +4 -4
  292. package/__cjs/react/internal/index.cjs +3 -1
  293. package/__cjs/react/internal/index.cjs.map +1 -1
  294. package/__cjs/react/internal/index.d.cts +2 -0
  295. package/__cjs/react/internal/types.d.cts +9 -0
  296. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -0
  297. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  298. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +6 -45
  299. package/__cjs/react/ssr/getDataFromTree.cjs +24 -30
  300. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  301. package/__cjs/react/ssr/getDataFromTree.d.cts +12 -1
  302. package/__cjs/react/ssr/index.cjs +3 -3
  303. package/__cjs/react/ssr/index.cjs.map +1 -1
  304. package/__cjs/react/ssr/index.d.cts +1 -1
  305. package/__cjs/react/ssr/prerenderStatic.cjs +151 -0
  306. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -0
  307. package/__cjs/react/ssr/prerenderStatic.d.cts +122 -0
  308. package/__cjs/react/ssr/renderToStringWithData.cjs +11 -5
  309. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  310. package/__cjs/react/ssr/renderToStringWithData.d.cts +5 -0
  311. package/__cjs/react/ssr/useSSRQuery.cjs +60 -0
  312. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  313. package/__cjs/react/ssr/useSSRQuery.d.cts +5 -0
  314. package/__cjs/{utilities/types/TODO.cjs → react/types/deprecated.cjs} +1 -1
  315. package/__cjs/react/types/deprecated.cjs.map +1 -0
  316. package/__cjs/react/types/deprecated.d.cts +75 -0
  317. package/__cjs/react/types/types.documentation.d.cts +6 -34
  318. package/__cjs/testing/core/index.cjs +6 -3
  319. package/__cjs/testing/core/index.cjs.map +1 -1
  320. package/__cjs/testing/core/index.d.cts +3 -3
  321. package/__cjs/testing/core/mocking/mockClient.cjs +3 -4
  322. package/__cjs/testing/core/mocking/mockClient.cjs.map +1 -1
  323. package/__cjs/testing/core/mocking/mockClient.d.cts +2 -3
  324. package/__cjs/testing/core/mocking/mockLink.cjs +118 -112
  325. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  326. package/__cjs/testing/core/mocking/mockLink.d.cts +26 -7
  327. package/__cjs/testing/experimental/createSchemaFetch.cjs +4 -4
  328. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +1 -1
  329. package/__cjs/testing/experimental/createTestSchema.cjs.map +1 -1
  330. package/__cjs/testing/experimental/createTestSchema.d.cts +1 -1
  331. package/__cjs/testing/index.cjs +13 -2
  332. package/__cjs/testing/index.cjs.map +1 -1
  333. package/__cjs/testing/index.d.cts +2 -1
  334. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -1
  335. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +1 -1
  336. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -1
  337. package/__cjs/testing/internal/disposables/withProdMode.d.cts +1 -1
  338. package/__cjs/testing/internal/incremental.cjs.map +1 -1
  339. package/__cjs/testing/internal/incremental.d.cts +4 -3
  340. package/__cjs/testing/internal/index.cjs +14 -8
  341. package/__cjs/testing/internal/index.cjs.map +1 -1
  342. package/__cjs/testing/internal/index.d.cts +4 -3
  343. package/__cjs/testing/internal/renderHelpers.cjs.map +1 -1
  344. package/__cjs/testing/internal/renderHelpers.d.cts +3 -3
  345. package/__cjs/testing/internal/resetApolloContext.cjs +24 -0
  346. package/__cjs/testing/internal/resetApolloContext.cjs.map +1 -0
  347. package/__cjs/testing/internal/resetApolloContext.d.cts +10 -0
  348. package/__cjs/testing/internal/scenarios/index.cjs +9 -7
  349. package/__cjs/testing/internal/scenarios/index.cjs.map +1 -1
  350. package/__cjs/testing/internal/scenarios/index.d.cts +14 -5
  351. package/__cjs/testing/matchers/arrayWithLength.cjs +15 -0
  352. package/__cjs/testing/matchers/arrayWithLength.cjs.map +1 -0
  353. package/__cjs/testing/matchers/arrayWithLength.d.cts +3 -0
  354. package/__cjs/testing/matchers/index.cjs +6 -18
  355. package/__cjs/testing/matchers/index.cjs.map +1 -1
  356. package/__cjs/testing/matchers/toComplete.cjs.map +1 -1
  357. package/__cjs/testing/matchers/toEmitAnything.cjs.map +1 -1
  358. package/__cjs/testing/matchers/toEmitError.cjs.map +1 -1
  359. package/__cjs/testing/matchers/toEmitNext.cjs.map +1 -1
  360. package/__cjs/testing/matchers/{toEmitFetchResult.cjs → toEmitTypedValue.cjs} +9 -7
  361. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +1 -0
  362. package/__cjs/testing/matchers/{toEmitValueStrict.d.cts → toEmitTypedValue.d.cts} +2 -2
  363. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +2 -2
  364. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +1 -1
  365. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +1 -1
  366. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  367. package/__cjs/testing/matchers/toMatchDocument.d.cts +1 -1
  368. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +26 -0
  369. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +1 -0
  370. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +3 -0
  371. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +23 -0
  372. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -0
  373. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +2 -0
  374. package/__cjs/testing/react/MockedProvider.cjs +11 -7
  375. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  376. package/__cjs/testing/react/MockedProvider.d.cts +8 -6
  377. package/__cjs/utilities/caching/sizes.cjs +2 -2
  378. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  379. package/__cjs/utilities/caching/sizes.d.cts +2 -20
  380. package/__cjs/utilities/common/canonicalStringify.cjs +2 -2
  381. package/__cjs/utilities/common/canonicalStringify.cjs.map +1 -1
  382. package/__cjs/utilities/common/errorHandling.d.cts +1 -1
  383. package/__cjs/utilities/common/maybeDeepFreeze.cjs +1 -0
  384. package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +1 -1
  385. package/__cjs/utilities/common/maybeDeepFreeze.d.cts +1 -0
  386. package/__cjs/utilities/common/mergeOptions.cjs.map +1 -1
  387. package/__cjs/utilities/common/mergeOptions.d.cts +1 -1
  388. package/__cjs/utilities/graphql/getFromAST.cjs +15 -6
  389. package/__cjs/utilities/graphql/getFromAST.cjs.map +1 -1
  390. package/__cjs/utilities/graphql/getFromAST.d.cts +2 -2
  391. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  392. package/__cjs/utilities/graphql/operations.d.cts +1 -1
  393. package/__cjs/utilities/graphql/print.cjs +2 -2
  394. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  395. package/__cjs/utilities/graphql/storeUtils.cjs +1 -1
  396. package/__cjs/utilities/graphql/transform.cjs +2 -2
  397. package/__cjs/utilities/index.cjs +39 -19
  398. package/__cjs/utilities/index.cjs.map +1 -1
  399. package/__cjs/utilities/index.d.cts +16 -15
  400. package/__cjs/utilities/{caching → internal}/getMemoryInternals.cjs +1 -3
  401. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -0
  402. package/__cjs/utilities/{caching → internal}/getMemoryInternals.d.cts +1 -2
  403. package/__cjs/utilities/internal/index.cjs +8 -1
  404. package/__cjs/utilities/internal/index.cjs.map +1 -1
  405. package/__cjs/utilities/internal/index.d.cts +2 -0
  406. package/__cjs/utilities/internal/index.production.cjs +11 -0
  407. package/__cjs/utilities/internal/index.production.cjs.map +1 -0
  408. package/__cjs/utilities/internal/index.production.d.cts +3 -0
  409. package/__cjs/utilities/internal/toQueryResult.cjs +13 -0
  410. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -0
  411. package/__cjs/utilities/internal/toQueryResult.d.cts +3 -0
  412. package/__cjs/utilities/invariant/index.development.cjs +1 -0
  413. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  414. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -2
  415. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  416. package/__cjs/utilities/subscriptions/relay/index.d.cts +1 -1
  417. package/__cjs/utilities/types/NoInfer.d.cts +1 -1
  418. package/__cjs/utilities/types/{OnlyRequiredProperties.cjs → VariablesOption.cjs} +1 -1
  419. package/__cjs/utilities/types/VariablesOption.cjs.map +1 -0
  420. package/__cjs/utilities/types/VariablesOption.d.cts +25 -0
  421. package/__cjs/version.cjs +1 -1
  422. package/__cjs/version.cjs.map +1 -1
  423. package/__cjs/version.d.cts +1 -1
  424. package/cache/core/cache.d.ts +19 -19
  425. package/cache/core/cache.js +1 -1
  426. package/cache/core/cache.js.map +1 -1
  427. package/cache/core/types/Cache.d.ts +9 -16
  428. package/cache/core/types/Cache.js.map +1 -1
  429. package/cache/core/types/DataProxy.d.ts +8 -23
  430. package/cache/core/types/common.js +1 -0
  431. package/cache/core/types/common.js.map +1 -1
  432. package/cache/index.d.ts +3 -3
  433. package/cache/index.js +1 -1
  434. package/cache/index.js.map +1 -1
  435. package/cache/inmemory/entityStore.d.ts +3 -2
  436. package/cache/inmemory/entityStore.js +6 -5
  437. package/cache/inmemory/entityStore.js.map +1 -1
  438. package/cache/inmemory/fragmentRegistry.js +1 -1
  439. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  440. package/cache/inmemory/helpers.d.ts +0 -1
  441. package/cache/inmemory/helpers.js +0 -7
  442. package/cache/inmemory/helpers.js.map +1 -1
  443. package/cache/inmemory/inMemoryCache.d.ts +9 -11
  444. package/cache/inmemory/inMemoryCache.js +5 -17
  445. package/cache/inmemory/inMemoryCache.js.map +1 -1
  446. package/cache/inmemory/policies.d.ts +1 -1
  447. package/cache/inmemory/policies.js +5 -5
  448. package/cache/inmemory/policies.js.map +1 -1
  449. package/cache/inmemory/reactiveVars.d.ts +7 -7
  450. package/cache/inmemory/reactiveVars.js.map +1 -1
  451. package/cache/inmemory/readFromStore.d.ts +1 -6
  452. package/cache/inmemory/readFromStore.js +12 -54
  453. package/cache/inmemory/readFromStore.js.map +1 -1
  454. package/cache/inmemory/types.d.ts +3 -17
  455. package/cache/inmemory/writeToStore.d.ts +2 -2
  456. package/cache/inmemory/writeToStore.js +4 -4
  457. package/cache/inmemory/writeToStore.js.map +1 -1
  458. package/config/jest/areCombinedGraphQLErrorsEqual.js +6 -4
  459. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +1 -1
  460. package/config/jest/areCombinedProtocolErrorsEqual.js +3 -3
  461. package/config/jest/areCombinedProtocolErrorsEqual.js.map +1 -1
  462. package/config/jest/areMissingFieldErrorsEqual.js +2 -3
  463. package/config/jest/areMissingFieldErrorsEqual.js.map +1 -1
  464. package/config/jest/areServerErrorsEqual.d.ts +3 -0
  465. package/config/jest/areServerErrorsEqual.js +18 -0
  466. package/config/jest/areServerErrorsEqual.js.map +1 -0
  467. package/config/jest/resolver.js +12 -1
  468. package/config/jest/resolver.js.map +1 -1
  469. package/config/jest/setup.js +19 -2
  470. package/config/jest/setup.js.map +1 -1
  471. package/core/ApolloClient.d.ts +36 -26
  472. package/core/ApolloClient.js +36 -19
  473. package/core/ApolloClient.js.map +1 -1
  474. package/core/LocalState.d.ts +6 -6
  475. package/core/LocalState.js +2 -2
  476. package/core/LocalState.js.map +1 -1
  477. package/core/ObservableQuery.d.ts +156 -17
  478. package/core/ObservableQuery.js +267 -102
  479. package/core/ObservableQuery.js.map +1 -1
  480. package/core/QueryInfo.d.ts +2 -11
  481. package/core/QueryInfo.js +12 -86
  482. package/core/QueryInfo.js.map +1 -1
  483. package/core/QueryManager.d.ts +32 -21
  484. package/core/QueryManager.js +151 -107
  485. package/core/QueryManager.js.map +1 -1
  486. package/core/index.d.ts +12 -11
  487. package/core/index.js +9 -6
  488. package/core/index.js.map +1 -1
  489. package/core/types.d.ts +60 -7
  490. package/core/watchQueryOptions.d.ts +32 -119
  491. package/errors/CombinedGraphQLErrors.d.ts +21 -2
  492. package/errors/CombinedGraphQLErrors.js +30 -11
  493. package/errors/CombinedGraphQLErrors.js.map +1 -1
  494. package/errors/CombinedProtocolErrors.d.ts +9 -0
  495. package/errors/CombinedProtocolErrors.js +13 -6
  496. package/errors/CombinedProtocolErrors.js.map +1 -1
  497. package/errors/LinkError.d.ts +14 -0
  498. package/errors/LinkError.js +16 -0
  499. package/errors/LinkError.js.map +1 -0
  500. package/errors/ServerError.d.ts +2 -0
  501. package/errors/ServerError.js +6 -0
  502. package/errors/ServerError.js.map +1 -1
  503. package/errors/ServerParseError.d.ts +2 -0
  504. package/errors/ServerParseError.js +6 -0
  505. package/errors/ServerParseError.js.map +1 -1
  506. package/errors/UnconventionalError.d.ts +2 -0
  507. package/errors/UnconventionalError.js +6 -0
  508. package/errors/UnconventionalError.js.map +1 -1
  509. package/errors/index.d.ts +2 -3
  510. package/errors/index.js +13 -1
  511. package/errors/index.js.map +1 -1
  512. package/errors/isErrorLike.d.ts +3 -0
  513. package/errors/isErrorLike.js +9 -0
  514. package/errors/isErrorLike.js.map +1 -0
  515. package/errors/utils.d.ts +3 -0
  516. package/errors/utils.js +14 -0
  517. package/errors/utils.js.map +1 -0
  518. package/invariantErrorCodes.js +121 -122
  519. package/legacyEntryPoints/testing/internal/index.d.ts +1 -0
  520. package/legacyEntryPoints/testing/internal/index.js +1 -0
  521. package/legacyEntryPoints/testing/internal/internal.cjs +1 -0
  522. package/legacyEntryPoints/testing/internal/internal.d.cts +1 -0
  523. package/link/batch/batching.js +1 -1
  524. package/link/batch/batching.js.map +1 -1
  525. package/link/batch/index.d.ts +2 -1
  526. package/link/batch/index.js +1 -1
  527. package/link/batch/index.js.map +1 -1
  528. package/link/batch-http/index.d.ts +1 -1
  529. package/link/batch-http/index.js +1 -1
  530. package/link/batch-http/index.js.map +1 -1
  531. package/link/context/index.d.ts +1 -1
  532. package/link/context/index.js.map +1 -1
  533. package/link/core/ApolloLink.d.ts +1 -3
  534. package/link/core/ApolloLink.js +2 -20
  535. package/link/core/ApolloLink.js.map +1 -1
  536. package/link/core/index.d.ts +1 -1
  537. package/link/core/index.js.map +1 -1
  538. package/link/core/types.d.ts +1 -1
  539. package/link/error/index.d.ts +4 -15
  540. package/link/error/index.js +14 -29
  541. package/link/error/index.js.map +1 -1
  542. package/link/http/checkFetcher.js +1 -1
  543. package/link/http/createHttpLink.js +1 -1
  544. package/link/http/parseAndCheckHttpResponse.js +4 -3
  545. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  546. package/link/http/serializeFetchParameter.js +1 -1
  547. package/link/persisted-queries/index.d.ts +2 -2
  548. package/link/persisted-queries/index.js +3 -3
  549. package/link/persisted-queries/index.js.map +1 -1
  550. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  551. package/link/retry/index.d.ts +1 -1
  552. package/link/retry/index.js +1 -1
  553. package/link/retry/index.js.map +1 -1
  554. package/link/subscriptions/index.js +3 -1
  555. package/link/subscriptions/index.js.map +1 -1
  556. package/link/utils/validateOperation.js +1 -1
  557. package/masking/maskDefinition.d.ts +1 -1
  558. package/masking/maskDefinition.js +2 -2
  559. package/masking/maskDefinition.js.map +1 -1
  560. package/masking/maskFragment.d.ts +2 -2
  561. package/masking/maskFragment.js +2 -2
  562. package/masking/maskFragment.js.map +1 -1
  563. package/masking/maskOperation.d.ts +2 -2
  564. package/masking/maskOperation.js +1 -1
  565. package/masking/maskOperation.js.map +1 -1
  566. package/masking/utils.js +1 -1
  567. package/package.json +58 -56
  568. package/react/context/ApolloConsumer.d.ts +7 -4
  569. package/react/context/ApolloConsumer.js +2 -2
  570. package/react/context/ApolloConsumer.js.map +1 -1
  571. package/react/context/ApolloContext.d.ts +4 -4
  572. package/react/context/ApolloContext.js +2 -2
  573. package/react/context/ApolloContext.js.map +1 -1
  574. package/react/context/ApolloProvider.d.ts +7 -5
  575. package/react/context/ApolloProvider.js +2 -2
  576. package/react/context/ApolloProvider.js.map +1 -1
  577. package/react/hooks/internal/__use.js +1 -1
  578. package/react/hooks/internal/__use.js.map +1 -1
  579. package/react/hooks/internal/useDeepMemo.js +3 -1
  580. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  581. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  582. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  583. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  584. package/react/hooks/internal/useRenderGuard.js +1 -1
  585. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  586. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  587. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  588. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  589. package/react/hooks/internal/wrapHook.d.ts +7 -5
  590. package/react/hooks/internal/wrapHook.js +24 -5
  591. package/react/hooks/internal/wrapHook.js.map +1 -1
  592. package/react/hooks/useApolloClient.d.ts +2 -2
  593. package/react/hooks/useApolloClient.js +2 -2
  594. package/react/hooks/useApolloClient.js.map +1 -1
  595. package/react/hooks/useBackgroundQuery.d.ts +143 -46
  596. package/react/hooks/useBackgroundQuery.js +3 -3
  597. package/react/hooks/useBackgroundQuery.js.map +1 -1
  598. package/react/hooks/useFragment.d.ts +51 -26
  599. package/react/hooks/useFragment.js +1 -1
  600. package/react/hooks/useFragment.js.map +1 -1
  601. package/react/hooks/useLazyQuery.d.ts +278 -276
  602. package/react/hooks/useLazyQuery.js +32 -31
  603. package/react/hooks/useLazyQuery.js.map +1 -1
  604. package/react/hooks/useLoadableQuery.d.ts +106 -34
  605. package/react/hooks/useLoadableQuery.js +22 -3
  606. package/react/hooks/useLoadableQuery.js.map +1 -1
  607. package/react/hooks/useMutation.d.ts +198 -4
  608. package/react/hooks/useMutation.js +15 -23
  609. package/react/hooks/useMutation.js.map +1 -1
  610. package/react/hooks/useQuery.d.ts +274 -4
  611. package/react/hooks/useQuery.js +87 -206
  612. package/react/hooks/useQuery.js.map +1 -1
  613. package/react/hooks/useQueryRefHandlers.d.ts +23 -22
  614. package/react/hooks/useQueryRefHandlers.js +1 -1
  615. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  616. package/react/hooks/useReactiveVar.d.ts +1 -1
  617. package/react/hooks/useReactiveVar.js +1 -1
  618. package/react/hooks/useReactiveVar.js.map +1 -1
  619. package/react/hooks/useReadQuery.d.ts +27 -25
  620. package/react/hooks/useReadQuery.js +1 -1
  621. package/react/hooks/useReadQuery.js.map +1 -1
  622. package/react/hooks/useSubscription.d.ts +94 -9
  623. package/react/hooks/useSubscription.js +9 -56
  624. package/react/hooks/useSubscription.js.map +1 -1
  625. package/react/hooks/useSuspenseFragment.d.ts +40 -38
  626. package/react/hooks/useSuspenseFragment.js +1 -1
  627. package/react/hooks/useSuspenseFragment.js.map +1 -1
  628. package/react/hooks/useSuspenseQuery.d.ts +199 -38
  629. package/react/hooks/useSuspenseQuery.js +6 -27
  630. package/react/hooks/useSuspenseQuery.js.map +1 -1
  631. package/react/hooks/useSyncExternalStore.js +2 -2
  632. package/react/hooks/useSyncExternalStore.js.map +1 -1
  633. package/react/index.d.ts +21 -6
  634. package/react/index.js +17 -3
  635. package/react/index.js.map +1 -1
  636. package/react/index.react-server.d.ts +19 -0
  637. package/react/index.react-server.js +45 -0
  638. package/react/index.react-server.js.map +1 -0
  639. package/react/internal/cache/FragmentReference.d.ts +3 -3
  640. package/react/internal/cache/FragmentReference.js.map +1 -1
  641. package/react/internal/cache/QueryReference.d.ts +5 -5
  642. package/react/internal/cache/QueryReference.js +3 -14
  643. package/react/internal/cache/QueryReference.js.map +1 -1
  644. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  645. package/react/internal/cache/SuspenseCache.js.map +1 -1
  646. package/react/internal/cache/getSuspenseCache.d.ts +3 -3
  647. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  648. package/react/internal/index.d.ts +2 -0
  649. package/react/internal/index.js +2 -1
  650. package/react/internal/index.js.map +1 -1
  651. package/react/internal/types.d.ts +9 -0
  652. package/react/query-preloader/createQueryPreloader.d.ts +6 -45
  653. package/react/query-preloader/createQueryPreloader.js +1 -0
  654. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  655. package/react/ssr/getDataFromTree.d.ts +12 -1
  656. package/react/ssr/getDataFromTree.js +24 -29
  657. package/react/ssr/getDataFromTree.js.map +1 -1
  658. package/react/ssr/index.d.ts +1 -1
  659. package/react/ssr/index.js +1 -1
  660. package/react/ssr/index.js.map +1 -1
  661. package/react/ssr/prerenderStatic.d.ts +122 -0
  662. package/react/ssr/prerenderStatic.js +147 -0
  663. package/react/ssr/prerenderStatic.js.map +1 -0
  664. package/react/ssr/renderToStringWithData.d.ts +5 -0
  665. package/react/ssr/renderToStringWithData.js +11 -5
  666. package/react/ssr/renderToStringWithData.js.map +1 -1
  667. package/react/ssr/useSSRQuery.d.ts +5 -0
  668. package/react/ssr/useSSRQuery.js +56 -0
  669. package/react/ssr/useSSRQuery.js.map +1 -0
  670. package/react/types/deprecated.d.ts +75 -0
  671. package/react/types/deprecated.js +2 -0
  672. package/react/types/deprecated.js.map +1 -0
  673. package/react/types/types.documentation.d.ts +6 -34
  674. package/testing/core/index.d.ts +3 -3
  675. package/testing/core/index.js +2 -2
  676. package/testing/core/index.js.map +1 -1
  677. package/testing/core/mocking/mockClient.d.ts +2 -3
  678. package/testing/core/mocking/mockClient.js +2 -3
  679. package/testing/core/mocking/mockClient.js.map +1 -1
  680. package/testing/core/mocking/mockLink.d.ts +26 -7
  681. package/testing/core/mocking/mockLink.js +117 -113
  682. package/testing/core/mocking/mockLink.js.map +1 -1
  683. package/testing/experimental/createSchemaFetch.js +2 -2
  684. package/testing/experimental/createSchemaFetch.js.map +1 -1
  685. package/testing/experimental/createTestSchema.d.ts +1 -1
  686. package/testing/experimental/createTestSchema.js.map +1 -1
  687. package/testing/index.d.ts +2 -1
  688. package/testing/index.js +1 -1
  689. package/testing/index.js.map +1 -1
  690. package/testing/internal/disposables/spyOnConsole.d.ts +0 -1
  691. package/testing/internal/disposables/spyOnConsole.js +0 -1
  692. package/testing/internal/disposables/spyOnConsole.js.map +1 -1
  693. package/testing/internal/incremental.d.ts +1 -1
  694. package/testing/internal/incremental.js.map +1 -1
  695. package/testing/internal/index.d.ts +4 -3
  696. package/testing/internal/index.js +4 -3
  697. package/testing/internal/index.js.map +1 -1
  698. package/testing/internal/renderHelpers.d.ts +3 -3
  699. package/testing/internal/renderHelpers.js.map +1 -1
  700. package/testing/internal/resetApolloContext.d.ts +10 -0
  701. package/testing/internal/resetApolloContext.js +20 -0
  702. package/testing/internal/resetApolloContext.js.map +1 -0
  703. package/testing/internal/scenarios/index.d.ts +6 -8
  704. package/testing/internal/scenarios/index.js +4 -2
  705. package/testing/internal/scenarios/index.js.map +1 -1
  706. package/testing/matchers/arrayWithLength.d.ts +3 -0
  707. package/testing/matchers/arrayWithLength.js +11 -0
  708. package/testing/matchers/arrayWithLength.js.map +1 -0
  709. package/testing/matchers/index.js +6 -18
  710. package/testing/matchers/index.js.map +1 -1
  711. package/testing/matchers/toComplete.js.map +1 -1
  712. package/testing/matchers/toEmitAnything.js.map +1 -1
  713. package/testing/matchers/toEmitError.js.map +1 -1
  714. package/testing/matchers/toEmitNext.js.map +1 -1
  715. package/testing/matchers/{toEmitValueStrict.d.ts → toEmitTypedValue.d.ts} +2 -2
  716. package/testing/matchers/{toEmitFetchResult.js → toEmitTypedValue.js} +7 -5
  717. package/testing/matchers/toEmitTypedValue.js.map +1 -0
  718. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +1 -1
  719. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
  720. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  721. package/testing/matchers/toMatchDocument.d.ts +1 -1
  722. package/testing/matchers/toMatchDocument.js.map +1 -1
  723. package/testing/matchers/toStrictEqualTyped.d.ts +3 -0
  724. package/testing/matchers/toStrictEqualTyped.js +22 -0
  725. package/testing/matchers/toStrictEqualTyped.js.map +1 -0
  726. package/testing/matchers/utils/getSerializableProperties.d.ts +2 -0
  727. package/testing/matchers/utils/getSerializableProperties.js +20 -0
  728. package/testing/matchers/utils/getSerializableProperties.js.map +1 -0
  729. package/testing/react/MockedProvider.d.ts +8 -6
  730. package/testing/react/MockedProvider.js +8 -4
  731. package/testing/react/MockedProvider.js.map +1 -1
  732. package/utilities/caching/sizes.d.ts +2 -20
  733. package/utilities/caching/sizes.js +2 -2
  734. package/utilities/caching/sizes.js.map +1 -1
  735. package/utilities/common/canonicalStringify.js +1 -1
  736. package/utilities/common/canonicalStringify.js.map +1 -1
  737. package/utilities/common/maybeDeepFreeze.d.ts +1 -0
  738. package/utilities/common/maybeDeepFreeze.js +1 -0
  739. package/utilities/common/maybeDeepFreeze.js.map +1 -1
  740. package/utilities/common/mergeOptions.d.ts +1 -1
  741. package/utilities/common/mergeOptions.js.map +1 -1
  742. package/utilities/graphql/getFromAST.d.ts +2 -2
  743. package/utilities/graphql/getFromAST.js +15 -6
  744. package/utilities/graphql/getFromAST.js.map +1 -1
  745. package/utilities/graphql/operations.d.ts +1 -1
  746. package/utilities/graphql/operations.js.map +1 -1
  747. package/utilities/graphql/print.js +1 -1
  748. package/utilities/graphql/print.js.map +1 -1
  749. package/utilities/graphql/storeUtils.js +1 -1
  750. package/utilities/graphql/transform.js +2 -2
  751. package/utilities/index.d.ts +16 -15
  752. package/utilities/index.js +12 -12
  753. package/utilities/index.js.map +1 -1
  754. package/utilities/{caching → internal}/getMemoryInternals.d.ts +0 -1
  755. package/utilities/{caching → internal}/getMemoryInternals.js +1 -3
  756. package/utilities/internal/getMemoryInternals.js.map +1 -0
  757. package/utilities/internal/index.d.ts +2 -0
  758. package/utilities/internal/index.js +2 -0
  759. package/utilities/internal/index.js.map +1 -1
  760. package/utilities/internal/index.production.d.ts +3 -0
  761. package/utilities/internal/index.production.js +7 -0
  762. package/utilities/internal/index.production.js.map +1 -0
  763. package/utilities/internal/toQueryResult.d.ts +3 -0
  764. package/utilities/internal/toQueryResult.js +10 -0
  765. package/utilities/internal/toQueryResult.js.map +1 -0
  766. package/utilities/invariant/index.development.js +1 -0
  767. package/utilities/invariant/index.development.js.map +1 -1
  768. package/utilities/subscriptions/relay/index.d.ts +1 -1
  769. package/utilities/subscriptions/relay/index.js +1 -1
  770. package/utilities/subscriptions/relay/index.js.map +1 -1
  771. package/utilities/types/NoInfer.d.ts +1 -1
  772. package/utilities/types/VariablesOption.d.ts +25 -0
  773. package/utilities/types/VariablesOption.js +2 -0
  774. package/utilities/types/VariablesOption.js.map +1 -0
  775. package/version.d.ts +1 -1
  776. package/version.js +1 -1
  777. package/version.js.map +1 -1
  778. package/__cjs/cache/inmemory/fixPolyfills.cjs +0 -10
  779. package/__cjs/cache/inmemory/fixPolyfills.cjs.map +0 -1
  780. package/__cjs/cache/inmemory/fixPolyfills.d.cts +0 -2
  781. package/__cjs/cache/inmemory/fixPolyfills.native.cjs +0 -53
  782. package/__cjs/cache/inmemory/fixPolyfills.native.cjs.map +0 -1
  783. package/__cjs/cache/inmemory/fixPolyfills.native.d.cts +0 -2
  784. package/__cjs/cache/inmemory/object-canon.cjs +0 -180
  785. package/__cjs/cache/inmemory/object-canon.cjs.map +0 -1
  786. package/__cjs/cache/inmemory/object-canon.d.cts +0 -12
  787. package/__cjs/index.cjs +0 -8
  788. package/__cjs/index.cjs.map +0 -1
  789. package/__cjs/index.d.cts +0 -3
  790. package/__cjs/link/http/iterators/async.cjs +0 -19
  791. package/__cjs/link/http/iterators/async.cjs.map +0 -1
  792. package/__cjs/link/http/iterators/async.d.cts +0 -6
  793. package/__cjs/link/http/iterators/nodeStream.cjs +0 -75
  794. package/__cjs/link/http/iterators/nodeStream.cjs.map +0 -1
  795. package/__cjs/link/http/iterators/nodeStream.d.cts +0 -7
  796. package/__cjs/link/http/iterators/promise.cjs +0 -32
  797. package/__cjs/link/http/iterators/promise.cjs.map +0 -1
  798. package/__cjs/link/http/iterators/promise.d.cts +0 -6
  799. package/__cjs/link/http/iterators/reader.cjs +0 -19
  800. package/__cjs/link/http/iterators/reader.cjs.map +0 -1
  801. package/__cjs/link/http/iterators/reader.d.cts +0 -6
  802. package/__cjs/link/http/responseIterator.cjs +0 -50
  803. package/__cjs/link/http/responseIterator.cjs.map +0 -1
  804. package/__cjs/link/http/responseIterator.d.cts +0 -7
  805. package/__cjs/react/context/index.cjs +0 -10
  806. package/__cjs/react/context/index.cjs.map +0 -1
  807. package/__cjs/react/context/index.d.cts +0 -7
  808. package/__cjs/react/hooks/index.cjs +0 -27
  809. package/__cjs/react/hooks/index.cjs.map +0 -1
  810. package/__cjs/react/hooks/index.d.cts +0 -22
  811. package/__cjs/react/parser/index.cjs +0 -115
  812. package/__cjs/react/parser/index.cjs.map +0 -1
  813. package/__cjs/react/parser/index.d.cts +0 -18
  814. package/__cjs/react/ssr/RenderPromises.cjs +0 -104
  815. package/__cjs/react/ssr/RenderPromises.cjs.map +0 -1
  816. package/__cjs/react/ssr/RenderPromises.d.cts +0 -22
  817. package/__cjs/react/types/types.d.cts +0 -689
  818. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs +0 -40
  819. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs.map +0 -1
  820. package/__cjs/testing/matchers/toEmitApolloQueryResult.d.cts +0 -8
  821. package/__cjs/testing/matchers/toEmitFetchResult.cjs.map +0 -1
  822. package/__cjs/testing/matchers/toEmitFetchResult.d.cts +0 -8
  823. package/__cjs/testing/matchers/toEmitMatchedValue.cjs +0 -40
  824. package/__cjs/testing/matchers/toEmitMatchedValue.cjs.map +0 -1
  825. package/__cjs/testing/matchers/toEmitMatchedValue.d.cts +0 -7
  826. package/__cjs/testing/matchers/toEmitValue.cjs +0 -41
  827. package/__cjs/testing/matchers/toEmitValue.cjs.map +0 -1
  828. package/__cjs/testing/matchers/toEmitValue.d.cts +0 -4
  829. package/__cjs/testing/matchers/toEmitValueStrict.cjs +0 -46
  830. package/__cjs/testing/matchers/toEmitValueStrict.cjs.map +0 -1
  831. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs +0 -24
  832. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs.map +0 -1
  833. package/__cjs/testing/matchers/toEqualApolloQueryResult.d.cts +0 -6
  834. package/__cjs/testing/matchers/toEqualFetchResult.cjs +0 -24
  835. package/__cjs/testing/matchers/toEqualFetchResult.cjs.map +0 -1
  836. package/__cjs/testing/matchers/toEqualFetchResult.d.cts +0 -4
  837. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs +0 -40
  838. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs.map +0 -1
  839. package/__cjs/testing/matchers/toEqualLazyQueryResult.d.cts +0 -10
  840. package/__cjs/testing/matchers/toEqualQueryResult.cjs +0 -40
  841. package/__cjs/testing/matchers/toEqualQueryResult.cjs.map +0 -1
  842. package/__cjs/testing/matchers/toEqualQueryResult.d.cts +0 -9
  843. package/__cjs/utilities/caching/getMemoryInternals.cjs.map +0 -1
  844. package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
  845. package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
  846. package/__cjs/utilities/types/TODO.cjs.map +0 -1
  847. package/__cjs/utilities/types/TODO.d.cts +0 -3
  848. package/cache/inmemory/fixPolyfills.d.ts +0 -2
  849. package/cache/inmemory/fixPolyfills.js +0 -10
  850. package/cache/inmemory/fixPolyfills.js.map +0 -1
  851. package/cache/inmemory/fixPolyfills.native.d.ts +0 -2
  852. package/cache/inmemory/fixPolyfills.native.js +0 -53
  853. package/cache/inmemory/fixPolyfills.native.js.map +0 -1
  854. package/cache/inmemory/object-canon.d.ts +0 -12
  855. package/cache/inmemory/object-canon.js +0 -176
  856. package/cache/inmemory/object-canon.js.map +0 -1
  857. package/index.d.ts +0 -3
  858. package/index.js +0 -3
  859. package/index.js.map +0 -1
  860. package/legacyEntryPoints/react/context/context.cjs +0 -1
  861. package/legacyEntryPoints/react/context/context.d.cts +0 -1
  862. package/legacyEntryPoints/react/context/index.d.ts +0 -1
  863. package/legacyEntryPoints/react/context/index.js +0 -1
  864. package/legacyEntryPoints/react/hooks/hooks.cjs +0 -1
  865. package/legacyEntryPoints/react/hooks/hooks.d.cts +0 -1
  866. package/legacyEntryPoints/react/hooks/index.d.ts +0 -1
  867. package/legacyEntryPoints/react/hooks/index.js +0 -1
  868. package/legacyEntryPoints/react/parser/index.d.ts +0 -1
  869. package/legacyEntryPoints/react/parser/index.js +0 -1
  870. package/legacyEntryPoints/react/parser/parser.cjs +0 -1
  871. package/legacyEntryPoints/react/parser/parser.d.cts +0 -1
  872. package/link/http/iterators/async.d.ts +0 -6
  873. package/link/http/iterators/async.js +0 -16
  874. package/link/http/iterators/async.js.map +0 -1
  875. package/link/http/iterators/nodeStream.d.ts +0 -7
  876. package/link/http/iterators/nodeStream.js +0 -72
  877. package/link/http/iterators/nodeStream.js.map +0 -1
  878. package/link/http/iterators/promise.d.ts +0 -6
  879. package/link/http/iterators/promise.js +0 -29
  880. package/link/http/iterators/promise.js.map +0 -1
  881. package/link/http/iterators/reader.d.ts +0 -6
  882. package/link/http/iterators/reader.js +0 -16
  883. package/link/http/iterators/reader.js.map +0 -1
  884. package/link/http/responseIterator.d.ts +0 -7
  885. package/link/http/responseIterator.js +0 -46
  886. package/link/http/responseIterator.js.map +0 -1
  887. package/react/context/index.d.ts +0 -7
  888. package/react/context/index.js +0 -4
  889. package/react/context/index.js.map +0 -1
  890. package/react/hooks/index.d.ts +0 -22
  891. package/react/hooks/index.js +0 -15
  892. package/react/hooks/index.js.map +0 -1
  893. package/react/parser/index.d.ts +0 -18
  894. package/react/parser/index.js +0 -109
  895. package/react/parser/index.js.map +0 -1
  896. package/react/ssr/RenderPromises.d.ts +0 -22
  897. package/react/ssr/RenderPromises.js +0 -100
  898. package/react/ssr/RenderPromises.js.map +0 -1
  899. package/react/types/types.d.ts +0 -689
  900. package/testing/matchers/toEmitApolloQueryResult.d.ts +0 -8
  901. package/testing/matchers/toEmitApolloQueryResult.js +0 -36
  902. package/testing/matchers/toEmitApolloQueryResult.js.map +0 -1
  903. package/testing/matchers/toEmitFetchResult.d.ts +0 -8
  904. package/testing/matchers/toEmitFetchResult.js.map +0 -1
  905. package/testing/matchers/toEmitMatchedValue.d.ts +0 -7
  906. package/testing/matchers/toEmitMatchedValue.js +0 -36
  907. package/testing/matchers/toEmitMatchedValue.js.map +0 -1
  908. package/testing/matchers/toEmitValue.d.ts +0 -4
  909. package/testing/matchers/toEmitValue.js +0 -37
  910. package/testing/matchers/toEmitValue.js.map +0 -1
  911. package/testing/matchers/toEmitValueStrict.js +0 -42
  912. package/testing/matchers/toEmitValueStrict.js.map +0 -1
  913. package/testing/matchers/toEqualApolloQueryResult.d.ts +0 -6
  914. package/testing/matchers/toEqualApolloQueryResult.js +0 -20
  915. package/testing/matchers/toEqualApolloQueryResult.js.map +0 -1
  916. package/testing/matchers/toEqualFetchResult.d.ts +0 -4
  917. package/testing/matchers/toEqualFetchResult.js +0 -20
  918. package/testing/matchers/toEqualFetchResult.js.map +0 -1
  919. package/testing/matchers/toEqualLazyQueryResult.d.ts +0 -10
  920. package/testing/matchers/toEqualLazyQueryResult.js +0 -36
  921. package/testing/matchers/toEqualLazyQueryResult.js.map +0 -1
  922. package/testing/matchers/toEqualQueryResult.d.ts +0 -9
  923. package/testing/matchers/toEqualQueryResult.js +0 -36
  924. package/testing/matchers/toEqualQueryResult.js.map +0 -1
  925. package/utilities/caching/getMemoryInternals.js.map +0 -1
  926. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  927. package/utilities/types/OnlyRequiredProperties.js +0 -2
  928. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  929. package/utilities/types/TODO.d.ts +0 -3
  930. package/utilities/types/TODO.js +0 -2
  931. package/utilities/types/TODO.js.map +0 -1
  932. /package/__cjs/react/{types → internal}/types.cjs +0 -0
  933. /package/__cjs/react/{types → internal}/types.cjs.map +0 -0
  934. /package/react/{types → internal}/types.js +0 -0
  935. /package/react/{types → internal}/types.js.map +0 -0
@@ -1,7 +1,201 @@
1
1
  import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
- import type { DocumentNode } from "graphql";
3
- import type { ApolloCache, DefaultContext, OperationVariables } from "@apollo/client/core";
4
- import type { MutationHookOptions, MutationTuple, NoInfer } from "@apollo/client/react";
2
+ import type { ApolloCache, ApolloClient, DefaultContext, DocumentNode, ErrorLike, ErrorPolicy, FetchResult, InternalRefetchQueriesInclude, MaybeMasked, MutateResult, MutationFetchPolicy, MutationQueryReducersMap, MutationUpdaterFunction, OnQueryUpdated, OperationVariables, Unmasked } from "@apollo/client";
3
+ import type { NoInfer } from "@apollo/client/utilities";
4
+ import type { IgnoreModifier } from "../../cache/core/types/common.cjs";
5
+ export declare namespace useMutation {
6
+ interface Options<TData = unknown, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache> {
7
+ /**
8
+ * By providing either an object or a callback function that, when invoked after a mutation, allows you to return optimistic data and optionally skip updates via the `IGNORE` sentinel object, Apollo Client caches this temporary (and potentially incorrect) response until the mutation completes, enabling more responsive UI updates.
9
+ *
10
+ * For more information, see [Optimistic mutation results](https://www.apollographql.com/docs/react/performance/optimistic-ui/).
11
+ *
12
+ * @docGroup
13
+ *
14
+ * 3. Caching options
15
+ */
16
+ optimisticResponse?: Unmasked<NoInfer<TData>> | ((vars: TVariables, { IGNORE }: {
17
+ IGNORE: IgnoreModifier;
18
+ }) => Unmasked<NoInfer<TData>> | IgnoreModifier);
19
+ /**
20
+ * A `MutationQueryReducersMap`, which is map from query names to mutation query reducers. Briefly, this map defines how to incorporate the results of the mutation into the results of queries that are currently being watched by your application.
21
+ */
22
+ updateQueries?: MutationQueryReducersMap<TData>;
23
+ /**
24
+ * An array (or a function that _returns_ an array) that specifies which queries you want to refetch after the mutation occurs.
25
+ *
26
+ * Each array value can be either:
27
+ *
28
+ * - An object containing the `query` to execute, along with any `variables`
29
+ *
30
+ * - A string indicating the operation name of the query to refetch
31
+ *
32
+ * @docGroup
33
+ *
34
+ * 1. Operation options
35
+ */
36
+ refetchQueries?: ((result: FetchResult<Unmasked<TData>>) => InternalRefetchQueriesInclude) | InternalRefetchQueriesInclude;
37
+ /**
38
+ * If `true`, makes sure all queries included in `refetchQueries` are completed before the mutation is considered complete.
39
+ *
40
+ * The default value is `false` (queries are refetched asynchronously).
41
+ *
42
+ * @docGroup
43
+ *
44
+ * 1. Operation options
45
+ */
46
+ awaitRefetchQueries?: boolean;
47
+ /**
48
+ * A function used to update the Apollo Client cache after the mutation completes.
49
+ *
50
+ * For more information, see [Updating the cache after a mutation](https://www.apollographql.com/docs/react/data/mutations#updating-the-cache-after-a-mutation).
51
+ *
52
+ * @docGroup
53
+ *
54
+ * 3. Caching options
55
+ */
56
+ update?: MutationUpdaterFunction<TData, TVariables, TContext, TCache>;
57
+ /**
58
+ * Optional callback for intercepting queries whose cache data has been updated by the mutation, as well as any queries specified in the `refetchQueries: [...]` list passed to `client.mutate`.
59
+ *
60
+ * Returning a `Promise` from `onQueryUpdated` will cause the final mutation `Promise` to await the returned `Promise`. Returning `false` causes the query to be ignored.
61
+ *
62
+ * @docGroup
63
+ *
64
+ * 1. Operation options
65
+ */
66
+ onQueryUpdated?: OnQueryUpdated<any>;
67
+ /**
68
+ * Specifies how the mutation handles a response that returns both GraphQL errors and partial results.
69
+ *
70
+ * For details, see [GraphQL error policies](https://www.apollographql.com/docs/react/data/error-handling/#graphql-error-policies).
71
+ *
72
+ * The default value is `none`, meaning that the mutation result includes error details but _not_ partial results.
73
+ *
74
+ * @docGroup
75
+ *
76
+ * 1. Operation options
77
+ */
78
+ errorPolicy?: ErrorPolicy;
79
+ /**
80
+ * An object containing all of the GraphQL variables your mutation requires to execute.
81
+ *
82
+ * Each key in the object corresponds to a variable name, and that key's value corresponds to the variable value.
83
+ *
84
+ * @docGroup
85
+ *
86
+ * 1. Operation options
87
+ */
88
+ variables?: TVariables;
89
+ /**
90
+ * If you're using [Apollo Link](https://www.apollographql.com/docs/react/api/link/introduction/), this object is the initial value of the `context` object that's passed along your link chain.
91
+ *
92
+ * @docGroup
93
+ *
94
+ * 2. Networking options
95
+ */
96
+ context?: TContext;
97
+ /**
98
+ * Provide `no-cache` if the mutation's result should _not_ be written to the Apollo Client cache.
99
+ *
100
+ * The default value is `network-only` (which means the result _is_ written to the cache).
101
+ *
102
+ * Unlike queries, mutations _do not_ support [fetch policies](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy) besides `network-only` and `no-cache`.
103
+ *
104
+ * @docGroup
105
+ *
106
+ * 3. Caching options
107
+ */
108
+ fetchPolicy?: MutationFetchPolicy;
109
+ /**
110
+ * To avoid retaining sensitive information from mutation root field arguments, Apollo Client v3.4+ automatically clears any `ROOT_MUTATION` fields from the cache after each mutation finishes. If you need this information to remain in the cache, you can prevent the removal by passing `keepRootFields: true` to the mutation. `ROOT_MUTATION` result data are also passed to the mutation `update` function, so we recommend obtaining the results that way, rather than using this option, if possible.
111
+ */
112
+ keepRootFields?: boolean;
113
+ /**
114
+ * The instance of `ApolloClient` to use to execute the mutation.
115
+ *
116
+ * By default, the instance that's passed down via context is used, but you can provide a different instance here.
117
+ *
118
+ * @docGroup
119
+ *
120
+ * 2. Networking options
121
+ */
122
+ client?: ApolloClient;
123
+ /**
124
+ * If `true`, the in-progress mutation's associated component re-renders whenever the network status changes or a network error occurs.
125
+ *
126
+ * The default value is `true`.
127
+ *
128
+ * @docGroup
129
+ *
130
+ * 2. Networking options
131
+ */
132
+ notifyOnNetworkStatusChange?: boolean;
133
+ /**
134
+ * A callback function that's called when your mutation successfully completes with zero errors (or if `errorPolicy` is `ignore` and partial data is returned).
135
+ *
136
+ * This function is passed the mutation's result `data` and any options passed to the mutation.
137
+ *
138
+ * @docGroup
139
+ *
140
+ * 1. Operation options
141
+ */
142
+ onCompleted?: (data: MaybeMasked<TData>, clientOptions?: Options<TData, TVariables, TContext, TCache>) => void;
143
+ /**
144
+ * A callback function that's called when the mutation encounters one or more errors (unless `errorPolicy` is `ignore`).
145
+ *
146
+ * This function is passed an [`ApolloError`](https://github.com/apollographql/apollo-client/blob/d96f4578f89b933c281bb775a39503f6cdb59ee8/src/errors/index.ts#L36-L39) object that contains either a `networkError` object or a `graphQLErrors` array, depending on the error(s) that occurred, as well as any options passed the mutation.
147
+ *
148
+ * @docGroup
149
+ *
150
+ * 1. Operation options
151
+ */
152
+ onError?: (error: ErrorLike, clientOptions?: Options<TData, TVariables, TContext, TCache>) => void;
153
+ }
154
+ interface Result<TData = unknown> {
155
+ /**
156
+ * The data returned from your mutation. Can be `undefined` if `ignoreResults` is `true`.
157
+ */
158
+ data: MaybeMasked<TData> | null | undefined;
159
+ /**
160
+ * If the mutation produces one or more errors, this object contains either an array of `graphQLErrors` or a single `networkError`. Otherwise, this value is `undefined`.
161
+ *
162
+ * For more information, see [Handling operation errors](https://www.apollographql.com/docs/react/data/error-handling/).
163
+ */
164
+ error: ErrorLike | undefined;
165
+ /**
166
+ * If `true`, the mutation is currently in flight.
167
+ */
168
+ loading: boolean;
169
+ /**
170
+ * If `true`, the mutation's mutate function has been called.
171
+ */
172
+ called: boolean;
173
+ /**
174
+ * The instance of Apollo Client that executed the mutation.
175
+ *
176
+ * Can be useful for manually executing followup operations or writing data to the cache.
177
+ */
178
+ client: ApolloClient;
179
+ /**
180
+ * A function that you can call to reset the mutation's result to its initial, uncalled state.
181
+ */
182
+ reset: () => void;
183
+ }
184
+ type ResultTuple<TData, TVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache> = [
185
+ mutate: (options?: MutationFunctionOptions<TData, TVariables, TContext, TCache>) => Promise<MutateResult<MaybeMasked<TData>>>,
186
+ result: Result<TData>
187
+ ];
188
+ interface MutationFunctionOptions<TData = unknown, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache> extends Options<TData, TVariables, TContext, TCache> {
189
+ /**
190
+ * A GraphQL document, often created with `gql` from the `graphql-tag` package, that contains a single mutation inside of it.
191
+ *
192
+ * @docGroup
193
+ *
194
+ * 1. Operation options
195
+ */
196
+ mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;
197
+ }
198
+ }
5
199
  /**
6
200
  *
7
201
  *
@@ -49,5 +243,5 @@ import type { MutationHookOptions, MutationTuple, NoInfer } from "@apollo/client
49
243
  * @param options - Options to control how the mutation is executed.
50
244
  * @returns A tuple in the form of `[mutate, result]`
51
245
  */
52
- export declare function useMutation<TData = any, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>>(mutation: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: MutationHookOptions<NoInfer<TData>, NoInfer<TVariables>, TContext, TCache>): MutationTuple<TData, TVariables, TContext, TCache>;
246
+ export declare function useMutation<TData = unknown, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache>(mutation: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: useMutation.Options<NoInfer<TData>, NoInfer<TVariables>, TContext, TCache>): useMutation.ResultTuple<TData, TVariables, TContext, TCache>;
53
247
  //# sourceMappingURL=useMutation.d.cts.map
@@ -13,20 +13,13 @@ const tslib_1 = require("tslib");
13
13
  * options
14
14
  * watchQueryOptions
15
15
  * makeWatchQueryOptions
16
- * isSSRAllowed
17
- * disableNetworkFetches
18
- * renderPromises
19
- * isSyncSSR
20
16
  */
21
17
  /** */
22
18
  const equality_1 = require("@wry/equality");
23
- const React = tslib_1.__importStar(require("rehackt"));
19
+ const React = tslib_1.__importStar(require("react"));
24
20
  const rxjs_1 = require("rxjs");
25
- const core_1 = require("@apollo/client/core");
26
- const context_1 = require("@apollo/client/react/context");
27
- const parser_1 = require("@apollo/client/react/parser");
21
+ const client_1 = require("@apollo/client");
28
22
  const utilities_1 = require("@apollo/client/utilities");
29
- const utilities_2 = require("@apollo/client/utilities");
30
23
  const index_js_1 = require("./internal/index.cjs");
31
24
  const useApolloClient_js_1 = require("./useApolloClient.cjs");
32
25
  const useSyncExternalStore_js_1 = require("./useSyncExternalStore.cjs");
@@ -65,97 +58,99 @@ const lastWatchOptions = Symbol();
65
58
  * @param options - Options to control how the query is executed.
66
59
  * @returns Query result object
67
60
  */
68
- function useQuery(query, options = {}) {
61
+ function useQuery(query, ...[options]) {
62
+ "use no memo";
69
63
  return (0, index_js_1.wrapHook)("useQuery",
70
64
  // eslint-disable-next-line react-compiler/react-compiler
71
65
  useQuery_, (0, useApolloClient_js_1.useApolloClient)(options && options.client))(query, options);
72
66
  }
73
- function useQuery_(query, options) {
74
- const result = useQueryInternals(query, options);
75
- const obsQueryFields = React.useMemo(() => bindObservableMethods(result.observable), [result.observable]);
76
- return React.useMemo(() => ({ ...result, ...obsQueryFields }), [result, obsQueryFields]);
77
- }
78
- function useInternalState(client, query, options, renderPromises, makeWatchQueryOptions) {
79
- function createInternalState(previous) {
80
- (0, parser_1.verifyDocumentType)(query, parser_1.DocumentType.Query);
81
- const internalState = {
67
+ function useQuery_(query, options = {}) {
68
+ const client = (0, useApolloClient_js_1.useApolloClient)(options.client);
69
+ const { skip, ssr, ...opts } = options;
70
+ const watchQueryOptions = (0, utilities_1.mergeOptions)(client.defaultOptions.watchQuery, { ...opts, query });
71
+ if (skip) {
72
+ // When skipping, we set watchQueryOptions.fetchPolicy initially to
73
+ // "standby", but we also need/want to preserve the initial non-standby
74
+ // fetchPolicy that would have been used if not skipping.
75
+ watchQueryOptions.initialFetchPolicy =
76
+ options.initialFetchPolicy || options.fetchPolicy;
77
+ watchQueryOptions.fetchPolicy = "standby";
78
+ }
79
+ function createState(previous) {
80
+ const observable = client_1.ObservableQuery["inactiveOnCreation"].withValue(true, () => client.watchQuery(watchQueryOptions));
81
+ return {
82
82
  client,
83
83
  query,
84
- observable:
85
- // See if there is an existing observable that was used to fetch the same
86
- // data and if so, use it instead since it will contain the proper queryId
87
- // to fetch the result set. This is used during SSR.
88
- (renderPromises &&
89
- renderPromises.getSSRObservable(makeWatchQueryOptions())) ||
90
- client.watchQuery(getObsQueryOptions(void 0, client, options, makeWatchQueryOptions())),
84
+ observable,
91
85
  resultData: {
86
+ current: observable.getCurrentResult(),
92
87
  // Reuse previousData from previous InternalState (if any) to provide
93
88
  // continuity of previousData even if/when the query or client changes.
94
- previousData: previous?.resultData.current?.data,
89
+ previousData: previous?.resultData.current.data,
95
90
  },
96
91
  };
97
- return internalState;
98
92
  }
99
- let [internalState, updateInternalState] = React.useState(createInternalState);
100
- if (client !== internalState.client || query !== internalState.query) {
93
+ let [state, setState] = React.useState(createState);
94
+ if (client !== state.client || query !== state.query) {
101
95
  // If the client or query have changed, we need to create a new InternalState.
102
96
  // This will trigger a re-render with the new state, but it will also continue
103
97
  // to run the current render function to completion.
104
98
  // Since we sometimes trigger some side-effects in the render function, we
105
99
  // re-assign `state` to the new state to ensure that those side-effects are
106
100
  // triggered with the new state.
107
- const newInternalState = createInternalState(internalState);
108
- updateInternalState(newInternalState);
109
- return newInternalState;
101
+ setState((state = createState(state)));
110
102
  }
111
- return internalState;
112
- }
113
- function useQueryInternals(query, options) {
114
- const client = (0, useApolloClient_js_1.useApolloClient)(options.client);
115
- const renderPromises = React.useContext((0, context_1.getApolloContext)()).renderPromises;
116
- const isSyncSSR = !!renderPromises;
117
- const disableNetworkFetches = client.disableNetworkFetches;
118
- const ssrAllowed = options.ssr !== false && !options.skip;
119
- const makeWatchQueryOptions = createMakeWatchQueryOptions(client, query, options, isSyncSSR);
120
- const { observable, resultData } = useInternalState(client, query, options, renderPromises, makeWatchQueryOptions);
121
- const watchQueryOptions = makeWatchQueryOptions(observable);
103
+ const { observable, resultData } = state;
104
+ useInitialFetchPolicyIfNecessary(watchQueryOptions, observable);
122
105
  useResubscribeIfNecessary(resultData, // might get mutated during render
123
106
  observable, // might get mutated during render
124
- client, options, watchQueryOptions);
125
- useRegisterSSRObservable(observable, renderPromises, ssrAllowed);
126
- const result = useObservableSubscriptionResult(resultData, observable, client, options, watchQueryOptions, disableNetworkFetches, isSyncSSR);
127
- return result;
128
- }
129
- function useObservableSubscriptionResult(resultData, observable, client, options, watchQueryOptions, disableNetworkFetches, isSyncSSR) {
130
- const resultOverride = ((isSyncSSR || disableNetworkFetches) &&
131
- options.ssr === false &&
132
- !options.skip) ?
133
- // If SSR has been explicitly disabled, and this function has been called
134
- // on the server side, return the default loading state.
135
- ssrDisabledResult
136
- : options.skip || watchQueryOptions.fetchPolicy === "standby" ?
137
- // When skipping a query (ie. we're not querying for data but still want to
138
- // render children), make sure the `data` is cleared out and `loading` is
139
- // set to `false` (since we aren't loading anything).
140
- //
141
- // NOTE: We no longer think this is the correct behavior. Skipping should
142
- // not automatically set `data` to `undefined`, but instead leave the
143
- // previous data in place. In other words, skipping should not mandate that
144
- // previously received data is all of a sudden removed. Unfortunately,
145
- // changing this is breaking, so we'll have to wait until Apollo Client 4.0
146
- // to address this.
147
- skipStandbyResult
148
- : void 0;
107
+ watchQueryOptions);
108
+ const ssrDisabledOverride = (0, useSyncExternalStore_js_1.useSyncExternalStore)(() => () => { }, () => void 0, () => (ssr === false ? useQuery.ssrDisabledResult : void 0));
109
+ const resultOverride = skip || watchQueryOptions.fetchPolicy === "standby" ?
110
+ // When skipping a query (ie. we're not querying for data but still want to
111
+ // render children), make sure the `data` is cleared out and `loading` is
112
+ // set to `false` (since we aren't loading anything).
113
+ //
114
+ // NOTE: We no longer think this is the correct behavior. Skipping should
115
+ // not automatically set `data` to `undefined`, but instead leave the
116
+ // previous data in place. In other words, skipping should not mandate that
117
+ // previously received data is all of a sudden removed. Unfortunately,
118
+ // changing this is breaking, so we'll have to wait until Apollo Client 4.0
119
+ // to address this.
120
+ useQuery.skipStandbyResult
121
+ : ssrDisabledOverride;
122
+ const result = useResultSubscription(observable, resultData, resultOverride);
123
+ const obsQueryFields = React.useMemo(() => ({
124
+ refetch: observable.refetch.bind(observable),
125
+ fetchMore: observable.fetchMore.bind(observable),
126
+ updateQuery: observable.updateQuery.bind(observable),
127
+ startPolling: observable.startPolling.bind(observable),
128
+ stopPolling: observable.stopPolling.bind(observable),
129
+ subscribeToMore: observable.subscribeToMore.bind(observable),
130
+ }), [observable]);
149
131
  const previousData = resultData.previousData;
150
- const currentResultOverride = React.useMemo(() => resultOverride &&
151
- toQueryResult(resultOverride, previousData, observable, client), [client, observable, resultOverride, previousData]);
132
+ return React.useMemo(() => {
133
+ const { data, partial, ...rest } = result;
134
+ return {
135
+ data, // Ensure always defined, even if result.data is missing.
136
+ ...rest,
137
+ client: client,
138
+ observable: observable,
139
+ variables: observable.variables,
140
+ previousData,
141
+ ...obsQueryFields,
142
+ };
143
+ }, [result, client, observable, previousData, obsQueryFields]);
144
+ }
145
+ function useInitialFetchPolicyIfNecessary(watchQueryOptions, observable) {
146
+ "use no memo";
147
+ if (!watchQueryOptions.fetchPolicy) {
148
+ watchQueryOptions.fetchPolicy = observable.options.initialFetchPolicy;
149
+ }
150
+ }
151
+ function useResultSubscription(observable, resultData, resultOverride) {
152
+ "use no memo";
152
153
  return (0, useSyncExternalStore_js_1.useSyncExternalStore)(React.useCallback((handleStoreChange) => {
153
- // reference `disableNetworkFetches` here to ensure that the rules of hooks
154
- // keep it as a dependency of this effect, even though it's not used
155
- disableNetworkFetches;
156
- if (isSyncSSR) {
157
- return () => { };
158
- }
159
154
  const subscription = observable
160
155
  // We use the asapScheduler here to prevent issues with trying to
161
156
  // update in the middle of a render. `reobserve` is kicked off in the
@@ -176,7 +171,12 @@ function useObservableSubscriptionResult(resultData, observable, client, options
176
171
  (0, equality_1.equal)(previousResult.error, result.error)) {
177
172
  return;
178
173
  }
179
- setResult(result, resultData, observable, client, handleStoreChange);
174
+ if (previousResult && previousResult.data) {
175
+ // eslint-disable-next-line react-compiler/react-compiler
176
+ resultData.previousData = previousResult.data;
177
+ }
178
+ resultData.current = result;
179
+ handleStoreChange();
180
180
  });
181
181
  // Do the "unsubscribe" with a short delay.
182
182
  // This way, an existing subscription can be reused without an additional
@@ -185,16 +185,7 @@ function useObservableSubscriptionResult(resultData, observable, client, options
185
185
  return () => {
186
186
  setTimeout(() => subscription.unsubscribe());
187
187
  };
188
- }, [disableNetworkFetches, isSyncSSR, observable, resultData, client]), () => currentResultOverride || getCurrentResult(resultData, observable, client), () => currentResultOverride || getCurrentResult(resultData, observable, client));
189
- }
190
- function useRegisterSSRObservable(observable, renderPromises, ssrAllowed) {
191
- if (renderPromises && ssrAllowed) {
192
- renderPromises.registerSSRObservable(observable);
193
- if (observable.getCurrentResult().loading) {
194
- // TODO: This is a legacy API which could probably be cleaned up
195
- renderPromises.addObservableQueryPromise(observable);
196
- }
197
- }
188
+ }, [observable, resultData]), () => resultOverride || resultData.current, () => resultOverride || resultData.current);
198
189
  }
199
190
  // this hook is not compatible with any rules of React, and there's no good way to rewrite it.
200
191
  // it should stay a separate hook that will not be optimized by the compiler
@@ -202,7 +193,8 @@ function useResubscribeIfNecessary(
202
193
  /** this hook will mutate properties on `resultData` */
203
194
  resultData,
204
195
  /** this hook will mutate properties on `observable` */
205
- observable, client, options, watchQueryOptions) {
196
+ observable, watchQueryOptions) {
197
+ "use no memo";
206
198
  if (observable[lastWatchOptions] &&
207
199
  !(0, equality_1.equal)(observable[lastWatchOptions], watchQueryOptions)) {
208
200
  // Though it might be tempting to postpone this reobserve call to the
@@ -213,139 +205,28 @@ observable, client, options, watchQueryOptions) {
213
205
  // subscriptions, though it does feel less than ideal that reobserve
214
206
  // (potentially) kicks off a network request (for example, when the
215
207
  // variables have changed), which is technically a side-effect.
216
- observable.reobserve(getObsQueryOptions(observable, client, options, watchQueryOptions));
208
+ observable.reobserve(watchQueryOptions);
217
209
  // Make sure getCurrentResult returns a fresh ApolloQueryResult<TData>,
218
210
  // but save the current data as this.previousData, just like setResult
219
211
  // usually does.
220
212
  resultData.previousData =
221
- resultData.current?.data || resultData.previousData;
222
- resultData.current = void 0;
213
+ resultData.current.data || resultData.previousData;
214
+ resultData.current = observable.getCurrentResult();
223
215
  }
224
216
  observable[lastWatchOptions] = watchQueryOptions;
225
217
  }
226
- /*
227
- * A function to massage options before passing them to ObservableQuery.
228
- * This is two-step curried because we want to reuse the `make` function,
229
- * but the `observable` might differ between calls to `make`.
230
- */
231
- function createMakeWatchQueryOptions(client, query, { skip, ssr, defaultOptions,
232
- // The above options are useQuery-specific, so this ...otherOptions spread
233
- // makes otherOptions almost a WatchQueryOptions object, except for the
234
- // query property that we add below.
235
- ...otherOptions } = {}, isSyncSSR) {
236
- return (observable) => {
237
- // This Object.assign is safe because otherOptions is a fresh ...rest object
238
- // that did not exist until just now, so modifications are still allowed.
239
- const watchQueryOptions = Object.assign(otherOptions, { query });
240
- if (isSyncSSR &&
241
- (watchQueryOptions.fetchPolicy === "network-only" ||
242
- watchQueryOptions.fetchPolicy === "cache-and-network")) {
243
- // this behavior was added to react-apollo without explanation in this PR
244
- // https://github.com/apollographql/react-apollo/pull/1579
245
- watchQueryOptions.fetchPolicy = "cache-first";
246
- }
247
- if (!watchQueryOptions.variables) {
248
- watchQueryOptions.variables = {};
249
- }
250
- if (skip) {
251
- // When skipping, we set watchQueryOptions.fetchPolicy initially to
252
- // "standby", but we also need/want to preserve the initial non-standby
253
- // fetchPolicy that would have been used if not skipping.
254
- watchQueryOptions.initialFetchPolicy =
255
- watchQueryOptions.initialFetchPolicy ||
256
- watchQueryOptions.fetchPolicy ||
257
- getDefaultFetchPolicy(defaultOptions, client.defaultOptions);
258
- watchQueryOptions.fetchPolicy = "standby";
259
- }
260
- else if (!watchQueryOptions.fetchPolicy) {
261
- watchQueryOptions.fetchPolicy =
262
- observable?.options.initialFetchPolicy ||
263
- getDefaultFetchPolicy(defaultOptions, client.defaultOptions);
264
- }
265
- return watchQueryOptions;
266
- };
267
- }
268
- function getObsQueryOptions(observable, client, queryHookOptions, watchQueryOptions) {
269
- const toMerge = [];
270
- const globalDefaults = client.defaultOptions.watchQuery;
271
- if (globalDefaults)
272
- toMerge.push(globalDefaults);
273
- if (queryHookOptions.defaultOptions) {
274
- toMerge.push(queryHookOptions.defaultOptions);
275
- }
276
- // We use compact rather than mergeOptions for this part of the merge,
277
- // because we want watchQueryOptions.variables (if defined) to replace
278
- // this.observable.options.variables whole. This replacement allows
279
- // removing variables by removing them from the variables input to
280
- // useQuery. If the variables were always merged together (rather than
281
- // replaced), there would be no way to remove existing variables.
282
- // However, the variables from options.defaultOptions and globalDefaults
283
- // (if provided) should be merged, to ensure individual defaulted
284
- // variables always have values, if not otherwise defined in
285
- // observable.options or watchQueryOptions.
286
- toMerge.push((0, utilities_1.compact)(observable && observable.options, watchQueryOptions));
287
- return toMerge.reduce(utilities_2.mergeOptions);
288
- }
289
- function setResult(nextResult, resultData, observable, client, forceUpdate) {
290
- const previousResult = resultData.current;
291
- if (previousResult && previousResult.data) {
292
- resultData.previousData = previousResult.data;
293
- }
294
- resultData.current = toQueryResult(nextResult, resultData.previousData, observable, client);
295
- // Calling state.setResult always triggers an update, though some call sites
296
- // perform additional equality checks before committing to an update.
297
- forceUpdate();
298
- }
299
- function getCurrentResult(resultData, observable, client) {
300
- // Using this.result as a cache ensures getCurrentResult continues returning
301
- // the same (===) result object, unless state.setResult has been called, or
302
- // we're doing server rendering and therefore override the result below.
303
- if (!resultData.current) {
304
- setResult(observable.getCurrentResult(), resultData, observable, client, () => { });
305
- }
306
- return resultData.current;
307
- }
308
- function getDefaultFetchPolicy(queryHookDefaultOptions, clientDefaultOptions) {
309
- return (queryHookDefaultOptions?.fetchPolicy ||
310
- clientDefaultOptions?.watchQuery?.fetchPolicy ||
311
- "cache-first");
312
- }
313
- function toQueryResult(result, previousData, observable, client) {
314
- const { data, partial, ...resultWithoutPartial } = result;
315
- const queryResult = {
316
- data, // Ensure always defined, even if result.data is missing.
317
- ...resultWithoutPartial,
318
- client: client,
319
- observable: observable,
320
- variables: observable.variables,
321
- called: result !== ssrDisabledResult && result !== skipStandbyResult,
322
- previousData,
323
- };
324
- return queryResult;
325
- }
326
- const ssrDisabledResult = (0, utilities_1.maybeDeepFreeze)({
218
+ useQuery.ssrDisabledResult = (0, utilities_1.maybeDeepFreeze)({
327
219
  loading: true,
328
220
  data: void 0,
329
221
  error: void 0,
330
- networkStatus: core_1.NetworkStatus.loading,
222
+ networkStatus: client_1.NetworkStatus.loading,
331
223
  partial: true,
332
224
  });
333
- const skipStandbyResult = (0, utilities_1.maybeDeepFreeze)({
225
+ useQuery.skipStandbyResult = (0, utilities_1.maybeDeepFreeze)({
334
226
  loading: false,
335
227
  data: void 0,
336
228
  error: void 0,
337
- networkStatus: core_1.NetworkStatus.ready,
229
+ networkStatus: client_1.NetworkStatus.ready,
338
230
  partial: true,
339
231
  });
340
- function bindObservableMethods(observable) {
341
- return {
342
- refetch: observable.refetch.bind(observable),
343
- reobserve: observable.reobserve.bind(observable),
344
- fetchMore: observable.fetchMore.bind(observable),
345
- updateQuery: observable.updateQuery.bind(observable),
346
- startPolling: observable.startPolling.bind(observable),
347
- stopPolling: observable.stopPolling.bind(observable),
348
- subscribeToMore: observable.subscribeToMore.bind(observable),
349
- };
350
- }
351
232
  //# sourceMappingURL=useQuery.cjs.map