@apollo/client 4.0.0-rc.4 → 4.0.0-rc.6

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 (528) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +40 -40
  3. package/__cjs/cache/core/cache.cjs +4 -12
  4. package/__cjs/cache/core/cache.cjs.map +1 -1
  5. package/__cjs/cache/core/cache.d.cts +96 -66
  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/inMemoryCache.cjs +1 -1
  18. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  19. package/__cjs/cache/inmemory/inMemoryCache.d.cts +4 -4
  20. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  21. package/__cjs/cache/inmemory/policies.cjs +4 -4
  22. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  23. package/__cjs/cache/inmemory/policies.d.cts +3 -2
  24. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  25. package/__cjs/cache/inmemory/types.d.cts +1 -1
  26. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  27. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  28. package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
  29. package/__cjs/core/ApolloClient.cjs +137 -117
  30. package/__cjs/core/ApolloClient.cjs.map +1 -1
  31. package/__cjs/core/ApolloClient.d.cts +790 -183
  32. package/__cjs/core/ObservableQuery.cjs +50 -20
  33. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  34. package/__cjs/core/ObservableQuery.d.cts +184 -68
  35. package/__cjs/core/QueryInfo.cjs.map +1 -1
  36. package/__cjs/core/QueryInfo.d.cts +5 -4
  37. package/__cjs/core/QueryManager.cjs +15 -13
  38. package/__cjs/core/QueryManager.cjs.map +1 -1
  39. package/__cjs/core/QueryManager.d.cts +17 -17
  40. package/__cjs/core/deprecated.cjs +3 -0
  41. package/__cjs/core/deprecated.cjs.map +1 -0
  42. package/__cjs/core/deprecated.d.cts +29 -0
  43. package/__cjs/core/index.cjs.map +1 -1
  44. package/__cjs/core/index.d.cts +9 -5
  45. package/__cjs/core/types.d.cts +81 -104
  46. package/__cjs/core/watchQueryOptions.d.cts +8 -297
  47. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  48. package/__cjs/dev/setErrorMessageHandler.d.cts +4 -4
  49. package/__cjs/errors/CombinedGraphQLErrors.cjs +59 -11
  50. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  51. package/__cjs/errors/CombinedGraphQLErrors.d.cts +146 -11
  52. package/__cjs/errors/CombinedProtocolErrors.cjs +48 -1
  53. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  54. package/__cjs/errors/CombinedProtocolErrors.d.cts +126 -2
  55. package/__cjs/errors/LinkError.cjs +45 -2
  56. package/__cjs/errors/LinkError.cjs.map +1 -1
  57. package/__cjs/errors/LinkError.d.cts +45 -2
  58. package/__cjs/errors/LocalStateError.cjs +35 -5
  59. package/__cjs/errors/LocalStateError.cjs.map +1 -1
  60. package/__cjs/errors/LocalStateError.d.cts +41 -5
  61. package/__cjs/errors/ServerError.cjs +50 -8
  62. package/__cjs/errors/ServerError.cjs.map +1 -1
  63. package/__cjs/errors/ServerError.d.cts +70 -11
  64. package/__cjs/errors/ServerParseError.cjs +45 -8
  65. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  66. package/__cjs/errors/ServerParseError.d.cts +71 -16
  67. package/__cjs/errors/UnconventionalError.cjs +46 -2
  68. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  69. package/__cjs/errors/UnconventionalError.d.cts +46 -2
  70. package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  71. package/__cjs/invariantErrorCodes.cjs +72 -80
  72. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  73. package/__cjs/link/batch-http/batchHttpLink.cjs +2 -2
  74. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  75. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
  76. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +4 -4
  77. package/__cjs/link/context/index.cjs +1 -1
  78. package/__cjs/link/context/index.cjs.map +1 -1
  79. package/__cjs/link/context/index.d.cts +1 -1
  80. package/__cjs/link/core/ApolloLink.cjs +2 -2
  81. package/__cjs/link/core/types.d.cts +2 -2
  82. package/__cjs/link/error/index.cjs.map +1 -1
  83. package/__cjs/link/error/index.d.cts +16 -1
  84. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  85. package/__cjs/link/http/HttpLink.d.cts +13 -2
  86. package/__cjs/link/http/checkFetcher.cjs +1 -1
  87. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  88. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  89. package/__cjs/link/persisted-queries/index.cjs +2 -2
  90. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  91. package/__cjs/link/persisted-queries/index.d.cts +11 -11
  92. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  93. package/__cjs/link/retry/delayFunction.d.cts +1 -1
  94. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  95. package/__cjs/link/retry/retryFunction.d.cts +1 -1
  96. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  97. package/__cjs/link/schema/index.cjs.map +1 -1
  98. package/__cjs/link/utils/validateOperation.cjs +1 -1
  99. package/__cjs/link/ws/index.cjs.map +1 -1
  100. package/__cjs/local-state/LocalState.cjs +55 -9
  101. package/__cjs/local-state/LocalState.cjs.map +1 -1
  102. package/__cjs/local-state/LocalState.d.cts +94 -0
  103. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +6 -7
  104. package/__cjs/masking/internal/types.d.cts +70 -70
  105. package/__cjs/masking/maskDefinition.cjs +2 -2
  106. package/__cjs/masking/maskFragment.cjs +2 -2
  107. package/__cjs/masking/maskOperation.cjs +1 -1
  108. package/__cjs/masking/utils.cjs +3 -3
  109. package/__cjs/react/context/ApolloContext.cjs +1 -1
  110. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  111. package/__cjs/react/hooks/internal/useDeepMemo.cjs +0 -3
  112. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  113. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
  114. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +2 -2
  115. package/__cjs/react/hooks/internal/wrapHook.cjs +1 -0
  116. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  117. package/__cjs/react/hooks/internal/wrapHook.d.cts +8 -7
  118. package/__cjs/react/hooks/useApolloClient.cjs +2 -2
  119. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  120. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  121. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  122. package/__cjs/react/hooks/useBackgroundQuery.d.cts +814 -82
  123. package/__cjs/react/hooks/useFragment.cjs +11 -9
  124. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  125. package/__cjs/react/hooks/useFragment.d.cts +53 -2
  126. package/__cjs/react/hooks/useLazyQuery.cjs +0 -38
  127. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  128. package/__cjs/react/hooks/useLazyQuery.d.cts +313 -119
  129. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  130. package/__cjs/react/hooks/useLoadableQuery.d.cts +230 -44
  131. package/__cjs/react/hooks/useMutation.cjs +6 -7
  132. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  133. package/__cjs/react/hooks/useMutation.d.cts +57 -17
  134. package/__cjs/react/hooks/useQuery.cjs +1 -35
  135. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  136. package/__cjs/react/hooks/useQuery.d.cts +407 -238
  137. package/__cjs/react/hooks/useQueryRefHandlers.cjs +2 -1
  138. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  139. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +25 -1
  140. package/__cjs/react/hooks/useReactiveVar.cjs +2 -1
  141. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  142. package/__cjs/react/hooks/useReactiveVar.d.cts +2 -1
  143. package/__cjs/react/hooks/useReadQuery.cjs +29 -0
  144. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  145. package/__cjs/react/hooks/useReadQuery.d.cts +95 -16
  146. package/__cjs/react/hooks/useSubscription.cjs +8 -9
  147. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  148. package/__cjs/react/hooks/useSubscription.d.cts +153 -69
  149. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  150. package/__cjs/react/hooks/useSuspenseFragment.d.cts +61 -29
  151. package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -1
  152. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  153. package/__cjs/react/hooks/useSuspenseQuery.d.cts +605 -160
  154. package/__cjs/react/index.cjs +1 -5
  155. package/__cjs/react/index.cjs.map +1 -1
  156. package/__cjs/react/index.d.cts +0 -2
  157. package/__cjs/react/index.react-server.cjs +1 -3
  158. package/__cjs/react/index.react-server.cjs.map +1 -1
  159. package/__cjs/react/index.react-server.d.cts +0 -1
  160. package/__cjs/react/internal/cache/FragmentReference.cjs +1 -1
  161. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  162. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -3
  163. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  164. package/__cjs/react/internal/cache/QueryReference.d.cts +11 -11
  165. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  166. package/__cjs/react/internal/cache/SuspenseCache.d.cts +2 -2
  167. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  168. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +6 -4
  169. package/__cjs/react/internal/index.cjs +1 -0
  170. package/__cjs/react/internal/index.cjs.map +1 -1
  171. package/__cjs/react/internal/index.d.cts +1 -1
  172. package/__cjs/react/internal/types.d.cts +3 -3
  173. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -1
  174. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  175. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +31 -31
  176. package/__cjs/react/ssr/prerenderStatic.cjs +5 -4
  177. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  178. package/__cjs/react/ssr/prerenderStatic.d.cts +11 -9
  179. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  180. package/__cjs/react/types/deprecated.d.cts +1 -1
  181. package/__cjs/react/types/types.documentation.d.cts +22 -11
  182. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  183. package/__cjs/testing/core/mocking/mockLink.d.cts +3 -2
  184. package/__cjs/testing/core/types/deprecated.d.cts +3 -2
  185. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  186. package/__cjs/testing/react/MockedProvider.d.cts +2 -3
  187. package/__cjs/utilities/HKT.d.cts +8 -7
  188. package/__cjs/utilities/caching/sizes.cjs +3 -3
  189. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  190. package/__cjs/utilities/caching/sizes.d.cts +4 -6
  191. package/__cjs/utilities/graphql/DocumentTransform.cjs +2 -2
  192. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  193. package/__cjs/utilities/index.cjs +2 -3
  194. package/__cjs/utilities/index.cjs.map +1 -1
  195. package/__cjs/utilities/index.d.cts +1 -2
  196. package/__cjs/utilities/{shared → internal}/canonicalStringify.cjs +5 -7
  197. package/__cjs/utilities/internal/canonicalStringify.cjs.map +1 -0
  198. package/__cjs/utilities/{shared → internal}/canonicalStringify.d.cts +1 -1
  199. package/__cjs/utilities/internal/checkDocument.cjs +2 -2
  200. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  201. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  202. package/__cjs/{core → utilities/internal}/equalByQuery.cjs +13 -7
  203. package/__cjs/utilities/internal/equalByQuery.cjs.map +1 -0
  204. package/__cjs/utilities/internal/equalByQuery.d.cts +5 -0
  205. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +13 -3
  206. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  207. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +13 -3
  208. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  209. package/__cjs/utilities/internal/getStoreKeyName.cjs +9 -7
  210. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  211. package/__cjs/utilities/internal/index.cjs +8 -2
  212. package/__cjs/utilities/internal/index.cjs.map +1 -1
  213. package/__cjs/utilities/internal/index.d.cts +4 -0
  214. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  215. package/__cjs/utilities/internal/mergeOptions.d.cts +2 -2
  216. package/__cjs/utilities/internal/removeFragmentSpreads.cjs +14 -0
  217. package/__cjs/utilities/internal/removeFragmentSpreads.cjs.map +1 -0
  218. package/__cjs/utilities/internal/removeFragmentSpreads.d.cts +3 -0
  219. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  220. package/__cjs/utilities/internal/toQueryResult.d.cts +2 -2
  221. package/__cjs/utilities/internal/types/DocumentationTypes.cjs +3 -0
  222. package/__cjs/utilities/internal/types/DocumentationTypes.cjs.map +1 -0
  223. package/__cjs/utilities/internal/types/DocumentationTypes.d.cts +96 -0
  224. package/__cjs/utilities/internal/types/NoInfer.d.cts +31 -25
  225. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -0
  226. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  227. package/__cjs/version.cjs +1 -1
  228. package/cache/core/cache.d.ts +96 -66
  229. package/cache/core/cache.js +5 -13
  230. package/cache/core/cache.js.map +1 -1
  231. package/cache/core/types/Cache.d.ts +200 -15
  232. package/cache/core/types/Cache.js +1 -3
  233. package/cache/core/types/Cache.js.map +1 -1
  234. package/cache/deprecated.d.ts +6 -0
  235. package/cache/deprecated.js +2 -0
  236. package/cache/deprecated.js.map +1 -0
  237. package/cache/index.d.ts +2 -2
  238. package/cache/index.js.map +1 -1
  239. package/cache/inmemory/entityStore.d.ts +18 -17
  240. package/cache/inmemory/entityStore.js +28 -31
  241. package/cache/inmemory/entityStore.js.map +1 -1
  242. package/cache/inmemory/inMemoryCache.d.ts +4 -4
  243. package/cache/inmemory/inMemoryCache.js +1 -1
  244. package/cache/inmemory/inMemoryCache.js.map +1 -1
  245. package/cache/inmemory/key-extractor.js +1 -1
  246. package/cache/inmemory/policies.d.ts +3 -2
  247. package/cache/inmemory/policies.js +4 -4
  248. package/cache/inmemory/policies.js.map +1 -1
  249. package/cache/inmemory/readFromStore.js +2 -2
  250. package/cache/inmemory/types.d.ts +1 -1
  251. package/cache/inmemory/types.js.map +1 -1
  252. package/cache/inmemory/writeToStore.d.ts +1 -1
  253. package/cache/inmemory/writeToStore.js +4 -4
  254. package/cache/inmemory/writeToStore.js.map +1 -1
  255. package/core/ApolloClient.d.ts +790 -183
  256. package/core/ApolloClient.js +138 -118
  257. package/core/ApolloClient.js.map +1 -1
  258. package/core/ObservableQuery.d.ts +184 -68
  259. package/core/ObservableQuery.js +50 -20
  260. package/core/ObservableQuery.js.map +1 -1
  261. package/core/QueryInfo.d.ts +5 -4
  262. package/core/QueryInfo.js.map +1 -1
  263. package/core/QueryManager.d.ts +17 -17
  264. package/core/QueryManager.js +15 -13
  265. package/core/QueryManager.js.map +1 -1
  266. package/core/deprecated.d.ts +29 -0
  267. package/core/deprecated.js +2 -0
  268. package/core/deprecated.js.map +1 -0
  269. package/core/index.d.ts +9 -5
  270. package/core/index.js.map +1 -1
  271. package/core/types.d.ts +81 -104
  272. package/core/types.js.map +1 -1
  273. package/core/watchQueryOptions.d.ts +9 -298
  274. package/core/watchQueryOptions.js.map +1 -1
  275. package/dev/setErrorMessageHandler.d.ts +4 -4
  276. package/dev/setErrorMessageHandler.js.map +1 -1
  277. package/errors/CombinedGraphQLErrors.d.ts +147 -12
  278. package/errors/CombinedGraphQLErrors.js +60 -12
  279. package/errors/CombinedGraphQLErrors.js.map +1 -1
  280. package/errors/CombinedProtocolErrors.d.ts +127 -3
  281. package/errors/CombinedProtocolErrors.js +49 -2
  282. package/errors/CombinedProtocolErrors.js.map +1 -1
  283. package/errors/LinkError.d.ts +45 -2
  284. package/errors/LinkError.js +45 -2
  285. package/errors/LinkError.js.map +1 -1
  286. package/errors/LocalStateError.d.ts +42 -6
  287. package/errors/LocalStateError.js +36 -6
  288. package/errors/LocalStateError.js.map +1 -1
  289. package/errors/ServerError.d.ts +71 -12
  290. package/errors/ServerError.js +51 -9
  291. package/errors/ServerError.js.map +1 -1
  292. package/errors/ServerParseError.d.ts +72 -17
  293. package/errors/ServerParseError.js +46 -9
  294. package/errors/ServerParseError.js.map +1 -1
  295. package/errors/UnconventionalError.d.ts +46 -2
  296. package/errors/UnconventionalError.js +46 -2
  297. package/errors/UnconventionalError.js.map +1 -1
  298. package/incremental/handlers/notImplemented.js +1 -1
  299. package/invariantErrorCodes.js +72 -80
  300. package/link/batch/batchLink.js.map +1 -1
  301. package/link/batch-http/batchHttpLink.js +1 -1
  302. package/link/batch-http/batchHttpLink.js.map +1 -1
  303. package/link/client-awareness/ClientAwarenessLink.d.ts +4 -4
  304. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  305. package/link/context/index.d.ts +1 -1
  306. package/link/context/index.js +1 -1
  307. package/link/context/index.js.map +1 -1
  308. package/link/core/ApolloLink.js +2 -2
  309. package/link/core/types.d.ts +2 -2
  310. package/link/core/types.js.map +1 -1
  311. package/link/error/index.d.ts +16 -1
  312. package/link/error/index.js.map +1 -1
  313. package/link/http/HttpLink.d.ts +13 -2
  314. package/link/http/HttpLink.js.map +1 -1
  315. package/link/http/checkFetcher.js +1 -1
  316. package/link/http/parseAndCheckHttpResponse.js +1 -1
  317. package/link/http/serializeFetchParameter.js +1 -1
  318. package/link/persisted-queries/index.d.ts +11 -11
  319. package/link/persisted-queries/index.js +2 -2
  320. package/link/persisted-queries/index.js.map +1 -1
  321. package/link/retry/delayFunction.d.ts +1 -1
  322. package/link/retry/delayFunction.js.map +1 -1
  323. package/link/retry/retryFunction.d.ts +1 -1
  324. package/link/retry/retryFunction.js.map +1 -1
  325. package/link/retry/retryLink.js.map +1 -1
  326. package/link/schema/index.js.map +1 -1
  327. package/link/utils/validateOperation.js +1 -1
  328. package/link/ws/index.js.map +1 -1
  329. package/local-state/LocalState.d.ts +94 -0
  330. package/local-state/LocalState.js +55 -9
  331. package/local-state/LocalState.js.map +1 -1
  332. package/masking/GraphQLCodegenDataMasking.d.ts +6 -7
  333. package/masking/GraphQLCodegenDataMasking.js.map +1 -1
  334. package/masking/internal/types.d.ts +70 -70
  335. package/masking/internal/types.js.map +1 -1
  336. package/masking/maskDefinition.js +2 -2
  337. package/masking/maskFragment.js +2 -2
  338. package/masking/maskOperation.js +1 -1
  339. package/masking/types.js.map +1 -1
  340. package/masking/utils.js +3 -3
  341. package/package.json +1 -1
  342. package/react/context/ApolloContext.js +1 -1
  343. package/react/context/ApolloProvider.js +1 -1
  344. package/react/hooks/internal/useDeepMemo.js +0 -3
  345. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  346. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +2 -2
  347. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
  348. package/react/hooks/internal/wrapHook.d.ts +8 -7
  349. package/react/hooks/internal/wrapHook.js +1 -0
  350. package/react/hooks/internal/wrapHook.js.map +1 -1
  351. package/react/hooks/useApolloClient.d.ts +2 -2
  352. package/react/hooks/useApolloClient.js +2 -2
  353. package/react/hooks/useApolloClient.js.map +1 -1
  354. package/react/hooks/useBackgroundQuery.d.ts +814 -82
  355. package/react/hooks/useBackgroundQuery.js.map +1 -1
  356. package/react/hooks/useFragment.d.ts +54 -3
  357. package/react/hooks/useFragment.js +11 -9
  358. package/react/hooks/useFragment.js.map +1 -1
  359. package/react/hooks/useLazyQuery.d.ts +313 -119
  360. package/react/hooks/useLazyQuery.js +0 -38
  361. package/react/hooks/useLazyQuery.js.map +1 -1
  362. package/react/hooks/useLoadableQuery.d.ts +230 -44
  363. package/react/hooks/useLoadableQuery.js.map +1 -1
  364. package/react/hooks/useMutation.d.ts +57 -17
  365. package/react/hooks/useMutation.js +6 -7
  366. package/react/hooks/useMutation.js.map +1 -1
  367. package/react/hooks/useQuery.d.ts +407 -238
  368. package/react/hooks/useQuery.js +1 -35
  369. package/react/hooks/useQuery.js.map +1 -1
  370. package/react/hooks/useQueryRefHandlers.d.ts +25 -1
  371. package/react/hooks/useQueryRefHandlers.js +2 -1
  372. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  373. package/react/hooks/useReactiveVar.d.ts +2 -1
  374. package/react/hooks/useReactiveVar.js +2 -1
  375. package/react/hooks/useReactiveVar.js.map +1 -1
  376. package/react/hooks/useReadQuery.d.ts +96 -17
  377. package/react/hooks/useReadQuery.js +29 -0
  378. package/react/hooks/useReadQuery.js.map +1 -1
  379. package/react/hooks/useSubscription.d.ts +153 -69
  380. package/react/hooks/useSubscription.js +8 -9
  381. package/react/hooks/useSubscription.js.map +1 -1
  382. package/react/hooks/useSuspenseFragment.d.ts +62 -30
  383. package/react/hooks/useSuspenseFragment.js.map +1 -1
  384. package/react/hooks/useSuspenseQuery.d.ts +605 -160
  385. package/react/hooks/useSuspenseQuery.js +4 -1
  386. package/react/hooks/useSuspenseQuery.js.map +1 -1
  387. package/react/hooks-compiled/internal/useDeepMemo.js +0 -3
  388. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -1
  389. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +2 -2
  390. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -1
  391. package/react/hooks-compiled/internal/wrapHook.d.ts +8 -7
  392. package/react/hooks-compiled/internal/wrapHook.js +1 -0
  393. package/react/hooks-compiled/internal/wrapHook.js.map +1 -1
  394. package/react/hooks-compiled/useApolloClient.d.ts +2 -2
  395. package/react/hooks-compiled/useApolloClient.js +2 -2
  396. package/react/hooks-compiled/useApolloClient.js.map +1 -1
  397. package/react/hooks-compiled/useBackgroundQuery.d.ts +814 -82
  398. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
  399. package/react/hooks-compiled/useFragment.d.ts +54 -3
  400. package/react/hooks-compiled/useFragment.js +11 -9
  401. package/react/hooks-compiled/useFragment.js.map +1 -1
  402. package/react/hooks-compiled/useLazyQuery.d.ts +313 -119
  403. package/react/hooks-compiled/useLazyQuery.js +0 -38
  404. package/react/hooks-compiled/useLazyQuery.js.map +1 -1
  405. package/react/hooks-compiled/useLoadableQuery.d.ts +230 -44
  406. package/react/hooks-compiled/useLoadableQuery.js.map +1 -1
  407. package/react/hooks-compiled/useMutation.d.ts +57 -17
  408. package/react/hooks-compiled/useMutation.js +6 -7
  409. package/react/hooks-compiled/useMutation.js.map +1 -1
  410. package/react/hooks-compiled/useQuery.d.ts +407 -238
  411. package/react/hooks-compiled/useQuery.js +1 -35
  412. package/react/hooks-compiled/useQuery.js.map +1 -1
  413. package/react/hooks-compiled/useQueryRefHandlers.d.ts +25 -1
  414. package/react/hooks-compiled/useQueryRefHandlers.js +2 -1
  415. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -1
  416. package/react/hooks-compiled/useReactiveVar.d.ts +2 -1
  417. package/react/hooks-compiled/useReactiveVar.js +2 -1
  418. package/react/hooks-compiled/useReactiveVar.js.map +1 -1
  419. package/react/hooks-compiled/useReadQuery.d.ts +96 -17
  420. package/react/hooks-compiled/useReadQuery.js +29 -0
  421. package/react/hooks-compiled/useReadQuery.js.map +1 -1
  422. package/react/hooks-compiled/useSubscription.d.ts +153 -69
  423. package/react/hooks-compiled/useSubscription.js +8 -9
  424. package/react/hooks-compiled/useSubscription.js.map +1 -1
  425. package/react/hooks-compiled/useSuspenseFragment.d.ts +62 -30
  426. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
  427. package/react/hooks-compiled/useSuspenseQuery.d.ts +605 -160
  428. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
  429. package/react/index.compiled.d.ts +0 -2
  430. package/react/index.compiled.js +0 -2
  431. package/react/index.compiled.js.map +1 -1
  432. package/react/index.d.ts +0 -2
  433. package/react/index.js +0 -2
  434. package/react/index.js.map +1 -1
  435. package/react/index.react-server.d.ts +0 -1
  436. package/react/index.react-server.js +0 -2
  437. package/react/index.react-server.js.map +1 -1
  438. package/react/internal/cache/FragmentReference.d.ts +2 -3
  439. package/react/internal/cache/FragmentReference.js +1 -1
  440. package/react/internal/cache/FragmentReference.js.map +1 -1
  441. package/react/internal/cache/QueryReference.d.ts +11 -11
  442. package/react/internal/cache/QueryReference.js.map +1 -1
  443. package/react/internal/cache/SuspenseCache.d.ts +2 -2
  444. package/react/internal/cache/SuspenseCache.js.map +1 -1
  445. package/react/internal/cache/getSuspenseCache.d.ts +6 -4
  446. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  447. package/react/internal/index.d.ts +1 -1
  448. package/react/internal/index.js +1 -0
  449. package/react/internal/index.js.map +1 -1
  450. package/react/internal/types.d.ts +3 -3
  451. package/react/internal/types.js.map +1 -1
  452. package/react/query-preloader/createQueryPreloader.d.ts +31 -31
  453. package/react/query-preloader/createQueryPreloader.js +1 -1
  454. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  455. package/react/ssr/prerenderStatic.d.ts +11 -9
  456. package/react/ssr/prerenderStatic.js +5 -4
  457. package/react/ssr/prerenderStatic.js.map +1 -1
  458. package/react/ssr/useSSRQuery.js.map +1 -1
  459. package/react/types/deprecated.d.ts +1 -1
  460. package/react/types/deprecated.js.map +1 -1
  461. package/react/types/types.documentation.d.ts +22 -11
  462. package/react/types/types.documentation.js.map +1 -1
  463. package/testing/core/mocking/mockLink.d.ts +3 -2
  464. package/testing/core/mocking/mockLink.js.map +1 -1
  465. package/testing/core/types/deprecated.d.ts +3 -2
  466. package/testing/core/types/deprecated.js.map +1 -1
  467. package/testing/react/MockedProvider.d.ts +2 -3
  468. package/testing/react/MockedProvider.js.map +1 -1
  469. package/utilities/HKT.d.ts +8 -7
  470. package/utilities/HKT.js.map +1 -1
  471. package/utilities/caching/sizes.d.ts +4 -6
  472. package/utilities/caching/sizes.js +3 -3
  473. package/utilities/caching/sizes.js.map +1 -1
  474. package/utilities/graphql/DocumentTransform.js +1 -1
  475. package/utilities/graphql/DocumentTransform.js.map +1 -1
  476. package/utilities/index.d.ts +1 -2
  477. package/utilities/index.js +1 -2
  478. package/utilities/index.js.map +1 -1
  479. package/utilities/{shared → internal}/canonicalStringify.d.ts +1 -1
  480. package/utilities/{shared → internal}/canonicalStringify.js +4 -6
  481. package/utilities/internal/canonicalStringify.js.map +1 -0
  482. package/utilities/internal/checkDocument.js +1 -1
  483. package/utilities/internal/checkDocument.js.map +1 -1
  484. package/utilities/internal/createFragmentMap.js.map +1 -1
  485. package/utilities/internal/equalByQuery.d.ts +5 -0
  486. package/{core → utilities/internal}/equalByQuery.js +7 -1
  487. package/utilities/internal/equalByQuery.js.map +1 -0
  488. package/utilities/internal/getFragmentQueryDocument.d.ts +13 -3
  489. package/utilities/internal/getFragmentQueryDocument.js +13 -3
  490. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  491. package/utilities/internal/getMemoryInternals.js.map +1 -1
  492. package/utilities/internal/getStoreKeyName.js +9 -7
  493. package/utilities/internal/getStoreKeyName.js.map +1 -1
  494. package/utilities/internal/index.d.ts +4 -0
  495. package/utilities/internal/index.js +3 -0
  496. package/utilities/internal/index.js.map +1 -1
  497. package/utilities/internal/mergeOptions.d.ts +2 -2
  498. package/utilities/internal/mergeOptions.js.map +1 -1
  499. package/utilities/internal/removeFragmentSpreads.d.ts +3 -0
  500. package/utilities/internal/removeFragmentSpreads.js +11 -0
  501. package/utilities/internal/removeFragmentSpreads.js.map +1 -0
  502. package/utilities/internal/toQueryResult.d.ts +2 -2
  503. package/utilities/internal/toQueryResult.js.map +1 -1
  504. package/utilities/internal/types/DocumentationTypes.d.ts +96 -0
  505. package/utilities/internal/types/DocumentationTypes.js +2 -0
  506. package/utilities/internal/types/DocumentationTypes.js.map +1 -0
  507. package/utilities/internal/types/NoInfer.d.ts +31 -25
  508. package/utilities/internal/types/NoInfer.js.map +1 -1
  509. package/utilities/subscriptions/relay/index.js +2 -0
  510. package/utilities/subscriptions/relay/index.js.map +1 -1
  511. package/version.js +1 -1
  512. package/__cjs/cache/core/types/DataProxy.cjs.map +0 -1
  513. package/__cjs/cache/core/types/DataProxy.d.cts +0 -140
  514. package/__cjs/core/equalByQuery.cjs.map +0 -1
  515. package/__cjs/core/equalByQuery.d.cts +0 -4
  516. package/__cjs/react/context/ApolloConsumer.cjs +0 -16
  517. package/__cjs/react/context/ApolloConsumer.cjs.map +0 -1
  518. package/__cjs/react/context/ApolloConsumer.d.cts +0 -10
  519. package/__cjs/utilities/shared/canonicalStringify.cjs.map +0 -1
  520. package/cache/core/types/DataProxy.d.ts +0 -140
  521. package/cache/core/types/DataProxy.js +0 -2
  522. package/cache/core/types/DataProxy.js.map +0 -1
  523. package/core/equalByQuery.d.ts +0 -4
  524. package/core/equalByQuery.js.map +0 -1
  525. package/react/context/ApolloConsumer.d.ts +0 -10
  526. package/react/context/ApolloConsumer.js +0 -11
  527. package/react/context/ApolloConsumer.js.map +0 -1
  528. package/utilities/shared/canonicalStringify.js.map +0 -1
