@apollo/client 4.0.0-rc.5 → 4.0.0-rc.7

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 (631) hide show
  1. package/CHANGELOG.md +153 -0
  2. package/README.md +40 -40
  3. package/__cjs/cache/core/cache.cjs +14 -13
  4. package/__cjs/cache/core/cache.cjs.map +1 -1
  5. package/__cjs/cache/core/cache.d.cts +77 -71
  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 +25 -28
  15. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  16. package/__cjs/cache/inmemory/entityStore.d.cts +17 -16
  17. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  18. package/__cjs/cache/inmemory/inMemoryCache.d.cts +4 -4
  19. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  20. package/__cjs/cache/inmemory/policies.cjs +4 -4
  21. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  22. package/__cjs/cache/inmemory/policies.d.cts +3 -2
  23. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  24. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  25. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  26. package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
  27. package/__cjs/core/ApolloClient.cjs +94 -112
  28. package/__cjs/core/ApolloClient.cjs.map +1 -1
  29. package/__cjs/core/ApolloClient.d.cts +758 -182
  30. package/__cjs/core/ObservableQuery.cjs +10 -10
  31. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  32. package/__cjs/core/ObservableQuery.d.cts +131 -112
  33. package/__cjs/core/QueryInfo.cjs.map +1 -1
  34. package/__cjs/core/QueryInfo.d.cts +8 -7
  35. package/__cjs/core/QueryManager.cjs +15 -15
  36. package/__cjs/core/QueryManager.cjs.map +1 -1
  37. package/__cjs/core/QueryManager.d.cts +20 -20
  38. package/__cjs/core/deprecated.cjs +3 -0
  39. package/__cjs/core/deprecated.cjs.map +1 -0
  40. package/__cjs/core/deprecated.d.cts +29 -0
  41. package/__cjs/core/index.cjs.map +1 -1
  42. package/__cjs/core/index.d.cts +10 -6
  43. package/__cjs/core/types.d.cts +69 -157
  44. package/__cjs/core/watchQueryOptions.d.cts +8 -297
  45. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  46. package/__cjs/dev/setErrorMessageHandler.d.cts +4 -4
  47. package/__cjs/errors/CombinedGraphQLErrors.cjs +64 -11
  48. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  49. package/__cjs/errors/CombinedGraphQLErrors.d.cts +168 -14
  50. package/__cjs/errors/CombinedProtocolErrors.cjs +54 -1
  51. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  52. package/__cjs/errors/CombinedProtocolErrors.d.cts +132 -2
  53. package/__cjs/errors/LinkError.cjs +45 -2
  54. package/__cjs/errors/LinkError.cjs.map +1 -1
  55. package/__cjs/errors/LinkError.d.cts +45 -2
  56. package/__cjs/errors/LocalStateError.cjs +35 -5
  57. package/__cjs/errors/LocalStateError.cjs.map +1 -1
  58. package/__cjs/errors/LocalStateError.d.cts +41 -5
  59. package/__cjs/errors/ServerError.cjs +51 -8
  60. package/__cjs/errors/ServerError.cjs.map +1 -1
  61. package/__cjs/errors/ServerError.d.cts +71 -11
  62. package/__cjs/errors/ServerParseError.cjs +46 -8
  63. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  64. package/__cjs/errors/ServerParseError.d.cts +72 -16
  65. package/__cjs/errors/UnconventionalError.cjs +46 -2
  66. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  67. package/__cjs/errors/UnconventionalError.d.cts +46 -2
  68. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  69. package/__cjs/incremental/handlers/defer20220824.d.cts +4 -4
  70. package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  71. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -1
  72. package/__cjs/incremental/handlers/notImplemented.d.cts +2 -2
  73. package/__cjs/incremental/types.d.cts +4 -4
  74. package/__cjs/invariantErrorCodes.cjs +81 -85
  75. package/__cjs/link/batch/batchLink.cjs +3 -9
  76. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  77. package/__cjs/link/batch/batchLink.d.cts +2 -3
  78. package/__cjs/link/batch/batching.cjs +1 -1
  79. package/__cjs/link/batch/batching.cjs.map +1 -1
  80. package/__cjs/link/batch/batching.d.cts +7 -7
  81. package/__cjs/link/batch-http/batchHttpLink.cjs +8 -5
  82. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  83. package/__cjs/link/batch-http/batchHttpLink.d.cts +1 -2
  84. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
  85. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +4 -4
  86. package/__cjs/link/context/index.cjs +1 -1
  87. package/__cjs/link/context/index.cjs.map +1 -1
  88. package/__cjs/link/context/index.d.cts +4 -5
  89. package/__cjs/link/core/ApolloLink.cjs +227 -55
  90. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  91. package/__cjs/link/core/ApolloLink.d.cts +355 -9
  92. package/__cjs/link/core/concat.cjs +4 -0
  93. package/__cjs/link/core/concat.cjs.map +1 -1
  94. package/__cjs/link/core/concat.d.cts +4 -0
  95. package/__cjs/link/core/deprecated.cjs +3 -0
  96. package/__cjs/link/core/deprecated.cjs.map +1 -0
  97. package/__cjs/link/core/deprecated.d.cts +10 -0
  98. package/__cjs/link/core/empty.cjs +4 -0
  99. package/__cjs/link/core/empty.cjs.map +1 -1
  100. package/__cjs/link/core/empty.d.cts +4 -0
  101. package/__cjs/link/core/from.cjs +4 -0
  102. package/__cjs/link/core/from.cjs.map +1 -1
  103. package/__cjs/link/core/from.d.cts +4 -0
  104. package/__cjs/link/core/split.cjs +4 -0
  105. package/__cjs/link/core/split.cjs.map +1 -1
  106. package/__cjs/link/core/split.d.cts +4 -0
  107. package/__cjs/link/core/types.d.cts +2 -33
  108. package/__cjs/link/error/index.cjs.map +1 -1
  109. package/__cjs/link/error/index.d.cts +20 -6
  110. package/__cjs/link/http/BaseHttpLink.cjs +2 -2
  111. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -1
  112. package/__cjs/link/http/HttpLink.cjs +4 -1
  113. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  114. package/__cjs/link/http/HttpLink.d.cts +3 -3
  115. package/__cjs/link/http/checkFetcher.cjs +1 -1
  116. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +41 -26
  117. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  118. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +2 -2
  119. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  120. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +3 -3
  121. package/__cjs/link/http/selectURI.cjs.map +1 -1
  122. package/__cjs/link/http/selectURI.d.cts +2 -2
  123. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  124. package/__cjs/link/index.cjs.map +1 -1
  125. package/__cjs/link/index.d.cts +2 -1
  126. package/__cjs/link/persisted-queries/index.cjs +2 -2
  127. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  128. package/__cjs/link/persisted-queries/index.d.cts +11 -12
  129. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  130. package/__cjs/link/retry/delayFunction.d.cts +3 -3
  131. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  132. package/__cjs/link/retry/retryFunction.d.cts +4 -4
  133. package/__cjs/link/retry/retryLink.cjs +2 -2
  134. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  135. package/__cjs/link/retry/retryLink.d.cts +1 -2
  136. package/__cjs/link/schema/index.cjs.map +1 -1
  137. package/__cjs/link/schema/index.d.cts +2 -3
  138. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  139. package/__cjs/link/subscriptions/index.d.cts +1 -2
  140. package/__cjs/link/utils/createOperation.cjs +12 -4
  141. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  142. package/__cjs/link/utils/createOperation.d.cts +2 -2
  143. package/__cjs/link/utils/index.cjs +1 -5
  144. package/__cjs/link/utils/index.cjs.map +1 -1
  145. package/__cjs/link/utils/index.d.cts +0 -2
  146. package/__cjs/link/ws/index.cjs.map +1 -1
  147. package/__cjs/link/ws/index.d.cts +1 -2
  148. package/__cjs/local-state/LocalState.cjs +55 -9
  149. package/__cjs/local-state/LocalState.cjs.map +1 -1
  150. package/__cjs/local-state/LocalState.d.cts +94 -0
  151. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +6 -7
  152. package/__cjs/masking/internal/types.d.cts +70 -70
  153. package/__cjs/masking/maskDefinition.cjs +2 -2
  154. package/__cjs/masking/maskFragment.cjs +2 -2
  155. package/__cjs/masking/maskOperation.cjs +1 -1
  156. package/__cjs/masking/utils.cjs +3 -3
  157. package/__cjs/react/context/ApolloContext.cjs +1 -1
  158. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  159. package/__cjs/react/hooks/internal/useDeepMemo.cjs +0 -3
  160. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  161. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
  162. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +2 -2
  163. package/__cjs/react/hooks/internal/wrapHook.cjs +1 -0
  164. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  165. package/__cjs/react/hooks/internal/wrapHook.d.cts +8 -7
  166. package/__cjs/react/hooks/useApolloClient.cjs +2 -2
  167. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  168. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  169. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  170. package/__cjs/react/hooks/useBackgroundQuery.d.cts +850 -90
  171. package/__cjs/react/hooks/useFragment.cjs +7 -0
  172. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  173. package/__cjs/react/hooks/useFragment.d.cts +53 -2
  174. package/__cjs/react/hooks/useLazyQuery.cjs +0 -38
  175. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  176. package/__cjs/react/hooks/useLazyQuery.d.cts +317 -165
  177. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  178. package/__cjs/react/hooks/useLoadableQuery.d.cts +153 -175
  179. package/__cjs/react/hooks/useMutation.cjs +6 -7
  180. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  181. package/__cjs/react/hooks/useMutation.d.cts +87 -65
  182. package/__cjs/react/hooks/useQuery.cjs +1 -35
  183. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  184. package/__cjs/react/hooks/useQuery.d.cts +207 -103
  185. package/__cjs/react/hooks/useQueryRefHandlers.cjs +2 -1
  186. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  187. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +34 -5
  188. package/__cjs/react/hooks/useReactiveVar.cjs +2 -1
  189. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  190. package/__cjs/react/hooks/useReactiveVar.d.cts +2 -1
  191. package/__cjs/react/hooks/useReadQuery.cjs +29 -0
  192. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  193. package/__cjs/react/hooks/useReadQuery.d.cts +92 -16
  194. package/__cjs/react/hooks/useSubscription.cjs +8 -9
  195. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  196. package/__cjs/react/hooks/useSubscription.d.cts +108 -33
  197. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  198. package/__cjs/react/hooks/useSuspenseFragment.d.cts +61 -29
  199. package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -1
  200. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  201. package/__cjs/react/hooks/useSuspenseQuery.d.cts +471 -69
  202. package/__cjs/react/index.cjs +1 -3
  203. package/__cjs/react/index.cjs.map +1 -1
  204. package/__cjs/react/index.d.cts +0 -1
  205. package/__cjs/react/index.react-server.cjs +1 -3
  206. package/__cjs/react/index.react-server.cjs.map +1 -1
  207. package/__cjs/react/index.react-server.d.cts +0 -1
  208. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  209. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -3
  210. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  211. package/__cjs/react/internal/cache/QueryReference.d.cts +14 -12
  212. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  213. package/__cjs/react/internal/cache/SuspenseCache.d.cts +2 -2
  214. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  215. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +6 -4
  216. package/__cjs/react/internal/index.cjs +1 -0
  217. package/__cjs/react/internal/index.cjs.map +1 -1
  218. package/__cjs/react/internal/index.d.cts +1 -1
  219. package/__cjs/react/internal/types.d.cts +3 -3
  220. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -1
  221. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  222. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +60 -51
  223. package/__cjs/react/ssr/prerenderStatic.cjs +5 -4
  224. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  225. package/__cjs/react/ssr/prerenderStatic.d.cts +11 -9
  226. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  227. package/__cjs/react/types/deprecated.d.cts +1 -1
  228. package/__cjs/react/types/types.documentation.d.cts +15 -15
  229. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  230. package/__cjs/testing/core/mocking/mockLink.d.cts +8 -8
  231. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
  232. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +3 -4
  233. package/__cjs/testing/core/types/deprecated.d.cts +3 -2
  234. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  235. package/__cjs/testing/react/MockedProvider.d.cts +2 -3
  236. package/__cjs/utilities/HKT.d.cts +8 -7
  237. package/__cjs/utilities/caching/sizes.cjs +3 -3
  238. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  239. package/__cjs/utilities/caching/sizes.d.cts +4 -6
  240. package/__cjs/utilities/graphql/DocumentTransform.cjs +2 -2
  241. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  242. package/__cjs/utilities/index.cjs +2 -3
  243. package/__cjs/utilities/index.cjs.map +1 -1
  244. package/__cjs/utilities/index.d.cts +1 -2
  245. package/__cjs/utilities/{shared → internal}/canonicalStringify.cjs +5 -7
  246. package/__cjs/utilities/internal/canonicalStringify.cjs.map +1 -0
  247. package/__cjs/utilities/{shared → internal}/canonicalStringify.d.cts +1 -1
  248. package/__cjs/utilities/internal/checkDocument.cjs +2 -2
  249. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  250. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  251. package/__cjs/{core → utilities/internal}/equalByQuery.cjs +13 -7
  252. package/__cjs/utilities/internal/equalByQuery.cjs.map +1 -0
  253. package/__cjs/utilities/internal/equalByQuery.d.cts +5 -0
  254. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +13 -3
  255. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  256. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +13 -3
  257. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  258. package/__cjs/utilities/internal/getStoreKeyName.cjs +1 -2
  259. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  260. package/__cjs/utilities/internal/index.cjs +6 -2
  261. package/__cjs/utilities/internal/index.cjs.map +1 -1
  262. package/__cjs/utilities/internal/index.d.cts +2 -0
  263. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  264. package/__cjs/utilities/internal/mergeOptions.d.cts +2 -2
  265. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  266. package/__cjs/utilities/internal/toQueryResult.d.cts +2 -2
  267. package/__cjs/utilities/internal/types/DocumentationTypes.d.cts +32 -26
  268. package/__cjs/utilities/internal/types/NoInfer.d.cts +31 -25
  269. package/__cjs/utilities/internal/types/VariablesOption.d.cts +2 -6
  270. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -0
  271. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  272. package/__cjs/version.cjs +1 -1
  273. package/cache/core/cache.d.ts +77 -71
  274. package/cache/core/cache.js +15 -14
  275. package/cache/core/cache.js.map +1 -1
  276. package/cache/core/types/Cache.d.ts +200 -15
  277. package/cache/core/types/Cache.js +1 -3
  278. package/cache/core/types/Cache.js.map +1 -1
  279. package/cache/deprecated.d.ts +6 -0
  280. package/cache/deprecated.js +2 -0
  281. package/cache/deprecated.js.map +1 -0
  282. package/cache/index.d.ts +2 -2
  283. package/cache/index.js.map +1 -1
  284. package/cache/inmemory/entityStore.d.ts +17 -16
  285. package/cache/inmemory/entityStore.js +25 -28
  286. package/cache/inmemory/entityStore.js.map +1 -1
  287. package/cache/inmemory/inMemoryCache.d.ts +4 -4
  288. package/cache/inmemory/inMemoryCache.js.map +1 -1
  289. package/cache/inmemory/key-extractor.js +1 -1
  290. package/cache/inmemory/policies.d.ts +3 -2
  291. package/cache/inmemory/policies.js +4 -4
  292. package/cache/inmemory/policies.js.map +1 -1
  293. package/cache/inmemory/readFromStore.js +2 -2
  294. package/cache/inmemory/writeToStore.d.ts +1 -1
  295. package/cache/inmemory/writeToStore.js +4 -4
  296. package/cache/inmemory/writeToStore.js.map +1 -1
  297. package/core/ApolloClient.d.ts +758 -182
  298. package/core/ApolloClient.js +94 -112
  299. package/core/ApolloClient.js.map +1 -1
  300. package/core/ObservableQuery.d.ts +131 -112
  301. package/core/ObservableQuery.js +10 -10
  302. package/core/ObservableQuery.js.map +1 -1
  303. package/core/QueryInfo.d.ts +8 -7
  304. package/core/QueryInfo.js.map +1 -1
  305. package/core/QueryManager.d.ts +20 -20
  306. package/core/QueryManager.js +15 -15
  307. package/core/QueryManager.js.map +1 -1
  308. package/core/deprecated.d.ts +29 -0
  309. package/core/deprecated.js +2 -0
  310. package/core/deprecated.js.map +1 -0
  311. package/core/index.d.ts +10 -6
  312. package/core/index.js.map +1 -1
  313. package/core/types.d.ts +69 -157
  314. package/core/types.js.map +1 -1
  315. package/core/watchQueryOptions.d.ts +9 -298
  316. package/core/watchQueryOptions.js.map +1 -1
  317. package/dev/setErrorMessageHandler.d.ts +4 -4
  318. package/dev/setErrorMessageHandler.js.map +1 -1
  319. package/errors/CombinedGraphQLErrors.d.ts +169 -15
  320. package/errors/CombinedGraphQLErrors.js +65 -12
  321. package/errors/CombinedGraphQLErrors.js.map +1 -1
  322. package/errors/CombinedProtocolErrors.d.ts +133 -3
  323. package/errors/CombinedProtocolErrors.js +55 -2
  324. package/errors/CombinedProtocolErrors.js.map +1 -1
  325. package/errors/LinkError.d.ts +45 -2
  326. package/errors/LinkError.js +45 -2
  327. package/errors/LinkError.js.map +1 -1
  328. package/errors/LocalStateError.d.ts +42 -6
  329. package/errors/LocalStateError.js +36 -6
  330. package/errors/LocalStateError.js.map +1 -1
  331. package/errors/ServerError.d.ts +72 -12
  332. package/errors/ServerError.js +52 -9
  333. package/errors/ServerError.js.map +1 -1
  334. package/errors/ServerParseError.d.ts +73 -17
  335. package/errors/ServerParseError.js +47 -9
  336. package/errors/ServerParseError.js.map +1 -1
  337. package/errors/UnconventionalError.d.ts +46 -2
  338. package/errors/UnconventionalError.js +46 -2
  339. package/errors/UnconventionalError.js.map +1 -1
  340. package/incremental/handlers/defer20220824.d.ts +4 -4
  341. package/incremental/handlers/defer20220824.js.map +1 -1
  342. package/incremental/handlers/notImplemented.d.ts +2 -2
  343. package/incremental/handlers/notImplemented.js +1 -1
  344. package/incremental/handlers/notImplemented.js.map +1 -1
  345. package/incremental/types.d.ts +4 -4
  346. package/incremental/types.js.map +1 -1
  347. package/invariantErrorCodes.js +81 -85
  348. package/link/batch/batchLink.d.ts +2 -3
  349. package/link/batch/batchLink.js +3 -9
  350. package/link/batch/batchLink.js.map +1 -1
  351. package/link/batch/batching.d.ts +7 -7
  352. package/link/batch/batching.js +2 -2
  353. package/link/batch/batching.js.map +1 -1
  354. package/link/batch-http/batchHttpLink.d.ts +1 -2
  355. package/link/batch-http/batchHttpLink.js +7 -4
  356. package/link/batch-http/batchHttpLink.js.map +1 -1
  357. package/link/client-awareness/ClientAwarenessLink.d.ts +4 -4
  358. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  359. package/link/context/index.d.ts +4 -5
  360. package/link/context/index.js +1 -1
  361. package/link/context/index.js.map +1 -1
  362. package/link/core/ApolloLink.d.ts +355 -9
  363. package/link/core/ApolloLink.js +228 -57
  364. package/link/core/ApolloLink.js.map +1 -1
  365. package/link/core/concat.d.ts +4 -0
  366. package/link/core/concat.js +4 -0
  367. package/link/core/concat.js.map +1 -1
  368. package/link/core/deprecated.d.ts +10 -0
  369. package/link/core/deprecated.js +2 -0
  370. package/link/core/deprecated.js.map +1 -0
  371. package/link/core/empty.d.ts +4 -0
  372. package/link/core/empty.js +4 -0
  373. package/link/core/empty.js.map +1 -1
  374. package/link/core/from.d.ts +4 -0
  375. package/link/core/from.js +4 -0
  376. package/link/core/from.js.map +1 -1
  377. package/link/core/split.d.ts +4 -0
  378. package/link/core/split.js +4 -0
  379. package/link/core/split.js.map +1 -1
  380. package/link/core/types.d.ts +2 -33
  381. package/link/core/types.js.map +1 -1
  382. package/link/error/index.d.ts +20 -6
  383. package/link/error/index.js.map +1 -1
  384. package/link/http/BaseHttpLink.js +2 -2
  385. package/link/http/BaseHttpLink.js.map +1 -1
  386. package/link/http/HttpLink.d.ts +3 -3
  387. package/link/http/HttpLink.js +4 -1
  388. package/link/http/HttpLink.js.map +1 -1
  389. package/link/http/checkFetcher.js +1 -1
  390. package/link/http/parseAndCheckHttpResponse.d.ts +2 -2
  391. package/link/http/parseAndCheckHttpResponse.js +41 -26
  392. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  393. package/link/http/selectHttpOptionsAndBody.d.ts +3 -3
  394. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  395. package/link/http/selectURI.d.ts +2 -2
  396. package/link/http/selectURI.js.map +1 -1
  397. package/link/http/serializeFetchParameter.js +1 -1
  398. package/link/index.d.ts +2 -1
  399. package/link/index.js.map +1 -1
  400. package/link/persisted-queries/index.d.ts +11 -12
  401. package/link/persisted-queries/index.js +2 -2
  402. package/link/persisted-queries/index.js.map +1 -1
  403. package/link/retry/delayFunction.d.ts +3 -3
  404. package/link/retry/delayFunction.js.map +1 -1
  405. package/link/retry/retryFunction.d.ts +4 -4
  406. package/link/retry/retryFunction.js.map +1 -1
  407. package/link/retry/retryLink.d.ts +1 -2
  408. package/link/retry/retryLink.js +2 -2
  409. package/link/retry/retryLink.js.map +1 -1
  410. package/link/schema/index.d.ts +2 -3
  411. package/link/schema/index.js.map +1 -1
  412. package/link/subscriptions/index.d.ts +1 -2
  413. package/link/subscriptions/index.js.map +1 -1
  414. package/link/utils/createOperation.d.ts +2 -2
  415. package/link/utils/createOperation.js +12 -4
  416. package/link/utils/createOperation.js.map +1 -1
  417. package/link/utils/index.d.ts +0 -2
  418. package/link/utils/index.js +0 -2
  419. package/link/utils/index.js.map +1 -1
  420. package/link/ws/index.d.ts +1 -2
  421. package/link/ws/index.js.map +1 -1
  422. package/local-state/LocalState.d.ts +94 -0
  423. package/local-state/LocalState.js +55 -9
  424. package/local-state/LocalState.js.map +1 -1
  425. package/masking/GraphQLCodegenDataMasking.d.ts +6 -7
  426. package/masking/GraphQLCodegenDataMasking.js.map +1 -1
  427. package/masking/internal/types.d.ts +70 -70
  428. package/masking/internal/types.js.map +1 -1
  429. package/masking/maskDefinition.js +2 -2
  430. package/masking/maskFragment.js +2 -2
  431. package/masking/maskOperation.js +1 -1
  432. package/masking/types.js.map +1 -1
  433. package/masking/utils.js +3 -3
  434. package/package.json +1 -1
  435. package/react/context/ApolloContext.js +1 -1
  436. package/react/context/ApolloProvider.js +1 -1
  437. package/react/hooks/internal/useDeepMemo.js +0 -3
  438. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  439. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +2 -2
  440. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
  441. package/react/hooks/internal/wrapHook.d.ts +8 -7
  442. package/react/hooks/internal/wrapHook.js +1 -0
  443. package/react/hooks/internal/wrapHook.js.map +1 -1
  444. package/react/hooks/useApolloClient.d.ts +2 -2
  445. package/react/hooks/useApolloClient.js +2 -2
  446. package/react/hooks/useApolloClient.js.map +1 -1
  447. package/react/hooks/useBackgroundQuery.d.ts +850 -90
  448. package/react/hooks/useBackgroundQuery.js.map +1 -1
  449. package/react/hooks/useFragment.d.ts +54 -3
  450. package/react/hooks/useFragment.js +7 -0
  451. package/react/hooks/useFragment.js.map +1 -1
  452. package/react/hooks/useLazyQuery.d.ts +317 -165
  453. package/react/hooks/useLazyQuery.js +0 -38
  454. package/react/hooks/useLazyQuery.js.map +1 -1
  455. package/react/hooks/useLoadableQuery.d.ts +153 -175
  456. package/react/hooks/useLoadableQuery.js.map +1 -1
  457. package/react/hooks/useMutation.d.ts +87 -65
  458. package/react/hooks/useMutation.js +6 -7
  459. package/react/hooks/useMutation.js.map +1 -1
  460. package/react/hooks/useQuery.d.ts +207 -103
  461. package/react/hooks/useQuery.js +1 -35
  462. package/react/hooks/useQuery.js.map +1 -1
  463. package/react/hooks/useQueryRefHandlers.d.ts +34 -5
  464. package/react/hooks/useQueryRefHandlers.js +2 -1
  465. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  466. package/react/hooks/useReactiveVar.d.ts +2 -1
  467. package/react/hooks/useReactiveVar.js +2 -1
  468. package/react/hooks/useReactiveVar.js.map +1 -1
  469. package/react/hooks/useReadQuery.d.ts +93 -17
  470. package/react/hooks/useReadQuery.js +29 -0
  471. package/react/hooks/useReadQuery.js.map +1 -1
  472. package/react/hooks/useSubscription.d.ts +108 -33
  473. package/react/hooks/useSubscription.js +8 -9
  474. package/react/hooks/useSubscription.js.map +1 -1
  475. package/react/hooks/useSuspenseFragment.d.ts +62 -30
  476. package/react/hooks/useSuspenseFragment.js.map +1 -1
  477. package/react/hooks/useSuspenseQuery.d.ts +471 -69
  478. package/react/hooks/useSuspenseQuery.js +4 -1
  479. package/react/hooks/useSuspenseQuery.js.map +1 -1
  480. package/react/hooks-compiled/internal/useDeepMemo.js +0 -3
  481. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -1
  482. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +2 -2
  483. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -1
  484. package/react/hooks-compiled/internal/wrapHook.d.ts +8 -7
  485. package/react/hooks-compiled/internal/wrapHook.js +1 -0
  486. package/react/hooks-compiled/internal/wrapHook.js.map +1 -1
  487. package/react/hooks-compiled/useApolloClient.d.ts +2 -2
  488. package/react/hooks-compiled/useApolloClient.js +2 -2
  489. package/react/hooks-compiled/useApolloClient.js.map +1 -1
  490. package/react/hooks-compiled/useBackgroundQuery.d.ts +850 -90
  491. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
  492. package/react/hooks-compiled/useFragment.d.ts +54 -3
  493. package/react/hooks-compiled/useFragment.js +7 -0
  494. package/react/hooks-compiled/useFragment.js.map +1 -1
  495. package/react/hooks-compiled/useLazyQuery.d.ts +317 -165
  496. package/react/hooks-compiled/useLazyQuery.js +0 -38
  497. package/react/hooks-compiled/useLazyQuery.js.map +1 -1
  498. package/react/hooks-compiled/useLoadableQuery.d.ts +153 -175
  499. package/react/hooks-compiled/useLoadableQuery.js.map +1 -1
  500. package/react/hooks-compiled/useMutation.d.ts +87 -65
  501. package/react/hooks-compiled/useMutation.js +6 -7
  502. package/react/hooks-compiled/useMutation.js.map +1 -1
  503. package/react/hooks-compiled/useQuery.d.ts +207 -103
  504. package/react/hooks-compiled/useQuery.js +1 -35
  505. package/react/hooks-compiled/useQuery.js.map +1 -1
  506. package/react/hooks-compiled/useQueryRefHandlers.d.ts +34 -5
  507. package/react/hooks-compiled/useQueryRefHandlers.js +2 -1
  508. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -1
  509. package/react/hooks-compiled/useReactiveVar.d.ts +2 -1
  510. package/react/hooks-compiled/useReactiveVar.js +2 -1
  511. package/react/hooks-compiled/useReactiveVar.js.map +1 -1
  512. package/react/hooks-compiled/useReadQuery.d.ts +93 -17
  513. package/react/hooks-compiled/useReadQuery.js +29 -0
  514. package/react/hooks-compiled/useReadQuery.js.map +1 -1
  515. package/react/hooks-compiled/useSubscription.d.ts +108 -33
  516. package/react/hooks-compiled/useSubscription.js +8 -9
  517. package/react/hooks-compiled/useSubscription.js.map +1 -1
  518. package/react/hooks-compiled/useSuspenseFragment.d.ts +62 -30
  519. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
  520. package/react/hooks-compiled/useSuspenseQuery.d.ts +471 -69
  521. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
  522. package/react/index.compiled.d.ts +0 -1
  523. package/react/index.compiled.js +0 -1
  524. package/react/index.compiled.js.map +1 -1
  525. package/react/index.d.ts +0 -1
  526. package/react/index.js +0 -1
  527. package/react/index.js.map +1 -1
  528. package/react/index.react-server.d.ts +0 -1
  529. package/react/index.react-server.js +0 -2
  530. package/react/index.react-server.js.map +1 -1
  531. package/react/internal/cache/FragmentReference.d.ts +2 -3
  532. package/react/internal/cache/FragmentReference.js.map +1 -1
  533. package/react/internal/cache/QueryReference.d.ts +14 -12
  534. package/react/internal/cache/QueryReference.js.map +1 -1
  535. package/react/internal/cache/SuspenseCache.d.ts +2 -2
  536. package/react/internal/cache/SuspenseCache.js.map +1 -1
  537. package/react/internal/cache/getSuspenseCache.d.ts +6 -4
  538. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  539. package/react/internal/index.d.ts +1 -1
  540. package/react/internal/index.js +1 -0
  541. package/react/internal/index.js.map +1 -1
  542. package/react/internal/types.d.ts +3 -3
  543. package/react/internal/types.js.map +1 -1
  544. package/react/query-preloader/createQueryPreloader.d.ts +60 -51
  545. package/react/query-preloader/createQueryPreloader.js +1 -1
  546. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  547. package/react/ssr/prerenderStatic.d.ts +11 -9
  548. package/react/ssr/prerenderStatic.js +5 -4
  549. package/react/ssr/prerenderStatic.js.map +1 -1
  550. package/react/ssr/useSSRQuery.js.map +1 -1
  551. package/react/types/deprecated.d.ts +1 -1
  552. package/react/types/deprecated.js.map +1 -1
  553. package/react/types/types.documentation.d.ts +15 -15
  554. package/react/types/types.documentation.js.map +1 -1
  555. package/testing/core/mocking/mockLink.d.ts +8 -8
  556. package/testing/core/mocking/mockLink.js.map +1 -1
  557. package/testing/core/mocking/mockSubscriptionLink.d.ts +3 -4
  558. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  559. package/testing/core/types/deprecated.d.ts +3 -2
  560. package/testing/core/types/deprecated.js.map +1 -1
  561. package/testing/react/MockedProvider.d.ts +2 -3
  562. package/testing/react/MockedProvider.js.map +1 -1
  563. package/utilities/HKT.d.ts +8 -7
  564. package/utilities/HKT.js.map +1 -1
  565. package/utilities/caching/sizes.d.ts +4 -6
  566. package/utilities/caching/sizes.js +3 -3
  567. package/utilities/caching/sizes.js.map +1 -1
  568. package/utilities/graphql/DocumentTransform.js +1 -1
  569. package/utilities/graphql/DocumentTransform.js.map +1 -1
  570. package/utilities/index.d.ts +1 -2
  571. package/utilities/index.js +1 -2
  572. package/utilities/index.js.map +1 -1
  573. package/utilities/{shared → internal}/canonicalStringify.d.ts +1 -1
  574. package/utilities/{shared → internal}/canonicalStringify.js +4 -6
  575. package/utilities/internal/canonicalStringify.js.map +1 -0
  576. package/utilities/internal/checkDocument.js +1 -1
  577. package/utilities/internal/checkDocument.js.map +1 -1
  578. package/utilities/internal/createFragmentMap.js.map +1 -1
  579. package/utilities/internal/equalByQuery.d.ts +5 -0
  580. package/{core → utilities/internal}/equalByQuery.js +7 -1
  581. package/utilities/internal/equalByQuery.js.map +1 -0
  582. package/utilities/internal/getFragmentQueryDocument.d.ts +13 -3
  583. package/utilities/internal/getFragmentQueryDocument.js +13 -3
  584. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  585. package/utilities/internal/getMemoryInternals.js.map +1 -1
  586. package/utilities/internal/getStoreKeyName.js +1 -2
  587. package/utilities/internal/getStoreKeyName.js.map +1 -1
  588. package/utilities/internal/index.d.ts +2 -0
  589. package/utilities/internal/index.js +2 -0
  590. package/utilities/internal/index.js.map +1 -1
  591. package/utilities/internal/mergeOptions.d.ts +2 -2
  592. package/utilities/internal/mergeOptions.js.map +1 -1
  593. package/utilities/internal/toQueryResult.d.ts +2 -2
  594. package/utilities/internal/toQueryResult.js.map +1 -1
  595. package/utilities/internal/types/DocumentationTypes.d.ts +32 -26
  596. package/utilities/internal/types/DocumentationTypes.js.map +1 -1
  597. package/utilities/internal/types/NoInfer.d.ts +31 -25
  598. package/utilities/internal/types/NoInfer.js.map +1 -1
  599. package/utilities/internal/types/VariablesOption.d.ts +2 -6
  600. package/utilities/subscriptions/relay/index.js +2 -0
  601. package/utilities/subscriptions/relay/index.js.map +1 -1
  602. package/version.js +1 -1
  603. package/__cjs/cache/core/types/DataProxy.cjs.map +0 -1
  604. package/__cjs/cache/core/types/DataProxy.d.cts +0 -140
  605. package/__cjs/core/equalByQuery.cjs.map +0 -1
  606. package/__cjs/core/equalByQuery.d.cts +0 -4
  607. package/__cjs/link/utils/transformOperation.cjs +0 -22
  608. package/__cjs/link/utils/transformOperation.cjs.map +0 -1
  609. package/__cjs/link/utils/transformOperation.d.cts +0 -3
  610. package/__cjs/link/utils/validateOperation.cjs +0 -21
  611. package/__cjs/link/utils/validateOperation.cjs.map +0 -1
  612. package/__cjs/link/utils/validateOperation.d.cts +0 -3
  613. package/__cjs/react/context/ApolloConsumer.cjs +0 -16
  614. package/__cjs/react/context/ApolloConsumer.cjs.map +0 -1
  615. package/__cjs/react/context/ApolloConsumer.d.cts +0 -10
  616. package/__cjs/utilities/shared/canonicalStringify.cjs.map +0 -1
  617. package/cache/core/types/DataProxy.d.ts +0 -140
  618. package/cache/core/types/DataProxy.js +0 -2
  619. package/cache/core/types/DataProxy.js.map +0 -1
  620. package/core/equalByQuery.d.ts +0 -4
  621. package/core/equalByQuery.js.map +0 -1
  622. package/link/utils/transformOperation.d.ts +0 -3
  623. package/link/utils/transformOperation.js +0 -19
  624. package/link/utils/transformOperation.js.map +0 -1
  625. package/link/utils/validateOperation.d.ts +0 -3
  626. package/link/utils/validateOperation.js +0 -18
  627. package/link/utils/validateOperation.js.map +0 -1
  628. package/react/context/ApolloConsumer.d.ts +0 -10
  629. package/react/context/ApolloConsumer.js +0 -11
  630. package/react/context/ApolloConsumer.js.map +0 -1
  631. package/utilities/shared/canonicalStringify.js.map +0 -1
