@apollo/client 4.0.0-rc.1 → 4.0.0-rc.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 (1153) hide show
  1. package/CHANGELOG.md +347 -0
  2. package/README.md +40 -40
  3. package/__cjs/cache/core/cache.cjs +16 -19
  4. package/__cjs/cache/core/cache.cjs.map +1 -1
  5. package/__cjs/cache/core/cache.d.cts +108 -73
  6. package/__cjs/cache/core/types/Cache.cjs +0 -4
  7. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  8. package/__cjs/cache/core/types/Cache.d.cts +200 -15
  9. package/__cjs/cache/{core/types/DataProxy.cjs → deprecated.cjs} +1 -1
  10. package/__cjs/cache/deprecated.cjs.map +1 -0
  11. package/__cjs/cache/deprecated.d.cts +6 -0
  12. package/__cjs/cache/index.cjs.map +1 -1
  13. package/__cjs/cache/index.d.cts +2 -2
  14. package/__cjs/cache/inmemory/entityStore.cjs +28 -31
  15. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  16. package/__cjs/cache/inmemory/entityStore.d.cts +18 -17
  17. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  18. package/__cjs/cache/inmemory/inMemoryCache.cjs +1 -1
  19. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  20. package/__cjs/cache/inmemory/inMemoryCache.d.cts +4 -4
  21. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  22. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  23. package/__cjs/cache/inmemory/policies.cjs +4 -4
  24. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  25. package/__cjs/cache/inmemory/policies.d.cts +3 -2
  26. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  27. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  28. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  29. package/__cjs/cache/inmemory/types.d.cts +1 -1
  30. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  31. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  32. package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
  33. package/__cjs/core/ApolloClient.cjs +158 -122
  34. package/__cjs/core/ApolloClient.cjs.map +1 -1
  35. package/__cjs/core/ApolloClient.d.cts +788 -184
  36. package/__cjs/core/ObservableQuery.cjs +50 -20
  37. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  38. package/__cjs/core/ObservableQuery.d.cts +190 -107
  39. package/__cjs/core/QueryInfo.cjs +2 -6
  40. package/__cjs/core/QueryInfo.cjs.map +1 -1
  41. package/__cjs/core/QueryInfo.d.cts +9 -8
  42. package/__cjs/core/QueryManager.cjs +15 -15
  43. package/__cjs/core/QueryManager.cjs.map +1 -1
  44. package/__cjs/core/QueryManager.d.cts +20 -20
  45. package/__cjs/core/deprecated.cjs +3 -0
  46. package/__cjs/core/deprecated.cjs.map +1 -0
  47. package/__cjs/core/deprecated.d.cts +29 -0
  48. package/__cjs/core/index.cjs +1 -2
  49. package/__cjs/core/index.cjs.map +1 -1
  50. package/__cjs/core/index.d.cts +12 -9
  51. package/__cjs/core/networkStatus.cjs.map +1 -1
  52. package/__cjs/core/types.d.cts +186 -145
  53. package/__cjs/core/watchQueryOptions.d.cts +8 -297
  54. package/__cjs/dev/index.cjs.map +1 -1
  55. package/__cjs/dev/loadDevMessages.cjs.map +1 -1
  56. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  57. package/__cjs/dev/loadErrorMessages.cjs.map +1 -1
  58. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  59. package/__cjs/dev/setErrorMessageHandler.d.cts +4 -4
  60. package/__cjs/dev/symbol.cjs.map +1 -1
  61. package/__cjs/errors/CombinedGraphQLErrors.cjs +64 -11
  62. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  63. package/__cjs/errors/CombinedGraphQLErrors.d.cts +168 -14
  64. package/__cjs/errors/CombinedProtocolErrors.cjs +54 -1
  65. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  66. package/__cjs/errors/CombinedProtocolErrors.d.cts +132 -2
  67. package/__cjs/errors/LinkError.cjs +45 -2
  68. package/__cjs/errors/LinkError.cjs.map +1 -1
  69. package/__cjs/errors/LinkError.d.cts +45 -2
  70. package/__cjs/errors/LocalStateError.cjs +35 -5
  71. package/__cjs/errors/LocalStateError.cjs.map +1 -1
  72. package/__cjs/errors/LocalStateError.d.cts +41 -5
  73. package/__cjs/errors/ServerError.cjs +51 -8
  74. package/__cjs/errors/ServerError.cjs.map +1 -1
  75. package/__cjs/errors/ServerError.d.cts +71 -11
  76. package/__cjs/errors/ServerParseError.cjs +46 -8
  77. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  78. package/__cjs/errors/ServerParseError.d.cts +72 -16
  79. package/__cjs/errors/UnconventionalError.cjs +46 -2
  80. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  81. package/__cjs/errors/UnconventionalError.d.cts +46 -2
  82. package/__cjs/errors/index.cjs.map +1 -1
  83. package/__cjs/errors/isErrorLike.cjs.map +1 -1
  84. package/__cjs/errors/utils.cjs.map +1 -1
  85. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  86. package/__cjs/incremental/handlers/defer20220824.d.cts +4 -4
  87. package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  88. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -1
  89. package/__cjs/incremental/handlers/notImplemented.d.cts +2 -2
  90. package/__cjs/incremental/index.cjs.map +1 -1
  91. package/__cjs/incremental/types.d.cts +4 -4
  92. package/__cjs/invariantErrorCodes.cjs +84 -88
  93. package/__cjs/invariantErrorCodes.cjs.map +1 -1
  94. package/__cjs/link/batch/batchLink.cjs +33 -13
  95. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  96. package/__cjs/link/batch/batchLink.d.cts +103 -28
  97. package/__cjs/link/batch/batching.cjs +1 -1
  98. package/__cjs/link/batch/batching.cjs.map +1 -1
  99. package/__cjs/link/batch/batching.d.cts +8 -8
  100. package/__cjs/link/batch/index.cjs +1 -2
  101. package/__cjs/link/batch/index.cjs.map +1 -1
  102. package/__cjs/link/batch/index.d.cts +1 -2
  103. package/__cjs/link/batch-http/BaseBatchHttpLink.cjs +156 -0
  104. package/__cjs/link/batch-http/BaseBatchHttpLink.cjs.map +1 -0
  105. package/__cjs/link/batch-http/BaseBatchHttpLink.d.cts +68 -0
  106. package/__cjs/link/batch-http/batchHttpLink.cjs +28 -130
  107. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  108. package/__cjs/link/batch-http/batchHttpLink.d.cts +40 -17
  109. package/__cjs/link/batch-http/index.cjs +2 -1
  110. package/__cjs/link/batch-http/index.cjs.map +1 -1
  111. package/__cjs/link/batch-http/index.d.cts +2 -1
  112. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +36 -3
  113. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
  114. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +59 -7
  115. package/__cjs/link/client-awareness/index.cjs.map +1 -1
  116. package/__cjs/link/context/index.cjs +37 -14
  117. package/__cjs/link/context/index.cjs.map +1 -1
  118. package/__cjs/link/context/index.d.cts +78 -5
  119. package/__cjs/link/core/ApolloLink.cjs +227 -55
  120. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  121. package/__cjs/link/core/ApolloLink.d.cts +355 -9
  122. package/__cjs/link/core/concat.cjs +4 -0
  123. package/__cjs/link/core/concat.cjs.map +1 -1
  124. package/__cjs/link/core/concat.d.cts +4 -0
  125. package/__cjs/link/core/deprecated.cjs +3 -0
  126. package/__cjs/link/core/deprecated.cjs.map +1 -0
  127. package/__cjs/link/core/deprecated.d.cts +10 -0
  128. package/__cjs/link/core/empty.cjs +4 -0
  129. package/__cjs/link/core/empty.cjs.map +1 -1
  130. package/__cjs/link/core/empty.d.cts +4 -0
  131. package/__cjs/link/core/execute.cjs.map +1 -1
  132. package/__cjs/link/core/from.cjs +4 -0
  133. package/__cjs/link/core/from.cjs.map +1 -1
  134. package/__cjs/link/core/from.d.cts +4 -0
  135. package/__cjs/link/core/split.cjs +4 -0
  136. package/__cjs/link/core/split.cjs.map +1 -1
  137. package/__cjs/link/core/split.d.cts +4 -0
  138. package/__cjs/link/core/types.d.cts +2 -33
  139. package/__cjs/link/error/index.cjs +44 -0
  140. package/__cjs/link/error/index.cjs.map +1 -1
  141. package/__cjs/link/error/index.d.cts +84 -10
  142. package/__cjs/link/http/BaseHttpLink.cjs +62 -12
  143. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -1
  144. package/__cjs/link/http/BaseHttpLink.d.cts +256 -2
  145. package/__cjs/link/http/HttpLink.cjs +27 -2
  146. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  147. package/__cjs/link/http/HttpLink.d.cts +45 -135
  148. package/__cjs/link/http/checkFetcher.cjs +1 -1
  149. package/__cjs/link/http/index.cjs +1 -3
  150. package/__cjs/link/http/index.cjs.map +1 -1
  151. package/__cjs/link/http/index.d.cts +0 -2
  152. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +41 -26
  153. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  154. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +2 -2
  155. package/__cjs/link/http/rewriteURIForGET.cjs +2 -3
  156. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  157. package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
  158. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  159. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +9 -9
  160. package/__cjs/link/http/selectURI.cjs.map +1 -1
  161. package/__cjs/link/http/selectURI.d.cts +2 -2
  162. package/__cjs/link/index.cjs.map +1 -1
  163. package/__cjs/link/index.d.cts +2 -1
  164. package/__cjs/link/persisted-queries/index.cjs +18 -2
  165. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  166. package/__cjs/link/persisted-queries/index.d.cts +207 -28
  167. package/__cjs/link/remove-typename/index.cjs.map +1 -1
  168. package/__cjs/link/remove-typename/index.d.cts +0 -1
  169. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +48 -0
  170. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  171. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +124 -8
  172. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  173. package/__cjs/link/retry/delayFunction.d.cts +2 -39
  174. package/__cjs/link/retry/index.cjs.map +1 -1
  175. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  176. package/__cjs/link/retry/retryFunction.d.cts +2 -29
  177. package/__cjs/link/retry/retryLink.cjs +37 -12
  178. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  179. package/__cjs/link/retry/retryLink.d.cts +130 -6
  180. package/__cjs/link/schema/index.cjs +20 -0
  181. package/__cjs/link/schema/index.cjs.map +1 -1
  182. package/__cjs/link/schema/index.d.cts +130 -9
  183. package/__cjs/link/subscriptions/index.cjs +23 -0
  184. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  185. package/__cjs/link/subscriptions/index.d.cts +24 -2
  186. package/__cjs/link/utils/createOperation.cjs +12 -4
  187. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  188. package/__cjs/link/utils/createOperation.d.cts +2 -2
  189. package/__cjs/link/utils/filterOperationVariables.cjs.map +1 -1
  190. package/__cjs/link/utils/index.cjs +1 -5
  191. package/__cjs/link/utils/index.cjs.map +1 -1
  192. package/__cjs/link/utils/index.d.cts +0 -2
  193. package/__cjs/link/ws/index.cjs +35 -1
  194. package/__cjs/link/ws/index.cjs.map +1 -1
  195. package/__cjs/link/ws/index.d.cts +64 -7
  196. package/__cjs/local-state/LocalState.cjs +55 -9
  197. package/__cjs/local-state/LocalState.cjs.map +1 -1
  198. package/__cjs/local-state/LocalState.d.cts +94 -0
  199. package/__cjs/local-state/index.cjs.map +1 -1
  200. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +11 -44
  201. package/__cjs/masking/PreserveTypes.cjs +3 -0
  202. package/__cjs/masking/PreserveTypes.cjs.map +1 -0
  203. package/__cjs/masking/PreserveTypes.d.cts +26 -0
  204. package/__cjs/masking/index.cjs.map +1 -1
  205. package/__cjs/masking/index.d.cts +1 -1
  206. package/__cjs/masking/internal/types.d.cts +70 -71
  207. package/__cjs/masking/maskDefinition.cjs +2 -2
  208. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  209. package/__cjs/masking/maskFragment.cjs +2 -2
  210. package/__cjs/masking/maskFragment.cjs.map +1 -1
  211. package/__cjs/masking/maskOperation.cjs +1 -1
  212. package/__cjs/masking/maskOperation.cjs.map +1 -1
  213. package/__cjs/masking/types.d.cts +5 -23
  214. package/__cjs/masking/utils.cjs +3 -3
  215. package/__cjs/masking/utils.cjs.map +1 -1
  216. package/__cjs/react/context/ApolloContext.cjs +1 -1
  217. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  218. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  219. package/__cjs/react/hooks/constants.cjs.map +1 -1
  220. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  221. package/__cjs/react/hooks/internal/index.cjs.map +1 -1
  222. package/__cjs/react/hooks/internal/useDeepMemo.cjs +0 -3
  223. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  224. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  225. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -1
  226. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
  227. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +2 -2
  228. package/__cjs/react/hooks/internal/wrapHook.cjs +1 -0
  229. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  230. package/__cjs/react/hooks/internal/wrapHook.d.cts +8 -7
  231. package/__cjs/react/hooks/useApolloClient.cjs +2 -2
  232. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  233. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  234. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  235. package/__cjs/react/hooks/useBackgroundQuery.d.cts +850 -86
  236. package/__cjs/react/hooks/useFragment.cjs +11 -5
  237. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  238. package/__cjs/react/hooks/useFragment.d.cts +56 -8
  239. package/__cjs/react/hooks/useLazyQuery.cjs +0 -38
  240. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  241. package/__cjs/react/hooks/useLazyQuery.d.cts +317 -161
  242. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  243. package/__cjs/react/hooks/useLoadableQuery.d.cts +246 -69
  244. package/__cjs/react/hooks/useMutation.cjs +6 -7
  245. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  246. package/__cjs/react/hooks/useMutation.d.cts +87 -65
  247. package/__cjs/react/hooks/useQuery.cjs +1 -35
  248. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  249. package/__cjs/react/hooks/useQuery.d.cts +367 -239
  250. package/__cjs/react/hooks/useQueryRefHandlers.cjs +2 -1
  251. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  252. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +36 -3
  253. package/__cjs/react/hooks/useReactiveVar.cjs +2 -1
  254. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  255. package/__cjs/react/hooks/useReactiveVar.d.cts +2 -1
  256. package/__cjs/react/hooks/useReadQuery.cjs +29 -0
  257. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  258. package/__cjs/react/hooks/useReadQuery.d.cts +92 -16
  259. package/__cjs/react/hooks/useSubscription.cjs +8 -9
  260. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  261. package/__cjs/react/hooks/useSubscription.d.cts +160 -68
  262. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  263. package/__cjs/react/hooks/useSuspenseFragment.d.cts +62 -30
  264. package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -1
  265. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  266. package/__cjs/react/hooks/useSuspenseQuery.d.cts +585 -159
  267. package/__cjs/react/hooks/useSyncExternalStore.cjs +2 -6
  268. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  269. package/__cjs/react/index.cjs +2 -5
  270. package/__cjs/react/index.cjs.map +1 -1
  271. package/__cjs/react/index.d.cts +1 -2
  272. package/__cjs/react/index.react-server.cjs +1 -3
  273. package/__cjs/react/index.react-server.cjs.map +1 -1
  274. package/__cjs/react/index.react-server.d.cts +0 -1
  275. package/__cjs/react/internal/cache/FragmentReference.cjs +1 -1
  276. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  277. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -3
  278. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  279. package/__cjs/react/internal/cache/QueryReference.d.cts +14 -12
  280. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  281. package/__cjs/react/internal/cache/SuspenseCache.d.cts +2 -2
  282. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  283. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +6 -4
  284. package/__cjs/react/internal/compiler-runtime/index.cjs +32 -0
  285. package/__cjs/react/internal/compiler-runtime/index.cjs.map +1 -0
  286. package/__cjs/react/internal/compiler-runtime/index.d.cts +8 -0
  287. package/__cjs/react/internal/index.cjs +1 -0
  288. package/__cjs/react/internal/index.cjs.map +1 -1
  289. package/__cjs/react/internal/index.d.cts +1 -1
  290. package/__cjs/react/internal/types.d.cts +3 -3
  291. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -1
  292. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  293. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +60 -51
  294. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  295. package/__cjs/react/ssr/index.cjs.map +1 -1
  296. package/__cjs/react/ssr/prerenderStatic.cjs +5 -4
  297. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  298. package/__cjs/react/ssr/prerenderStatic.d.cts +11 -9
  299. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  300. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  301. package/__cjs/react/types/deprecated.d.cts +1 -1
  302. package/__cjs/react/types/types.documentation.d.cts +27 -16
  303. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  304. package/__cjs/testing/core/mocking/mockLink.d.cts +8 -8
  305. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
  306. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +3 -4
  307. package/__cjs/testing/core/types/deprecated.d.cts +3 -2
  308. package/__cjs/testing/index.cjs.map +1 -1
  309. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  310. package/__cjs/testing/react/MockedProvider.d.cts +2 -3
  311. package/__cjs/testing/react/index.cjs.map +1 -1
  312. package/__cjs/utilities/HKT.d.cts +8 -7
  313. package/__cjs/utilities/caching/index.cjs.map +1 -1
  314. package/__cjs/utilities/caching/sizes.cjs +3 -3
  315. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  316. package/__cjs/utilities/caching/sizes.d.cts +4 -6
  317. package/__cjs/utilities/common/stripTypename.cjs +11 -0
  318. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  319. package/__cjs/utilities/common/stripTypename.d.cts +11 -0
  320. package/__cjs/utilities/environment/index.cjs.map +1 -1
  321. package/__cjs/utilities/environment/index.development.cjs.map +1 -1
  322. package/__cjs/utilities/environment/index.production.cjs.map +1 -1
  323. package/__cjs/utilities/graphql/DocumentTransform.cjs +86 -3
  324. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  325. package/__cjs/utilities/graphql/DocumentTransform.d.cts +94 -5
  326. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +27 -0
  327. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -1
  328. package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +27 -0
  329. package/__cjs/utilities/graphql/operations.cjs +54 -3
  330. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  331. package/__cjs/utilities/graphql/operations.d.cts +54 -3
  332. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  333. package/__cjs/utilities/graphql/storeUtils.cjs +9 -0
  334. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  335. package/__cjs/utilities/graphql/storeUtils.d.cts +9 -0
  336. package/__cjs/utilities/graphql/transform.cjs +12 -1
  337. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  338. package/__cjs/utilities/graphql/transform.d.cts +12 -1
  339. package/__cjs/utilities/index.cjs +2 -3
  340. package/__cjs/utilities/index.cjs.map +1 -1
  341. package/__cjs/utilities/index.d.cts +1 -2
  342. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -1
  343. package/__cjs/utilities/internal/caches.cjs.map +1 -1
  344. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -1
  345. package/__cjs/utilities/{shared → internal}/canonicalStringify.cjs +35 -14
  346. package/__cjs/utilities/internal/canonicalStringify.cjs.map +1 -0
  347. package/__cjs/utilities/internal/canonicalStringify.d.cts +44 -0
  348. package/__cjs/utilities/internal/checkDocument.cjs +2 -2
  349. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  350. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -1
  351. package/__cjs/utilities/internal/compact.cjs.map +1 -1
  352. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  353. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -1
  354. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -1
  355. package/__cjs/utilities/internal/dealias.cjs.map +1 -1
  356. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -1
  357. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -1
  358. package/__cjs/{core → utilities/internal}/equalByQuery.cjs +13 -7
  359. package/__cjs/utilities/internal/equalByQuery.cjs.map +1 -0
  360. package/__cjs/utilities/internal/equalByQuery.d.cts +5 -0
  361. package/__cjs/utilities/internal/filterMap.cjs.map +1 -1
  362. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -1
  363. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
  364. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -1
  365. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  366. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +13 -3
  367. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  368. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +13 -3
  369. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -1
  370. package/__cjs/utilities/internal/getMainDefinition.cjs +36 -8
  371. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -1
  372. package/__cjs/utilities/internal/getMainDefinition.d.cts +36 -8
  373. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  374. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -1
  375. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -1
  376. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -1
  377. package/__cjs/utilities/internal/getStoreKeyName.cjs +9 -7
  378. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  379. package/__cjs/utilities/internal/globals/global.cjs.map +1 -1
  380. package/__cjs/utilities/internal/globals/index.cjs.map +1 -1
  381. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -1
  382. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -1
  383. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -1
  384. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -1
  385. package/__cjs/utilities/internal/index.cjs +8 -2
  386. package/__cjs/utilities/internal/index.cjs.map +1 -1
  387. package/__cjs/utilities/internal/index.d.cts +4 -0
  388. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  389. package/__cjs/utilities/internal/isArray.cjs.map +1 -1
  390. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -1
  391. package/__cjs/utilities/internal/isField.cjs.map +1 -1
  392. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -1
  393. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -1
  394. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -1
  395. package/__cjs/utilities/internal/makeReference.cjs.map +1 -1
  396. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -1
  397. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -1
  398. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -1
  399. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -1
  400. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  401. package/__cjs/utilities/internal/mergeOptions.d.cts +2 -2
  402. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -1
  403. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -1
  404. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +2 -6
  405. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -1
  406. package/__cjs/utilities/internal/removeFragmentSpreads.cjs +14 -0
  407. package/__cjs/utilities/internal/removeFragmentSpreads.cjs.map +1 -0
  408. package/__cjs/utilities/internal/removeFragmentSpreads.d.cts +3 -0
  409. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -1
  410. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -1
  411. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -1
  412. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -1
  413. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  414. package/__cjs/utilities/internal/toQueryResult.d.cts +2 -2
  415. package/__cjs/utilities/internal/types/DocumentationTypes.cjs +3 -0
  416. package/__cjs/utilities/internal/types/DocumentationTypes.cjs.map +1 -0
  417. package/__cjs/utilities/internal/types/DocumentationTypes.d.cts +88 -0
  418. package/__cjs/utilities/internal/types/NoInfer.d.cts +31 -25
  419. package/__cjs/utilities/internal/types/VariablesOption.d.cts +2 -6
  420. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -1
  421. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  422. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  423. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  424. package/__cjs/utilities/subscriptions/relay/index.cjs +3 -2
  425. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  426. package/__cjs/version.cjs +1 -1
  427. package/__cjs/version.cjs.map +1 -1
  428. package/cache/core/cache.d.ts +108 -73
  429. package/cache/core/cache.js +17 -20
  430. package/cache/core/cache.js.map +1 -1
  431. package/cache/core/types/Cache.d.ts +201 -16
  432. package/cache/core/types/Cache.js +2 -4
  433. package/cache/core/types/Cache.js.map +1 -1
  434. package/cache/core/types/common.d.ts +1 -1
  435. package/cache/core/types/common.js +1 -1
  436. package/cache/core/types/common.js.map +1 -1
  437. package/cache/deprecated.d.ts +6 -0
  438. package/cache/deprecated.js +2 -0
  439. package/cache/deprecated.js.map +1 -0
  440. package/cache/index.d.ts +3 -3
  441. package/cache/index.js +1 -1
  442. package/cache/index.js.map +1 -1
  443. package/cache/inmemory/entityStore.d.ts +19 -18
  444. package/cache/inmemory/entityStore.js +28 -31
  445. package/cache/inmemory/entityStore.js.map +1 -1
  446. package/cache/inmemory/fragmentRegistry.d.ts +1 -1
  447. package/cache/inmemory/fragmentRegistry.js +1 -1
  448. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  449. package/cache/inmemory/helpers.d.ts +1 -1
  450. package/cache/inmemory/helpers.js +1 -1
  451. package/cache/inmemory/helpers.js.map +1 -1
  452. package/cache/inmemory/inMemoryCache.d.ts +4 -4
  453. package/cache/inmemory/inMemoryCache.js +1 -1
  454. package/cache/inmemory/inMemoryCache.js.map +1 -1
  455. package/cache/inmemory/key-extractor.d.ts +1 -1
  456. package/cache/inmemory/key-extractor.js +1 -1
  457. package/cache/inmemory/key-extractor.js.map +1 -1
  458. package/cache/inmemory/policies.d.ts +4 -3
  459. package/cache/inmemory/policies.js +4 -4
  460. package/cache/inmemory/policies.js.map +1 -1
  461. package/cache/inmemory/reactiveVars.d.ts +1 -1
  462. package/cache/inmemory/reactiveVars.js +1 -1
  463. package/cache/inmemory/reactiveVars.js.map +1 -1
  464. package/cache/inmemory/readFromStore.d.ts +1 -1
  465. package/cache/inmemory/readFromStore.js +2 -2
  466. package/cache/inmemory/readFromStore.js.map +1 -1
  467. package/cache/inmemory/types.d.ts +2 -2
  468. package/cache/inmemory/types.js +1 -1
  469. package/cache/inmemory/types.js.map +1 -1
  470. package/cache/inmemory/writeToStore.d.ts +2 -2
  471. package/cache/inmemory/writeToStore.js +4 -4
  472. package/cache/inmemory/writeToStore.js.map +1 -1
  473. package/core/ApolloClient.d.ts +788 -184
  474. package/core/ApolloClient.js +159 -123
  475. package/core/ApolloClient.js.map +1 -1
  476. package/core/ObservableQuery.d.ts +190 -107
  477. package/core/ObservableQuery.js +50 -20
  478. package/core/ObservableQuery.js.map +1 -1
  479. package/core/QueryInfo.d.ts +9 -8
  480. package/core/QueryInfo.js +1 -2
  481. package/core/QueryInfo.js.map +1 -1
  482. package/core/QueryManager.d.ts +21 -21
  483. package/core/QueryManager.js +15 -15
  484. package/core/QueryManager.js.map +1 -1
  485. package/core/deprecated.d.ts +29 -0
  486. package/core/deprecated.js +2 -0
  487. package/core/deprecated.js.map +1 -0
  488. package/core/index.d.ts +13 -10
  489. package/core/index.js +2 -2
  490. package/core/index.js.map +1 -1
  491. package/core/networkStatus.d.ts +1 -1
  492. package/core/networkStatus.js +1 -1
  493. package/core/networkStatus.js.map +1 -1
  494. package/core/types.d.ts +186 -145
  495. package/core/types.js +1 -1
  496. package/core/types.js.map +1 -1
  497. package/core/watchQueryOptions.d.ts +9 -298
  498. package/core/watchQueryOptions.js +1 -1
  499. package/core/watchQueryOptions.js.map +1 -1
  500. package/dev/index.d.ts +1 -1
  501. package/dev/index.js +1 -1
  502. package/dev/index.js.map +1 -1
  503. package/dev/loadDevMessages.d.ts +1 -1
  504. package/dev/loadDevMessages.js +1 -1
  505. package/dev/loadDevMessages.js.map +1 -1
  506. package/dev/loadErrorMessageHandler.d.ts +1 -1
  507. package/dev/loadErrorMessageHandler.js +1 -1
  508. package/dev/loadErrorMessageHandler.js.map +1 -1
  509. package/dev/loadErrorMessages.d.ts +1 -1
  510. package/dev/loadErrorMessages.js +1 -1
  511. package/dev/loadErrorMessages.js.map +1 -1
  512. package/dev/setErrorMessageHandler.d.ts +5 -5
  513. package/dev/setErrorMessageHandler.js +1 -1
  514. package/dev/setErrorMessageHandler.js.map +1 -1
  515. package/dev/symbol.d.ts +1 -1
  516. package/dev/symbol.js +1 -1
  517. package/dev/symbol.js.map +1 -1
  518. package/errors/CombinedGraphQLErrors.d.ts +168 -14
  519. package/errors/CombinedGraphQLErrors.js +64 -11
  520. package/errors/CombinedGraphQLErrors.js.map +1 -1
  521. package/errors/CombinedProtocolErrors.d.ts +132 -2
  522. package/errors/CombinedProtocolErrors.js +54 -1
  523. package/errors/CombinedProtocolErrors.js.map +1 -1
  524. package/errors/LinkError.d.ts +45 -2
  525. package/errors/LinkError.js +45 -2
  526. package/errors/LinkError.js.map +1 -1
  527. package/errors/LocalStateError.d.ts +41 -5
  528. package/errors/LocalStateError.js +35 -5
  529. package/errors/LocalStateError.js.map +1 -1
  530. package/errors/ServerError.d.ts +71 -11
  531. package/errors/ServerError.js +51 -8
  532. package/errors/ServerError.js.map +1 -1
  533. package/errors/ServerParseError.d.ts +72 -16
  534. package/errors/ServerParseError.js +46 -8
  535. package/errors/ServerParseError.js.map +1 -1
  536. package/errors/UnconventionalError.d.ts +47 -3
  537. package/errors/UnconventionalError.js +47 -3
  538. package/errors/UnconventionalError.js.map +1 -1
  539. package/errors/index.d.ts +1 -1
  540. package/errors/index.js +1 -1
  541. package/errors/index.js.map +1 -1
  542. package/errors/isErrorLike.d.ts +1 -1
  543. package/errors/isErrorLike.js +1 -1
  544. package/errors/isErrorLike.js.map +1 -1
  545. package/errors/utils.d.ts +1 -1
  546. package/errors/utils.js +1 -1
  547. package/errors/utils.js.map +1 -1
  548. package/incremental/handlers/defer20220824.d.ts +5 -5
  549. package/incremental/handlers/defer20220824.js +1 -1
  550. package/incremental/handlers/defer20220824.js.map +1 -1
  551. package/incremental/handlers/notImplemented.d.ts +3 -3
  552. package/incremental/handlers/notImplemented.js +1 -1
  553. package/incremental/handlers/notImplemented.js.map +1 -1
  554. package/incremental/index.d.ts +1 -1
  555. package/incremental/index.js.map +1 -1
  556. package/incremental/types.d.ts +4 -4
  557. package/incremental/types.js +1 -1
  558. package/incremental/types.js.map +1 -1
  559. package/invariantErrorCodes.d.ts +1 -1
  560. package/invariantErrorCodes.js +88 -89
  561. package/invariantErrorCodes.js.map +1 -1
  562. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.cjs +1 -0
  563. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.d.cts +1 -0
  564. package/legacyEntryPoints/react/internal/compiler-runtime/index.d.ts +1 -0
  565. package/legacyEntryPoints/react/internal/compiler-runtime/index.js +1 -0
  566. package/link/batch/batchLink.d.ts +103 -28
  567. package/link/batch/batchLink.js +33 -12
  568. package/link/batch/batchLink.js.map +1 -1
  569. package/link/batch/batching.d.ts +9 -9
  570. package/link/batch/batching.js +3 -3
  571. package/link/batch/batching.js.map +1 -1
  572. package/link/batch/index.d.ts +2 -3
  573. package/link/batch/index.js +2 -2
  574. package/link/batch/index.js.map +1 -1
  575. package/link/batch-http/BaseBatchHttpLink.d.ts +68 -0
  576. package/link/batch-http/BaseBatchHttpLink.js +152 -0
  577. package/link/batch-http/BaseBatchHttpLink.js.map +1 -0
  578. package/link/batch-http/batchHttpLink.d.ts +41 -18
  579. package/link/batch-http/batchHttpLink.js +28 -129
  580. package/link/batch-http/batchHttpLink.js.map +1 -1
  581. package/link/batch-http/index.d.ts +3 -2
  582. package/link/batch-http/index.js +3 -2
  583. package/link/batch-http/index.js.map +1 -1
  584. package/link/client-awareness/ClientAwarenessLink.d.ts +59 -7
  585. package/link/client-awareness/ClientAwarenessLink.js +37 -4
  586. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  587. package/link/client-awareness/index.d.ts +1 -1
  588. package/link/client-awareness/index.js +1 -1
  589. package/link/client-awareness/index.js.map +1 -1
  590. package/link/context/index.d.ts +78 -5
  591. package/link/context/index.js +38 -15
  592. package/link/context/index.js.map +1 -1
  593. package/link/core/ApolloLink.d.ts +355 -9
  594. package/link/core/ApolloLink.js +228 -57
  595. package/link/core/ApolloLink.js.map +1 -1
  596. package/link/core/concat.d.ts +5 -1
  597. package/link/core/concat.js +5 -1
  598. package/link/core/concat.js.map +1 -1
  599. package/link/core/deprecated.d.ts +10 -0
  600. package/link/core/deprecated.js +2 -0
  601. package/link/core/deprecated.js.map +1 -0
  602. package/link/core/empty.d.ts +5 -1
  603. package/link/core/empty.js +5 -1
  604. package/link/core/empty.js.map +1 -1
  605. package/link/core/execute.d.ts +1 -1
  606. package/link/core/execute.js +1 -1
  607. package/link/core/execute.js.map +1 -1
  608. package/link/core/from.d.ts +5 -1
  609. package/link/core/from.js +5 -1
  610. package/link/core/from.js.map +1 -1
  611. package/link/core/split.d.ts +5 -1
  612. package/link/core/split.js +5 -1
  613. package/link/core/split.js.map +1 -1
  614. package/link/core/types.d.ts +3 -34
  615. package/link/core/types.js +1 -1
  616. package/link/core/types.js.map +1 -1
  617. package/link/error/index.d.ts +84 -10
  618. package/link/error/index.js +45 -1
  619. package/link/error/index.js.map +1 -1
  620. package/link/http/BaseHttpLink.d.ts +256 -2
  621. package/link/http/BaseHttpLink.js +63 -13
  622. package/link/http/BaseHttpLink.js.map +1 -1
  623. package/link/http/HttpLink.d.ts +46 -136
  624. package/link/http/HttpLink.js +28 -3
  625. package/link/http/HttpLink.js.map +1 -1
  626. package/link/http/checkFetcher.d.ts +1 -1
  627. package/link/http/checkFetcher.js +1 -1
  628. package/link/http/checkFetcher.js.map +1 -1
  629. package/link/http/createSignalIfSupported.d.ts +1 -1
  630. package/link/http/createSignalIfSupported.js +1 -1
  631. package/link/http/createSignalIfSupported.js.map +1 -1
  632. package/link/http/index.d.ts +1 -3
  633. package/link/http/index.js +1 -2
  634. package/link/http/index.js.map +1 -1
  635. package/link/http/parseAndCheckHttpResponse.d.ts +3 -3
  636. package/link/http/parseAndCheckHttpResponse.js +41 -26
  637. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  638. package/link/http/rewriteURIForGET.d.ts +3 -3
  639. package/link/http/rewriteURIForGET.js +3 -4
  640. package/link/http/rewriteURIForGET.js.map +1 -1
  641. package/link/http/selectHttpOptionsAndBody.d.ts +10 -10
  642. package/link/http/selectHttpOptionsAndBody.js +1 -1
  643. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  644. package/link/http/selectURI.d.ts +3 -3
  645. package/link/http/selectURI.js +1 -1
  646. package/link/http/selectURI.js.map +1 -1
  647. package/link/index.d.ts +3 -2
  648. package/link/index.js +1 -1
  649. package/link/index.js.map +1 -1
  650. package/link/persisted-queries/index.d.ts +207 -28
  651. package/link/persisted-queries/index.js +18 -2
  652. package/link/persisted-queries/index.js.map +1 -1
  653. package/link/remove-typename/index.d.ts +1 -2
  654. package/link/remove-typename/index.js.map +1 -1
  655. package/link/remove-typename/removeTypenameFromVariables.d.ts +125 -9
  656. package/link/remove-typename/removeTypenameFromVariables.js +49 -1
  657. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  658. package/link/retry/delayFunction.d.ts +3 -40
  659. package/link/retry/delayFunction.js +1 -1
  660. package/link/retry/delayFunction.js.map +1 -1
  661. package/link/retry/index.d.ts +1 -1
  662. package/link/retry/index.js +1 -1
  663. package/link/retry/index.js.map +1 -1
  664. package/link/retry/retryFunction.d.ts +3 -30
  665. package/link/retry/retryFunction.js +1 -1
  666. package/link/retry/retryFunction.js.map +1 -1
  667. package/link/retry/retryLink.d.ts +130 -6
  668. package/link/retry/retryLink.js +39 -14
  669. package/link/retry/retryLink.js.map +1 -1
  670. package/link/schema/index.d.ts +130 -9
  671. package/link/schema/index.js +21 -1
  672. package/link/schema/index.js.map +1 -1
  673. package/link/subscriptions/index.d.ts +25 -3
  674. package/link/subscriptions/index.js +24 -1
  675. package/link/subscriptions/index.js.map +1 -1
  676. package/link/utils/createOperation.d.ts +3 -3
  677. package/link/utils/createOperation.js +13 -5
  678. package/link/utils/createOperation.js.map +1 -1
  679. package/link/utils/filterOperationVariables.d.ts +1 -1
  680. package/link/utils/filterOperationVariables.js +1 -1
  681. package/link/utils/filterOperationVariables.js.map +1 -1
  682. package/link/utils/index.d.ts +1 -3
  683. package/link/utils/index.js +1 -3
  684. package/link/utils/index.js.map +1 -1
  685. package/link/ws/index.d.ts +65 -8
  686. package/link/ws/index.js +30 -0
  687. package/link/ws/index.js.map +1 -1
  688. package/local-state/LocalState.d.ts +95 -1
  689. package/local-state/LocalState.js +55 -9
  690. package/local-state/LocalState.js.map +1 -1
  691. package/local-state/index.d.ts +1 -1
  692. package/local-state/index.js +1 -1
  693. package/local-state/index.js.map +1 -1
  694. package/masking/GraphQLCodegenDataMasking.d.ts +12 -45
  695. package/masking/GraphQLCodegenDataMasking.js +1 -1
  696. package/masking/GraphQLCodegenDataMasking.js.map +1 -1
  697. package/masking/PreserveTypes.d.ts +26 -0
  698. package/masking/PreserveTypes.js +2 -0
  699. package/masking/PreserveTypes.js.map +1 -0
  700. package/masking/index.d.ts +2 -2
  701. package/masking/index.js +1 -1
  702. package/masking/index.js.map +1 -1
  703. package/masking/internal/types.d.ts +71 -72
  704. package/masking/internal/types.js +1 -1
  705. package/masking/internal/types.js.map +1 -1
  706. package/masking/maskDefinition.d.ts +1 -1
  707. package/masking/maskDefinition.js +2 -2
  708. package/masking/maskDefinition.js.map +1 -1
  709. package/masking/maskFragment.js +2 -2
  710. package/masking/maskFragment.js.map +1 -1
  711. package/masking/maskOperation.js +1 -1
  712. package/masking/maskOperation.js.map +1 -1
  713. package/masking/types.d.ts +6 -24
  714. package/masking/types.js +1 -1
  715. package/masking/types.js.map +1 -1
  716. package/masking/utils.js +3 -3
  717. package/masking/utils.js.map +1 -1
  718. package/package.json +12 -5
  719. package/react/compiled/index.d.ts +2 -0
  720. package/react/compiled/index.js +2 -0
  721. package/react/compiled/index.js.map +1 -0
  722. package/react/context/ApolloContext.d.ts +1 -1
  723. package/react/context/ApolloContext.js +1 -1
  724. package/react/context/ApolloContext.js.map +1 -1
  725. package/react/context/ApolloProvider.d.ts +1 -1
  726. package/react/context/ApolloProvider.js +1 -1
  727. package/react/context/ApolloProvider.js.map +1 -1
  728. package/react/hooks/constants.d.ts +1 -1
  729. package/react/hooks/constants.js +1 -1
  730. package/react/hooks/constants.js.map +1 -1
  731. package/react/hooks/internal/__use.d.ts +1 -1
  732. package/react/hooks/internal/__use.js +1 -1
  733. package/react/hooks/internal/__use.js.map +1 -1
  734. package/react/hooks/internal/index.d.ts +1 -1
  735. package/react/hooks/internal/index.js +1 -1
  736. package/react/hooks/internal/index.js.map +1 -1
  737. package/react/hooks/internal/useDeepMemo.d.ts +1 -1
  738. package/react/hooks/internal/useDeepMemo.js +1 -4
  739. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  740. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  741. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  742. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  743. package/react/hooks/internal/useRenderGuard.d.ts +1 -1
  744. package/react/hooks/internal/useRenderGuard.js +1 -1
  745. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  746. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -3
  747. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
  748. package/react/hooks/internal/wrapHook.d.ts +8 -7
  749. package/react/hooks/internal/wrapHook.js +1 -0
  750. package/react/hooks/internal/wrapHook.js.map +1 -1
  751. package/react/hooks/useApolloClient.d.ts +3 -3
  752. package/react/hooks/useApolloClient.js +3 -16
  753. package/react/hooks/useApolloClient.js.map +1 -1
  754. package/react/hooks/useBackgroundQuery.d.ts +850 -86
  755. package/react/hooks/useBackgroundQuery.js +7 -7
  756. package/react/hooks/useBackgroundQuery.js.map +1 -1
  757. package/react/hooks/useFragment.d.ts +56 -8
  758. package/react/hooks/useFragment.js +22 -16
  759. package/react/hooks/useFragment.js.map +1 -1
  760. package/react/hooks/useLazyQuery.d.ts +317 -161
  761. package/react/hooks/useLazyQuery.js +14 -52
  762. package/react/hooks/useLazyQuery.js.map +1 -1
  763. package/react/hooks/useLoadableQuery.d.ts +246 -69
  764. package/react/hooks/useLoadableQuery.js +69 -229
  765. package/react/hooks/useLoadableQuery.js.map +1 -1
  766. package/react/hooks/useMutation.d.ts +87 -65
  767. package/react/hooks/useMutation.js +88 -199
  768. package/react/hooks/useMutation.js.map +1 -1
  769. package/react/hooks/useQuery.d.ts +367 -239
  770. package/react/hooks/useQuery.js +55 -260
  771. package/react/hooks/useQuery.js.map +1 -1
  772. package/react/hooks/useQueryRefHandlers.d.ts +36 -3
  773. package/react/hooks/useQueryRefHandlers.js +26 -65
  774. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  775. package/react/hooks/useReactiveVar.d.ts +3 -2
  776. package/react/hooks/useReactiveVar.js +3 -2
  777. package/react/hooks/useReactiveVar.js.map +1 -1
  778. package/react/hooks/useReadQuery.d.ts +92 -16
  779. package/react/hooks/useReadQuery.js +32 -3
  780. package/react/hooks/useReadQuery.js.map +1 -1
  781. package/react/hooks/useSubscription.d.ts +160 -68
  782. package/react/hooks/useSubscription.js +12 -13
  783. package/react/hooks/useSubscription.js.map +1 -1
  784. package/react/hooks/useSuspenseFragment.d.ts +62 -30
  785. package/react/hooks/useSuspenseFragment.js +1 -1
  786. package/react/hooks/useSuspenseFragment.js.map +1 -1
  787. package/react/hooks/useSuspenseQuery.d.ts +585 -159
  788. package/react/hooks/useSuspenseQuery.js +35 -57
  789. package/react/hooks/useSuspenseQuery.js.map +1 -1
  790. package/react/hooks/useSyncExternalStore.d.ts +1 -1
  791. package/react/hooks/useSyncExternalStore.js +1 -1
  792. package/react/hooks/useSyncExternalStore.js.map +1 -1
  793. package/react/hooks-compiled/constants.d.ts +3 -0
  794. package/react/hooks-compiled/constants.js +2 -0
  795. package/react/hooks-compiled/constants.js.map +1 -0
  796. package/react/hooks-compiled/internal/__use.d.ts +4 -0
  797. package/react/hooks-compiled/internal/__use.js +22 -0
  798. package/react/hooks-compiled/internal/__use.js.map +1 -0
  799. package/react/hooks-compiled/internal/index.d.ts +5 -0
  800. package/react/hooks-compiled/internal/index.js +6 -0
  801. package/react/hooks-compiled/internal/index.js.map +1 -0
  802. package/react/hooks-compiled/internal/useDeepMemo.d.ts +3 -0
  803. package/react/hooks-compiled/internal/useDeepMemo.js +10 -0
  804. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -0
  805. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.d.ts +3 -0
  806. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js +9 -0
  807. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js.map +1 -0
  808. package/react/hooks-compiled/internal/useRenderGuard.d.ts +2 -0
  809. package/react/hooks-compiled/internal/useRenderGuard.js +42 -0
  810. package/react/hooks-compiled/internal/useRenderGuard.js.map +1 -0
  811. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +3 -0
  812. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js +22 -0
  813. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -0
  814. package/react/hooks-compiled/internal/wrapHook.d.ts +67 -0
  815. package/react/hooks-compiled/internal/wrapHook.js +65 -0
  816. package/react/hooks-compiled/internal/wrapHook.js.map +1 -0
  817. package/react/hooks-compiled/useApolloClient.d.ts +18 -0
  818. package/react/hooks-compiled/useApolloClient.js +36 -0
  819. package/react/hooks-compiled/useApolloClient.js.map +1 -0
  820. package/react/hooks-compiled/useBackgroundQuery.d.ts +974 -0
  821. package/react/hooks-compiled/useBackgroundQuery.js +80 -0
  822. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -0
  823. package/react/hooks-compiled/useFragment.d.ts +103 -0
  824. package/react/hooks-compiled/useFragment.js +103 -0
  825. package/react/hooks-compiled/useFragment.js.map +1 -0
  826. package/react/hooks-compiled/useLazyQuery.d.ts +436 -0
  827. package/react/hooks-compiled/useLazyQuery.js +143 -0
  828. package/react/hooks-compiled/useLazyQuery.js.map +1 -0
  829. package/react/hooks-compiled/useLoadableQuery.d.ts +352 -0
  830. package/react/hooks-compiled/useLoadableQuery.js +247 -0
  831. package/react/hooks-compiled/useLoadableQuery.js.map +1 -0
  832. package/react/hooks-compiled/useMutation.d.ts +302 -0
  833. package/react/hooks-compiled/useMutation.js +262 -0
  834. package/react/hooks-compiled/useMutation.js.map +1 -0
  835. package/react/hooks-compiled/useQuery.d.ts +393 -0
  836. package/react/hooks-compiled/useQuery.js +361 -0
  837. package/react/hooks-compiled/useQuery.js.map +1 -0
  838. package/react/hooks-compiled/useQueryRefHandlers.d.ts +77 -0
  839. package/react/hooks-compiled/useQueryRefHandlers.js +110 -0
  840. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -0
  841. package/react/hooks-compiled/useReactiveVar.d.ts +21 -0
  842. package/react/hooks-compiled/useReactiveVar.js +34 -0
  843. package/react/hooks-compiled/useReactiveVar.js.map +1 -0
  844. package/react/hooks-compiled/useReadQuery.d.ts +100 -0
  845. package/react/hooks-compiled/useReadQuery.js +72 -0
  846. package/react/hooks-compiled/useReadQuery.js.map +1 -0
  847. package/react/hooks-compiled/useSubscription.d.ts +270 -0
  848. package/react/hooks-compiled/useSubscription.js +222 -0
  849. package/react/hooks-compiled/useSubscription.js.map +1 -0
  850. package/react/hooks-compiled/useSuspenseFragment.d.ts +79 -0
  851. package/react/hooks-compiled/useSuspenseFragment.js +47 -0
  852. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -0
  853. package/react/hooks-compiled/useSuspenseQuery.d.ts +630 -0
  854. package/react/hooks-compiled/useSuspenseQuery.js +144 -0
  855. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -0
  856. package/react/hooks-compiled/useSyncExternalStore.d.ts +4 -0
  857. package/react/hooks-compiled/useSyncExternalStore.js +126 -0
  858. package/react/hooks-compiled/useSyncExternalStore.js.map +1 -0
  859. package/react/index.compiled.d.ts +24 -0
  860. package/react/index.compiled.js +19 -0
  861. package/react/index.compiled.js.map +1 -0
  862. package/react/index.d.ts +2 -3
  863. package/react/index.js +2 -3
  864. package/react/index.js.map +1 -1
  865. package/react/index.react-server.d.ts +1 -2
  866. package/react/index.react-server.js +1 -3
  867. package/react/index.react-server.js.map +1 -1
  868. package/react/internal/cache/FragmentReference.d.ts +3 -4
  869. package/react/internal/cache/FragmentReference.js +2 -2
  870. package/react/internal/cache/FragmentReference.js.map +1 -1
  871. package/react/internal/cache/QueryReference.d.ts +14 -12
  872. package/react/internal/cache/QueryReference.js.map +1 -1
  873. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  874. package/react/internal/cache/SuspenseCache.js +1 -1
  875. package/react/internal/cache/SuspenseCache.js.map +1 -1
  876. package/react/internal/cache/getSuspenseCache.d.ts +7 -5
  877. package/react/internal/cache/getSuspenseCache.js +1 -1
  878. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  879. package/react/internal/cache/types.d.ts +1 -1
  880. package/react/internal/cache/types.js +1 -1
  881. package/react/internal/cache/types.js.map +1 -1
  882. package/react/internal/compiler-runtime/index.d.ts +8 -0
  883. package/react/internal/compiler-runtime/index.js +28 -0
  884. package/react/internal/compiler-runtime/index.js.map +1 -0
  885. package/react/internal/index.d.ts +2 -2
  886. package/react/internal/index.js +2 -1
  887. package/react/internal/index.js.map +1 -1
  888. package/react/internal/types.d.ts +4 -4
  889. package/react/internal/types.js +1 -1
  890. package/react/internal/types.js.map +1 -1
  891. package/react/query-preloader/createQueryPreloader.d.ts +60 -51
  892. package/react/query-preloader/createQueryPreloader.js +2 -2
  893. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  894. package/react/ssr/getDataFromTree.d.ts +1 -1
  895. package/react/ssr/getDataFromTree.js.map +1 -1
  896. package/react/ssr/index.d.ts +1 -1
  897. package/react/ssr/index.js +1 -1
  898. package/react/ssr/index.js.map +1 -1
  899. package/react/ssr/prerenderStatic.d.ts +12 -10
  900. package/react/ssr/prerenderStatic.js +5 -4
  901. package/react/ssr/prerenderStatic.js.map +1 -1
  902. package/react/ssr/renderToStringWithData.d.ts +1 -1
  903. package/react/ssr/renderToStringWithData.js +1 -1
  904. package/react/ssr/renderToStringWithData.js.map +1 -1
  905. package/react/ssr/useSSRQuery.d.ts +1 -1
  906. package/react/ssr/useSSRQuery.js +1 -1
  907. package/react/ssr/useSSRQuery.js.map +1 -1
  908. package/react/types/deprecated.d.ts +2 -2
  909. package/react/types/deprecated.js +1 -1
  910. package/react/types/deprecated.js.map +1 -1
  911. package/react/types/types.documentation.d.ts +27 -16
  912. package/react/types/types.documentation.js +1 -1
  913. package/react/types/types.documentation.js.map +1 -1
  914. package/testing/core/mocking/mockLink.d.ts +8 -8
  915. package/testing/core/mocking/mockLink.js.map +1 -1
  916. package/testing/core/mocking/mockSubscriptionLink.d.ts +4 -5
  917. package/testing/core/mocking/mockSubscriptionLink.js +1 -1
  918. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  919. package/testing/core/types/deprecated.d.ts +4 -3
  920. package/testing/core/types/deprecated.js +1 -1
  921. package/testing/core/types/deprecated.js.map +1 -1
  922. package/testing/index.d.ts +1 -1
  923. package/testing/index.js +1 -1
  924. package/testing/index.js.map +1 -1
  925. package/testing/react/MockedProvider.d.ts +3 -4
  926. package/testing/react/MockedProvider.js +1 -1
  927. package/testing/react/MockedProvider.js.map +1 -1
  928. package/testing/react/index.d.ts +1 -1
  929. package/testing/react/index.js +1 -1
  930. package/testing/react/index.js.map +1 -1
  931. package/utilities/DeepPartial.d.ts +1 -1
  932. package/utilities/DeepPartial.js +1 -1
  933. package/utilities/DeepPartial.js.map +1 -1
  934. package/utilities/HKT.d.ts +9 -8
  935. package/utilities/HKT.js +1 -1
  936. package/utilities/HKT.js.map +1 -1
  937. package/utilities/caching/index.d.ts +1 -1
  938. package/utilities/caching/index.js +1 -1
  939. package/utilities/caching/index.js.map +1 -1
  940. package/utilities/caching/sizes.d.ts +5 -7
  941. package/utilities/caching/sizes.js +4 -4
  942. package/utilities/caching/sizes.js.map +1 -1
  943. package/utilities/common/stripTypename.d.ts +12 -1
  944. package/utilities/common/stripTypename.js +12 -1
  945. package/utilities/common/stripTypename.js.map +1 -1
  946. package/utilities/environment/index.d.ts +1 -1
  947. package/utilities/environment/index.development.d.ts +1 -1
  948. package/utilities/environment/index.development.js +1 -1
  949. package/utilities/environment/index.development.js.map +1 -1
  950. package/utilities/environment/index.js +1 -1
  951. package/utilities/environment/index.js.map +1 -1
  952. package/utilities/environment/index.production.d.ts +1 -1
  953. package/utilities/environment/index.production.js +1 -1
  954. package/utilities/environment/index.production.js.map +1 -1
  955. package/utilities/graphql/DocumentTransform.d.ts +94 -5
  956. package/utilities/graphql/DocumentTransform.js +85 -2
  957. package/utilities/graphql/DocumentTransform.js.map +1 -1
  958. package/utilities/graphql/isFormattedExecutionResult.d.ts +28 -1
  959. package/utilities/graphql/isFormattedExecutionResult.js +28 -1
  960. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -1
  961. package/utilities/graphql/operations.d.ts +55 -4
  962. package/utilities/graphql/operations.js +55 -4
  963. package/utilities/graphql/operations.js.map +1 -1
  964. package/utilities/graphql/print.d.ts +1 -1
  965. package/utilities/graphql/print.js +1 -1
  966. package/utilities/graphql/print.js.map +1 -1
  967. package/utilities/graphql/storeUtils.d.ts +10 -1
  968. package/utilities/graphql/storeUtils.js +10 -1
  969. package/utilities/graphql/storeUtils.js.map +1 -1
  970. package/utilities/graphql/transform.d.ts +13 -2
  971. package/utilities/graphql/transform.js +13 -2
  972. package/utilities/graphql/transform.js.map +1 -1
  973. package/utilities/index.d.ts +2 -3
  974. package/utilities/index.js +2 -3
  975. package/utilities/index.js.map +1 -1
  976. package/utilities/internal/argumentsObjectFromField.js.map +1 -1
  977. package/utilities/internal/caches.js.map +1 -1
  978. package/utilities/internal/canUseDOM.js.map +1 -1
  979. package/utilities/internal/canonicalStringify.d.ts +44 -0
  980. package/utilities/{shared → internal}/canonicalStringify.js +35 -14
  981. package/utilities/internal/canonicalStringify.js.map +1 -0
  982. package/utilities/internal/checkDocument.js +1 -1
  983. package/utilities/internal/checkDocument.js.map +1 -1
  984. package/utilities/internal/cloneDeep.js.map +1 -1
  985. package/utilities/internal/compact.js.map +1 -1
  986. package/utilities/internal/createFragmentMap.js.map +1 -1
  987. package/utilities/internal/createFulfilledPromise.js.map +1 -1
  988. package/utilities/internal/createRejectedPromise.js.map +1 -1
  989. package/utilities/internal/dealias.d.ts +1 -1
  990. package/utilities/internal/dealias.js +1 -1
  991. package/utilities/internal/dealias.js.map +1 -1
  992. package/utilities/internal/decoratePromise.js.map +1 -1
  993. package/utilities/internal/deepFreeze.js.map +1 -1
  994. package/utilities/internal/equalByQuery.d.ts +5 -0
  995. package/{core → utilities/internal}/equalByQuery.js +8 -2
  996. package/utilities/internal/equalByQuery.js.map +1 -0
  997. package/utilities/internal/filterMap.d.ts +1 -1
  998. package/utilities/internal/filterMap.js +1 -1
  999. package/utilities/internal/filterMap.js.map +1 -1
  1000. package/utilities/internal/getDefaultValues.js.map +1 -1
  1001. package/utilities/internal/getFragmentDefinition.js.map +1 -1
  1002. package/utilities/internal/getFragmentDefinitions.js.map +1 -1
  1003. package/utilities/internal/getFragmentFromSelection.js.map +1 -1
  1004. package/utilities/internal/getFragmentQueryDocument.d.ts +13 -3
  1005. package/utilities/internal/getFragmentQueryDocument.js +13 -3
  1006. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  1007. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -1
  1008. package/utilities/internal/getMainDefinition.d.ts +37 -9
  1009. package/utilities/internal/getMainDefinition.js +36 -8
  1010. package/utilities/internal/getMainDefinition.js.map +1 -1
  1011. package/utilities/internal/getMemoryInternals.js.map +1 -1
  1012. package/utilities/internal/getOperationDefinition.js.map +1 -1
  1013. package/utilities/internal/getOperationName.js.map +1 -1
  1014. package/utilities/internal/getQueryDefinition.js.map +1 -1
  1015. package/utilities/internal/getStoreKeyName.js +9 -7
  1016. package/utilities/internal/getStoreKeyName.js.map +1 -1
  1017. package/utilities/internal/globals/global.d.ts +1 -1
  1018. package/utilities/internal/globals/index.d.ts +1 -1
  1019. package/utilities/internal/globals/index.js +1 -1
  1020. package/utilities/internal/globals/index.js.map +1 -1
  1021. package/utilities/internal/globals/maybe.d.ts +1 -1
  1022. package/utilities/internal/globals/maybe.js +1 -1
  1023. package/utilities/internal/globals/maybe.js.map +1 -1
  1024. package/utilities/internal/graphQLResultHasError.js.map +1 -1
  1025. package/utilities/internal/hasDirectives.js.map +1 -1
  1026. package/utilities/internal/hasForcedResolvers.d.ts +1 -1
  1027. package/utilities/internal/hasForcedResolvers.js +1 -1
  1028. package/utilities/internal/hasForcedResolvers.js.map +1 -1
  1029. package/utilities/internal/index.d.ts +5 -1
  1030. package/utilities/internal/index.js +4 -1
  1031. package/utilities/internal/index.js.map +1 -1
  1032. package/utilities/internal/index.production.d.ts +1 -1
  1033. package/utilities/internal/index.production.js +1 -1
  1034. package/utilities/internal/index.production.js.map +1 -1
  1035. package/utilities/internal/isArray.js.map +1 -1
  1036. package/utilities/internal/isDocumentNode.js.map +1 -1
  1037. package/utilities/internal/isField.js.map +1 -1
  1038. package/utilities/internal/isNonEmptyArray.js.map +1 -1
  1039. package/utilities/internal/isNonNullObject.js.map +1 -1
  1040. package/utilities/internal/isPlainObject.js.map +1 -1
  1041. package/utilities/internal/makeReference.js.map +1 -1
  1042. package/utilities/internal/makeUniqueId.js.map +1 -1
  1043. package/utilities/internal/maybeDeepFreeze.js.map +1 -1
  1044. package/utilities/internal/mergeDeep.js.map +1 -1
  1045. package/utilities/internal/mergeDeepArray.js.map +1 -1
  1046. package/utilities/internal/mergeOptions.d.ts +2 -2
  1047. package/utilities/internal/mergeOptions.js.map +1 -1
  1048. package/utilities/internal/omitDeep.js.map +1 -1
  1049. package/utilities/internal/preventUnhandledRejection.d.ts +1 -1
  1050. package/utilities/internal/preventUnhandledRejection.js +1 -1
  1051. package/utilities/internal/preventUnhandledRejection.js.map +1 -1
  1052. package/utilities/internal/removeDirectivesFromDocument.js +1 -2
  1053. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -1
  1054. package/utilities/internal/removeFragmentSpreads.d.ts +3 -0
  1055. package/utilities/internal/removeFragmentSpreads.js +11 -0
  1056. package/utilities/internal/removeFragmentSpreads.js.map +1 -0
  1057. package/utilities/internal/resultKeyNameFromField.js.map +1 -1
  1058. package/utilities/internal/shouldInclude.js.map +1 -1
  1059. package/utilities/internal/storeKeyNameFromField.js.map +1 -1
  1060. package/utilities/internal/stringifyForDisplay.js.map +1 -1
  1061. package/utilities/internal/toQueryResult.d.ts +2 -2
  1062. package/utilities/internal/toQueryResult.js.map +1 -1
  1063. package/utilities/internal/types/ApplyHKT.js +1 -1
  1064. package/utilities/internal/types/ApplyHKT.js.map +1 -1
  1065. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +1 -1
  1066. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -1
  1067. package/utilities/internal/types/DecoratedPromise.js +1 -1
  1068. package/utilities/internal/types/DecoratedPromise.js.map +1 -1
  1069. package/utilities/internal/types/DeepOmit.js +1 -1
  1070. package/utilities/internal/types/DeepOmit.js.map +1 -1
  1071. package/utilities/internal/types/DocumentationTypes.d.ts +88 -0
  1072. package/utilities/internal/types/DocumentationTypes.js +2 -0
  1073. package/utilities/internal/types/DocumentationTypes.js.map +1 -0
  1074. package/utilities/internal/types/FragmentMap.js +1 -1
  1075. package/utilities/internal/types/FragmentMap.js.map +1 -1
  1076. package/utilities/internal/types/FragmentMapFunction.js +1 -1
  1077. package/utilities/internal/types/FragmentMapFunction.js.map +1 -1
  1078. package/utilities/internal/types/FulfilledPromise.js +1 -1
  1079. package/utilities/internal/types/FulfilledPromise.js.map +1 -1
  1080. package/utilities/internal/types/IsAny.js +1 -1
  1081. package/utilities/internal/types/IsAny.js.map +1 -1
  1082. package/utilities/internal/types/NoInfer.d.ts +32 -26
  1083. package/utilities/internal/types/NoInfer.js +1 -1
  1084. package/utilities/internal/types/NoInfer.js.map +1 -1
  1085. package/utilities/internal/types/PendingPromise.js +1 -1
  1086. package/utilities/internal/types/PendingPromise.js.map +1 -1
  1087. package/utilities/internal/types/Prettify.js +1 -1
  1088. package/utilities/internal/types/Prettify.js.map +1 -1
  1089. package/utilities/internal/types/Primitive.js +1 -1
  1090. package/utilities/internal/types/Primitive.js.map +1 -1
  1091. package/utilities/internal/types/RejectedPromise.js +1 -1
  1092. package/utilities/internal/types/RejectedPromise.js.map +1 -1
  1093. package/utilities/internal/types/RemoveIndexSignature.js +1 -1
  1094. package/utilities/internal/types/RemoveIndexSignature.js.map +1 -1
  1095. package/utilities/internal/types/TupleToIntersection.d.ts +1 -1
  1096. package/utilities/internal/types/TupleToIntersection.js +1 -1
  1097. package/utilities/internal/types/TupleToIntersection.js.map +1 -1
  1098. package/utilities/internal/types/VariablesOption.d.ts +2 -6
  1099. package/utilities/internal/types/VariablesOption.js +1 -1
  1100. package/utilities/internal/types/VariablesOption.js.map +1 -1
  1101. package/utilities/internal/valueToObjectRepresentation.js.map +1 -1
  1102. package/utilities/invariant/index.d.ts +1 -1
  1103. package/utilities/invariant/index.development.d.ts +1 -1
  1104. package/utilities/invariant/index.development.js +1 -1
  1105. package/utilities/invariant/index.development.js.map +1 -1
  1106. package/utilities/invariant/index.js +1 -1
  1107. package/utilities/invariant/index.js.map +1 -1
  1108. package/utilities/policies/pagination.d.ts +1 -1
  1109. package/utilities/policies/pagination.js +1 -1
  1110. package/utilities/policies/pagination.js.map +1 -1
  1111. package/utilities/subscriptions/relay/index.d.ts +1 -1
  1112. package/utilities/subscriptions/relay/index.js +4 -3
  1113. package/utilities/subscriptions/relay/index.js.map +1 -1
  1114. package/version.d.ts +1 -1
  1115. package/version.js +1 -1
  1116. package/version.js.map +1 -1
  1117. package/__cjs/cache/core/types/DataProxy.cjs.map +0 -1
  1118. package/__cjs/cache/core/types/DataProxy.d.cts +0 -140
  1119. package/__cjs/core/equalByQuery.cjs.map +0 -1
  1120. package/__cjs/core/equalByQuery.d.cts +0 -4
  1121. package/__cjs/link/http/serializeFetchParameter.cjs +0 -18
  1122. package/__cjs/link/http/serializeFetchParameter.cjs.map +0 -1
  1123. package/__cjs/link/http/serializeFetchParameter.d.cts +0 -6
  1124. package/__cjs/link/utils/transformOperation.cjs +0 -21
  1125. package/__cjs/link/utils/transformOperation.cjs.map +0 -1
  1126. package/__cjs/link/utils/transformOperation.d.cts +0 -3
  1127. package/__cjs/link/utils/validateOperation.cjs +0 -21
  1128. package/__cjs/link/utils/validateOperation.cjs.map +0 -1
  1129. package/__cjs/link/utils/validateOperation.d.cts +0 -3
  1130. package/__cjs/react/context/ApolloConsumer.cjs +0 -16
  1131. package/__cjs/react/context/ApolloConsumer.cjs.map +0 -1
  1132. package/__cjs/react/context/ApolloConsumer.d.cts +0 -10
  1133. package/__cjs/utilities/shared/canonicalStringify.cjs.map +0 -1
  1134. package/__cjs/utilities/shared/canonicalStringify.d.cts +0 -21
  1135. package/cache/core/types/DataProxy.d.ts +0 -140
  1136. package/cache/core/types/DataProxy.js +0 -2
  1137. package/cache/core/types/DataProxy.js.map +0 -1
  1138. package/core/equalByQuery.d.ts +0 -4
  1139. package/core/equalByQuery.js.map +0 -1
  1140. package/link/http/serializeFetchParameter.d.ts +0 -6
  1141. package/link/http/serializeFetchParameter.js +0 -14
  1142. package/link/http/serializeFetchParameter.js.map +0 -1
  1143. package/link/utils/transformOperation.d.ts +0 -3
  1144. package/link/utils/transformOperation.js +0 -18
  1145. package/link/utils/transformOperation.js.map +0 -1
  1146. package/link/utils/validateOperation.d.ts +0 -3
  1147. package/link/utils/validateOperation.js +0 -18
  1148. package/link/utils/validateOperation.js.map +0 -1
  1149. package/react/context/ApolloConsumer.d.ts +0 -10
  1150. package/react/context/ApolloConsumer.js +0 -11
  1151. package/react/context/ApolloConsumer.js.map +0 -1
  1152. package/utilities/shared/canonicalStringify.d.ts +0 -21
  1153. package/utilities/shared/canonicalStringify.js.map +0 -1