@@ -1,14 +1,11 @@
1
- import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
- import type { DocumentNode } from "graphql";
3
- import type { ApolloCache } from "@apollo/client/cache";
4
- import type { IgnoreModifier } from "@apollo/client/cache";
5
1
  import type { Unmasked } from "@apollo/client/masking";
6
2
  import type { DeepPartial } from "@apollo/client/utilities";
7
- import type { NoInfer, VariablesOption } from "@apollo/client/utilities/internal";
3
+ import type { ApolloClient } from "./ApolloClient.js";
8
4
  import type { ObservableQuery } from "./ObservableQuery.js";
9
- import type { DefaultContext, ErrorLike, InternalRefetchQueriesInclude, MutationQueryReducersMap, MutationUpdaterFunction, NormalizedExecutionResult, OnQueryUpdated, OperationVariables } from "./types.js";
5
+ import type { OperationVariables } from "./types.js";
10
6
  /**
11
7
  * fetchPolicy determines where the client may return a result from. The options are:
8
+ *
12
9
  * - cache-first (default): return result from cache. Only fetch from network if cached result is not available.
13
10
  * - cache-and-network: return result from cache first (if it exists), then return network result once it's available.
14
11
  * - cache-only: return result from cache if available, fail otherwise.
@@ -22,170 +19,19 @@ export type MutationFetchPolicy = Extract<FetchPolicy, "network-only" | "no-cach
22
19
  export type RefetchWritePolicy = "merge" | "overwrite";
23
20
  /**
24
21
  * errorPolicy determines the level of events for errors in the execution result. The options are:
22
+ *
25
23
  * - none (default): any errors from the request are treated like runtime errors and the observable is stopped
26
24
  * - ignore: errors from the request do not stop the observable, but also don't call `next`
27
25
  * - all: errors are treated like data and will notify observables
28
26
  */
