@apollo/client 4.0.0-alpha.1 → 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 (839) hide show
  1. package/.changeset/afraid-moons-arrive.md +5 -0
  2. package/.changeset/beige-mirrors-talk.md +15 -0
  3. package/.changeset/cool-kiwis-hunt.md +15 -0
  4. package/.changeset/cuddly-spiders-tie.md +5 -0
  5. package/.changeset/dirty-eagles-poke.md +5 -0
  6. package/.changeset/early-eggs-develop.md +22 -0
  7. package/.changeset/eighty-squids-fix.md +15 -0
  8. package/.changeset/eleven-kangaroos-jump.md +5 -0
  9. package/.changeset/forty-shrimps-fry.md +5 -0
  10. package/.changeset/forty-tomatoes-punch.md +5 -0
  11. package/.changeset/four-countries-clean.md +24 -0
  12. package/.changeset/four-ghosts-watch.md +5 -0
  13. package/.changeset/funny-jeans-invent.md +16 -0
  14. package/.changeset/funny-terms-deny.md +5 -0
  15. package/.changeset/fuzzy-tips-sit.md +5 -0
  16. package/.changeset/gentle-badgers-train.md +5 -0
  17. package/.changeset/giant-apes-thank.md +5 -0
  18. package/.changeset/giant-bags-share.md +5 -0
  19. package/.changeset/gorgeous-chefs-tap.md +5 -0
  20. package/.changeset/great-roses-jog.md +15 -0
  21. package/.changeset/grumpy-vans-type.md +5 -0
  22. package/.changeset/hip-vans-act.md +5 -0
  23. package/.changeset/hungry-bikes-cough.md +5 -0
  24. package/.changeset/itchy-chefs-run.md +23 -0
  25. package/.changeset/khaki-keys-deliver.md +5 -0
  26. package/.changeset/khaki-spies-work.md +11 -0
  27. package/.changeset/large-plants-know.md +5 -0
  28. package/.changeset/light-apes-rescue.md +5 -0
  29. package/.changeset/little-spoons-kick.md +7 -0
  30. package/.changeset/loud-cows-raise.md +7 -0
  31. package/.changeset/many-buses-allow.md +5 -0
  32. package/.changeset/mean-lizards-think.md +5 -0
  33. package/.changeset/nervous-fireants-bow.md +5 -0
  34. package/.changeset/nervous-goats-allow.md +5 -0
  35. package/.changeset/nice-dots-matter.md +5 -0
  36. package/.changeset/ninety-bags-bake.md +17 -0
  37. package/.changeset/odd-chicken-hide.md +17 -0
  38. package/.changeset/odd-lemons-relax.md +5 -0
  39. package/.changeset/perfect-vans-give.md +7 -0
  40. package/.changeset/poor-eels-punch.md +5 -0
  41. package/.changeset/pre.json +63 -0
  42. package/.changeset/purple-bears-flash.md +5 -0
  43. package/.changeset/real-teachers-peel.md +5 -0
  44. package/.changeset/serious-moons-juggle.md +5 -0
  45. package/.changeset/seven-dragons-repair.md +14 -0
  46. package/.changeset/shaggy-pugs-add.md +52 -0
  47. package/.changeset/short-months-complain.md +5 -0
  48. package/.changeset/slimy-chicken-melt.md +5 -0
  49. package/.changeset/slimy-maps-press.md +5 -0
  50. package/.changeset/small-buttons-rhyme.md +5 -0
  51. package/.changeset/swift-rivers-share.md +13 -0
  52. package/.changeset/tall-bikes-develop.md +5 -0
  53. package/.changeset/tame-points-work.md +11 -0
  54. package/.changeset/tender-swans-flash.md +16 -0
  55. package/.changeset/thick-books-grin.md +5 -0
  56. package/.changeset/thin-peas-hear.md +16 -0
  57. package/.changeset/tidy-pandas-punch.md +5 -0
  58. package/.changeset/tough-rockets-allow.md +5 -0
  59. package/.changeset/tricky-tables-shave.md +5 -0
  60. package/.changeset/unlucky-kiwis-sell.md +5 -0
  61. package/.changeset/warm-ties-sit.md +7 -0
  62. package/.changeset/wicked-forks-double.md +33 -0
  63. package/.changeset/young-phones-fold.md +5 -0
  64. package/.changeset/young-snails-grin.md +5 -0
  65. package/CHANGELOG.md +476 -0
  66. package/__cjs/cache/core/cache.cjs +2 -2
  67. package/__cjs/cache/core/cache.cjs.map +1 -1
  68. package/__cjs/cache/core/cache.d.cts +18 -18
  69. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  70. package/__cjs/cache/core/types/Cache.d.cts +9 -16
  71. package/__cjs/cache/core/types/DataProxy.d.cts +8 -23
  72. package/__cjs/cache/core/types/common.cjs +1 -0
  73. package/__cjs/cache/core/types/common.cjs.map +1 -1
  74. package/__cjs/cache/index.cjs +4 -4
  75. package/__cjs/cache/index.cjs.map +1 -1
  76. package/__cjs/cache/index.d.cts +3 -3
  77. package/__cjs/cache/inmemory/entityStore.cjs +9 -8
  78. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  79. package/__cjs/cache/inmemory/entityStore.d.cts +3 -2
  80. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -3
  81. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  82. package/__cjs/cache/inmemory/helpers.cjs +0 -8
  83. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  84. package/__cjs/cache/inmemory/helpers.d.cts +3 -4
  85. package/__cjs/cache/inmemory/inMemoryCache.cjs +4 -12
  86. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  87. package/__cjs/cache/inmemory/inMemoryCache.d.cts +8 -9
  88. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  89. package/__cjs/cache/inmemory/policies.cjs +9 -9
  90. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  91. package/__cjs/cache/inmemory/policies.d.cts +1 -1
  92. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  93. package/__cjs/cache/inmemory/reactiveVars.d.cts +7 -7
  94. package/__cjs/cache/inmemory/readFromStore.cjs +14 -56
  95. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  96. package/__cjs/cache/inmemory/readFromStore.d.cts +1 -6
  97. package/__cjs/cache/inmemory/types.d.cts +3 -17
  98. package/__cjs/cache/inmemory/writeToStore.cjs +8 -8
  99. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  100. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -2
  101. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +6 -4
  102. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +1 -1
  103. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +3 -3
  104. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +1 -1
  105. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +2 -3
  106. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +1 -1
  107. package/__cjs/config/jest/areServerErrorsEqual.cjs +22 -0
  108. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +1 -0
  109. package/__cjs/config/jest/areServerErrorsEqual.d.cts +3 -0
  110. package/__cjs/config/jest/resolver.cjs +11 -0
  111. package/__cjs/config/jest/resolver.cjs.map +1 -1
  112. package/__cjs/config/jest/setup.cjs +18 -1
  113. package/__cjs/config/jest/setup.cjs.map +1 -1
  114. package/__cjs/core/ApolloClient.cjs +34 -17
  115. package/__cjs/core/ApolloClient.cjs.map +1 -1
  116. package/__cjs/core/ApolloClient.d.cts +35 -25
  117. package/__cjs/core/LocalState.cjs +2 -2
  118. package/__cjs/core/LocalState.cjs.map +1 -1
  119. package/__cjs/core/LocalState.d.cts +8 -8
  120. package/__cjs/core/ObservableQuery.cjs +268 -104
  121. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  122. package/__cjs/core/ObservableQuery.d.cts +156 -17
  123. package/__cjs/core/QueryInfo.cjs +12 -86
  124. package/__cjs/core/QueryInfo.cjs.map +1 -1
  125. package/__cjs/core/QueryInfo.d.cts +2 -11
  126. package/__cjs/core/QueryManager.cjs +148 -104
  127. package/__cjs/core/QueryManager.cjs.map +1 -1
  128. package/__cjs/core/QueryManager.d.cts +45 -24
  129. package/__cjs/core/index.cjs +42 -21
  130. package/__cjs/core/index.cjs.map +1 -1
  131. package/__cjs/core/index.d.cts +12 -11
  132. package/__cjs/core/types.d.cts +60 -7
  133. package/__cjs/core/watchQueryOptions.d.cts +32 -119
  134. package/__cjs/errors/CombinedGraphQLErrors.cjs +30 -11
  135. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  136. package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
  137. package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
  138. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  139. package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
  140. package/__cjs/errors/LinkError.cjs +20 -0
  141. package/__cjs/errors/LinkError.cjs.map +1 -0
  142. package/__cjs/errors/LinkError.d.cts +14 -0
  143. package/__cjs/errors/ServerError.cjs +6 -0
  144. package/__cjs/errors/ServerError.cjs.map +1 -1
  145. package/__cjs/errors/ServerError.d.cts +2 -0
  146. package/__cjs/errors/ServerParseError.cjs +6 -0
  147. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  148. package/__cjs/errors/ServerParseError.d.cts +2 -0
  149. package/__cjs/errors/UnconventionalError.cjs +6 -0
  150. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  151. package/__cjs/errors/UnconventionalError.d.cts +2 -0
  152. package/__cjs/errors/index.cjs +19 -4
  153. package/__cjs/errors/index.cjs.map +1 -1
  154. package/__cjs/errors/index.d.cts +2 -3
  155. package/__cjs/errors/isErrorLike.cjs +12 -0
  156. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  157. package/__cjs/errors/isErrorLike.d.cts +3 -0
  158. package/__cjs/errors/utils.cjs +18 -0
  159. package/__cjs/errors/utils.cjs.map +1 -0
  160. package/__cjs/errors/utils.d.cts +3 -0
  161. package/__cjs/invariantErrorCodes.cjs +131 -138
  162. package/__cjs/link/batch/index.cjs +4 -2
  163. package/__cjs/link/batch/index.cjs.map +1 -1
  164. package/__cjs/link/batch/index.d.cts +2 -1
  165. package/__cjs/link/batch-http/index.cjs +3 -2
  166. package/__cjs/link/batch-http/index.cjs.map +1 -1
  167. package/__cjs/link/batch-http/index.d.cts +1 -1
  168. package/__cjs/link/context/index.cjs.map +1 -1
  169. package/__cjs/link/context/index.d.cts +1 -1
  170. package/__cjs/link/core/ApolloLink.cjs +2 -20
  171. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  172. package/__cjs/link/core/ApolloLink.d.cts +1 -3
  173. package/__cjs/link/core/index.cjs.map +1 -1
  174. package/__cjs/link/core/index.d.cts +1 -1
  175. package/__cjs/link/core/types.d.cts +1 -1
  176. package/__cjs/link/error/index.cjs +13 -28
  177. package/__cjs/link/error/index.cjs.map +1 -1
  178. package/__cjs/link/error/index.d.cts +4 -15
  179. package/__cjs/link/http/checkFetcher.cjs +1 -1
  180. package/__cjs/link/http/createHttpLink.cjs +1 -1
  181. package/__cjs/link/http/createHttpLink.d.cts +2 -1
  182. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  183. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  184. package/__cjs/link/persisted-queries/index.cjs +3 -3
  185. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  186. package/__cjs/link/persisted-queries/index.d.cts +14 -3
  187. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +1 -1
  188. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  189. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +10 -1
  190. package/__cjs/link/retry/index.cjs +3 -2
  191. package/__cjs/link/retry/index.cjs.map +1 -1
  192. package/__cjs/link/retry/index.d.cts +1 -1
  193. package/__cjs/link/subscriptions/index.cjs +3 -1
  194. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  195. package/__cjs/link/utils/validateOperation.cjs +1 -1
  196. package/__cjs/masking/maskDefinition.cjs +2 -2
  197. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  198. package/__cjs/masking/maskDefinition.d.cts +1 -1
  199. package/__cjs/masking/maskFragment.cjs +2 -2
  200. package/__cjs/masking/maskFragment.cjs.map +1 -1
  201. package/__cjs/masking/maskFragment.d.cts +2 -2
  202. package/__cjs/masking/maskOperation.cjs +1 -1
  203. package/__cjs/masking/maskOperation.cjs.map +1 -1
  204. package/__cjs/masking/maskOperation.d.cts +2 -2
  205. package/__cjs/masking/utils.cjs +1 -1
  206. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  207. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -1
  208. package/__cjs/react/context/ApolloConsumer.d.cts +7 -4
  209. package/__cjs/react/context/ApolloContext.cjs +1 -1
  210. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  211. package/__cjs/react/context/ApolloContext.d.cts +4 -4
  212. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  213. package/__cjs/react/context/ApolloProvider.cjs.map +1 -1
  214. package/__cjs/react/context/ApolloProvider.d.cts +7 -5
  215. package/__cjs/react/hooks/internal/__use.d.cts +3 -1
  216. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.d.cts +1 -1
  217. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  218. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  219. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  220. package/__cjs/react/hooks/internal/wrapHook.cjs +26 -5
  221. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  222. package/__cjs/react/hooks/internal/wrapHook.d.cts +7 -5
  223. package/__cjs/react/hooks/useApolloClient.cjs +2 -2
  224. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  225. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  226. package/__cjs/react/hooks/useBackgroundQuery.cjs +2 -2
  227. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  228. package/__cjs/react/hooks/useBackgroundQuery.d.cts +143 -46
  229. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  230. package/__cjs/react/hooks/useFragment.d.cts +51 -26
  231. package/__cjs/react/hooks/useLazyQuery.cjs +31 -32
  232. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  233. package/__cjs/react/hooks/useLazyQuery.d.cts +278 -276
  234. package/__cjs/react/hooks/useLoadableQuery.cjs +21 -2
  235. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  236. package/__cjs/react/hooks/useLoadableQuery.d.cts +106 -34
  237. package/__cjs/react/hooks/useMutation.cjs +14 -21
  238. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  239. package/__cjs/react/hooks/useMutation.d.cts +198 -4
  240. package/__cjs/react/hooks/useQuery.cjs +87 -206
  241. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  242. package/__cjs/react/hooks/useQuery.d.cts +274 -4
  243. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  244. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +23 -22
  245. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  246. package/__cjs/react/hooks/useReactiveVar.d.cts +1 -1
  247. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  248. package/__cjs/react/hooks/useReadQuery.d.cts +27 -25
  249. package/__cjs/react/hooks/useSubscription.cjs +9 -60
  250. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  251. package/__cjs/react/hooks/useSubscription.d.cts +94 -3
  252. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  253. package/__cjs/react/hooks/useSuspenseFragment.d.cts +40 -38
  254. package/__cjs/react/hooks/useSuspenseQuery.cjs +7 -32
  255. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  256. package/__cjs/react/hooks/useSuspenseQuery.d.cts +199 -38
  257. package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
  258. package/__cjs/react/index.cjs +35 -11
  259. package/__cjs/react/index.cjs.map +1 -1
  260. package/__cjs/react/index.d.cts +21 -6
  261. package/__cjs/react/index.react-server.cjs +1 -5
  262. package/__cjs/react/index.react-server.cjs.map +1 -1
  263. package/__cjs/react/index.react-server.d.cts +0 -1
  264. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  265. package/__cjs/react/internal/cache/FragmentReference.d.cts +3 -3
  266. package/__cjs/react/internal/cache/QueryReference.cjs +3 -14
  267. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  268. package/__cjs/react/internal/cache/QueryReference.d.cts +7 -7
  269. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  270. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  271. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  272. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +4 -4
  273. package/__cjs/react/internal/index.cjs +3 -1
  274. package/__cjs/react/internal/index.cjs.map +1 -1
  275. package/__cjs/react/internal/index.d.cts +2 -0
  276. package/__cjs/react/internal/types.d.cts +9 -0
  277. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -0
  278. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  279. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +6 -45
  280. package/__cjs/react/ssr/getDataFromTree.cjs +24 -30
  281. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  282. package/__cjs/react/ssr/getDataFromTree.d.cts +12 -1
  283. package/__cjs/react/ssr/index.cjs +3 -3
  284. package/__cjs/react/ssr/index.cjs.map +1 -1
  285. package/__cjs/react/ssr/index.d.cts +1 -1
  286. package/__cjs/react/ssr/prerenderStatic.cjs +151 -0
  287. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -0
  288. package/__cjs/react/ssr/prerenderStatic.d.cts +122 -0
  289. package/__cjs/react/ssr/renderToStringWithData.cjs +11 -5
  290. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  291. package/__cjs/react/ssr/renderToStringWithData.d.cts +5 -0
  292. package/__cjs/react/ssr/useSSRQuery.cjs +60 -0
  293. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  294. package/__cjs/react/ssr/useSSRQuery.d.cts +5 -0
  295. package/__cjs/{utilities/types/TODO.cjs → react/types/deprecated.cjs} +1 -1
  296. package/__cjs/react/types/deprecated.cjs.map +1 -0
  297. package/__cjs/react/types/deprecated.d.cts +75 -0
  298. package/__cjs/react/types/types.documentation.d.cts +6 -34
  299. package/__cjs/testing/core/index.cjs +6 -3
  300. package/__cjs/testing/core/index.cjs.map +1 -1
  301. package/__cjs/testing/core/index.d.cts +3 -3
  302. package/__cjs/testing/core/mocking/mockClient.cjs +3 -4
  303. package/__cjs/testing/core/mocking/mockClient.cjs.map +1 -1
  304. package/__cjs/testing/core/mocking/mockClient.d.cts +2 -3
  305. package/__cjs/testing/core/mocking/mockLink.cjs +118 -112
  306. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  307. package/__cjs/testing/core/mocking/mockLink.d.cts +26 -7
  308. package/__cjs/testing/experimental/createSchemaFetch.cjs +4 -4
  309. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +1 -1
  310. package/__cjs/testing/experimental/createTestSchema.cjs.map +1 -1
  311. package/__cjs/testing/experimental/createTestSchema.d.cts +1 -1
  312. package/__cjs/testing/index.cjs +13 -2
  313. package/__cjs/testing/index.cjs.map +1 -1
  314. package/__cjs/testing/index.d.cts +2 -1
  315. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -1
  316. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +1 -1
  317. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -1
  318. package/__cjs/testing/internal/disposables/withProdMode.d.cts +1 -1
  319. package/__cjs/testing/internal/incremental.cjs.map +1 -1
  320. package/__cjs/testing/internal/incremental.d.cts +4 -3
  321. package/__cjs/testing/internal/index.cjs +14 -8
  322. package/__cjs/testing/internal/index.cjs.map +1 -1
  323. package/__cjs/testing/internal/index.d.cts +4 -3
  324. package/__cjs/testing/internal/renderHelpers.cjs.map +1 -1
  325. package/__cjs/testing/internal/renderHelpers.d.cts +3 -3
  326. package/__cjs/testing/internal/resetApolloContext.cjs +24 -0
  327. package/__cjs/testing/internal/resetApolloContext.cjs.map +1 -0
  328. package/__cjs/testing/internal/resetApolloContext.d.cts +10 -0
  329. package/__cjs/testing/internal/scenarios/index.cjs +9 -7
  330. package/__cjs/testing/internal/scenarios/index.cjs.map +1 -1
  331. package/__cjs/testing/internal/scenarios/index.d.cts +14 -5
  332. package/__cjs/testing/matchers/arrayWithLength.cjs +15 -0
  333. package/__cjs/testing/matchers/arrayWithLength.cjs.map +1 -0
  334. package/__cjs/testing/matchers/arrayWithLength.d.cts +3 -0
  335. package/__cjs/testing/matchers/index.cjs +6 -18
  336. package/__cjs/testing/matchers/index.cjs.map +1 -1
  337. package/__cjs/testing/matchers/toComplete.cjs.map +1 -1
  338. package/__cjs/testing/matchers/toEmitAnything.cjs.map +1 -1
  339. package/__cjs/testing/matchers/toEmitError.cjs.map +1 -1
  340. package/__cjs/testing/matchers/toEmitNext.cjs.map +1 -1
  341. package/__cjs/testing/matchers/{toEmitFetchResult.cjs → toEmitTypedValue.cjs} +9 -7
  342. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +1 -0
  343. package/__cjs/testing/matchers/{toEmitValueStrict.d.cts → toEmitTypedValue.d.cts} +2 -2
  344. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +2 -2
  345. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +1 -1
  346. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +1 -1
  347. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  348. package/__cjs/testing/matchers/toMatchDocument.d.cts +1 -1
  349. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +26 -0
  350. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +1 -0
  351. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +3 -0
  352. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +23 -0
  353. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -0
  354. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +2 -0
  355. package/__cjs/testing/react/MockedProvider.cjs +11 -7
  356. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  357. package/__cjs/testing/react/MockedProvider.d.cts +8 -6
  358. package/__cjs/utilities/caching/sizes.cjs +2 -2
  359. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  360. package/__cjs/utilities/caching/sizes.d.cts +2 -20
  361. package/__cjs/utilities/common/errorHandling.d.cts +1 -1
  362. package/__cjs/utilities/common/mergeOptions.cjs.map +1 -1
  363. package/__cjs/utilities/common/mergeOptions.d.cts +1 -1
  364. package/__cjs/utilities/graphql/getFromAST.cjs +15 -6
  365. package/__cjs/utilities/graphql/getFromAST.cjs.map +1 -1
  366. package/__cjs/utilities/graphql/getFromAST.d.cts +2 -2
  367. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  368. package/__cjs/utilities/graphql/operations.d.cts +1 -1
  369. package/__cjs/utilities/graphql/storeUtils.cjs +1 -1
  370. package/__cjs/utilities/graphql/transform.cjs +2 -2
  371. package/__cjs/utilities/index.cjs +39 -19
  372. package/__cjs/utilities/index.cjs.map +1 -1
  373. package/__cjs/utilities/index.d.cts +16 -15
  374. package/__cjs/utilities/internal/getMemoryInternals.cjs +0 -2
  375. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  376. package/__cjs/utilities/internal/getMemoryInternals.d.cts +1 -2
  377. package/__cjs/utilities/internal/index.cjs +3 -1
  378. package/__cjs/utilities/internal/index.cjs.map +1 -1
  379. package/__cjs/utilities/internal/index.d.cts +1 -0
  380. package/__cjs/utilities/internal/index.production.cjs +1 -0
  381. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  382. package/__cjs/utilities/internal/toQueryResult.cjs +13 -0
  383. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -0
  384. package/__cjs/utilities/internal/toQueryResult.d.cts +3 -0
  385. package/__cjs/utilities/invariant/index.development.cjs +1 -0
  386. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  387. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -2
  388. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  389. package/__cjs/utilities/subscriptions/relay/index.d.cts +1 -1
  390. package/__cjs/utilities/types/NoInfer.d.cts +1 -1
  391. package/__cjs/utilities/types/{OnlyRequiredProperties.cjs → VariablesOption.cjs} +1 -1
  392. package/__cjs/utilities/types/VariablesOption.cjs.map +1 -0
  393. package/__cjs/utilities/types/VariablesOption.d.cts +25 -0
  394. package/__cjs/version.cjs +1 -1
  395. package/__cjs/version.cjs.map +1 -1
  396. package/__cjs/version.d.cts +1 -1
  397. package/cache/core/cache.d.ts +18 -18
  398. package/cache/core/cache.js +1 -1
  399. package/cache/core/cache.js.map +1 -1
  400. package/cache/core/types/Cache.d.ts +9 -16
  401. package/cache/core/types/Cache.js.map +1 -1
  402. package/cache/core/types/DataProxy.d.ts +8 -23
  403. package/cache/core/types/common.js +1 -0
  404. package/cache/core/types/common.js.map +1 -1
  405. package/cache/index.d.ts +3 -3
  406. package/cache/index.js +1 -1
  407. package/cache/index.js.map +1 -1
  408. package/cache/inmemory/entityStore.d.ts +3 -2
  409. package/cache/inmemory/entityStore.js +9 -8
  410. package/cache/inmemory/entityStore.js.map +1 -1
  411. package/cache/inmemory/fragmentRegistry.js +1 -1
  412. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  413. package/cache/inmemory/helpers.d.ts +0 -1
  414. package/cache/inmemory/helpers.js +0 -7
  415. package/cache/inmemory/helpers.js.map +1 -1
  416. package/cache/inmemory/inMemoryCache.d.ts +8 -9
  417. package/cache/inmemory/inMemoryCache.js +4 -12
  418. package/cache/inmemory/inMemoryCache.js.map +1 -1
  419. package/cache/inmemory/key-extractor.js +1 -1
  420. package/cache/inmemory/policies.d.ts +1 -1
  421. package/cache/inmemory/policies.js +9 -9
  422. package/cache/inmemory/policies.js.map +1 -1
  423. package/cache/inmemory/reactiveVars.d.ts +7 -7
  424. package/cache/inmemory/reactiveVars.js.map +1 -1
  425. package/cache/inmemory/readFromStore.d.ts +1 -6
  426. package/cache/inmemory/readFromStore.js +14 -56
  427. package/cache/inmemory/readFromStore.js.map +1 -1
  428. package/cache/inmemory/types.d.ts +3 -17
  429. package/cache/inmemory/writeToStore.d.ts +2 -2
  430. package/cache/inmemory/writeToStore.js +8 -8
  431. package/cache/inmemory/writeToStore.js.map +1 -1
  432. package/config/jest/areCombinedGraphQLErrorsEqual.js +6 -4
  433. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +1 -1
  434. package/config/jest/areCombinedProtocolErrorsEqual.js +3 -3
  435. package/config/jest/areCombinedProtocolErrorsEqual.js.map +1 -1
  436. package/config/jest/areMissingFieldErrorsEqual.js +2 -3
  437. package/config/jest/areMissingFieldErrorsEqual.js.map +1 -1
  438. package/config/jest/areServerErrorsEqual.d.ts +3 -0
  439. package/config/jest/areServerErrorsEqual.js +18 -0
  440. package/config/jest/areServerErrorsEqual.js.map +1 -0
  441. package/config/jest/resolver.js +12 -1
  442. package/config/jest/resolver.js.map +1 -1
  443. package/config/jest/setup.js +19 -2
  444. package/config/jest/setup.js.map +1 -1
  445. package/core/ApolloClient.d.ts +35 -25
  446. package/core/ApolloClient.js +35 -18
  447. package/core/ApolloClient.js.map +1 -1
  448. package/core/LocalState.d.ts +6 -6
  449. package/core/LocalState.js +2 -2
  450. package/core/LocalState.js.map +1 -1
  451. package/core/ObservableQuery.d.ts +156 -17
  452. package/core/ObservableQuery.js +267 -102
  453. package/core/ObservableQuery.js.map +1 -1
  454. package/core/QueryInfo.d.ts +2 -11
  455. package/core/QueryInfo.js +12 -86
  456. package/core/QueryInfo.js.map +1 -1
  457. package/core/QueryManager.d.ts +32 -21
  458. package/core/QueryManager.js +151 -107
  459. package/core/QueryManager.js.map +1 -1
  460. package/core/index.d.ts +12 -11
  461. package/core/index.js +9 -6
  462. package/core/index.js.map +1 -1
  463. package/core/types.d.ts +60 -7
  464. package/core/watchQueryOptions.d.ts +32 -119
  465. package/errors/CombinedGraphQLErrors.d.ts +21 -2
  466. package/errors/CombinedGraphQLErrors.js +30 -11
  467. package/errors/CombinedGraphQLErrors.js.map +1 -1
  468. package/errors/CombinedProtocolErrors.d.ts +9 -0
  469. package/errors/CombinedProtocolErrors.js +13 -6
  470. package/errors/CombinedProtocolErrors.js.map +1 -1
  471. package/errors/LinkError.d.ts +14 -0
  472. package/errors/LinkError.js +16 -0
  473. package/errors/LinkError.js.map +1 -0
  474. package/errors/ServerError.d.ts +2 -0
  475. package/errors/ServerError.js +6 -0
  476. package/errors/ServerError.js.map +1 -1
  477. package/errors/ServerParseError.d.ts +2 -0
  478. package/errors/ServerParseError.js +6 -0
  479. package/errors/ServerParseError.js.map +1 -1
  480. package/errors/UnconventionalError.d.ts +2 -0
  481. package/errors/UnconventionalError.js +6 -0
  482. package/errors/UnconventionalError.js.map +1 -1
  483. package/errors/index.d.ts +2 -3
  484. package/errors/index.js +13 -1
  485. package/errors/index.js.map +1 -1
  486. package/errors/isErrorLike.d.ts +3 -0
  487. package/errors/isErrorLike.js +9 -0
  488. package/errors/isErrorLike.js.map +1 -0
  489. package/errors/utils.d.ts +3 -0
  490. package/errors/utils.js +14 -0
  491. package/errors/utils.js.map +1 -0
  492. package/invariantErrorCodes.js +131 -138
  493. package/legacyEntryPoints/testing/internal/index.d.ts +1 -0
  494. package/legacyEntryPoints/testing/internal/index.js +1 -0
  495. package/legacyEntryPoints/testing/internal/internal.cjs +1 -0
  496. package/legacyEntryPoints/testing/internal/internal.d.cts +1 -0
  497. package/link/batch/index.d.ts +2 -1
  498. package/link/batch/index.js +1 -1
  499. package/link/batch/index.js.map +1 -1
  500. package/link/batch-http/index.d.ts +1 -1
  501. package/link/batch-http/index.js +1 -1
  502. package/link/batch-http/index.js.map +1 -1
  503. package/link/context/index.d.ts +1 -1
  504. package/link/context/index.js.map +1 -1
  505. package/link/core/ApolloLink.d.ts +1 -3
  506. package/link/core/ApolloLink.js +2 -20
  507. package/link/core/ApolloLink.js.map +1 -1
  508. package/link/core/index.d.ts +1 -1
  509. package/link/core/index.js.map +1 -1
  510. package/link/core/types.d.ts +1 -1
  511. package/link/error/index.d.ts +4 -15
  512. package/link/error/index.js +14 -29
  513. package/link/error/index.js.map +1 -1
  514. package/link/http/checkFetcher.js +1 -1
  515. package/link/http/createHttpLink.js +1 -1
  516. package/link/http/parseAndCheckHttpResponse.js +1 -1
  517. package/link/http/serializeFetchParameter.js +1 -1
  518. package/link/persisted-queries/index.d.ts +2 -2
  519. package/link/persisted-queries/index.js +3 -3
  520. package/link/persisted-queries/index.js.map +1 -1
  521. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  522. package/link/retry/index.d.ts +1 -1
  523. package/link/retry/index.js +1 -1
  524. package/link/retry/index.js.map +1 -1
  525. package/link/subscriptions/index.js +3 -1
  526. package/link/subscriptions/index.js.map +1 -1
  527. package/link/utils/validateOperation.js +1 -1
  528. package/masking/maskDefinition.d.ts +1 -1
  529. package/masking/maskDefinition.js +2 -2
  530. package/masking/maskDefinition.js.map +1 -1
  531. package/masking/maskFragment.d.ts +2 -2
  532. package/masking/maskFragment.js +2 -2
  533. package/masking/maskFragment.js.map +1 -1
  534. package/masking/maskOperation.d.ts +2 -2
  535. package/masking/maskOperation.js +1 -1
  536. package/masking/maskOperation.js.map +1 -1
  537. package/masking/utils.js +1 -1
  538. package/package.json +20 -40
  539. package/react/context/ApolloConsumer.d.ts +7 -4
  540. package/react/context/ApolloConsumer.js +1 -1
  541. package/react/context/ApolloConsumer.js.map +1 -1
  542. package/react/context/ApolloContext.d.ts +4 -4
  543. package/react/context/ApolloContext.js +1 -1
  544. package/react/context/ApolloContext.js.map +1 -1
  545. package/react/context/ApolloProvider.d.ts +7 -5
  546. package/react/context/ApolloProvider.js +1 -1
  547. package/react/context/ApolloProvider.js.map +1 -1
  548. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  549. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  550. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  551. package/react/hooks/internal/wrapHook.d.ts +7 -5
  552. package/react/hooks/internal/wrapHook.js +24 -5
  553. package/react/hooks/internal/wrapHook.js.map +1 -1
  554. package/react/hooks/useApolloClient.d.ts +2 -2
  555. package/react/hooks/useApolloClient.js +1 -1
  556. package/react/hooks/useApolloClient.js.map +1 -1
  557. package/react/hooks/useBackgroundQuery.d.ts +143 -46
  558. package/react/hooks/useBackgroundQuery.js +2 -2
  559. package/react/hooks/useBackgroundQuery.js.map +1 -1
  560. package/react/hooks/useFragment.d.ts +51 -26
  561. package/react/hooks/useFragment.js.map +1 -1
  562. package/react/hooks/useLazyQuery.d.ts +278 -276
  563. package/react/hooks/useLazyQuery.js +30 -31
  564. package/react/hooks/useLazyQuery.js.map +1 -1
  565. package/react/hooks/useLoadableQuery.d.ts +106 -34
  566. package/react/hooks/useLoadableQuery.js +21 -2
  567. package/react/hooks/useLoadableQuery.js.map +1 -1
  568. package/react/hooks/useMutation.d.ts +198 -4
  569. package/react/hooks/useMutation.js +14 -21
  570. package/react/hooks/useMutation.js.map +1 -1
  571. package/react/hooks/useQuery.d.ts +274 -4
  572. package/react/hooks/useQuery.js +86 -205
  573. package/react/hooks/useQuery.js.map +1 -1
  574. package/react/hooks/useQueryRefHandlers.d.ts +23 -22
  575. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  576. package/react/hooks/useReactiveVar.d.ts +1 -1
  577. package/react/hooks/useReactiveVar.js.map +1 -1
  578. package/react/hooks/useReadQuery.d.ts +27 -25
  579. package/react/hooks/useReadQuery.js.map +1 -1
  580. package/react/hooks/useSubscription.d.ts +94 -9
  581. package/react/hooks/useSubscription.js +8 -56
  582. package/react/hooks/useSubscription.js.map +1 -1
  583. package/react/hooks/useSuspenseFragment.d.ts +40 -38
  584. package/react/hooks/useSuspenseFragment.js.map +1 -1
  585. package/react/hooks/useSuspenseQuery.d.ts +199 -38
  586. package/react/hooks/useSuspenseQuery.js +5 -26
  587. package/react/hooks/useSuspenseQuery.js.map +1 -1
  588. package/react/hooks/useSyncExternalStore.js +1 -1
  589. package/react/index.d.ts +21 -6
  590. package/react/index.js +17 -3
  591. package/react/index.js.map +1 -1
  592. package/react/index.react-server.d.ts +0 -1
  593. package/react/index.react-server.js +0 -1
  594. package/react/index.react-server.js.map +1 -1
  595. package/react/internal/cache/FragmentReference.d.ts +3 -3
  596. package/react/internal/cache/FragmentReference.js.map +1 -1
  597. package/react/internal/cache/QueryReference.d.ts +5 -5
  598. package/react/internal/cache/QueryReference.js +3 -14
  599. package/react/internal/cache/QueryReference.js.map +1 -1
  600. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  601. package/react/internal/cache/SuspenseCache.js.map +1 -1
  602. package/react/internal/cache/getSuspenseCache.d.ts +3 -3
  603. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  604. package/react/internal/index.d.ts +2 -0
  605. package/react/internal/index.js +2 -1
  606. package/react/internal/index.js.map +1 -1
  607. package/react/internal/types.d.ts +9 -0
  608. package/react/query-preloader/createQueryPreloader.d.ts +6 -45
  609. package/react/query-preloader/createQueryPreloader.js +1 -0
  610. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  611. package/react/ssr/getDataFromTree.d.ts +12 -1
  612. package/react/ssr/getDataFromTree.js +24 -29
  613. package/react/ssr/getDataFromTree.js.map +1 -1
  614. package/react/ssr/index.d.ts +1 -1
  615. package/react/ssr/index.js +1 -1
  616. package/react/ssr/index.js.map +1 -1
  617. package/react/ssr/prerenderStatic.d.ts +122 -0
  618. package/react/ssr/prerenderStatic.js +147 -0
  619. package/react/ssr/prerenderStatic.js.map +1 -0
  620. package/react/ssr/renderToStringWithData.d.ts +5 -0
  621. package/react/ssr/renderToStringWithData.js +11 -5
  622. package/react/ssr/renderToStringWithData.js.map +1 -1
  623. package/react/ssr/useSSRQuery.d.ts +5 -0
  624. package/react/ssr/useSSRQuery.js +56 -0
  625. package/react/ssr/useSSRQuery.js.map +1 -0
  626. package/react/types/deprecated.d.ts +75 -0
  627. package/react/types/deprecated.js +2 -0
  628. package/react/types/deprecated.js.map +1 -0
  629. package/react/types/types.documentation.d.ts +6 -34
  630. package/testing/core/index.d.ts +3 -3
  631. package/testing/core/index.js +2 -2
  632. package/testing/core/index.js.map +1 -1
  633. package/testing/core/mocking/mockClient.d.ts +2 -3
  634. package/testing/core/mocking/mockClient.js +2 -3
  635. package/testing/core/mocking/mockClient.js.map +1 -1
  636. package/testing/core/mocking/mockLink.d.ts +26 -7
  637. package/testing/core/mocking/mockLink.js +117 -113
  638. package/testing/core/mocking/mockLink.js.map +1 -1
  639. package/testing/experimental/createSchemaFetch.js +2 -2
  640. package/testing/experimental/createSchemaFetch.js.map +1 -1
  641. package/testing/experimental/createTestSchema.d.ts +1 -1
  642. package/testing/experimental/createTestSchema.js.map +1 -1
  643. package/testing/index.d.ts +2 -1
  644. package/testing/index.js +1 -1
  645. package/testing/index.js.map +1 -1
  646. package/testing/internal/disposables/spyOnConsole.d.ts +0 -1
  647. package/testing/internal/disposables/spyOnConsole.js +0 -1
  648. package/testing/internal/disposables/spyOnConsole.js.map +1 -1
  649. package/testing/internal/incremental.d.ts +1 -1
  650. package/testing/internal/incremental.js.map +1 -1
  651. package/testing/internal/index.d.ts +4 -3
  652. package/testing/internal/index.js +4 -3
  653. package/testing/internal/index.js.map +1 -1
  654. package/testing/internal/renderHelpers.d.ts +3 -3
  655. package/testing/internal/renderHelpers.js.map +1 -1
  656. package/testing/internal/resetApolloContext.d.ts +10 -0
  657. package/testing/internal/resetApolloContext.js +20 -0
  658. package/testing/internal/resetApolloContext.js.map +1 -0
  659. package/testing/internal/scenarios/index.d.ts +6 -8
  660. package/testing/internal/scenarios/index.js +4 -2
  661. package/testing/internal/scenarios/index.js.map +1 -1
  662. package/testing/matchers/arrayWithLength.d.ts +3 -0
  663. package/testing/matchers/arrayWithLength.js +11 -0
  664. package/testing/matchers/arrayWithLength.js.map +1 -0
  665. package/testing/matchers/index.js +6 -18
  666. package/testing/matchers/index.js.map +1 -1
  667. package/testing/matchers/toComplete.js.map +1 -1
  668. package/testing/matchers/toEmitAnything.js.map +1 -1
  669. package/testing/matchers/toEmitError.js.map +1 -1
  670. package/testing/matchers/toEmitNext.js.map +1 -1
  671. package/testing/matchers/{toEmitValueStrict.d.ts → toEmitTypedValue.d.ts} +2 -2
  672. package/testing/matchers/{toEmitFetchResult.js → toEmitTypedValue.js} +7 -5
  673. package/testing/matchers/toEmitTypedValue.js.map +1 -0
  674. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +1 -1
  675. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
  676. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  677. package/testing/matchers/toMatchDocument.d.ts +1 -1
  678. package/testing/matchers/toMatchDocument.js.map +1 -1
  679. package/testing/matchers/toStrictEqualTyped.d.ts +3 -0
  680. package/testing/matchers/toStrictEqualTyped.js +22 -0
  681. package/testing/matchers/toStrictEqualTyped.js.map +1 -0
  682. package/testing/matchers/utils/getSerializableProperties.d.ts +2 -0
  683. package/testing/matchers/utils/getSerializableProperties.js +20 -0
  684. package/testing/matchers/utils/getSerializableProperties.js.map +1 -0
  685. package/testing/react/MockedProvider.d.ts +8 -6
  686. package/testing/react/MockedProvider.js +8 -4
  687. package/testing/react/MockedProvider.js.map +1 -1
  688. package/utilities/caching/sizes.d.ts +2 -20
  689. package/utilities/caching/sizes.js +2 -2
  690. package/utilities/caching/sizes.js.map +1 -1
  691. package/utilities/common/mergeOptions.d.ts +1 -1
  692. package/utilities/common/mergeOptions.js.map +1 -1
  693. package/utilities/graphql/getFromAST.d.ts +2 -2
  694. package/utilities/graphql/getFromAST.js +15 -6
  695. package/utilities/graphql/getFromAST.js.map +1 -1
  696. package/utilities/graphql/operations.d.ts +1 -1
  697. package/utilities/graphql/operations.js.map +1 -1
  698. package/utilities/graphql/storeUtils.js +1 -1
  699. package/utilities/graphql/transform.js +2 -2
  700. package/utilities/index.d.ts +16 -15
  701. package/utilities/index.js +12 -12
  702. package/utilities/index.js.map +1 -1
  703. package/utilities/internal/getMemoryInternals.d.ts +0 -1
  704. package/utilities/internal/getMemoryInternals.js +0 -2
  705. package/utilities/internal/getMemoryInternals.js.map +1 -1
  706. package/utilities/internal/index.d.ts +1 -0
  707. package/utilities/internal/index.js +2 -1
  708. package/utilities/internal/index.js.map +1 -1
  709. package/utilities/internal/index.production.js +1 -0
  710. package/utilities/internal/index.production.js.map +1 -1
  711. package/utilities/internal/toQueryResult.d.ts +3 -0
  712. package/utilities/internal/toQueryResult.js +10 -0
  713. package/utilities/internal/toQueryResult.js.map +1 -0
  714. package/utilities/invariant/index.development.js +1 -0
  715. package/utilities/invariant/index.development.js.map +1 -1
  716. package/utilities/subscriptions/relay/index.d.ts +1 -1
  717. package/utilities/subscriptions/relay/index.js +1 -1
  718. package/utilities/subscriptions/relay/index.js.map +1 -1
  719. package/utilities/types/NoInfer.d.ts +1 -1
  720. package/utilities/types/VariablesOption.d.ts +25 -0
  721. package/utilities/types/VariablesOption.js +2 -0
  722. package/utilities/types/VariablesOption.js.map +1 -0
  723. package/version.d.ts +1 -1
  724. package/version.js +1 -1
  725. package/version.js.map +1 -1
  726. package/__cjs/cache/inmemory/object-canon.cjs +0 -180
  727. package/__cjs/cache/inmemory/object-canon.cjs.map +0 -1
  728. package/__cjs/cache/inmemory/object-canon.d.cts +0 -12
  729. package/__cjs/index.cjs +0 -8
  730. package/__cjs/index.cjs.map +0 -1
  731. package/__cjs/index.d.cts +0 -3
  732. package/__cjs/react/context/index.cjs +0 -10
  733. package/__cjs/react/context/index.cjs.map +0 -1
  734. package/__cjs/react/context/index.d.cts +0 -7
  735. package/__cjs/react/hooks/index.cjs +0 -27
  736. package/__cjs/react/hooks/index.cjs.map +0 -1
  737. package/__cjs/react/hooks/index.d.cts +0 -22
  738. package/__cjs/react/parser/index.cjs +0 -115
  739. package/__cjs/react/parser/index.cjs.map +0 -1
  740. package/__cjs/react/parser/index.d.cts +0 -18
  741. package/__cjs/react/ssr/RenderPromises.cjs +0 -104
  742. package/__cjs/react/ssr/RenderPromises.cjs.map +0 -1
  743. package/__cjs/react/ssr/RenderPromises.d.cts +0 -22
  744. package/__cjs/react/types/types.d.cts +0 -689
  745. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs +0 -40
  746. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs.map +0 -1
  747. package/__cjs/testing/matchers/toEmitApolloQueryResult.d.cts +0 -8
  748. package/__cjs/testing/matchers/toEmitFetchResult.cjs.map +0 -1
  749. package/__cjs/testing/matchers/toEmitFetchResult.d.cts +0 -8
  750. package/__cjs/testing/matchers/toEmitMatchedValue.cjs +0 -40
  751. package/__cjs/testing/matchers/toEmitMatchedValue.cjs.map +0 -1
  752. package/__cjs/testing/matchers/toEmitMatchedValue.d.cts +0 -7
  753. package/__cjs/testing/matchers/toEmitValue.cjs +0 -41
  754. package/__cjs/testing/matchers/toEmitValue.cjs.map +0 -1
  755. package/__cjs/testing/matchers/toEmitValue.d.cts +0 -4
  756. package/__cjs/testing/matchers/toEmitValueStrict.cjs +0 -46
  757. package/__cjs/testing/matchers/toEmitValueStrict.cjs.map +0 -1
  758. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs +0 -24
  759. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs.map +0 -1
  760. package/__cjs/testing/matchers/toEqualApolloQueryResult.d.cts +0 -6
  761. package/__cjs/testing/matchers/toEqualFetchResult.cjs +0 -24
  762. package/__cjs/testing/matchers/toEqualFetchResult.cjs.map +0 -1
  763. package/__cjs/testing/matchers/toEqualFetchResult.d.cts +0 -4
  764. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs +0 -40
  765. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs.map +0 -1
  766. package/__cjs/testing/matchers/toEqualLazyQueryResult.d.cts +0 -10
  767. package/__cjs/testing/matchers/toEqualQueryResult.cjs +0 -40
  768. package/__cjs/testing/matchers/toEqualQueryResult.cjs.map +0 -1
  769. package/__cjs/testing/matchers/toEqualQueryResult.d.cts +0 -9
  770. package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
  771. package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
  772. package/__cjs/utilities/types/TODO.cjs.map +0 -1
  773. package/__cjs/utilities/types/TODO.d.cts +0 -3
  774. package/cache/inmemory/object-canon.d.ts +0 -12
  775. package/cache/inmemory/object-canon.js +0 -176
  776. package/cache/inmemory/object-canon.js.map +0 -1
  777. package/index.d.ts +0 -3
  778. package/index.js +0 -3
  779. package/index.js.map +0 -1
  780. package/legacyEntryPoints/react/context/context.cjs +0 -1
  781. package/legacyEntryPoints/react/context/context.d.cts +0 -1
  782. package/legacyEntryPoints/react/context/index.d.ts +0 -1
  783. package/legacyEntryPoints/react/context/index.js +0 -1
  784. package/legacyEntryPoints/react/hooks/hooks.cjs +0 -1
  785. package/legacyEntryPoints/react/hooks/hooks.d.cts +0 -1
  786. package/legacyEntryPoints/react/hooks/index.d.ts +0 -1
  787. package/legacyEntryPoints/react/hooks/index.js +0 -1
  788. package/legacyEntryPoints/react/parser/index.d.ts +0 -1
  789. package/legacyEntryPoints/react/parser/index.js +0 -1
  790. package/legacyEntryPoints/react/parser/parser.cjs +0 -1
  791. package/legacyEntryPoints/react/parser/parser.d.cts +0 -1
  792. package/react/context/index.d.ts +0 -7
  793. package/react/context/index.js +0 -4
  794. package/react/context/index.js.map +0 -1
  795. package/react/hooks/index.d.ts +0 -22
  796. package/react/hooks/index.js +0 -15
  797. package/react/hooks/index.js.map +0 -1
  798. package/react/parser/index.d.ts +0 -18
  799. package/react/parser/index.js +0 -109
  800. package/react/parser/index.js.map +0 -1
  801. package/react/ssr/RenderPromises.d.ts +0 -22
  802. package/react/ssr/RenderPromises.js +0 -100
  803. package/react/ssr/RenderPromises.js.map +0 -1
  804. package/react/types/types.d.ts +0 -689
  805. package/testing/matchers/toEmitApolloQueryResult.d.ts +0 -8
  806. package/testing/matchers/toEmitApolloQueryResult.js +0 -36
  807. package/testing/matchers/toEmitApolloQueryResult.js.map +0 -1
  808. package/testing/matchers/toEmitFetchResult.d.ts +0 -8
  809. package/testing/matchers/toEmitFetchResult.js.map +0 -1
  810. package/testing/matchers/toEmitMatchedValue.d.ts +0 -7
  811. package/testing/matchers/toEmitMatchedValue.js +0 -36
  812. package/testing/matchers/toEmitMatchedValue.js.map +0 -1
  813. package/testing/matchers/toEmitValue.d.ts +0 -4
  814. package/testing/matchers/toEmitValue.js +0 -37
  815. package/testing/matchers/toEmitValue.js.map +0 -1
  816. package/testing/matchers/toEmitValueStrict.js +0 -42
  817. package/testing/matchers/toEmitValueStrict.js.map +0 -1
  818. package/testing/matchers/toEqualApolloQueryResult.d.ts +0 -6
  819. package/testing/matchers/toEqualApolloQueryResult.js +0 -20
  820. package/testing/matchers/toEqualApolloQueryResult.js.map +0 -1
  821. package/testing/matchers/toEqualFetchResult.d.ts +0 -4
  822. package/testing/matchers/toEqualFetchResult.js +0 -20
  823. package/testing/matchers/toEqualFetchResult.js.map +0 -1
  824. package/testing/matchers/toEqualLazyQueryResult.d.ts +0 -10
  825. package/testing/matchers/toEqualLazyQueryResult.js +0 -36
  826. package/testing/matchers/toEqualLazyQueryResult.js.map +0 -1
  827. package/testing/matchers/toEqualQueryResult.d.ts +0 -9
  828. package/testing/matchers/toEqualQueryResult.js +0 -36
  829. package/testing/matchers/toEqualQueryResult.js.map +0 -1
  830. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  831. package/utilities/types/OnlyRequiredProperties.js +0 -2
  832. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  833. package/utilities/types/TODO.d.ts +0 -3
  834. package/utilities/types/TODO.js +0 -2
  835. package/utilities/types/TODO.js.map +0 -1
  836. /package/__cjs/react/{types → internal}/types.cjs +0 -0
  837. /package/__cjs/react/{types → internal}/types.cjs.map +0 -0
  838. /package/react/{types → internal}/types.js +0 -0
  839. /package/react/{types → internal}/types.js.map +0 -0