@@ -1,127 +1,277 @@
1
1
  import type { ApolloClient, DefaultContext, DocumentNode, ErrorPolicy, OperationVariables, RefetchWritePolicy, TypedDocumentNode, WatchQueryFetchPolicy } from "@apollo/client";
2
2
  import type { SubscribeToMoreFunction } from "@apollo/client";
3
3
  import type { FetchMoreFunction, QueryRef, RefetchFunction } from "@apollo/client/react/internal";
4
- import type { NoInfer, VariablesOption } from "@apollo/client/utilities/internal";
4
+ import type { DocumentationTypes as UtilityDocumentationTypes, NoInfer, VariablesOption } from "@apollo/client/utilities/internal";
5
5
  import type { SkipToken } from "./constants.cjs";
6
6
  export declare namespace useBackgroundQuery {
7
+ import _self = useBackgroundQuery;
7
8
  type FetchPolicy = Extract<WatchQueryFetchPolicy, "cache-first" | "network-only" | "no-cache" | "cache-and-network">;
8
- type Options<TVariables extends OperationVariables = OperationVariables> = {
9
+ namespace Base {
10
+ interface Options {
11
+ /**
12
+ * The instance of `ApolloClient` to use to execute the query.
13
+ *
14
+ * By default, the instance that's passed down via context is used, but you
15
+ * can provide a different instance here.
16
+ *
17
+ * @docGroup 1. Operation options
18
+ */
19
+ client?: ApolloClient;
20
+ /**
21
+ * Watched queries must opt into overwriting existing data on refetch, by passing refetchWritePolicy: "overwrite" in their WatchQueryOptions.
22
+ *
23
+ * The default value is "overwrite".
24
+ *
25
+ * @docGroup 3. Caching options
26
+ */
27
+ refetchWritePolicy?: RefetchWritePolicy;
28
+ /**
29
+ * Specifies how the query handles a response that returns both GraphQL errors and partial results.
30
+ *
31
+ * For details, see [GraphQL error policies](https://www.apollographql.com/docs/react/data/error-handling/#graphql-error-policies).
32
+ *
33
+ * The default value is `none`, meaning that the query result includes error details but not partial results.
34
+ *
35
+ * @docGroup 1. Operation options
36
+ */
37
+ errorPolicy?: ErrorPolicy;
38
+ /**
39
+ * If you're using [Apollo Link](https://www.apollographql.com/docs/react/api/link/introduction/), this object is the initial value of the `context` object that's passed along your link chain.
40
+ *
41
+ * @docGroup 2. Networking options
42
+ */
43
+ context?: DefaultContext;
44
+ /**
45
+ * If `true`, the query can return partial results from the cache if the cache doesn't contain results for all queried fields.
46
+ *
47
+ * The default value is `false`.
48
+ *
49
+ * @docGroup 3. Caching options
50
+ */
51
+ returnPartialData?: boolean;
52
+ /**
53
+ * Specifies how the query interacts with the Apollo Client cache during execution (for example, whether it checks the cache for results before sending a request to the server).
54
+ *
55
+ * For details, see [Setting a fetch policy](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy).
56
+ *
57
+ * The default value is `cache-first`.
58
+ *
59
+ * @docGroup 3. Caching options
60
+ */
61
+ fetchPolicy?: FetchPolicy;
62
+ /**
63
+ * A unique identifier for the query. Each item in the array must be a stable
64
+ * identifier to prevent infinite fetches.
65
+ *
66
+ * This is useful when using the same query and variables combination in more
67
+ * than one component, otherwise the components may clobber each other. This
68
+ * can also be used to force the query to re-evaluate fresh.
69
+ *
70
+ * @docGroup 1. Operation options
71
+ */
72
+ queryKey?: string | number | any[];
73
+ /**
74
+ * If `true`, the query is not executed. The default value is `false`.
75
+ *
76
+ * @deprecated We recommend using `skipToken` in place of the `skip` option as
77
+ * it is more type-safe.
78
+ *
79
+ * This option is deprecated and only supported to ease the migration from `useQuery`. It will be removed in a future release.
80
+ * Please use [`skipToken`](https://www.apollographql.com/docs/react/api/react/hooks#skiptoken) instead of the `skip` option as it is more type-safe.
81
+ *
82
+ * @docGroup 1. Operation options
83
+ *
84
+ *
85
+ * @example Recommended usage of `skipToken`:
86
+ *
87
+ * ```ts
88
+ * import { skipToken, useBackgroundQuery } from "@apollo/client";
89
+ *
90
+ * const [queryRef] = useBackgroundQuery(
91
+ * query,
92
+ * id ? { variables: { id } } : skipToken
93
+ * );
94
+ * ```
95
+ */
96
+ skip?: boolean;
97
+ }
98
+ }
99
+ type Options<TVariables extends OperationVariables = OperationVariables> = Base.Options & VariablesOption<TVariables>;
100
+ namespace DocumentationTypes {
101
+ namespace useBackgroundQuery {
102
+ interface Options<TVariables extends OperationVariables = OperationVariables> extends Base.Options, UtilityDocumentationTypes.VariableOptions<TVariables> {
103
+ }
104
+ }
105
+ }
106
+ interface Result<TData = unknown, TVariables extends OperationVariables = OperationVariables> {
9
107
  /**
10
- * The instance of `ApolloClient` to use to execute the query.
11
- *
12
- * By default, the instance that's passed down via context is used, but you can provide a different instance here.
13
- *
14
- * @docGroup
108
+ * A function that enables you to execute a [subscription](https://www.apollographql.com/docs/react/data/subscriptions/), usually to subscribe to specific fields that were included in the query.
15
109
  *
16
- * 1. Operation options
110
+ * This function returns _another_ function that you can call to terminate the subscription.
17
111
  */
18
- client?: ApolloClient;
112
+ subscribeToMore: SubscribeToMoreFunction<TData, TVariables>;
19
113
  /**
20
- * Specifies whether a `NetworkStatus.refetch` operation should merge incoming field data with existing data, or overwrite the existing data. Overwriting is probably preferable, but merging is currently the default behavior, for backwards compatibility with Apollo Client 3.x.
21
- *
22
- * @docGroup
23
- *
24
- * 3. Caching options
114
+ * A function that helps you fetch the next set of results for a [paginated list field](https://www.apollographql.com/docs/react/pagination/core-api/).
115
+ *
116
+ *
117
+ * @remarks
118
+ * Calling this function will cause the component to re-suspend, unless the call site is wrapped in [`startTransition`](https://react.dev/reference/react/startTransition).
25
119
  */
26
- refetchWritePolicy?: RefetchWritePolicy;
120
+ fetchMore: FetchMoreFunction<TData, TVariables>;
27
121
  /**
28
- * Specifies how the query handles a response that returns both GraphQL errors and partial results.
29
- *
30
- * For details, see [GraphQL error policies](https://www.apollographql.com/docs/react/data/error-handling/#graphql-error-policies).
122
+ * A function that enables you to re-execute the query, optionally passing in new `variables`.
31
123
  *
32
- * The default value is `none`, meaning that the query result includes error details but not partial results.
124
+ * To guarantee that the refetch performs a network request, its `fetchPolicy` is set to `network-only` (unless the original query's `fetchPolicy` is `no-cache` or `cache-and-network`, which also guarantee a network request).
33
125
  *
34
- * @docGroup
126
+ * See also [Refetching](https://www.apollographql.com/docs/react/data/queries/#refetching).
35
127
  *
36
- * 1. Operation options
37
- */
38
- errorPolicy?: ErrorPolicy;
39
- /**
40
- * If you're using [Apollo Link](https://www.apollographql.com/docs/react/api/link/introduction/), this object is the initial value of the `context` object that's passed along your link chain.
41
- *
42
- * @docGroup
128
+ * Returns a `ResultPromise` with an additional `.retain()` method. Calling
129
+ * `.retain()` keeps the network operation running even if the `ObservableQuery`
130
+ * no longer requires the result.
43
131
  *
44
- * 2. Networking options
132
+ * @docGroup 3. Helper functions
133
+ *
134
+ *
135
+ * @remarks
136
+ * Calling this function will cause the component to re-suspend, unless the call site is wrapped in [`startTransition`](https://react.dev/reference/react/startTransition).
45
137
  */
46
- context?: DefaultContext;
138
+ refetch: RefetchFunction<TData, TVariables>;
139
+ }
140
+ namespace DocumentationTypes {
141
+ namespace useBackgroundQuery {
142
+ interface Result<TData = unknown, TVariables extends OperationVariables = OperationVariables> extends _self.Result<TData, TVariables> {
143
+ }
144
+ }
145
+ }
146
+ namespace DocumentationTypes {
47
147
  /**
48
- * If `true`, the query can return partial results from the cache if the cache doesn't contain results for all queried fields.
148
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
49
149
  *
50
- * The default value is `false`.
150
+ * @returns A tuple containing:
51
151
  *
52
- * @docGroup
152
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
153
+ * 2. An object containing helper functions for the query:
154
+ * - `refetch`: A function to re-execute the query
155
+ * - `fetchMore`: A function to fetch more results for pagination
156
+ * - `subscribeToMore`: A function to subscribe to updates
53
157
  *
54
- * 3. Caching options
55
- */
56
- returnPartialData?: boolean;
57
- /**
58
- * Specifies how the query interacts with the Apollo Client cache during execution (for example, whether it checks the cache for results before sending a request to the server).
158
+ * @example
59
159
  *
60
- * For details, see [Setting a fetch policy](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy).
160
+ * ```jsx
161
+ * import { Suspense } from "react";
162
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
163
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
61
164
  *
62
- * The default value is `cache-first`.
165
+ * const query = gql`
166
+ * foo {
167
+ * bar
168
+ * }
169
+ * `;
63
170
  *
64
- * @docGroup
171
+ * const client = new ApolloClient({
172
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
173
+ * cache: new InMemoryCache(),
174
+ * });
65
175
  *
66
- * 3. Caching options
67
- */
68
- fetchPolicy?: FetchPolicy;
69
- /**
70
- * A unique identifier for the query. Each item in the array must be a stable identifier to prevent infinite fetches.
176
+ * function SuspenseFallback() {
177
+ * return <div>Loading...</div>;
178
+ * }
71
179
  *
72
- * This is useful when using the same query and variables combination in more than one component, otherwise the components may clobber each other. This can also be used to force the query to re-evaluate fresh.
180
+ * function Child({ queryRef }) {
181
+ * const { data } = useReadQuery(queryRef);
73
182
  *
74
- * @docGroup
183
+ * return <div>{data.foo.bar}</div>;
184
+ * }
75
185
  *
76
- * 1. Operation options
77
- */
78
- queryKey?: string | number | any[];
79
- /**
80
- * If `true`, the query is not executed. The default value is `false`.
186
+ * function Parent() {
187
+ * const [queryRef] = useBackgroundQuery(query);
81
188
  *
82
- * @deprecated
189
+ * return (
190
+ * <Suspense fallback={<SuspenseFallback />}>
191
+ * <Child queryRef={queryRef} />
192
+ * </Suspense>
193
+ * );
194
+ * }
83
195
  *
84
- * We recommend using `skipToken` in place of the `skip` option as it is more type-safe.
85
- *
86
- * This option is deprecated and only supported to ease the migration from useQuery. It will be removed in a future release.
87
- *
88
- * @docGroup
89
- *
90
- * 1. Operation options
91
- *
92
- *
93
- * @example Recommended usage of `skipToken`:
94
- * ```ts
95
- * import { skipToken, useBackgroundQuery } from '@apollo/client';
96
- *
97
- * const [queryRef] = useBackgroundQuery(query, id ? { variables: { id } } : skipToken);
196
+ * function App() {
197
+ * return (
198
+ * <ApolloProvider client={client}>
199
+ * <Parent />
200
+ * </ApolloProvider>
201
+ * );
202
+ * }
98
203
  * ```
99
- */
100
- skip?: boolean;
101
- } & VariablesOption<TVariables>;
102
- type Result<TData = unknown, TVariables extends OperationVariables = OperationVariables> = {
103
- /**
104
- * A function that enables you to execute a [subscription](https://www.apollographql.com/docs/react/data/subscriptions/), usually to subscribe to specific fields that were included in the query.
105
204
  *
106
- * This function returns _another_ function that you can call to terminate the subscription.
205
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
206
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
107
207
  */
108
- subscribeToMore: SubscribeToMoreFunction<TData, TVariables>;
109
- /**
110
- * A function that helps you fetch the next set of results for a [paginated list field](https://www.apollographql.com/docs/react/pagination/core-api/).
111
- */
112
- fetchMore: FetchMoreFunction<TData, TVariables>;
113
- /**
114
- * Update the variables of this observable query, and fetch the new results. This method should be preferred over `setVariables` in most use cases.
115
- *
116
- * Returns a `ResultPromise` with an additional `.retain()` method. Calling `.retain()` keeps the network operation running even if the `ObservableQuery` no longer requires the result.
117
- *
118
- * Note: `refetch()` guarantees that a value will be emitted from the observable, even if the result is deep equal to the previous value.
119
- *
120
- * @param variables - The new set of variables. If there are missing variables, the previous values of those variables will be used.
121
- */
122
- refetch: RefetchFunction<TData, TVariables>;
123
- };
208
+ function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: SkipToken | useBackgroundQuery.Options<TVariables>): [
209
+ QueryRef<TData, TVariables> | undefined,
210
+ useBackgroundQuery.Result<TData, TVariables>
211
+ ];
212
+ }
124
213
  }