@@ -2,84 +2,177 @@ import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
2
  import type { DocumentNode } from "graphql";
3
3
  import type { ApolloClient, DefaultContext, ErrorLike, ErrorPolicy, FetchPolicy, OperationVariables } from "@apollo/client";
4
4
  import type { MaybeMasked } from "@apollo/client/masking";
5
+ import type { DocumentationTypes as UtilityDocumentationTypes } from "@apollo/client/utilities/internal";
5
6
  import type { NoInfer, VariablesOption } from "@apollo/client/utilities/internal";
6
7
  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);
8
+ import _self = useSubscription;
9
+ namespace Base {
10
+ interface Options<TData = unknown, TVariables extends OperationVariables = OperationVariables> {
11
+ /**
12
+ * 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).
13
+ */
14
+ fetchPolicy?: FetchPolicy;
15
+ /**
16
+ * Specifies the `ErrorPolicy` to be used for this operation
17
+ */
18
+ errorPolicy?: ErrorPolicy;
19
+ /**
20
+ * Determines if your subscription should be unsubscribed and subscribed again when an input to the hook (such as `subscription` or `variables`) changes.
21
+ */
22
+ shouldResubscribe?: boolean | ((options: Options<TData, TVariables>) => boolean);
23
+ /**
24
+ * An `ApolloClient` instance. By default `useSubscription` / `Subscription` uses the client passed down via context, but a different client can be passed in.
25
+ */
26
+ client?: ApolloClient;
27
+ /**
28
+ * Determines if the current subscription should be skipped. Useful if, for example, variables depend on previous queries and are not ready yet.
29
+ */
30
+ skip?: boolean;
31
+ /**
32
+ * Shared context between your component and your network interface (Apollo Link).
33
+ */
34
+ context?: DefaultContext;
35
+ /**
36
+ * Shared context between your component and your network interface (Apollo Link).
37
+ */
38
+ extensions?: Record<string, any>;
39
+ /**
40
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component completes the subscription.
41
+ */
42
+ onComplete?: () => void;
43
+ /**
44
+ * 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`.
45
+ */
46
+ onData?: (options: OnDataOptions<TData>) => any;
47
+ /**
48
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component receives an error.
49
+ */
50
+ onError?: (error: ErrorLike) => void;
51
+ /**
52
+ * 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.
53
+ *
54
+ * Changing this to `true` when the hook already has `data` will reset the `data` to `undefined`.
55
+ *
56
+ * @defaultValue `false`
57
+ */
58
+ ignoreResults?: boolean;
59
+ }
60
+ }
61
+ type Options<TData = unknown, TVariables extends OperationVariables = OperationVariables> = Base.Options<TData, TVariables> & VariablesOption<TVariables>;
62
+ namespace DocumentationTypes {
63
+ namespace useSubscription {
64
+ interface Options<TData = unknown, TVariables extends OperationVariables = OperationVariables> extends Base.Options<TData, TVariables>, UtilityDocumentationTypes.VariableOptions<TVariables> {
65
+ }
66
+ }
67
+ }
68
+ interface Result<TData = unknown> {
20
69
  /**
21
- * An `ApolloClient` instance. By default `useSubscription` / `Subscription` uses the client passed down via context, but a different client can be passed in.
70
+ * A boolean that indicates whether any initial data has been returned
22
71
  */
23
- client?: ApolloClient;
72
+ loading: boolean;
24
73
  /**
25
- * Determines if the current subscription should be skipped. Useful if, for example, variables depend on previous queries and are not ready yet.
74
+ * An object containing the result of your GraphQL subscription. Defaults to an empty object.
26
75
  */
27
- skip?: boolean;
76
+ data?: MaybeMasked<TData>;
28
77
  /**
29
- * Shared context between your component and your network interface (Apollo Link).
78
+ * A runtime error with `graphQLErrors` and `networkError` properties
30
79
  */
31
- context?: DefaultContext;
80
+ error?: ErrorLike;
32
81
  /**
33
- * Shared context between your component and your network interface (Apollo Link).
34
- */
35
- extensions?: Record<string, any>;
82
+ * A function that when called will disconnect and reconnect the connection
83
+ * to the subscription. If the subscription is deduplicated, this will
84
+ * restart the connection for all deduplicated subscriptions.
85
+ */
86
+ restart: () => void;
87
+ }
88
+ namespace DocumentationTypes {
89
+ namespace useSubscription {
90
+ interface Result<TData = unknown> extends _self.Result<TData> {
91
+ }
92
+ }
93
+ }
94
+ namespace DocumentationTypes {
36
95
  /**
37
- * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component completes the subscription.
96
+ * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.
38
97
  *
39
- * @since
98
+ * @example
40
99
  *
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`.
100
+ * ```jsx
101
+ * const COMMENTS_SUBSCRIPTION = gql`
102
+ * subscription OnCommentAdded($repoFullName: String!) {
103
+ * commentAdded(repoFullName: $repoFullName) {
104
+ * id
105
+ * content
106
+ * }
107
+ * }
108
+ * `;
46
109
  *
47
- * @since
110
+ * function DontReadTheComments({ repoFullName }) {
111
+ * const {
112
+ * data: { commentAdded },
113
+ * loading,
114
+ * } = useSubscription(COMMENTS_SUBSCRIPTION, { variables: { repoFullName } });
115
+ * return <h4>New comment: {!loading && commentAdded.content}</h4>;
116
+ * }
117
+ * ```
48
118
  *
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.
119
+ * @remarks
54
120
  *
55
- * @since
121
+ * #### Consider using `onData` instead of `useEffect`
56
122
  *
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.
123
+ * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.
124
+ * 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.
125
+ * State updates made in an event handler like `onData` might - depending on the React version - be batched and cause only a single rerender.
62
126
  *
63
- * Changing this to `true` when the hook already has `data` will reset the `data` to `undefined`.
127
+ * Consider the following component:
64
128
  *
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
129
+ * ```jsx
130
+ * export function Subscriptions() {
131
+ * const { data, error, loading } = useSubscription(query);
132
+ * const [accumulatedData, setAccumulatedData] = useState([]);
133
+ *
134
+ * useEffect(() => {
135
+ * setAccumulatedData((prev) => [...prev, data]);
136
+ * }, [data]);
137
+ *
138
+ * return (
139
+ * <>
140
+ * {loading && <p>Loading...</p>}
141
+ * {JSON.stringify(accumulatedData, undefined, 2)}
142
+ * </>
143
+ * );
144
+ * }
145
+ * ```
146
+ *
147
+ * Instead of using `useEffect` here, we can re-write this component to use the `onData` callback function accepted in `useSubscription`'s `options` object:
148
+ *
149
+ * ```jsx
150
+ * export function Subscriptions() {
151
+ * const [accumulatedData, setAccumulatedData] = useState([]);
152
+ * const { data, error, loading } = useSubscription(query, {
153
+ * onData({ data }) {
154
+ * setAccumulatedData((prev) => [...prev, data]);
155
+ * },
156
+ * });
157
+ *
158
+ * return (
159
+ * <>
160
+ * {loading && <p>Loading...</p>}
161
+ * {JSON.stringify(accumulatedData, undefined, 2)}
162
+ * </>
163
+ * );
164
+ * }
165
+ * ```
166
+ *
167
+ * > ⚠️ **Note:** The `useSubscription` option `onData` is available in Apollo Client >= 3.7. In previous versions, the equivalent option is named `onSubscriptionData`.
168
+ *
169
+ * 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`.
170
+ *
171
+ * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.
172
+ * @param options - Options to control how the subscription is executed.
173
+ * @returns Query result object
80
174
  */
81
- error?: ErrorLike;
82
- restart: () => void;
175
+ function useSubscription<TData = unknown, TVariables extends OperationVariables = OperationVariables>(options?: useSubscription.Options<TData, TVariables>): useSubscription.Result<TData>;
83
176
  }