@@ -1,7 +1,96 @@
1
1
  import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
2
  import type { DocumentNode } from "graphql";
3
- import type { OperationVariables } from "@apollo/client/core";
4
- import type { NoInfer, SubscriptionHookOptions } from "@apollo/client/react";
3
+ import type { ApolloClient, DefaultContext, ErrorLike, ErrorPolicy, FetchPolicy, OperationVariables } from "@apollo/client";
4
+ import type { MaybeMasked } from "@apollo/client/masking";
5
+ import type { NoInfer, VariablesOption } from "@apollo/client/utilities";
6
+ export declare namespace useSubscription {
7
+ type Options<TData = unknown, TVariables extends OperationVariables = OperationVariables> = {
8
+ /**
9
+ * How you want your component to interact with the Apollo cache. For details, see [Setting a fetch policy](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy).
10
+ */
11
+ fetchPolicy?: FetchPolicy;
12
+ /**
13
+ * Specifies the `ErrorPolicy` to be used for this operation
14
+ */
15
+ errorPolicy?: ErrorPolicy;
16
+ /**
17
+ * Determines if your subscription should be unsubscribed and subscribed again when an input to the hook (such as `subscription` or `variables`) changes.
18
+ */
19
+ shouldResubscribe?: boolean | ((options: Options<TData, TVariables>) => boolean);
20
+ /**
21
+ * An `ApolloClient` instance. By default `useSubscription` / `Subscription` uses the client passed down via context, but a different client can be passed in.
22
+ */
23
+ client?: ApolloClient;
24
+ /**
25
+ * Determines if the current subscription should be skipped. Useful if, for example, variables depend on previous queries and are not ready yet.
26
+ */
27
+ skip?: boolean;
28
+ /**
29
+ * Shared context between your component and your network interface (Apollo Link).
30
+ */
31
+ context?: DefaultContext;
32
+ /**
33
+ * Shared context between your component and your network interface (Apollo Link).
34
+ */
35
+ extensions?: Record<string, any>;
36
+ /**
37
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component completes the subscription.
38
+ *
39
+ * @since
40
+ *
41
+ * 3.7.0
42
+ */
43
+ onComplete?: () => void;
44
+ /**
45
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component receives data. The callback `options` object param consists of the current Apollo Client instance in `client`, and the received subscription data in `data`.
46
+ *
47
+ * @since
48
+ *
49
+ * 3.7.0
50
+ */
51
+ onData?: (options: OnDataOptions<TData>) => any;
52
+ /**
53
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component receives an error.
54
+ *
55
+ * @since
56
+ *
57
+ * 3.7.0
58
+ */
59
+ onError?: (error: ErrorLike) => void;
60
+ /**
61
+ * If `true`, the hook will not cause the component to rerender. This is useful when you want to control the rendering of your component yourself with logic in the `onData` and `onError` callbacks.
62
+ *
63
+ * Changing this to `true` when the hook already has `data` will reset the `data` to `undefined`.
64
+ *
65
+ * @defaultValue `false`
66
+ */
67
+ ignoreResults?: boolean;
68
+ } & VariablesOption<TVariables>;
69
+ interface Result<TData = unknown> {
70
+ /**
71
+ * A boolean that indicates whether any initial data has been returned
72
+ */
73
+ loading: boolean;
74
+ /**
75
+ * An object containing the result of your GraphQL subscription. Defaults to an empty object.
76
+ */
77
+ data?: MaybeMasked<TData>;
78
+ /**
79
+ * A runtime error with `graphQLErrors` and `networkError` properties
80
+ */
81
+ error?: ErrorLike;
82
+ restart: () => void;
83
+ }
84
+ type OnDataResult<TData = unknown> = Omit<Result<TData>, "restart">;
85
+ interface OnDataOptions<TData = unknown> {
86
+ client: ApolloClient;
87
+ data: OnDataResult<TData>;
88
+ }
89
+ interface OnSubscriptionDataOptions<TData = unknown> {
90
+ client: ApolloClient;
91
+ subscriptionData: OnDataResult<TData>;
92
+ }
93
+ }
5
94
  /**
6
95
  * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.
7
96
  *
@@ -83,11 +172,7 @@ import type { NoInfer, SubscriptionHookOptions } from "@apollo/client/react";
83
172
  * @param options - Options to control how the subscription is executed.
84
173
  * @returns Query result object
85
174
  */