214
+ /**
215
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
216
+ *
217
+ * @returns A tuple containing:
218
+ *
219
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
220
+ * 2. An object containing helper functions for the query:
221
+ * - `refetch`: A function to re-execute the query
222
+ * - `fetchMore`: A function to fetch more results for pagination
223
+ * - `subscribeToMore`: A function to subscribe to updates
224
+ *
225
+ * @example
226
+ *
227
+ * ```jsx
228
+ * import { Suspense } from "react";
229
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
230
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
231
+ *
232
+ * const query = gql`
233
+ * foo {
234
+ * bar
235
+ * }
236
+ * `;
237
+ *
238
+ * const client = new ApolloClient({
239
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
240
+ * cache: new InMemoryCache(),
241
+ * });
242
+ *
243
+ * function SuspenseFallback() {
244
+ * return <div>Loading...</div>;
245
+ * }
246
+ *
247
+ * function Child({ queryRef }) {
248
+ * const { data } = useReadQuery(queryRef);
249
+ *
250
+ * return <div>{data.foo.bar}</div>;
251
+ * }
252
+ *
253
+ * function Parent() {
254
+ * const [queryRef] = useBackgroundQuery(query);
255
+ *
256
+ * return (
257
+ * <Suspense fallback={<SuspenseFallback />}>
258
+ * <Child queryRef={queryRef} />
259
+ * </Suspense>
260
+ * );
261
+ * }
262
+ *
263
+ * function App() {
264
+ * return (
265
+ * <ApolloProvider client={client}>
266
+ * <Parent />
267
+ * </ApolloProvider>
268
+ * );
269
+ * }
270
+ * ```
271
+ *
272
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
273
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
274
+ */
125
275
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
126
276
  /** @deprecated `returnPartialData` has no effect on `no-cache` queries */