29
27
  export type ErrorPolicy = "none" | "ignore" | "all";
30
- /**
31
- * Query options.
32
- */
33
- export type QueryOptions<TVariables extends OperationVariables = OperationVariables, TData = unknown> = {
34
- /**
35
- * A GraphQL query string parsed into an AST with the gql template literal.
36
- *
37
- * @docGroup
38
- *
39
- * 1. Operation options
40
- */
41
- query: DocumentNode | TypedDocumentNode<TData, TVariables>;
42
- /**
43
- * Specifies how the query handles a response that returns both GraphQL errors and partial results.
44
- *
45
- * For details, see [GraphQL error policies](https://www.apollographql.com/docs/react/data/error-handling/#graphql-error-policies).
46
- *
47
- * The default value is `none`, meaning that the query result includes error details but not partial results.
48
- *
49
- * @docGroup
50
- *
51
- * 1. Operation options
52
- */
53
- errorPolicy?: ErrorPolicy;
54
- /**
55
- * 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.
56
- *
57
- * @docGroup
58
- *
59
- * 2. Networking options
60
- */
61
- context?: DefaultContext;
62
- /**
63
- * 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).
64
- *
65
- * For details, see [Setting a fetch policy](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy).
66
- *
67
- * The default value is `cache-first`.
68
- *
69
- * @docGroup
70
- *
71
- * 3. Caching options
72
- */
73
- fetchPolicy?: FetchPolicy;
74
- } & VariablesOption<NoInfer<TVariables>>;
75
- /**
76
- * Watched query options.
77
- */
78
- export type WatchQueryOptions<TVariables extends OperationVariables = OperationVariables, TData = unknown> = {
79
- /**
80
- * 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).
81
- *
82
- * For details, see [Setting a fetch policy](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy).
83
- *
84
- * The default value is `cache-first`.
85
- *
86
- * @docGroup
87
- *
88
- * 3. Caching options
89
- */
90
- fetchPolicy?: WatchQueryFetchPolicy;
91
- /**
92
- * Specifies the `FetchPolicy` to be used after this query has completed.
93
- *
94
- * @docGroup
95
- *
96
- * 3. Caching options
97
- */
98
- nextFetchPolicy?: WatchQueryFetchPolicy | ((this: WatchQueryOptions<TVariables, TData>, currentFetchPolicy: WatchQueryFetchPolicy, context: NextFetchPolicyContext<TData, TVariables>) => WatchQueryFetchPolicy);
99
- /**
100
- * Defaults to the initial value of options.fetchPolicy, but can be explicitly configured to specify the WatchQueryFetchPolicy to revert back to whenever variables change (unless nextFetchPolicy intervenes).
101
- *
102
- * @docGroup
103
- *
104
- * 3. Caching options
105
- */
106
- initialFetchPolicy?: WatchQueryFetchPolicy;
107
- /**
108
- * 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.
109
- *
110
- * @docGroup
111
- *
112
- * 3. Caching options
113
- */
114
- refetchWritePolicy?: RefetchWritePolicy;
115
- /**
116
- * Specifies how the query handles a response that returns both GraphQL errors and partial results.
117
- *
118
- * For details, see [GraphQL error policies](https://www.apollographql.com/docs/react/data/error-handling/#graphql-error-policies).
119
- *
120
- * The default value is `none`, meaning that the query result includes error details but not partial results.
121
- *
122
- * @docGroup
123
- *
124
- * 1. Operation options
125
- */
126
- errorPolicy?: ErrorPolicy;
127
- /**
128
- * 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.
129
- *
130
- * @docGroup
131
- *
132
- * 2. Networking options
133
- */
134
- context?: DefaultContext;
135
- /**
136
- * Specifies the interval (in milliseconds) at which the query polls for updated results.
137
- *
138
- * The default value is `0` (no polling).
139
- *
140
- * @docGroup
141
- *
142
- * 2. Networking options
143
- */
144
- pollInterval?: number;
145
- /**
146
- * If `true`, the in-progress query's associated component re-renders whenever the network status changes or a network error occurs.
147
- *
148
- * The default value is `true`.
149
- *
150
- * @docGroup
151
- *
152
- * 2. Networking options
153
- */
154
- notifyOnNetworkStatusChange?: boolean;
155
- /**
156
- * If `true`, the query can return partial results from the cache if the cache doesn't contain results for all queried fields.
157
- *
158
- * The default value is `false`.
159
- *
160
- * @docGroup
161
- *
162
- * 3. Caching options
163
- */
164
- returnPartialData?: boolean;
165
- /**
166
- * A callback function that's called whenever a refetch attempt occurs while polling. If the function returns `true`, the refetch is skipped and not reattempted until the next poll interval.
167
- *
168
- * @docGroup
169
- *
170
- * 2. Networking options
171
- */
172
- skipPollAttempt?: () => boolean;
173
- /**
174
- * A GraphQL query string parsed into an AST with the gql template literal.
175
- *
176
- * @docGroup
177
- *
178
- * 1. Operation options
179
- */
180
- query: DocumentNode | TypedDocumentNode<TData, TVariables>;
181
- } & VariablesOption<NoInfer<TVariables>>;
182
28
  export interface NextFetchPolicyContext<TData, TVariables extends OperationVariables> {
183
29
  reason: "after-fetch" | "variables-changed";
184
30
  observable: ObservableQuery<TData, TVariables>;
185
- options: WatchQueryOptions<TVariables, TData>;
31
+ options: ApolloClient.WatchQueryOptions<TData, TVariables>;
186
32
  initialFetchPolicy: WatchQueryFetchPolicy;
187
33
  }