86
- export declare function useSubscription<TData = any, TVariables extends OperationVariables = OperationVariables>(subscription: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: SubscriptionHookOptions<NoInfer<TData>, NoInfer<TVariables>>): {
87
- restart: () => void;
88
- loading: boolean;
89
- data?: TData | undefined;
90
- error?: import("@apollo/client/core").ErrorLike;
91
- variables?: TVariables | undefined;
92
- };
175
+ export declare function useSubscription<TData = unknown, TVariables extends OperationVariables = OperationVariables>(subscription: DocumentNode | TypedDocumentNode<TData, TVariables>, ...[options]: {} extends (TVariables) ? [
176
+ options?: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>
177
+ ] : [options: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>]): useSubscription.Result<TData>;
93
178
  //# sourceMappingURL=useSubscription.d.ts.map
@@ -1,9 +1,6 @@
1
- import { __DEV__ } from "@apollo/client/utilities/environment";
2
1
  import { equal } from "@wry/equality";
3
2
  import * as React from "react";
4
3
  import { Observable } from "rxjs";
5
- import { CombinedGraphQLErrors } from "@apollo/client/errors";
6
- import { DocumentType, verifyDocumentType } from "@apollo/client/react/parser";
7
4
  import { invariant } from "@apollo/client/utilities/invariant";