127
277
  returnPartialData: boolean;
@@ -130,6 +280,67 @@ export declare function useBackgroundQuery<TData = unknown, TVariables extends O
130
280
  QueryRef<TData, TVariables, "complete" | "streaming">,
131
281
  useBackgroundQuery.Result<TData, TVariables>
132
282
  ];
283
+ /**
284
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
285
+ *
286
+ * @returns A tuple containing:
287
+ *
288
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
289
+ * 2. An object containing helper functions for the query:
290
+ * - `refetch`: A function to re-execute the query
291
+ * - `fetchMore`: A function to fetch more results for pagination
292
+ * - `subscribeToMore`: A function to subscribe to updates
293
+ *
294
+ * @example
295
+ *
296
+ * ```jsx
297
+ * import { Suspense } from "react";
298
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
299
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
300
+ *
301
+ * const query = gql`
302
+ * foo {
303
+ * bar
304
+ * }
305
+ * `;
306
+ *
307
+ * const client = new ApolloClient({
308
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
309
+ * cache: new InMemoryCache(),
310
+ * });
311
+ *
312
+ * function SuspenseFallback() {
313
+ * return <div>Loading...</div>;
314
+ * }
315
+ *
316
+ * function Child({ queryRef }) {
317
+ * const { data } = useReadQuery(queryRef);
318
+ *
319
+ * return <div>{data.foo.bar}</div>;
320
+ * }
321
+ *
322
+ * function Parent() {
323
+ * const [queryRef] = useBackgroundQuery(query);
324
+ *
325
+ * return (
326
+ * <Suspense fallback={<SuspenseFallback />}>
327
+ * <Child queryRef={queryRef} />
328
+ * </Suspense>
329
+ * );
330
+ * }
331
+ *
332
+ * function App() {
333
+ * return (
334
+ * <ApolloProvider client={client}>
335
+ * <Parent />
336
+ * </ApolloProvider>
337
+ * );
338
+ * }
339
+ * ```
340
+ *
341
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
342
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
343
+ */
133
344
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
134
345
  returnPartialData: false;