84
177
  type OnDataResult<TData = unknown> = Omit<Result<TData>, "restart">;
85
178
  interface OnDataOptions<TData = unknown> {
@@ -95,6 +188,7 @@ export declare namespace useSubscription {
95
188
  * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.
96
189
  *
97
190
  * @example
191
+ *
98
192
  * ```jsx
99
193
  * const COMMENTS_SUBSCRIPTION = gql`
100
194
  * subscription OnCommentAdded($repoFullName: String!) {
@@ -113,7 +207,9 @@ export declare namespace useSubscription {
113
207
  * return <h4>New comment: {!loading && commentAdded.content}</h4>;
114
208
  * }
115
209
  * ```
210
+ *
116
211
  * @remarks
212
+ *
117
213
  * #### Consider using `onData` instead of `useEffect`
118
214
  *
119
215
  * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.
@@ -145,14 +241,11 @@ export declare namespace useSubscription {
145
241
  * ```jsx
146
242
  * export function Subscriptions() {
147
243
  * const [accumulatedData, setAccumulatedData] = useState([]);
148
- * const { data, error, loading } = useSubscription(
149
- * query,
150
- * {
151
- * onData({ data }) {
152
- * setAccumulatedData((prev) => [...prev, data])
153
- * }
154
- * }
155
- * );
244
+ * const { data, error, loading } = useSubscription(query, {
245
+ * onData({ data }) {
246
+ * setAccumulatedData((prev) => [...prev, data]);
247
+ * },
248
+ * });
156
249
  *
157
250
  * return (
158
251
  * <>
@@ -167,7 +260,6 @@ export declare namespace useSubscription {
167
260
  *
168
261
  * 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`.
169
262
  *
170
- * @since 3.0.0
171
263
  * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.
172
264
  * @param options - Options to control how the subscription is executed.
173
265
  * @returns Query result object
@@ -9,6 +9,7 @@ import { useSyncExternalStore } from "./useSyncExternalStore.js";
9
9
  * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.
10
10
  *
11
11
  * @example
12
+ *
12
13
  * ```jsx
13
14
  * const COMMENTS_SUBSCRIPTION = gql`
14
15
  * subscription OnCommentAdded($repoFullName: String!) {
@@ -27,7 +28,9 @@ import { useSyncExternalStore } from "./useSyncExternalStore.js";
27
28
  * return <h4>New comment: {!loading && commentAdded.content}</h4>;
28
29
  * }
29
30
  * ```
31
+ *
30
32
  * @remarks
33
+ *
31
34
  * #### Consider using `onData` instead of `useEffect`
32
35
  *
33
36
  * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.
@@ -59,14 +62,11 @@ import { useSyncExternalStore } from "./useSyncExternalStore.js";
59
62
  * ```jsx
60
63
  * export function Subscriptions() {
61
64
  * const [accumulatedData, setAccumulatedData] = useState([]);
62
- * const { data, error, loading } = useSubscription(
63
- * query,
64
- * {
65
- * onData({ data }) {
66
- * setAccumulatedData((prev) => [...prev, data])
67
- * }
68
- * }
69
- * );
65
+ * const { data, error, loading } = useSubscription(query, {
66
+ * onData({ data }) {
67
+ * setAccumulatedData((prev) => [...prev, data]);
68
+ * },
69
+ * });
70
70
  *
71
71
  * return (
72
72
  * <>
@@ -81,7 +81,6 @@ import { useSyncExternalStore } from "./useSyncExternalStore.js";
81
81
  *
82
82
  * 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`.
83
83
  *
84
- * @since 3.0.0
85
84
  * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.
86
85
  * @param options - Options to control how the subscription is executed.
87
86
  * @returns Query result object
@@ -139,8 +138,8 @@ export function useSubscription(subscription, ...[options = {}]) {
139
138
  return () => { };
140
139
  }
141
140
  let subscriptionStopped = false;
142
- const client_0 = observable.__.client;
143
- const subscription_0 = observable.subscribe({
141
+ const client = observable.__.client;
142
+ const subscription = observable.subscribe({
144
143
  next(value) {
145
144
  if (subscriptionStopped) {
146
145
  return;
@@ -158,7 +157,7 @@ export function useSubscription(subscription, ...[options = {}]) {
158
157
  }
159
158
  else if (optionsRef.current.onData) {
160
159
  optionsRef.current.onData({
161
- client: client_0,
160
+ client,
162
161
  data: result,
163
162
  });
164
163
  }
@@ -175,7 +174,7 @@ export function useSubscription(subscription, ...[options = {}]) {
175
174
  // until after a short delay in case another useSubscription hook is
176
175
  // reusing the same underlying observable and is about to subscribe
177
176
  subscriptionStopped = true;
178
- setTimeout(() => subscription_0.unsubscribe());
177
+ setTimeout(() => subscription.unsubscribe());
179
178
  };
180
179
  }, [observable]), () => observable && !skip && !ignoreResults ?
181
180
  observable.__.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\";\n\nimport type {\n ApolloClient,\n DefaultContext,\n ErrorLike,\n ErrorPolicy,\n FetchPolicy,\n OperationVariables,\n SubscriptionOptions,\n} from \"@apollo/client\";\nimport type { MaybeMasked } from \"@apollo/client/masking\";\nimport type {\n NoInfer,\n VariablesOption,\n} from \"@apollo/client/utilities/internal\";\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 observable.__.completed = true;\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\n setTimeout(() => subscription.unsubscribe());\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 if (observable?.__.completed) {\n setObservable(recreateRef.current());\n } else {\n observable?.restart();\n }\n }, [optionsRef, recreateRef, observable]);\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 completed: false,\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 return Object.assign(client.subscribe(options), {\n /**\n * A tracking object to store details about the observable and the latest result of the subscription.\n */\n __,\n });\n}\n"],"names":[],"mappings":"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,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,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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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\";\n\nimport type {\n ApolloClient,\n DefaultContext,\n ErrorLike,\n ErrorPolicy,\n FetchPolicy,\n OperationVariables,\n} from \"@apollo/client\";\nimport type { MaybeMasked } from \"@apollo/client/masking\";\nimport type { DocumentationTypes as UtilityDocumentationTypes } from \"@apollo/client/utilities/internal\";\nimport type {\n NoInfer,\n VariablesOption,\n} from \"@apollo/client/utilities/internal\";\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 import _self = useSubscription;\n export namespace Base {\n export interface 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 }\n }\n\n export type Options<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n > = Base.Options<TData, TVariables> & VariablesOption<TVariables>;\n\n export namespace DocumentationTypes {\n namespace useSubscription {\n export interface Options<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n > extends Base.Options<TData, TVariables>,\n UtilityDocumentationTypes.VariableOptions<TVariables> {}\n }\n }\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 /**\n * A function that when called will disconnect and reconnect the connection\n * to the subscription. If the subscription is deduplicated, this will\n * restart the connection for all deduplicated subscriptions.\n */\n restart: () => void;\n }\n\n export namespace DocumentationTypes {\n namespace useSubscription {\n export interface Result<TData = unknown> extends _self.Result<TData> {}\n }\n }\n\n export namespace DocumentationTypes {\n /** {@inheritDoc @apollo/client/react!useSubscription:function(1)} */\n export function useSubscription<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n options?: useSubscription.Options<TData, TVariables>\n ): useSubscription.Result<TData>;\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 *\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 *\n * @remarks\n *\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(query, {\n * onData({ data }) {\n * setAccumulatedData((prev) => [...prev, data]);\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 * @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 observable.__.completed = true;\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\n setTimeout(() => subscription.unsubscribe());\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 if (observable?.__.completed) {\n setObservable(recreateRef.current());\n } else {\n observable?.restart();\n }\n }, [optionsRef, recreateRef, observable]);\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 ApolloClient.SubscribeOptions<TData, TVariables>;\n const __ = {\n ...options,\n client,\n completed: false,\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 return Object.assign(client.subscribe(options), {\n /**\n * A tracking object to store details about the observable and the latest result of the subscription.\n */\n __,\n });\n}\n"],"names":[],"mappings":"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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,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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"}
@@ -1,47 +1,79 @@
1
- import type { ApolloClient, DocumentNode, OperationVariables, Reference, StoreObject, TypedDocumentNode } from "@apollo/client";
1
+ import type { ApolloClient, DataValue, 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/utilities/internal";
3
+ import type { DocumentationTypes as UtilityDocumentationTypes, NoInfer, VariablesOption } from "@apollo/client/utilities/internal";
4
4
  type From<TData> = StoreObject | Reference | FragmentType<NoInfer<TData>> | string | null;
5
5
  export declare namespace useSuspenseFragment {
6
- type Options<TData, TVariables extends OperationVariables> = {
6
+ import _self = useSuspenseFragment;
7
+ namespace Base {
8
+ type Options<TData, TVariables extends OperationVariables> = {
9
+ /**
10
+ * A GraphQL document created using the `gql` template string tag from
11
+ * `graphql-tag` with one or more fragments which will be used to determine
12
+ * the shape of data to read. If you provide more than one fragment in this
13
+ * document then you must also specify `fragmentName` to select a single.
14
+ */
15
+ fragment: DocumentNode | TypedDocumentNode<TData, TVariables>;
16
+ /**
17
+ * The name of the fragment in your GraphQL document to be used. If you do
18
+ * not provide a `fragmentName` and there is only one fragment in your
19
+ * `fragment` document then that fragment will be used.
20
+ */
21
+ fragmentName?: string;
22
+ from: From<TData>;
23
+ optimistic?: boolean;
24
+ /**
25
+ * The instance of `ApolloClient` to use to look up the fragment.
26
+ *
27
+ * By default, the instance that's passed down via context is used, but you
28
+ * can provide a different instance here.
29
+ *
30
+ * @docGroup 1. Operation options
31
+ */
32
+ client?: ApolloClient;
33
+ };
34
+ }
35
+ type Options<TData, TVariables extends OperationVariables> = Base.Options<TData, TVariables> & VariablesOption<NoInfer<TVariables>>;
36
+ namespace DocumentationTypes {
37
+ namespace useSuspenseFragment {
38
+ interface Options<TData = unknown, TVariables extends OperationVariables = OperationVariables> extends Base.Options<TData, TVariables>, UtilityDocumentationTypes.VariableOptions<TVariables> {
39
+ }
40
+ }
41
+ }
42
+ interface Result<TData> {
43
+ data: DataValue.Complete<MaybeMasked<TData>>;
44
+ }
45
+ namespace DocumentationTypes {
46
+ namespace useSuspenseFragment {
47
+ interface Result<TData = unknown> extends _self.Result<TData> {
48
+ }
49
+ }
50
+ }
51
+ namespace DocumentationTypes {
7
52
  /**
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
- };
53
+ * #TODO documentation
54
+ */
55
+ function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables>): useSuspenseFragment.Result<TData>;
56
+ }
35
57
  }
58
+ /** #TODO documentation */
36
59
  export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables> & {
37
60
  from: NonNullable<From<TData>>;
38
61
  }): useSuspenseFragment.Result<TData>;
62
+ /**
63
+ * #TODO documentation
64
+ */
39
65
  export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables> & {
40
66
  from: null;
41
67
  }): useSuspenseFragment.Result<null>;
68
+ /**
69
+ * #TODO documentation
70
+ */
42
71
  export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables> & {
43
72
  from: From<TData>;
44
73
  }): useSuspenseFragment.Result<TData | null>;
74
+ /**
75
+ * #TODO documentation
76
+ */
45
77
  export declare function useSuspenseFragment<TData, TVariables extends OperationVariables = OperationVariables>(options: useSuspenseFragment.Options<TData, TVariables>): useSuspenseFragment.Result<TData>;
46
78
  export {};
47
79
  //# sourceMappingURL=useSuspenseFragment.d.ts.map
@@ -44,4 +44,4 @@ function useSuspenseFragment_(options) {
44
44
  const data = __use(current[1]);
45
45
  return { data };
46
46
  }
47
- //# sourceMappingURL=useSuspenseFragment.js.map
47
+ //# sourceMappingURL=useSuspenseFragment.js.map