8
5
  import { useDeepMemo } from "./internal/useDeepMemo.js";
9
6
  import { useIsomorphicLayoutEffect } from "./internal/useIsomorphicLayoutEffect.js";
@@ -90,21 +87,8 @@ import { useSyncExternalStore } from "./useSyncExternalStore.js";
90
87
  * @param options - Options to control how the subscription is executed.
91
88
  * @returns Query result object
92
89
  */
93
- export function useSubscription(subscription, options = {}) {
94
- const hasIssuedDeprecationWarningRef = React.useRef(false);
90
+ export function useSubscription(subscription, ...[options = {}]) {
95
91
  const client = useApolloClient(options.client);
96
- verifyDocumentType(subscription, DocumentType.Subscription);
97
- // eslint-disable-next-line react-compiler/react-compiler
98
- if (!hasIssuedDeprecationWarningRef.current) {
99
- // eslint-disable-next-line react-compiler/react-compiler
100
- hasIssuedDeprecationWarningRef.current = true;
101
- if (options.onSubscriptionData) {
102
- __DEV__ && invariant.warn(options.onData ? 36 : 37);
103
- }
104
- if (options.onSubscriptionComplete) {
105
- __DEV__ && invariant.warn(options.onComplete ? 38 : 39);
106
- }
107
- }
108
92
  const { skip, fetchPolicy, errorPolicy, shouldResubscribe, context, extensions, ignoreResults, } = options;
109
93
  const variables = useDeepMemo(() => options.variables, [options.variables]);
110
94
  const recreate = () => createSubscription(client, subscription, variables, fetchPolicy, errorPolicy, context, extensions);
@@ -138,8 +122,7 @@ export function useSubscription(subscription, options = {}) {
138
122
  loading: fallbackLoading,
139
123
  error: void 0,
140
124
  data: void 0,
141
- variables,
142
- }), [fallbackLoading, variables]);
125
+ }), [fallbackLoading]);
143
126
  const ignoreResultsRef = React.useRef(ignoreResults);