135
346
  errorPolicy: "ignore" | "all";
@@ -137,6 +348,67 @@ export declare function useBackgroundQuery<TData = unknown, TVariables extends O
137
348
  QueryRef<TData, TVariables, "complete" | "streaming" | "empty">,
138
349
  useBackgroundQuery.Result<TData, TVariables>
139
350
  ];
351
+ /**
352
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
353
+ *
354
+ * @returns A tuple containing:
355
+ *
356
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
357
+ * 2. An object containing helper functions for the query:
358
+ * - `refetch`: A function to re-execute the query
359
+ * - `fetchMore`: A function to fetch more results for pagination
360
+ * - `subscribeToMore`: A function to subscribe to updates
361
+ *
362
+ * @example
363
+ *
364
+ * ```jsx
365
+ * import { Suspense } from "react";
366
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
367
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
368
+ *
369
+ * const query = gql`
370
+ * foo {
371
+ * bar
372
+ * }
373
+ * `;
374
+ *
375
+ * const client = new ApolloClient({
376
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
377
+ * cache: new InMemoryCache(),
378
+ * });
379
+ *
380
+ * function SuspenseFallback() {
381
+ * return <div>Loading...</div>;
382
+ * }
383
+ *
384
+ * function Child({ queryRef }) {
385
+ * const { data } = useReadQuery(queryRef);
386
+ *
387
+ * return <div>{data.foo.bar}</div>;
388
+ * }
389
+ *
390
+ * function Parent() {
391
+ * const [queryRef] = useBackgroundQuery(query);
392
+ *
393
+ * return (
394
+ * <Suspense fallback={<SuspenseFallback />}>
395
+ * <Child queryRef={queryRef} />
396
+ * </Suspense>
397
+ * );
398
+ * }
399
+ *
400
+ * function App() {
401
+ * return (
402
+ * <ApolloProvider client={client}>
403
+ * <Parent />
404
+ * </ApolloProvider>
405
+ * );
406
+ * }
407
+ * ```
408
+ *
409
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
410
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
411
+ */
140
412
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
141
413
  returnPartialData: boolean;