188
- export type UpdateQueryOptions<TData, TVariables> = {
34
+ export type UpdateQueryOptions<TData, TVariables extends OperationVariables> = {
189
35
  variables?: TVariables;
190
36
  } & ({
191
37
  /**
@@ -201,7 +47,7 @@ export type UpdateQueryOptions<TData, TVariables> = {
201
47
  complete: false;
202
48
  previousData: DeepPartial<Unmasked<TData>> | undefined;
203
49
  });
204
- export interface UpdateQueryMapFn<TData = unknown, TVariables = OperationVariables> {
50
+ export interface UpdateQueryMapFn<TData = unknown, TVariables extends OperationVariables = OperationVariables> {
205
51
  (
206
52
  /**
207
53
  * @deprecated This value is not type-safe and may contain partial data. This
@@ -223,142 +69,7 @@ export type SubscribeToMoreUpdateQueryFn<TData = unknown, TVariables extends Ope
223
69
  };
224
70
  }): Unmasked<TData> | void;
225
71
  };
226
- export interface SubscribeToMoreOptions<TData = unknown, TSubscriptionVariables extends OperationVariables = OperationVariables, TSubscriptionData = TData, TVariables extends OperationVariables = TSubscriptionVariables> {
227
- document: DocumentNode | TypedDocumentNode<TSubscriptionData, TSubscriptionVariables>;
228
- variables?: TSubscriptionVariables;
229
- updateQuery?: SubscribeToMoreUpdateQueryFn<TData, TVariables, TSubscriptionData>;
230
- onError?: (error: ErrorLike) => void;
231
- context?: DefaultContext;
232
- }
233
72
  export interface SubscribeToMoreFunction<TData, TVariables extends OperationVariables = OperationVariables> {
234
- <TSubscriptionData = TData, TSubscriptionVariables extends OperationVariables = TVariables>(options: SubscribeToMoreOptions<TData, TSubscriptionVariables, TSubscriptionData, TVariables>): () => void;
73
+ <TSubscriptionData = TData, TSubscriptionVariables extends OperationVariables = TVariables>(options: ObservableQuery.SubscribeToMoreOptions<TData, TSubscriptionVariables, TSubscriptionData, TVariables>): () => void;
235
74
  }
236
- export type SubscriptionOptions<TVariables extends OperationVariables = OperationVariables, TData = unknown> = {
237
- /**
238
- * A GraphQL document, often created with `gql` from the `graphql-tag` package, that contains a single subscription inside of it.
239
- */
240
- query: DocumentNode | TypedDocumentNode<TData, TVariables>;
241
- /**
242
- * 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).
243
- */
244
- fetchPolicy?: FetchPolicy;
245
- /**
246
- * Specifies the `ErrorPolicy` to be used for this operation
247
- */
248
- errorPolicy?: ErrorPolicy;
249
- /**
250
- * Shared context between your component and your network interface (Apollo Link).
251
- */
252
- context?: DefaultContext;
253
- /**
254
- * Shared context between your component and your network interface (Apollo Link).
255
- */
256
- extensions?: Record<string, any>;
257
- } & VariablesOption<NoInfer<TVariables>>;
258
- export type MutationOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables, TCache extends ApolloCache = ApolloCache> = {
259
- /**
260
- * By providing either an object or a callback function that, when invoked after a mutation, allows you to return optimistic data and optionally skip updates via the `IGNORE` sentinel object, Apollo Client caches this temporary (and potentially incorrect) response until the mutation completes, enabling more responsive UI updates.
261
- *
262
- * For more information, see [Optimistic mutation results](https://www.apollographql.com/docs/react/performance/optimistic-ui/).
263
- *
264
- * @docGroup
265
- *
266
- * 3. Caching options
267
- */
268
- optimisticResponse?: Unmasked<NoInfer<TData>> | ((vars: TVariables, { IGNORE }: {
269
- IGNORE: IgnoreModifier;
270
- }) => Unmasked<NoInfer<TData>> | IgnoreModifier);
271
- /**
272
- * A `MutationQueryReducersMap`, which is map from query names to mutation query reducers. Briefly, this map defines how to incorporate the results of the mutation into the results of queries that are currently being watched by your application.
273
- */
274
- updateQueries?: MutationQueryReducersMap<TData>;
275
- /**
276
- * An array (or a function that _returns_ an array) that specifies which queries you want to refetch after the mutation occurs.
277
- *
278
- * Each array value can be either:
279
- *
280
- * - An object containing the `query` to execute, along with any `variables`
281
- *
282
- * - A string indicating the operation name of the query to refetch
283
- *
284
- * @docGroup
285
- *
286
- * 1. Operation options
287
- */
288
- refetchQueries?: ((result: NormalizedExecutionResult<Unmasked<TData>>) => InternalRefetchQueriesInclude) | InternalRefetchQueriesInclude;
289
- /**
290
- * If `true`, makes sure all queries included in `refetchQueries` are completed before the mutation is considered complete.
291
- *
292
- * The default value is `false` (queries are refetched asynchronously).
293
- *
294
- * @docGroup
295
- *
296
- * 1. Operation options
297
- */
298
- awaitRefetchQueries?: boolean;
299
- /**
300
- * A function used to update the Apollo Client cache after the mutation completes.
301
- *
302
- * For more information, see [Updating the cache after a mutation](https://www.apollographql.com/docs/react/data/mutations#updating-the-cache-after-a-mutation).
303
- *
304
- * @docGroup
305
- *
306
- * 3. Caching options
307
- */
308
- update?: MutationUpdaterFunction<TData, TVariables, TCache>;
309
- /**
310
- * Optional callback for intercepting queries whose cache data has been updated by the mutation, as well as any queries specified in the `refetchQueries: [...]` list passed to `client.mutate`.
311
- *
312
- * Returning a `Promise` from `onQueryUpdated` will cause the final mutation `Promise` to await the returned `Promise`. Returning `false` causes the query to be ignored.
313
- *
314
- * @docGroup
315
- *
316
- * 1. Operation options
317
- */
318
- onQueryUpdated?: OnQueryUpdated<any>;
319
- /**
320
- * Specifies how the mutation handles a response that returns both GraphQL errors and partial results.
321
- *
322
- * For details, see [GraphQL error policies](https://www.apollographql.com/docs/react/data/error-handling/#graphql-error-policies).
323
- *
324
- * The default value is `none`, meaning that the mutation result includes error details but _not_ partial results.
325
- *
326
- * @docGroup
327
- *
328
- * 1. Operation options
329
- */
330
- errorPolicy?: ErrorPolicy;
331
- /**
332
- * 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.
333
- *
334
- * @docGroup
335
- *
336
- * 2. Networking options
337
- */
338
- context?: DefaultContext;
339
- /**
340
- * Provide `no-cache` if the mutation's result should _not_ be written to the Apollo Client cache.
341
- *
342
- * The default value is `network-only` (which means the result _is_ written to the cache).
343
- *
344
- * Unlike queries, mutations _do not_ support [fetch policies](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy) besides `network-only` and `no-cache`.
345
- *
346
- * @docGroup
347
- *
348
- * 3. Caching options
349
- */
350
- fetchPolicy?: MutationFetchPolicy;
351
- /**
352
- * To avoid retaining sensitive information from mutation root field arguments, Apollo Client v3.4+ automatically clears any `ROOT_MUTATION` fields from the cache after each mutation finishes. If you need this information to remain in the cache, you can prevent the removal by passing `keepRootFields: true` to the mutation. `ROOT_MUTATION` result data are also passed to the mutation `update` function, so we recommend obtaining the results that way, rather than using this option, if possible.
353
- */
354
- keepRootFields?: boolean;
355
- /**
356
- * A GraphQL document, often created with `gql` from the `graphql-tag` package, that contains a single mutation inside of it.
357
- *
358
- * @docGroup
359
- *
360
- * 1. Operation options
361
- */
362
- mutation: DocumentNode | TypedDocumentNode<TData, TVariables>;
363
- } & VariablesOption<NoInfer<TVariables>>;
364
- //# sourceMappingURL=watchQueryOptions.d.ts.map
75
+ //# sourceMappingURL=watchQueryOptions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"watchQueryOptions.js","sourceRoot":"","sources":["../../src/core/watchQueryOptions.ts"],"names":[],"mappings":"","sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport type { DocumentNode } from \"graphql\";\n\nimport type { ApolloCache } from \"@apollo/client/cache\";\nimport type { IgnoreModifier } from \"@apollo/client/cache\";\nimport type { Unmasked } from \"@apollo/client/masking\";\nimport type { DeepPartial } from \"@apollo/client/utilities\";\nimport type {\n NoInfer,\n VariablesOption,\n} from \"@apollo/client/utilities/internal\";\n\nimport type { ObservableQuery } from \"./ObservableQuery.js\";\nimport type {\n DefaultContext,\n ErrorLike,\n InternalRefetchQueriesInclude,\n MutationQueryReducersMap,\n MutationUpdaterFunction,\n NormalizedExecutionResult,\n OnQueryUpdated,\n OperationVariables,\n} from \"./types.js\";\n\n/**\n * fetchPolicy determines where the client may return a result from. The options are:\n * - cache-first (default): return result from cache. Only fetch from network if cached result is not available.\n * - cache-and-network: return result from cache first (if it exists), then return network result once it's available.\n * - cache-only: return result from cache if available, fail otherwise.\n * - no-cache: return result from network, fail if network call doesn't succeed, don't save to cache\n * - network-only: return result from network, fail if network call doesn't succeed, save to cache\n * - standby: only for queries that aren't actively watched, but should be available for refetch and updateQueries.\n */\nexport type FetchPolicy =\n | \"cache-first\"\n | \"network-only\"\n | \"cache-only\"\n | \"no-cache\";\n\nexport type WatchQueryFetchPolicy =\n | FetchPolicy\n | \"cache-and-network\"\n | \"standby\";\n\nexport type MutationFetchPolicy = Extract<\n FetchPolicy,\n | \"network-only\" // default behavior (mutation results written to cache)\n | \"no-cache\" // alternate behavior (results not written to cache)\n>;\n\nexport type RefetchWritePolicy = \"merge\" | \"overwrite\";\n\n/**\n * errorPolicy determines the level of events for errors in the execution result. The options are:\n * - none (default): any errors from the request are treated like runtime errors and the observable is stopped\n * - ignore: errors from the request do not stop the observable, but also don't call `next`\n * - all: errors are treated like data and will notify observables\n */\nexport type ErrorPolicy = \"none\" | \"ignore\" | \"all\";\n\n/**\n * Query options.\n */\nexport type QueryOptions<\n TVariables extends OperationVariables = OperationVariables,\n TData = unknown,\n> = {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#query:member} */\n query: DocumentNode | TypedDocumentNode<TData, TVariables>;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: FetchPolicy;\n} & VariablesOption<NoInfer<TVariables>>;\n\n/**\n * Watched query options.\n */\nexport type WatchQueryOptions<\n TVariables extends OperationVariables = OperationVariables,\n TData = unknown,\n> = {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: WatchQueryFetchPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#nextFetchPolicy:member} */\n nextFetchPolicy?:\n | WatchQueryFetchPolicy\n | ((\n this: WatchQueryOptions<TVariables, TData>,\n currentFetchPolicy: WatchQueryFetchPolicy,\n context: NextFetchPolicyContext<TData, TVariables>\n ) => WatchQueryFetchPolicy);\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#initialFetchPolicy:member} */\n initialFetchPolicy?: WatchQueryFetchPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#refetchWritePolicy:member} */\n refetchWritePolicy?: RefetchWritePolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#pollInterval:member} */\n pollInterval?: number;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#notifyOnNetworkStatusChange:member} */\n notifyOnNetworkStatusChange?: boolean;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#returnPartialData:member} */\n returnPartialData?: boolean;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#skipPollAttempt:member} */\n skipPollAttempt?: () => boolean;\n\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#query:member} */\n query: DocumentNode | TypedDocumentNode<TData, TVariables>;\n} & VariablesOption<NoInfer<TVariables>>;\n\nexport interface NextFetchPolicyContext<\n TData,\n TVariables extends OperationVariables,\n> {\n reason: \"after-fetch\" | \"variables-changed\";\n observable: ObservableQuery<TData, TVariables>;\n options: WatchQueryOptions<TVariables, TData>;\n initialFetchPolicy: WatchQueryFetchPolicy;\n}\n\nexport type UpdateQueryOptions<TData, TVariables> = {\n variables?: TVariables;\n} & (\n | {\n /**\n * Indicate if the previous query result has been found fully in the cache.\n */\n complete: true;\n previousData: Unmasked<TData>;\n }\n | {\n /**\n * Indicate if the previous query result has not been found fully in the cache.\n * Might have partial or missing data.\n */\n complete: false;\n previousData: DeepPartial<Unmasked<TData>> | undefined;\n }\n);\n\nexport interface UpdateQueryMapFn<\n TData = unknown,\n TVariables = OperationVariables,\n> {\n (\n /**\n * @deprecated This value is not type-safe and may contain partial data. This\n * argument will be removed in Apollo Client v5. Use `options.previousData`\n * instead for a more type-safe value.\n */\n unsafePreviousData: DeepPartial<Unmasked<TData>>,\n options: UpdateQueryOptions<TData, TVariables>\n ): Unmasked<TData> | void;\n}\n\nexport type SubscribeToMoreUpdateQueryFn<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TSubscriptionData = TData,\n> = {\n (\n /**\n * @deprecated This value is not type-safe and may contain partial data. This\n * argument will be removed in Apollo Client v5. Use `options.previousData`\n * instead for a more type-safe value.\n */\n unsafePreviousData: DeepPartial<Unmasked<TData>>,\n options: UpdateQueryOptions<TData, TVariables> & {\n subscriptionData: { data: Unmasked<TSubscriptionData> };\n }\n ): Unmasked<TData> | void;\n};\n\nexport interface SubscribeToMoreOptions<\n TData = unknown,\n TSubscriptionVariables extends OperationVariables = OperationVariables,\n TSubscriptionData = TData,\n TVariables extends OperationVariables = TSubscriptionVariables,\n> {\n document:\n | DocumentNode\n | TypedDocumentNode<TSubscriptionData, TSubscriptionVariables>;\n variables?: TSubscriptionVariables;\n updateQuery?: SubscribeToMoreUpdateQueryFn<\n TData,\n TVariables,\n TSubscriptionData\n >;\n onError?: (error: ErrorLike) => void;\n context?: DefaultContext;\n}\n\nexport interface SubscribeToMoreFunction<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n> {\n <\n TSubscriptionData = TData,\n TSubscriptionVariables extends OperationVariables = TVariables,\n >(\n options: SubscribeToMoreOptions<\n TData,\n TSubscriptionVariables,\n TSubscriptionData,\n TVariables\n >\n ): () => void;\n}\n\nexport type SubscriptionOptions<\n TVariables extends OperationVariables = OperationVariables,\n TData = unknown,\n> = {\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#query:member} */\n query: DocumentNode | TypedDocumentNode<TData, TVariables>;\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#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#extensions:member} */\n extensions?: Record<string, any>;\n} & VariablesOption<NoInfer<TVariables>>;\n\nexport type MutationOptions<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n> = {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#optimisticResponse:member} */\n optimisticResponse?:\n | Unmasked<NoInfer<TData>>\n | ((\n vars: TVariables,\n { IGNORE }: { IGNORE: IgnoreModifier }\n ) => Unmasked<NoInfer<TData>> | IgnoreModifier);\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#updateQueries:member} */\n updateQueries?: MutationQueryReducersMap<TData>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#refetchQueries:member} */\n refetchQueries?:\n | ((\n result: NormalizedExecutionResult<Unmasked<TData>>\n ) => InternalRefetchQueriesInclude)\n | InternalRefetchQueriesInclude;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#awaitRefetchQueries:member} */\n awaitRefetchQueries?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#update:member} */\n update?: MutationUpdaterFunction<TData, TVariables, TCache>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onQueryUpdated:member} */\n onQueryUpdated?: OnQueryUpdated<any>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: MutationFetchPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#keepRootFields:member} */\n keepRootFields?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#mutation:member} */\n mutation: DocumentNode | TypedDocumentNode<TData, TVariables>;\n} & VariablesOption<NoInfer<TVariables>>;\n"]}
1
+ {"version":3,"file":"watchQueryOptions.js","sourceRoot":"","sources":["../../src/core/watchQueryOptions.ts"],"names":[],"mappings":"","sourcesContent":["import type { Unmasked } from \"@apollo/client/masking\";\nimport type { DeepPartial } from \"@apollo/client/utilities\";\n\nimport type { ApolloClient } from \"./ApolloClient.js\";\nimport type { ObservableQuery } from \"./ObservableQuery.js\";\nimport type { OperationVariables } from \"./types.js\";\n\n/**\n * fetchPolicy determines where the client may return a result from. The options are:\n *\n * - cache-first (default): return result from cache. Only fetch from network if cached result is not available.\n * - cache-and-network: return result from cache first (if it exists), then return network result once it's available.\n * - cache-only: return result from cache if available, fail otherwise.\n * - no-cache: return result from network, fail if network call doesn't succeed, don't save to cache\n * - network-only: return result from network, fail if network call doesn't succeed, save to cache\n * - standby: only for queries that aren't actively watched, but should be available for refetch and updateQueries.\n */\nexport type FetchPolicy =\n | \"cache-first\"\n | \"network-only\"\n | \"cache-only\"\n | \"no-cache\";\n\nexport type WatchQueryFetchPolicy =\n | FetchPolicy\n | \"cache-and-network\"\n | \"standby\";\n\nexport type MutationFetchPolicy = Extract<\n FetchPolicy,\n | \"network-only\" // default behavior (mutation results written to cache)\n | \"no-cache\" // alternate behavior (results not written to cache)\n>;\n\nexport type RefetchWritePolicy = \"merge\" | \"overwrite\";\n\n/**\n * errorPolicy determines the level of events for errors in the execution result. The options are:\n *\n * - none (default): any errors from the request are treated like runtime errors and the observable is stopped\n * - ignore: errors from the request do not stop the observable, but also don't call `next`\n * - all: errors are treated like data and will notify observables\n */\nexport type ErrorPolicy = \"none\" | \"ignore\" | \"all\";\n\nexport interface NextFetchPolicyContext<\n TData,\n TVariables extends OperationVariables,\n> {\n reason: \"after-fetch\" | \"variables-changed\";\n observable: ObservableQuery<TData, TVariables>;\n options: ApolloClient.WatchQueryOptions<TData, TVariables>;\n initialFetchPolicy: WatchQueryFetchPolicy;\n}\n\nexport type UpdateQueryOptions<TData, TVariables extends OperationVariables> = {\n variables?: TVariables;\n} & (\n | {\n /**\n * Indicate if the previous query result has been found fully in the cache.\n */\n complete: true;\n previousData: Unmasked<TData>;\n }\n | {\n /**\n * Indicate if the previous query result has not been found fully in the cache.\n * Might have partial or missing data.\n */\n complete: false;\n previousData: DeepPartial<Unmasked<TData>> | undefined;\n }\n);\n\nexport interface UpdateQueryMapFn<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n> {\n (\n /**\n * @deprecated This value is not type-safe and may contain partial data. This\n * argument will be removed in Apollo Client v5. Use `options.previousData`\n * instead for a more type-safe value.\n */\n unsafePreviousData: DeepPartial<Unmasked<TData>>,\n options: UpdateQueryOptions<TData, TVariables>\n ): Unmasked<TData> | void;\n}\n\nexport type SubscribeToMoreUpdateQueryFn<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TSubscriptionData = TData,\n> = {\n (\n /**\n * @deprecated This value is not type-safe and may contain partial data. This\n * argument will be removed in Apollo Client v5. Use `options.previousData`\n * instead for a more type-safe value.\n */\n unsafePreviousData: DeepPartial<Unmasked<TData>>,\n options: UpdateQueryOptions<TData, TVariables> & {\n subscriptionData: { data: Unmasked<TSubscriptionData> };\n }\n ): Unmasked<TData> | void;\n};\n\nexport interface SubscribeToMoreFunction<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n> {\n <\n TSubscriptionData = TData,\n TSubscriptionVariables extends OperationVariables = TVariables,\n >(\n options: ObservableQuery.SubscribeToMoreOptions<\n TData,\n TSubscriptionVariables,\n TSubscriptionData,\n TVariables\n >\n ): () => void;\n}\n"]}
@@ -21,10 +21,10 @@ export type ErrorMessageHandler = {
21
21
  * output.
22
22
  *
23
23
  * @returns The error message to be logged or thrown. If it returns `undefined`,
24
- * the mechanism will fall back to the default:
25
- * A link to https://go.apollo.dev/c/err with Apollo Client version,
26
- * the error message number, and the error message arguments encoded into
27
- * the URL hash.
24
+ * the mechanism will fall back to the default:
25
+ * A link to https://go.apollo.dev/c/err with Apollo Client version,
26
+ * the error message number, and the error message arguments encoded into
27
+ * the URL hash.
28
28
  */ (message: string | number, args: string[]): string | undefined;
29
29
  };
30
30
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"setErrorMessageHandler.js","sourceRoot":"","sources":["../../src/dev/setErrorMessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgCxD;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA4B;IACjE,MAAM,CAAC,yBAAyB,CAAC,GAAG,OAAsC,CAAC;AAC7E,CAAC","sourcesContent":["import { global } from \"@apollo/client/utilities/internal/globals\";\n\nimport type { ErrorCodes } from \"../invariantErrorCodes.js\";\n\nimport { ApolloErrorMessageHandler } from \"./symbol.js\";\n\n/**\n * The error message handler is a function that is called when a message is\n * logged or an error is thrown to determine the contents of the error message\n * to be logged or thrown.\n */\nexport type ErrorMessageHandler = {\n /**\n * @param message - Usually the error message number (as defined in\n * `@apollo/client/invariantErrorCodes.js`).\n * In some edge cases, this can already be a string, that can be passed through\n * as an error message.\n *\n * @param args - The placeholders that can be passed into the error message (pre-stringified).\n * These relate with the `%s` and `%d` [substitution strings](https://developer.mozilla.org/en-US/docs/Web/API/console#using_string_substitutions)\n * in the error message defined in `@apollo/client/invariantErrorCodes.js`.\n *\n * ⚠️ Note that arguments will only be passed in for error messages.\n * For normal log messages, you will get an empty array here and they will directly\n * be passed to `console.log` instead, to have the string subsitution done by the\n * engine, as that allows for nicer (and in the case of a browser, interactive)\n * output.\n *\n * @returns The error message to be logged or thrown. If it returns `undefined`,\n * the mechanism will fall back to the default:\n * A link to https://go.apollo.dev/c/err with Apollo Client version,\n * the error message number, and the error message arguments encoded into\n * the URL hash.\n */ (message: string | number, args: string[]): string | undefined;\n};\n\n/**\n * Overrides the global \"Error Message Handler\" with a custom implementation.\n */\nexport function setErrorMessageHandler(handler: ErrorMessageHandler) {\n global[ApolloErrorMessageHandler] = handler as typeof handler & ErrorCodes;\n}\n"]}
1
+ {"version":3,"file":"setErrorMessageHandler.js","sourceRoot":"","sources":["../../src/dev/setErrorMessageHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAgCxD;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAA4B;IACjE,MAAM,CAAC,yBAAyB,CAAC,GAAG,OAAsC,CAAC;AAC7E,CAAC","sourcesContent":["import { global } from \"@apollo/client/utilities/internal/globals\";\n\nimport type { ErrorCodes } from \"../invariantErrorCodes.js\";\n\nimport { ApolloErrorMessageHandler } from \"./symbol.js\";\n\n/**\n * The error message handler is a function that is called when a message is\n * logged or an error is thrown to determine the contents of the error message\n * to be logged or thrown.\n */\nexport type ErrorMessageHandler = {\n /**\n * @param message - Usually the error message number (as defined in\n * `@apollo/client/invariantErrorCodes.js`).\n * In some edge cases, this can already be a string, that can be passed through\n * as an error message.\n *\n * @param args - The placeholders that can be passed into the error message (pre-stringified).\n * These relate with the `%s` and `%d` [substitution strings](https://developer.mozilla.org/en-US/docs/Web/API/console#using_string_substitutions)\n * in the error message defined in `@apollo/client/invariantErrorCodes.js`.\n *\n * ⚠️ Note that arguments will only be passed in for error messages.\n * For normal log messages, you will get an empty array here and they will directly\n * be passed to `console.log` instead, to have the string subsitution done by the\n * engine, as that allows for nicer (and in the case of a browser, interactive)\n * output.\n *\n * @returns The error message to be logged or thrown. If it returns `undefined`,\n * the mechanism will fall back to the default:\n * A link to https://go.apollo.dev/c/err with Apollo Client version,\n * the error message number, and the error message arguments encoded into\n * the URL hash.\n */ (message: string | number, args: string[]): string | undefined;\n};\n\n/**\n * Overrides the global \"Error Message Handler\" with a custom implementation.\n */\nexport function setErrorMessageHandler(handler: ErrorMessageHandler) {\n global[ApolloErrorMessageHandler] = handler as typeof handler & ErrorCodes;\n}\n"]}
@@ -2,36 +2,171 @@ import type { FormattedExecutionResult, GraphQLFormattedError } from "graphql";
2
2
  import type { FetchResult } from "@apollo/client";
3
3
  export declare namespace CombinedGraphQLErrors {
4
4
  interface MessageFormatterOptions {
5
+ /**
6
+ * The raw result returned from the server.
7
+ */
5
8
  result: FetchResult<unknown>;
9
+ /**
10
+ * The default message formatter. Call this to get a string with the default
11
+ * formatted message.
12
+ *
13
+ * @remarks
14
+ * To format part of the message using the default message formatter, call
15
+ * the `defaultFormatMessage` function provided to the `options` argument of
16
+ * your message formatter.
17
+ *
18
+ * @example
19
+ *
20
+ * The following example prepends a string to the message and uses the
21
+ * default message formatter to format the error messages.
22
+ *
23
+ * ```ts
24
+ * CombinedGraphQLErrors.formatMessage = (errors, { defaultFormatMessage }) => {
25
+ * return `[GraphQL errors]: ${defaultFormatMessage(errors)}`;
26
+ * };
27
+ * ```
28
+ */
6
29
  defaultFormatMessage: (errors: ReadonlyArray<GraphQLFormattedError>) => string;
7
30
  }
31
+ /**
32
+ * By default, `CombinedGraphQLErrors` formats the `message` property by
33
+ * joining each error's `message` field with a newline. To customize the
34
+ * format of the `message`, such as changing the delimiter or adding a message
35
+ * prefix, override the static `formatMessage` method.
36
+ *
37
+ * @example
38
+ *
39
+ * The following example demonstrates how to format the error message by
40
+ * joining each error with a comma.
41
+ *
42
+ * ```ts
43
+ * import { CombinedGraphQLErrors } from "@apollo/client/errors";
44
+ *
45
+ * CombinedGraphQLErrors.formatMessage = (errors) => {
46
+ * return errors.map((error) => error.message).join(", ");
47
+ * };
48
+ * ```
49
+ *
50
+ * @remarks
51
+ *
52
+ * See the [`formatMessage`](https://www.apollographql.com/docs/react/api/errors/CombinedGraphQLErrors#formatmessage) docs for details about the parameters provided to the `formatMessage` function.
53
+ *
54
+ * > [!NOTE]
55
+ * > The message formatter needs to be configured before any operation is executed by Apollo Client, otherwise the default message formatter is used. We recommend configuring the message formatter before initializing your `ApolloClient` instance.
56
+ *
57
+ * @param errors - The array of GraphQL errors returned from the server in the
58
+ * `errors` field of the response.
59
+ * @param options - Additional context that could be useful when formatting
60
+ * the message.
61
+ */
8
62
  type MessageFormatter = (errors: ReadonlyArray<GraphQLFormattedError>, options: MessageFormatterOptions) => string;
63
+ namespace DocumentationTypes {
64
+ /**
65
+ * A function that formats the error message used for the error's `message`
66
+ * property. Override this method to provide your own formatting.
67
+ *
68
+ * @remarks
69
+ *
70
+ * The `formatMessage` function is called by the `CombinedGraphQLErrors`
71
+ * constructor to provide a formatted message as the `message` property of the
72
+ * `CombinedGraphQLErrors` object. Follow the ["Providing a custom message
73
+ * formatter"](https://www.apollographql.com/docs/react/api/errors/CombinedGraphQLErrors#providing-a-custom-message-formatter) guide to learn how to modify the message format.
74
+ *
75
+ * @param errors - The array of GraphQL errors returned from the server in
76
+ * the `errors` field of the response.
77
+ * @param options - Additional context that could be useful when formatting
78
+ * the message.
79
+ */
80
+ function formatMessage(errors: ReadonlyArray<GraphQLFormattedError>, options: MessageFormatterOptions): string;
81
+ interface InstanceProperties {
82
+ /**
83
+ * The raw list of GraphQL errors returned by the `errors` field in the GraphQL response.
84
+ */
85
+ readonly errors: ReadonlyArray<GraphQLFormattedError>;
86
+ /**
87
+ * Partial data returned in the `data` field of the GraphQL response.
88
+ */
89
+ readonly data: Record<string, unknown> | null | undefined;
90
+ /**
91
+ * Extensions returned by the `extensions` field in the GraphQL response.
92
+ */
93
+ readonly extensions: Record<string, unknown> | undefined;
94
+ }
95
+ }
9
96
  }
10
97
  /**
11
98
  * Represents the combined list of GraphQL errors returned from the server in a
12
- * GraphQL response.
99
+ * GraphQL response. This error type is used when your GraphQL operation returns
100
+ * errors in the `errors` field of the response.
101
+ *
102
+ * @remarks
103
+ *
104
+ * When your GraphQL operation encounters errors on the server side (such as
105
+ * resolver errors, validation errors, or syntax errors), the server returns
106
+ * these errors in the `errors` array of the GraphQL response. Apollo Client
107
+ * wraps these errors in a `CombinedGraphQLErrors` object, which provides access
108
+ * to the individual errors while maintaining additional context about the
109
+ * response.
110
+ *
111
+ * @example
112
+ *
113
+ * ```ts
114
+ * import { CombinedGraphQLErrors } from "@apollo/client/errors";
115
+ *
116
+ * // Check if an error is a CombinedGraphQLErrors object
117
+ * if (CombinedGraphQLErrors.is(error)) {
118
+ * // Access individual GraphQL errors
119
+ * error.errors.forEach((graphQLError) => {
120
+ * console.log(graphQLError.message);
121
+ * console.log(graphQLError.path);
122
+ * console.log(graphQLError.locations);
123
+ * });
124
+ *
125
+ * // Access the original GraphQL result
126
+ * console.log(error.result);
127
+ * }
128
+ * ```
13
129
  */
14
130
  export declare class CombinedGraphQLErrors extends Error {
15
- /** Determine if an error is a `CombinedGraphQLErrors` instance */
16
- static is(error: unknown): error is CombinedGraphQLErrors;
17
131
  /**
18
- * Formats the error message used for the error `message` property. Override
19
- * to provide your own formatting.
132
+ * A method that determines whether an error is a `CombinedGraphQLErrors`
133
+ * object. This method enables TypeScript to narrow the error type.
134
+ *
135
+ * @example
136
+ *
137
+ * ```ts
138
+ * if (CombinedGraphQLErrors.is(error)) {
139
+ * // TypeScript now knows `error` is a CombinedGraphQLErrors object
140
+ * console.log(error.errors);
141
+ * }
142
+ * ```
20
143
  */
144
+ static is(error: unknown): error is CombinedGraphQLErrors;
145
+ /**
146
+ * A function that formats the error message used for the error's `message` property. Override this method to provide your own formatting.
147
+ *
148
+ * @remarks
149
+ *
150
+ * The `formatMessage` function is called by the `CombinedGraphQLErrors` constructor to provide a formatted message as the `message` property of the `CombinedGraphQLErrors` object. Follow the ["Providing a custom message formatter"](https://www.apollographql.com/docs/react/api/errors/CombinedGraphQLErrors#providing-a-custom-message-formatter) guide to learn how to modify the message format.
151
+ *
152
+ * @param errors - The array of GraphQL errors returned from the server in the `errors` field of the response.
153
+ *
154
+ * @param options - Additional context that could be useful when formatting the message.
155
+ */
21
156
  static formatMessage: CombinedGraphQLErrors.MessageFormatter;
22
157
  /**
23
- * The raw list of GraphQL errors returned in a GraphQL response.
24
- */
158
+ * The raw list of GraphQL errors returned by the `errors` field in the GraphQL response.
159
+ */
25
160
  readonly errors: ReadonlyArray<GraphQLFormattedError>;
26
161
  /**
27
- * Partial data returned in the GraphQL response.
28
- */
162
+ * Partial data returned in the `data` field of the GraphQL response.
163
+ */
29
164
  readonly data: Record<string, unknown> | null | undefined;
30
165
  /**
31
- * Extensions added to the result.
32
- */
166
+ * Extensions returned by the `extensions` field in the GraphQL response.
167
+ */
33
168
  readonly extensions: Record<string, unknown> | undefined;
34
169
  constructor(result: FormattedExecutionResult<any>);
35
170
  constructor(result: FetchResult<any>, errors: ReadonlyArray<GraphQLFormattedError>);
36
171
  }
37
- //# sourceMappingURL=CombinedGraphQLErrors.d.ts.map
172
+ //# sourceMappingURL=CombinedGraphQLErrors.d.ts.map