144
127
  useIsomorphicLayoutEffect(() => {
145
128
  // We cannot reference `ignoreResults` directly in the effect below
@@ -157,22 +140,16 @@ export function useSubscription(subscription, options = {}) {
157
140
  return () => { };
158
141
  }
159
142
  let subscriptionStopped = false;
160
- const variables = observable.__.variables;
161
143
  const client = observable.__.client;
162
144
  const subscription = observable.subscribe({
163
- next(fetchResult) {
145
+ next(value) {
164
146
  if (subscriptionStopped) {
165
147
  return;
166
148
  }
167
149
  const result = {
168
150
  loading: false,
169
- // TODO: fetchResult.data can be null but SubscriptionResult.data
170
- // expects TData | undefined only
171
- data: fetchResult.data,
172
- error: fetchResult.errors ?
173
- new CombinedGraphQLErrors(fetchResult.errors)
174
- : undefined,
175
- variables,
151
+ data: value.data,
152
+ error: value.error,
176
153
  };
177
154
  observable.__.setResult(result);
178
155
  if (!ignoreResultsRef.current)
@@ -186,34 +163,10 @@ export function useSubscription(subscription, options = {}) {
186
163
  data: result,
187
164
  });
188
165
  }
189
- else if (optionsRef.current.onSubscriptionData) {
190
- optionsRef.current.onSubscriptionData({
191
- client,
192
- subscriptionData: result,
193
- });
194
- }
195
- },
196
- error(error) {
197
- if (!subscriptionStopped) {
198
- observable.__.setResult({
199
- loading: false,
200
- data: void 0,
201
- error,
202
- variables,
203
- });
204
- if (!ignoreResultsRef.current)
205
- update();
206
- optionsRef.current.onError?.(error);
207
- }
208
166
  },
209
167
  complete() {
210
- if (!subscriptionStopped) {
211
- if (optionsRef.current.onComplete) {
212
- optionsRef.current.onComplete();
213
- }
214
- else if (optionsRef.current.onSubscriptionComplete) {
215
- optionsRef.current.onSubscriptionComplete();
216
- }
168
+ if (!subscriptionStopped && optionsRef.current.onComplete) {
169
+ optionsRef.current.onComplete();
217
170
  }
218
171
  },
219
172
  });
@@ -230,7 +183,7 @@ export function useSubscription(subscription, options = {}) {
230
183
  observable.__.result
231
184
  : fallbackResult, () => fallbackResult);
232
185
  const restart = React.useCallback(() => {
233
- invariant(!optionsRef.current.skip, 40);
186
+ invariant(!optionsRef.current.skip, 36);
234
187
  setObservable(recreateRef.current());
235
188
  }, [optionsRef, recreateRef]);
236
189
  return React.useMemo(() => ({ ...ret, restart }), [ret, restart]);
@@ -251,7 +204,6 @@ function createSubscription(client, query, variables, fetchPolicy, errorPolicy,
251
204
  loading: true,
252
205
  data: void 0,
253
206
  error: void 0,
254
- variables,
255
207
  },
256
208
  setResult(result) {
257
209
  __.result = result;
@@ -1 +1 @@
1
- {"version":3,"file":"useSubscription.js","sources":["../../../src/react/hooks/useSubscription.ts"],"sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { equal } from \"@wry/equality\";\nimport type { DocumentNode } from \"graphql\";\nimport * as React from \"react\";\nimport { Observable } from \"rxjs\";\n\nimport type {\n ApolloClient,\n DefaultContext,\n ErrorPolicy,\n FetchPolicy,\n FetchResult,\n OperationVariables,\n} from \"@apollo/client/core\";\nimport { CombinedGraphQLErrors } from \"@apollo/client/errors\";\nimport type { MaybeMasked } from \"@apollo/client/masking\";\nimport type {\n NoInfer,\n SubscriptionHookOptions,\n SubscriptionResult,\n} from \"@apollo/client/react\";\nimport { DocumentType, verifyDocumentType } from \"@apollo/client/react/parser\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { useDeepMemo } from \"./internal/useDeepMemo.js\";\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\n\n/**\n * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.\n *\n * @example\n * ```jsx\n * const COMMENTS_SUBSCRIPTION = gql`\n * subscription OnCommentAdded($repoFullName: String!) {\n * commentAdded(repoFullName: $repoFullName) {\n * id\n * content\n * }\n * }\n * `;\n *\n * function DontReadTheComments({ repoFullName }) {\n * const {\n * data: { commentAdded },\n * loading,\n * } = useSubscription(COMMENTS_SUBSCRIPTION, { variables: { repoFullName } });\n * return <h4>New comment: {!loading && commentAdded.content}</h4>;\n * }\n * ```\n * @remarks\n * #### Consider using `onData` instead of `useEffect`\n *\n * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.\n * State updates you make inside a `useEffect` hook might cause additional rerenders, and `useEffect` is mostly meant for side effects of rendering, not as an event handler.\n * State updates made in an event handler like `onData` might - depending on the React version - be batched and cause only a single rerender.\n *\n * Consider the following component:\n *\n * ```jsx\n * export function Subscriptions() {\n * const { data, error, loading } = useSubscription(query);\n * const [accumulatedData, setAccumulatedData] = useState([]);\n *\n * useEffect(() => {\n * setAccumulatedData((prev) => [...prev, data]);\n * }, [data]);\n *\n * return (\n * <>\n * {loading && <p>Loading...</p>}\n * {JSON.stringify(accumulatedData, undefined, 2)}\n * </>\n * );\n * }\n * ```\n *\n * Instead of using `useEffect` here, we can re-write this component to use the `onData` callback function accepted in `useSubscription`'s `options` object:\n *\n * ```jsx\n * export function Subscriptions() {\n * const [accumulatedData, setAccumulatedData] = useState([]);\n * const { data, error, loading } = useSubscription(\n * query,\n * {\n * onData({ data }) {\n * setAccumulatedData((prev) => [...prev, data])\n * }\n * }\n * );\n *\n * return (\n * <>\n * {loading && <p>Loading...</p>}\n * {JSON.stringify(accumulatedData, undefined, 2)}\n * </>\n * );\n * }\n * ```\n *\n * > ⚠️ **Note:** The `useSubscription` option `onData` is available in Apollo Client >= 3.7. In previous versions, the equivalent option is named `onSubscriptionData`.\n *\n * Now, the first message will be added to the `accumulatedData` array since `onData` is called _before_ the component re-renders. React 18 automatic batching is still in effect and results in a single re-render, but with `onData` we can guarantee each message received after the component mounts is added to `accumulatedData`.\n *\n * @since 3.0.0\n * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.\n * @param options - Options to control how the subscription is executed.\n * @returns Query result object\n */\nexport function useSubscription<\n TData = any,\n TVariables extends OperationVariables = OperationVariables,\n>(\n subscription: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: SubscriptionHookOptions<NoInfer<TData>, NoInfer<TVariables>> = {}\n) {\n const hasIssuedDeprecationWarningRef = React.useRef(false);\n const client = useApolloClient(options.client);\n verifyDocumentType(subscription, DocumentType.Subscription);\n\n // eslint-disable-next-line react-compiler/react-compiler\n if (!hasIssuedDeprecationWarningRef.current) {\n // eslint-disable-next-line react-compiler/react-compiler\n hasIssuedDeprecationWarningRef.current = true;\n\n if (options.onSubscriptionData) {\n invariant.warn(\n options.onData ?\n \"'useSubscription' supports only the 'onSubscriptionData' or 'onData' option, but not both. Only the 'onData' option will be used.\"\n : \"'onSubscriptionData' is deprecated and will be removed in a future major version. Please use the 'onData' option instead.\"\n );\n }\n\n if (options.onSubscriptionComplete) {\n invariant.warn(\n options.onComplete ?\n \"'useSubscription' supports only the 'onSubscriptionComplete' or 'onComplete' option, but not both. Only the 'onComplete' option will be used.\"\n : \"'onSubscriptionComplete' is deprecated and will be removed in a future major version. Please use the 'onComplete' option instead.\"\n );\n }\n }\n\n const {\n skip,\n fetchPolicy,\n errorPolicy,\n shouldResubscribe,\n context,\n extensions,\n ignoreResults,\n } = options;\n const variables = useDeepMemo(() => options.variables, [options.variables]);\n\n const recreate = () =>\n createSubscription(\n client,\n subscription,\n variables,\n fetchPolicy,\n errorPolicy,\n context,\n extensions\n );\n\n let [observable, setObservable] = React.useState(\n options.skip ? null : recreate\n );\n\n const recreateRef = React.useRef(recreate);\n useIsomorphicLayoutEffect(() => {\n recreateRef.current = recreate;\n });\n\n if (skip) {\n if (observable) {\n setObservable((observable = null));\n }\n } else if (\n !observable ||\n ((client !== observable.__.client ||\n subscription !== observable.__.query ||\n fetchPolicy !== observable.__.fetchPolicy ||\n errorPolicy !== observable.__.errorPolicy ||\n !equal(variables, observable.__.variables)) &&\n (typeof shouldResubscribe === \"function\" ?\n !!shouldResubscribe(options!)\n : shouldResubscribe) !== false)\n ) {\n setObservable((observable = recreate()));\n }\n\n const optionsRef = React.useRef(options);\n React.useEffect(() => {\n optionsRef.current = options;\n });\n\n const fallbackLoading = !skip && !ignoreResults;\n const fallbackResult = React.useMemo<SubscriptionResult<TData, TVariables>>(\n () => ({\n loading: fallbackLoading,\n error: void 0,\n data: void 0,\n variables,\n }),\n [fallbackLoading, variables]\n );\n\n const ignoreResultsRef = React.useRef(ignoreResults);\n useIsomorphicLayoutEffect(() => {\n // We cannot reference `ignoreResults` directly in the effect below\n // it would add a dependency to the `useEffect` deps array, which means the\n // subscription would be recreated if `ignoreResults` changes\n // As a result, on resubscription, the last result would be re-delivered,\n // rendering the component one additional time, and re-triggering `onData`.\n // The same applies to `fetchPolicy`, which results in a new `observable`\n // being created. We cannot really avoid it in that case, but we can at least\n // avoid it for `ignoreResults`.\n ignoreResultsRef.current = ignoreResults;\n });\n\n const ret = useSyncExternalStore<SubscriptionResult<TData, TVariables>>(\n React.useCallback(\n (update) => {\n if (!observable) {\n return () => {};\n }\n\n let subscriptionStopped = false;\n const variables = observable.__.variables;\n const client = observable.__.client;\n const subscription = observable.subscribe({\n next(fetchResult) {\n if (subscriptionStopped) {\n return;\n }\n\n const result = {\n loading: false,\n // TODO: fetchResult.data can be null but SubscriptionResult.data\n // expects TData | undefined only\n data: fetchResult.data!,\n error:\n fetchResult.errors ?\n new CombinedGraphQLErrors(fetchResult.errors)\n : undefined,\n variables,\n };\n observable.__.setResult(result);\n if (!ignoreResultsRef.current) update();\n\n if (result.error) {\n optionsRef.current.onError?.(result.error);\n } else if (optionsRef.current.onData) {\n optionsRef.current.onData({\n client,\n data: result,\n });\n } else if (optionsRef.current.onSubscriptionData) {\n optionsRef.current.onSubscriptionData({\n client,\n subscriptionData: result,\n });\n }\n },\n error(error) {\n if (!subscriptionStopped) {\n observable.__.setResult({\n loading: false,\n data: void 0,\n error,\n variables,\n });\n if (!ignoreResultsRef.current) update();\n optionsRef.current.onError?.(error);\n }\n },\n complete() {\n if (!subscriptionStopped) {\n if (optionsRef.current.onComplete) {\n optionsRef.current.onComplete();\n } else if (optionsRef.current.onSubscriptionComplete) {\n optionsRef.current.onSubscriptionComplete();\n }\n }\n },\n });\n\n return () => {\n // immediately stop receiving subscription values, but do not unsubscribe\n // until after a short delay in case another useSubscription hook is\n // reusing the same underlying observable and is about to subscribe\n subscriptionStopped = true;\n setTimeout(() => {\n subscription.unsubscribe();\n });\n };\n },\n [observable]\n ),\n () =>\n observable && !skip && !ignoreResults ?\n observable.__.result\n : fallbackResult,\n () => fallbackResult\n );\n\n const restart = React.useCallback(() => {\n invariant(\n !optionsRef.current.skip,\n \"A subscription that is skipped cannot be restarted.\"\n );\n setObservable(recreateRef.current());\n }, [optionsRef, recreateRef]);\n\n return React.useMemo(() => ({ ...ret, restart }), [ret, restart]);\n}\n\nfunction createSubscription<\n TData = any,\n TVariables extends OperationVariables = OperationVariables,\n>(\n client: ApolloClient<any>,\n query: TypedDocumentNode<TData, TVariables>,\n variables: TVariables | undefined,\n fetchPolicy: FetchPolicy | undefined,\n errorPolicy: ErrorPolicy | undefined,\n context: DefaultContext | undefined,\n extensions: Record<string, any> | undefined\n) {\n const options = {\n query,\n variables,\n fetchPolicy,\n errorPolicy,\n context,\n extensions,\n };\n const __ = {\n ...options,\n client,\n result: {\n loading: true,\n data: void 0,\n error: void 0,\n variables,\n } as SubscriptionResult<TData, TVariables>,\n setResult(result: SubscriptionResult<TData, TVariables>) {\n __.result = result;\n },\n };\n\n let observable: Observable<FetchResult<MaybeMasked<TData>>> | null = null;\n return Object.assign(\n new Observable<FetchResult<MaybeMasked<TData>>>((observer) => {\n // lazily start the subscription when the first observer subscribes\n // to get around strict mode\n if (!observable) {\n observable = client.subscribe(options);\n }\n const sub = observable.subscribe(observer);\n return () => sub.unsubscribe();\n }),\n {\n /**\n * A tracking object to store details about the observable and the latest result of the subscription.\n */\n __,\n }\n );\n}\n"],"names":[],"mappings":"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AA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CA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"}
1
+ {"version":3,"file":"useSubscription.js","sources":["../../../src/react/hooks/useSubscription.ts"],"sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { equal } from \"@wry/equality\";\nimport type { DocumentNode } from \"graphql\";\nimport * as React from \"react\";\nimport { Observable } from \"rxjs\";\n\nimport type {\n ApolloClient,\n DefaultContext,\n ErrorLike,\n ErrorPolicy,\n FetchPolicy,\n OperationVariables,\n SubscribeResult,\n SubscriptionOptions,\n} from \"@apollo/client\";\nimport type { MaybeMasked } from \"@apollo/client/masking\";\nimport type { NoInfer, VariablesOption } from \"@apollo/client/utilities\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { useDeepMemo } from \"./internal/useDeepMemo.js\";\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\n\nexport declare namespace useSubscription {\n export type Options<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n > = {\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: FetchPolicy;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#shouldResubscribe:member} */\n shouldResubscribe?:\n | boolean\n | ((options: Options<TData, TVariables>) => boolean);\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#client:member} */\n client?: ApolloClient;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#skip:member} */\n skip?: boolean;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#extensions:member} */\n extensions?: Record<string, any>;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#onComplete:member} */\n onComplete?: () => void;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#onData:member} */\n onData?: (options: OnDataOptions<TData>) => any;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#onError:member} */\n onError?: (error: ErrorLike) => void;\n\n /**\n * {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#ignoreResults:member}\n * @defaultValue `false`\n */\n ignoreResults?: boolean;\n } & VariablesOption<TVariables>;\n\n export interface Result<TData = unknown> {\n /** {@inheritDoc @apollo/client!SubscriptionResultDocumentation#loading:member} */\n loading: boolean;\n\n /** {@inheritDoc @apollo/client!SubscriptionResultDocumentation#data:member} */\n data?: MaybeMasked<TData>;\n\n /** {@inheritDoc @apollo/client!SubscriptionResultDocumentation#error:member} */\n error?: ErrorLike;\n\n restart: () => void;\n }\n\n export type OnDataResult<TData = unknown> = Omit<Result<TData>, \"restart\">;\n\n export interface OnDataOptions<TData = unknown> {\n client: ApolloClient;\n data: OnDataResult<TData>;\n }\n\n export interface OnSubscriptionDataOptions<TData = unknown> {\n client: ApolloClient;\n subscriptionData: OnDataResult<TData>;\n }\n}\n\n/**\n * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.\n *\n * @example\n * ```jsx\n * const COMMENTS_SUBSCRIPTION = gql`\n * subscription OnCommentAdded($repoFullName: String!) {\n * commentAdded(repoFullName: $repoFullName) {\n * id\n * content\n * }\n * }\n * `;\n *\n * function DontReadTheComments({ repoFullName }) {\n * const {\n * data: { commentAdded },\n * loading,\n * } = useSubscription(COMMENTS_SUBSCRIPTION, { variables: { repoFullName } });\n * return <h4>New comment: {!loading && commentAdded.content}</h4>;\n * }\n * ```\n * @remarks\n * #### Consider using `onData` instead of `useEffect`\n *\n * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.\n * State updates you make inside a `useEffect` hook might cause additional rerenders, and `useEffect` is mostly meant for side effects of rendering, not as an event handler.\n * State updates made in an event handler like `onData` might - depending on the React version - be batched and cause only a single rerender.\n *\n * Consider the following component:\n *\n * ```jsx\n * export function Subscriptions() {\n * const { data, error, loading } = useSubscription(query);\n * const [accumulatedData, setAccumulatedData] = useState([]);\n *\n * useEffect(() => {\n * setAccumulatedData((prev) => [...prev, data]);\n * }, [data]);\n *\n * return (\n * <>\n * {loading && <p>Loading...</p>}\n * {JSON.stringify(accumulatedData, undefined, 2)}\n * </>\n * );\n * }\n * ```\n *\n * Instead of using `useEffect` here, we can re-write this component to use the `onData` callback function accepted in `useSubscription`'s `options` object:\n *\n * ```jsx\n * export function Subscriptions() {\n * const [accumulatedData, setAccumulatedData] = useState([]);\n * const { data, error, loading } = useSubscription(\n * query,\n * {\n * onData({ data }) {\n * setAccumulatedData((prev) => [...prev, data])\n * }\n * }\n * );\n *\n * return (\n * <>\n * {loading && <p>Loading...</p>}\n * {JSON.stringify(accumulatedData, undefined, 2)}\n * </>\n * );\n * }\n * ```\n *\n * > ⚠️ **Note:** The `useSubscription` option `onData` is available in Apollo Client >= 3.7. In previous versions, the equivalent option is named `onSubscriptionData`.\n *\n * Now, the first message will be added to the `accumulatedData` array since `onData` is called _before_ the component re-renders. React 18 automatic batching is still in effect and results in a single re-render, but with `onData` we can guarantee each message received after the component mounts is added to `accumulatedData`.\n *\n * @since 3.0.0\n * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.\n * @param options - Options to control how the subscription is executed.\n * @returns Query result object\n */\nexport function useSubscription<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n subscription: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options = {} as useSubscription.Options<TData, TVariables>]: {} extends (\n TVariables\n ) ?\n [options?: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>]\n : [options: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>]\n): useSubscription.Result<TData> {\n const client = useApolloClient(options.client);\n\n const {\n skip,\n fetchPolicy,\n errorPolicy,\n shouldResubscribe,\n context,\n extensions,\n ignoreResults,\n } = options;\n const variables = useDeepMemo(() => options.variables, [options.variables]);\n\n const recreate = () =>\n createSubscription(\n client,\n subscription,\n variables,\n fetchPolicy,\n errorPolicy,\n context,\n extensions\n );\n\n let [observable, setObservable] = React.useState(\n options.skip ? null : recreate\n );\n\n const recreateRef = React.useRef(recreate);\n useIsomorphicLayoutEffect(() => {\n recreateRef.current = recreate;\n });\n\n if (skip) {\n if (observable) {\n setObservable((observable = null));\n }\n } else if (\n !observable ||\n ((client !== observable.__.client ||\n subscription !== observable.__.query ||\n fetchPolicy !== observable.__.fetchPolicy ||\n errorPolicy !== observable.__.errorPolicy ||\n !equal(variables, observable.__.variables)) &&\n (typeof shouldResubscribe === \"function\" ?\n !!shouldResubscribe(options!)\n : shouldResubscribe) !== false)\n ) {\n setObservable((observable = recreate()));\n }\n\n const optionsRef = React.useRef(options);\n React.useEffect(() => {\n optionsRef.current = options;\n });\n\n const fallbackLoading = !skip && !ignoreResults;\n const fallbackResult = React.useMemo(\n () => ({\n loading: fallbackLoading,\n error: void 0,\n data: void 0,\n }),\n [fallbackLoading]\n );\n\n const ignoreResultsRef = React.useRef(ignoreResults);\n useIsomorphicLayoutEffect(() => {\n // We cannot reference `ignoreResults` directly in the effect below\n // it would add a dependency to the `useEffect` deps array, which means the\n // subscription would be recreated if `ignoreResults` changes\n // As a result, on resubscription, the last result would be re-delivered,\n // rendering the component one additional time, and re-triggering `onData`.\n // The same applies to `fetchPolicy`, which results in a new `observable`\n // being created. We cannot really avoid it in that case, but we can at least\n // avoid it for `ignoreResults`.\n ignoreResultsRef.current = ignoreResults;\n });\n\n const ret = useSyncExternalStore(\n React.useCallback(\n (update) => {\n if (!observable) {\n return () => {};\n }\n\n let subscriptionStopped = false;\n const client = observable.__.client;\n const subscription = observable.subscribe({\n next(value) {\n if (subscriptionStopped) {\n return;\n }\n\n const result = {\n loading: false,\n data: value.data,\n error: value.error,\n };\n\n observable.__.setResult(result);\n if (!ignoreResultsRef.current) update();\n\n if (result.error) {\n optionsRef.current.onError?.(result.error);\n } else if (optionsRef.current.onData) {\n optionsRef.current.onData({\n client,\n data: result,\n });\n }\n },\n complete() {\n if (!subscriptionStopped && optionsRef.current.onComplete) {\n optionsRef.current.onComplete();\n }\n },\n });\n\n return () => {\n // immediately stop receiving subscription values, but do not unsubscribe\n // until after a short delay in case another useSubscription hook is\n // reusing the same underlying observable and is about to subscribe\n subscriptionStopped = true;\n setTimeout(() => {\n subscription.unsubscribe();\n });\n };\n },\n [observable]\n ),\n () =>\n observable && !skip && !ignoreResults ?\n observable.__.result\n : fallbackResult,\n () => fallbackResult\n );\n\n const restart = React.useCallback(() => {\n invariant(\n !optionsRef.current.skip,\n \"A subscription that is skipped cannot be restarted.\"\n );\n setObservable(recreateRef.current());\n }, [optionsRef, recreateRef]);\n\n return React.useMemo(() => ({ ...ret, restart }), [ret, restart]);\n}\n\ntype SubscriptionResult<TData> = Omit<useSubscription.Result<TData>, \"restart\">;\n\nfunction createSubscription<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n client: ApolloClient,\n query: TypedDocumentNode<TData, TVariables>,\n variables: TVariables | undefined,\n fetchPolicy: FetchPolicy | undefined,\n errorPolicy: ErrorPolicy | undefined,\n context: DefaultContext | undefined,\n extensions: Record<string, any> | undefined\n) {\n const options = {\n query,\n variables,\n fetchPolicy,\n errorPolicy,\n context,\n extensions,\n } as SubscriptionOptions<TVariables, TData>;\n const __ = {\n ...options,\n client,\n result: {\n loading: true,\n data: void 0,\n error: void 0,\n } as SubscriptionResult<TData>,\n setResult(result: SubscriptionResult<TData>) {\n __.result = result;\n },\n };\n\n let observable: Observable<SubscribeResult<MaybeMasked<TData>>> | null = null;\n return Object.assign(\n new Observable<SubscribeResult<MaybeMasked<TData>>>((observer) => {\n // lazily start the subscription when the first observer subscribes\n // to get around strict mode\n if (!observable) {\n observable = client.subscribe(options);\n }\n const sub = observable.subscribe(observer);\n return () => sub.unsubscribe();\n }),\n {\n /**\n * A tracking object to store details about the observable and the latest result of the subscription.\n */\n __,\n }\n );\n}\n"],"names":[],"mappings":"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AAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,E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"}
@@ -1,45 +1,47 @@
1
- import type { ApolloClient, DocumentNode, OperationVariables, Reference, StoreObject, TypedDocumentNode } from "@apollo/client/core";
1
+ import type { ApolloClient, DocumentNode, OperationVariables, Reference, StoreObject, TypedDocumentNode } from "@apollo/client";
2
2
  import type { FragmentType, MaybeMasked } from "@apollo/client/masking";
3
- import type { NoInfer, VariablesOption } from "@apollo/client/react";
3
+ import type { NoInfer, VariablesOption } from "@apollo/client/utilities";
4
4
  type From<TData> = StoreObject | Reference | FragmentType<NoInfer<TData>> | string | null;
5
- export type UseSuspenseFragmentOptions<TData, TVariables extends OperationVariables> = {
6
- /**
7
- * A GraphQL document created using the `gql` template string tag from
8
- * `graphql-tag` with one or more fragments which will be used to determine
9
- * the shape of data to read. If you provide more than one fragment in this
10
- * document then you must also specify `fragmentName` to select a single.
11
- */
12
- fragment: DocumentNode | TypedDocumentNode<TData, TVariables>;
13
- /**
14
- * The name of the fragment in your GraphQL document to be used. If you do
15
- * not provide a `fragmentName` and there is only one fragment in your
16
- * `fragment` document then that fragment will be used.
17
- */
18
- fragmentName?: string;
19
- from: From<TData>;
20
- optimistic?: boolean;
21
- /**
22
- * The instance of `ApolloClient` to use to look up the fragment.
23
- *
24
- * By default, the instance that's passed down via context is used, but you
25
- * can provide a different instance here.
26
- *
27
- * @docGroup 1. Operation options
28
- */
29
- client?: ApolloClient<any>;
30
- } & VariablesOption<NoInfer<TVariables>>;
31
- export type UseSuspenseFragmentResult<TData> = {
32
- data: MaybeMasked<TData>;
33
- };
34
- export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: UseSuspenseFragmentOptions<TData, TVariables> & {
5
+ export declare namespace useSuspenseFragment {
6
+ type Options<TData, TVariables extends OperationVariables> = {
7
+ /**
8
+ * A GraphQL document created using the `gql` template string tag from
9
+ * `graphql-tag` with one or more fragments which will be used to determine
10
+ * the shape of data to read. If you provide more than one fragment in this
11
+ * document then you must also specify `fragmentName` to select a single.
12
+ */
13
+ fragment: DocumentNode | TypedDocumentNode<TData, TVariables>;
14
+ /**
15
+ * The name of the fragment in your GraphQL document to be used. If you do
16
+ * not provide a `fragmentName` and there is only one fragment in your
17
+ * `fragment` document then that fragment will be used.
18
+ */
19
+ fragmentName?: string;
20
+ from: From<TData>;
21
+ optimistic?: boolean;
22
+ /**
23
+ * The instance of `ApolloClient` to use to look up the fragment.
24
+ *
25
+ * By default, the instance that's passed down via context is used, but you
26
+ * can provide a different instance here.
27
+ *
28
+ * @docGroup 1. Operation options
29
+ */
30
+ client?: ApolloClient;
31
+ } & VariablesOption<NoInfer<TVariables>>;
32
+ type Result<TData> = {
33
+ data: MaybeMasked<TData>;
34
+ };
35
+ }
36
+ export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables> & {
35
37
  from: NonNullable<From<TData>>;
36
- }): UseSuspenseFragmentResult<TData>;
37
- export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: UseSuspenseFragmentOptions<TData, TVariables> & {
38
+ }): useSuspenseFragment.Result<TData>;
39
+ export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables> & {
38
40
  from: null;
39
- }): UseSuspenseFragmentResult<null>;
40
- export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: UseSuspenseFragmentOptions<TData, TVariables> & {
41
+ }): useSuspenseFragment.Result<null>;
42
+ export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables> & {
41
43
  from: From<TData>;
42
- }): UseSuspenseFragmentResult<TData | null>;
43
- export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: UseSuspenseFragmentOptions<TData, TVariables>): UseSuspenseFragmentResult<TData>;
44
+ }): useSuspenseFragment.Result<TData | null>;
45
+ export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables>): useSuspenseFragment.Result<TData>;
44
46
  export {};