142
414
  errorPolicy: "ignore" | "all";
@@ -144,12 +416,134 @@ export declare function useBackgroundQuery<TData = unknown, TVariables extends O
144
416
  QueryRef<TData, TVariables, "complete" | "streaming" | "partial" | "empty">,
145
417
  useBackgroundQuery.Result<TData, TVariables>
146
418
  ];
419
+ /**
420
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
421
+ *
422
+ * @returns A tuple containing:
423
+ *
424
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
425
+ * 2. An object containing helper functions for the query:
426
+ * - `refetch`: A function to re-execute the query
427
+ * - `fetchMore`: A function to fetch more results for pagination
428
+ * - `subscribeToMore`: A function to subscribe to updates
429
+ *
430
+ * @example
431
+ *
432
+ * ```jsx
433
+ * import { Suspense } from "react";
434
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
435
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
436
+ *
437
+ * const query = gql`
438
+ * foo {
439
+ * bar
440
+ * }
441
+ * `;
442
+ *
443
+ * const client = new ApolloClient({
444
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
445
+ * cache: new InMemoryCache(),
446
+ * });
447
+ *
448
+ * function SuspenseFallback() {
449
+ * return <div>Loading...</div>;
450
+ * }
451
+ *
452
+ * function Child({ queryRef }) {
453
+ * const { data } = useReadQuery(queryRef);
454
+ *
455
+ * return <div>{data.foo.bar}</div>;
456
+ * }
457
+ *
458
+ * function Parent() {
459
+ * const [queryRef] = useBackgroundQuery(query);
460
+ *
461
+ * return (
462
+ * <Suspense fallback={<SuspenseFallback />}>
463
+ * <Child queryRef={queryRef} />
464
+ * </Suspense>
465
+ * );
466
+ * }
467
+ *
468
+ * function App() {
469
+ * return (
470
+ * <ApolloProvider client={client}>
471
+ * <Parent />
472
+ * </ApolloProvider>
473
+ * );
474
+ * }
475
+ * ```
476
+ *
477
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
478
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
479
+ */
147
480
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
148
481
  errorPolicy: "ignore" | "all";