45
47
  //# sourceMappingURL=useSuspenseFragment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useSuspenseFragment.js","sources":["../../../src/react/hooks/useSuspenseFragment.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport { canonicalStringify } from \"@apollo/client/cache\";\nimport type {\n ApolloClient,\n DocumentNode,\n OperationVariables,\n Reference,\n StoreObject,\n TypedDocumentNode,\n} from \"@apollo/client/core\";\nimport type { FragmentType, MaybeMasked } from \"@apollo/client/masking\";\nimport type { NoInfer, VariablesOption } from \"@apollo/client/react\";\nimport { getSuspenseCache } from \"@apollo/client/react/internal\";\n\nimport type { FragmentKey } from \"../internal/cache/types.js\";\n\nimport { __use } from \"./internal/__use.js\";\nimport { wrapHook } from \"./internal/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\ntype From<TData> =\n | StoreObject\n | Reference\n | FragmentType<NoInfer<TData>>\n | string\n | null;\n\nexport type UseSuspenseFragmentOptions<\n TData,\n TVariables extends OperationVariables,\n> = {\n /**\n * A GraphQL document created using the `gql` template string tag from\n * `graphql-tag` with one or more fragments which will be used to determine\n * the shape of data to read. If you provide more than one fragment in this\n * document then you must also specify `fragmentName` to select a single.\n */\n fragment: DocumentNode | TypedDocumentNode<TData, TVariables>;\n\n /**\n * The name of the fragment in your GraphQL document to be used. If you do\n * not provide a `fragmentName` and there is only one fragment in your\n * `fragment` document then that fragment will be used.\n */\n fragmentName?: string;\n from: From<TData>;\n // Override this field to make it optional (default: true).\n optimistic?: boolean;\n /**\n * The instance of `ApolloClient` to use to look up the fragment.\n *\n * By default, the instance that's passed down via context is used, but you\n * can provide a different instance here.\n *\n * @docGroup 1. Operation options\n */\n client?: ApolloClient<any>;\n} & VariablesOption<NoInfer<TVariables>>;\n\nexport type UseSuspenseFragmentResult<TData> = { data: MaybeMasked<TData> };\n\nconst NULL_PLACEHOLDER = [] as unknown as [\n FragmentKey,\n Promise<MaybeMasked<any> | null>,\n];\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: UseSuspenseFragmentOptions<TData, TVariables> & {\n from: NonNullable<From<TData>>;\n }\n): UseSuspenseFragmentResult<TData>;\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: UseSuspenseFragmentOptions<TData, TVariables> & {\n from: null;\n }\n): UseSuspenseFragmentResult<null>;\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: UseSuspenseFragmentOptions<TData, TVariables> & {\n from: From<TData>;\n }\n): UseSuspenseFragmentResult<TData | null>;\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: UseSuspenseFragmentOptions<TData, TVariables>\n): UseSuspenseFragmentResult<TData>;\n\nexport function useSuspenseFragment<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: UseSuspenseFragmentOptions<TData, TVariables>\n): UseSuspenseFragmentResult<TData | null> {\n return wrapHook(\n \"useSuspenseFragment\",\n // eslint-disable-next-line react-compiler/react-compiler\n useSuspenseFragment_,\n useApolloClient(typeof options === \"object\" ? options.client : undefined)\n )(options);\n}\n\nfunction useSuspenseFragment_<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: UseSuspenseFragmentOptions<TData, TVariables>\n): UseSuspenseFragmentResult<TData | null> {\n const client = useApolloClient(options.client);\n const { from, variables } = options;\n const { cache } = client;\n\n const id = React.useMemo(\n () =>\n typeof from === \"string\" ? from\n : from === null ? null\n : cache.identify(from),\n [cache, from]\n ) as string | null;\n\n const fragmentRef =\n id === null ? null : (\n getSuspenseCache(client).getFragmentRef(\n [id, options.fragment, canonicalStringify(variables)],\n client,\n { ...options, variables: variables as TVariables, from: id }\n )\n );\n\n let [current, setPromise] = React.useState<\n [FragmentKey, Promise<MaybeMasked<TData> | null>]\n >(\n fragmentRef === null ? NULL_PLACEHOLDER : (\n [fragmentRef.key, fragmentRef.promise]\n )\n );\n\n React.useEffect(() => {\n if (fragmentRef === null) {\n return;\n }\n\n const dispose = fragmentRef.retain();\n const removeListener = fragmentRef.listen((promise) => {\n setPromise([fragmentRef.key, promise]);\n });\n\n return () => {\n dispose();\n removeListener();\n };\n }, [fragmentRef]);\n\n if (fragmentRef === null) {\n return { data: null };\n }\n\n if (current[0] !== fragmentRef.key) {\n // eslint-disable-next-line react-compiler/react-compiler\n current[0] = fragmentRef.key;\n current[1] = fragmentRef.promise;\n }\n\n const data = __use(current[1]);\n\n return { data };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSuspenseFragment.js","sources":["../../../src/react/hooks/useSuspenseFragment.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport type {\n ApolloClient,\n DocumentNode,\n OperationVariables,\n Reference,\n StoreObject,\n TypedDocumentNode,\n} from \"@apollo/client\";\nimport { canonicalStringify } from \"@apollo/client/cache\";\nimport type { FragmentType, MaybeMasked } from \"@apollo/client/masking\";\nimport { getSuspenseCache } from \"@apollo/client/react/internal\";\nimport type { NoInfer, VariablesOption } from \"@apollo/client/utilities\";\n\nimport type { FragmentKey } from \"../internal/cache/types.js\";\n\nimport { __use } from \"./internal/__use.js\";\nimport { wrapHook } from \"./internal/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\ntype From<TData> =\n | StoreObject\n | Reference\n | FragmentType<NoInfer<TData>>\n | string\n | null;\n\nexport declare namespace useSuspenseFragment {\n export type Options<TData, TVariables extends OperationVariables> = {\n /**\n * A GraphQL document created using the `gql` template string tag from\n * `graphql-tag` with one or more fragments which will be used to determine\n * the shape of data to read. If you provide more than one fragment in this\n * document then you must also specify `fragmentName` to select a single.\n */\n fragment: DocumentNode | TypedDocumentNode<TData, TVariables>;\n\n /**\n * The name of the fragment in your GraphQL document to be used. If you do\n * not provide a `fragmentName` and there is only one fragment in your\n * `fragment` document then that fragment will be used.\n */\n fragmentName?: string;\n from: From<TData>;\n // Override this field to make it optional (default: true).\n optimistic?: boolean;\n /**\n * The instance of `ApolloClient` to use to look up the fragment.\n *\n * By default, the instance that's passed down via context is used, but you\n * can provide a different instance here.\n *\n * @docGroup 1. Operation options\n */\n client?: ApolloClient;\n } & VariablesOption<NoInfer<TVariables>>;\n\n export type Result<TData> = { data: MaybeMasked<TData> };\n}\n\nconst NULL_PLACEHOLDER = [] as unknown as [\n FragmentKey,\n Promise<MaybeMasked<any> | null>,\n];\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: useSuspenseFragment.Options<TData, TVariables> & {\n from: NonNullable<From<TData>>;\n }\n): useSuspenseFragment.Result<TData>;\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: useSuspenseFragment.Options<TData, TVariables> & {\n from: null;\n }\n): useSuspenseFragment.Result<null>;\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: useSuspenseFragment.Options<TData, TVariables> & {\n from: From<TData>;\n }\n): useSuspenseFragment.Result<TData | null>;\n\nexport function useSuspenseFragment<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: useSuspenseFragment.Options<TData, TVariables>\n): useSuspenseFragment.Result<TData>;\n\nexport function useSuspenseFragment<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: useSuspenseFragment.Options<TData, TVariables>\n): useSuspenseFragment.Result<TData | null> {\n return wrapHook(\n \"useSuspenseFragment\",\n // eslint-disable-next-line react-compiler/react-compiler\n useSuspenseFragment_,\n useApolloClient(typeof options === \"object\" ? options.client : undefined)\n )(options);\n}\n\nfunction useSuspenseFragment_<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n options: useSuspenseFragment.Options<TData, TVariables>\n): useSuspenseFragment.Result<TData | null> {\n const client = useApolloClient(options.client);\n const { from, variables } = options;\n const { cache } = client;\n\n const id = React.useMemo(\n () =>\n typeof from === \"string\" ? from\n : from === null ? null\n : cache.identify(from),\n [cache, from]\n ) as string | null;\n\n const fragmentRef =\n id === null ? null : (\n getSuspenseCache(client).getFragmentRef(\n [id, options.fragment, canonicalStringify(variables)],\n client,\n { ...options, variables: variables as TVariables, from: id }\n )\n );\n\n let [current, setPromise] = React.useState<\n [FragmentKey, Promise<MaybeMasked<TData> | null>]\n >(\n fragmentRef === null ? NULL_PLACEHOLDER : (\n [fragmentRef.key, fragmentRef.promise]\n )\n );\n\n React.useEffect(() => {\n if (fragmentRef === null) {\n return;\n }\n\n const dispose = fragmentRef.retain();\n const removeListener = fragmentRef.listen((promise) => {\n setPromise([fragmentRef.key, promise]);\n });\n\n return () => {\n dispose();\n removeListener();\n };\n }, [fragmentRef]);\n\n if (fragmentRef === null) {\n return { data: null };\n }\n\n if (current[0] !== fragmentRef.key) {\n // eslint-disable-next-line react-compiler/react-compiler\n current[0] = fragmentRef.key;\n current[1] = fragmentRef.promise;\n }\n\n const data = __use(current[1]);\n\n return { data };\n}\n"],"names":[],"mappings":"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"}