149
482
  }): [
150
483
  QueryRef<TData, TVariables, "complete" | "streaming" | "empty">,
151
484
  useBackgroundQuery.Result<TData, TVariables>
152
485
  ];
486
+ /**
487
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
488
+ *
489
+ * @returns A tuple containing:
490
+ *
491
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
492
+ * 2. An object containing helper functions for the query:
493
+ * - `refetch`: A function to re-execute the query
494
+ * - `fetchMore`: A function to fetch more results for pagination
495
+ * - `subscribeToMore`: A function to subscribe to updates
496
+ *
497
+ * @example
498
+ *
499
+ * ```jsx
500
+ * import { Suspense } from "react";
501
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
502
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
503
+ *
504
+ * const query = gql`
505
+ * foo {
506
+ * bar
507
+ * }
508
+ * `;
509
+ *
510
+ * const client = new ApolloClient({
511
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
512
+ * cache: new InMemoryCache(),
513
+ * });
514
+ *
515
+ * function SuspenseFallback() {
516
+ * return <div>Loading...</div>;
517
+ * }
518
+ *
519
+ * function Child({ queryRef }) {
520
+ * const { data } = useReadQuery(queryRef);
521
+ *
522
+ * return <div>{data.foo.bar}</div>;
523
+ * }
524
+ *
525
+ * function Parent() {
526
+ * const [queryRef] = useBackgroundQuery(query);
527
+ *
528
+ * return (
529
+ * <Suspense fallback={<SuspenseFallback />}>
530
+ * <Child queryRef={queryRef} />
531
+ * </Suspense>
532
+ * );
533
+ * }
534
+ *
535
+ * function App() {
536
+ * return (
537
+ * <ApolloProvider client={client}>
538
+ * <Parent />
539
+ * </ApolloProvider>
540
+ * );
541
+ * }
542
+ * ```
543
+ *
544
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
545
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
546
+ */
153
547
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
154
548
  skip: boolean;
155
549
  returnPartialData: false;
@@ -157,6 +551,67 @@ export declare function useBackgroundQuery<TData = unknown, TVariables extends O
157
551
  QueryRef<TData, TVariables, "complete" | "streaming"> | undefined,
158
552
  useBackgroundQuery.Result<TData, TVariables>
159
553
  ];
554
+ /**
555
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
556
+ *
557
+ * @returns A tuple containing:
558
+ *
559
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
560
+ * 2. An object containing helper functions for the query:
561
+ * - `refetch`: A function to re-execute the query
562
+ * - `fetchMore`: A function to fetch more results for pagination
563
+ * - `subscribeToMore`: A function to subscribe to updates
564
+ *
565
+ * @example
566
+ *
567
+ * ```jsx
568
+ * import { Suspense } from "react";
569
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
570
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
571
+ *
572
+ * const query = gql`
573
+ * foo {
574
+ * bar
575
+ * }
576
+ * `;
577
+ *
578
+ * const client = new ApolloClient({
579
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
580
+ * cache: new InMemoryCache(),
581
+ * });
582
+ *
583
+ * function SuspenseFallback() {
584
+ * return <div>Loading...</div>;
585
+ * }
586
+ *
587
+ * function Child({ queryRef }) {
588
+ * const { data } = useReadQuery(queryRef);
589
+ *
590
+ * return <div>{data.foo.bar}</div>;
591
+ * }
592
+ *
593
+ * function Parent() {
594
+ * const [queryRef] = useBackgroundQuery(query);
595
+ *
596
+ * return (
597
+ * <Suspense fallback={<SuspenseFallback />}>
598
+ * <Child queryRef={queryRef} />
599
+ * </Suspense>
600
+ * );
601
+ * }
602
+ *
603
+ * function App() {
604
+ * return (
605
+ * <ApolloProvider client={client}>
606
+ * <Parent />
607
+ * </ApolloProvider>
608
+ * );
609
+ * }
610
+ * ```
611
+ *
612
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
613
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
614
+ */
160
615
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
161
616
  skip: boolean;
162
617
  returnPartialData: boolean;
@@ -164,25 +619,330 @@ export declare function useBackgroundQuery<TData = unknown, TVariables extends O
164
619
  QueryRef<TData, TVariables, "complete" | "streaming" | "partial"> | undefined,
165
620
  useBackgroundQuery.Result<TData, TVariables>
166
621
  ];
622
+ /**
623
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
624
+ *
625
+ * @returns A tuple containing:
626
+ *
627
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
628
+ * 2. An object containing helper functions for the query:
629
+ * - `refetch`: A function to re-execute the query
630
+ * - `fetchMore`: A function to fetch more results for pagination
631
+ * - `subscribeToMore`: A function to subscribe to updates
632
+ *
633
+ * @example
634
+ *
635
+ * ```jsx
636
+ * import { Suspense } from "react";
637
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
638
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
639
+ *
640
+ * const query = gql`
641
+ * foo {
642
+ * bar
643
+ * }
644
+ * `;
645
+ *
646
+ * const client = new ApolloClient({
647
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
648
+ * cache: new InMemoryCache(),
649
+ * });
650
+ *
651
+ * function SuspenseFallback() {
652
+ * return <div>Loading...</div>;
653
+ * }
654
+ *
655
+ * function Child({ queryRef }) {
656
+ * const { data } = useReadQuery(queryRef);
657
+ *
658
+ * return <div>{data.foo.bar}</div>;
659
+ * }
660
+ *
661
+ * function Parent() {
662
+ * const [queryRef] = useBackgroundQuery(query);
663
+ *
664
+ * return (
665
+ * <Suspense fallback={<SuspenseFallback />}>
666
+ * <Child queryRef={queryRef} />
667
+ * </Suspense>
668
+ * );
669
+ * }
670
+ *
671
+ * function App() {
672
+ * return (
673
+ * <ApolloProvider client={client}>
674
+ * <Parent />
675
+ * </ApolloProvider>
676
+ * );
677
+ * }
678
+ * ```
679
+ *
680
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
681
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
682
+ */
167
683
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
168
684
  returnPartialData: false;
169
685
  }): [
170
686
  QueryRef<TData, TVariables, "complete" | "streaming">,
171
687
  useBackgroundQuery.Result<TData, TVariables>
172
688
  ];
689
+ /**
690
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
691
+ *
692
+ * @returns A tuple containing:
693
+ *
694
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
695
+ * 2. An object containing helper functions for the query:
696
+ * - `refetch`: A function to re-execute the query
697
+ * - `fetchMore`: A function to fetch more results for pagination
698
+ * - `subscribeToMore`: A function to subscribe to updates
699
+ *
700
+ * @example
701
+ *
702
+ * ```jsx
703
+ * import { Suspense } from "react";
704
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
705
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
706
+ *
707
+ * const query = gql`
708
+ * foo {
709
+ * bar
710
+ * }
711
+ * `;
712
+ *
713
+ * const client = new ApolloClient({
714
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
715
+ * cache: new InMemoryCache(),
716
+ * });
717
+ *
718
+ * function SuspenseFallback() {
719
+ * return <div>Loading...</div>;
720
+ * }
721
+ *
722
+ * function Child({ queryRef }) {
723
+ * const { data } = useReadQuery(queryRef);
724
+ *
725
+ * return <div>{data.foo.bar}</div>;
726
+ * }
727
+ *
728
+ * function Parent() {
729
+ * const [queryRef] = useBackgroundQuery(query);
730
+ *
731
+ * return (
732
+ * <Suspense fallback={<SuspenseFallback />}>
733
+ * <Child queryRef={queryRef} />
734
+ * </Suspense>
735
+ * );
736
+ * }
737
+ *
738
+ * function App() {
739
+ * return (
740
+ * <ApolloProvider client={client}>
741
+ * <Parent />
742
+ * </ApolloProvider>
743
+ * );
744
+ * }
745
+ * ```
746
+ *
747
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
748
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
749
+ */
173
750
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
174
751
  returnPartialData: boolean;
175
752
  }): [
176
753
  QueryRef<TData, TVariables, "complete" | "streaming" | "partial">,
177
754
  useBackgroundQuery.Result<TData, TVariables>
178
755
  ];
756
+ /**
757
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
758
+ *
759
+ * @returns A tuple containing:
760
+ *
761
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
762
+ * 2. An object containing helper functions for the query:
763
+ * - `refetch`: A function to re-execute the query
764
+ * - `fetchMore`: A function to fetch more results for pagination
765
+ * - `subscribeToMore`: A function to subscribe to updates
766
+ *
767
+ * @example
768
+ *
769
+ * ```jsx
770
+ * import { Suspense } from "react";
771
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
772
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
773
+ *
774
+ * const query = gql`
775
+ * foo {
776
+ * bar
777
+ * }
778
+ * `;
779
+ *
780
+ * const client = new ApolloClient({
781
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
782
+ * cache: new InMemoryCache(),
783
+ * });
784
+ *
785
+ * function SuspenseFallback() {
786
+ * return <div>Loading...</div>;
787
+ * }
788
+ *
789
+ * function Child({ queryRef }) {
790
+ * const { data } = useReadQuery(queryRef);
791
+ *
792
+ * return <div>{data.foo.bar}</div>;
793
+ * }
794
+ *
795
+ * function Parent() {
796
+ * const [queryRef] = useBackgroundQuery(query);
797
+ *
798
+ * return (
799
+ * <Suspense fallback={<SuspenseFallback />}>
800
+ * <Child queryRef={queryRef} />
801
+ * </Suspense>
802
+ * );
803
+ * }
804
+ *
805
+ * function App() {
806
+ * return (
807
+ * <ApolloProvider client={client}>
808
+ * <Parent />
809
+ * </ApolloProvider>
810
+ * );
811
+ * }
812
+ * ```
813
+ *
814
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
815
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
816
+ */
179
817
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useBackgroundQuery.Options<NoInfer<TVariables>> & {
180
818
  skip: boolean;
181
819
  }): [
182
820
  QueryRef<TData, TVariables, "complete" | "streaming"> | undefined,
183
821
  useBackgroundQuery.Result<TData, TVariables>
184
822
  ];
823
+ /**
824
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
825
+ *
826
+ * @returns A tuple containing:
827
+ *
828
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
829
+ * 2. An object containing helper functions for the query:
830
+ * - `refetch`: A function to re-execute the query
831
+ * - `fetchMore`: A function to fetch more results for pagination
832
+ * - `subscribeToMore`: A function to subscribe to updates
833
+ *
834
+ * @example
835
+ *
836
+ * ```jsx
837
+ * import { Suspense } from "react";
838
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
839
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
840
+ *
841
+ * const query = gql`
842
+ * foo {
843
+ * bar
844
+ * }
845
+ * `;
846
+ *
847
+ * const client = new ApolloClient({
848
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
849
+ * cache: new InMemoryCache(),
850
+ * });
851
+ *
852
+ * function SuspenseFallback() {
853
+ * return <div>Loading...</div>;
854
+ * }
855
+ *
856
+ * function Child({ queryRef }) {
857
+ * const { data } = useReadQuery(queryRef);
858
+ *
859
+ * return <div>{data.foo.bar}</div>;
860
+ * }
861
+ *
862
+ * function Parent() {
863
+ * const [queryRef] = useBackgroundQuery(query);
864
+ *
865
+ * return (
866
+ * <Suspense fallback={<SuspenseFallback />}>
867
+ * <Child queryRef={queryRef} />
868
+ * </Suspense>
869
+ * );
870
+ * }
871
+ *
872
+ * function App() {
873
+ * return (
874
+ * <ApolloProvider client={client}>
875
+ * <Parent />
876
+ * </ApolloProvider>
877
+ * );
878
+ * }
879
+ * ```
880
+ *
881
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
882
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
883
+ */
185
884
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: SkipToken): [undefined, useBackgroundQuery.Result<TData, TVariables>];
885
+ /**
886
+ * For a detailed explanation of useBackgroundQuery, see the [fetching with Suspense reference](https://www.apollographql.com/docs/react/data/suspense).
887
+ *
888
+ * @returns A tuple containing:
889
+ *
890
+ * 1. A `QueryRef` that can be passed to `useReadQuery` to read the query result. The `queryRef` is `undefined` if the query is skipped.
891
+ * 2. An object containing helper functions for the query:
892
+ * - `refetch`: A function to re-execute the query
893
+ * - `fetchMore`: A function to fetch more results for pagination
894
+ * - `subscribeToMore`: A function to subscribe to updates
895
+ *
896
+ * @example
897
+ *
898
+ * ```jsx
899
+ * import { Suspense } from "react";
900
+ * import { ApolloClient, InMemoryCache, HttpLink } from "@apollo/client";
901
+ * import { useBackgroundQuery, useReadQuery } from "@apollo/client/react";
902
+ *
903
+ * const query = gql`
904
+ * foo {
905
+ * bar
906
+ * }
907
+ * `;
908
+ *
909
+ * const client = new ApolloClient({
910
+ * link: new HttpLink({ uri: "http://localhost:4000/graphql" }),
911
+ * cache: new InMemoryCache(),
912
+ * });
913
+ *
914
+ * function SuspenseFallback() {
915
+ * return <div>Loading...</div>;
916
+ * }
917
+ *
918
+ * function Child({ queryRef }) {
919
+ * const { data } = useReadQuery(queryRef);
920
+ *
921
+ * return <div>{data.foo.bar}</div>;
922
+ * }
923
+ *
924
+ * function Parent() {
925
+ * const [queryRef] = useBackgroundQuery(query);
926
+ *
927
+ * return (
928
+ * <Suspense fallback={<SuspenseFallback />}>
929
+ * <Child queryRef={queryRef} />
930
+ * </Suspense>
931
+ * );
932
+ * }
933
+ *
934
+ * function App() {
935
+ * return (
936
+ * <ApolloProvider client={client}>
937
+ * <Parent />
938
+ * </ApolloProvider>
939
+ * );
940
+ * }
941
+ * ```
942
+ *
943
+ * @param query - A GraphQL query document parsed into an AST by `gql`.
944
+ * @param options - An optional object containing options for the query. Instead of passing a `useBackgroundQuery.Options` object into the hook, you can also pass a [`skipToken`](#skiptoken) to prevent the `useBackgroundQuery` hook from executing the query or suspending.
945
+ */
186
946
  export declare function useBackgroundQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: SkipToken | (useBackgroundQuery.Options<NoInfer<TVariables>> & {
187
947
  returnPartialData: false;
188
948
  })): [