@apollo/client 3.13.7 → 3.13.9-rc.0

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 (2101) hide show
  1. package/CHANGELOG.md +1800 -0
  2. package/__cjs/cache/core/cache.cjs +210 -0
  3. package/__cjs/cache/core/cache.cjs.map +1 -0
  4. package/__cjs/cache/core/cache.d.cts +140 -0
  5. package/__cjs/cache/core/types/Cache.cjs +7 -0
  6. package/__cjs/cache/core/types/Cache.cjs.map +1 -0
  7. package/__cjs/cache/core/types/Cache.d.cts +56 -0
  8. package/__cjs/cache/core/types/DataProxy.cjs +3 -0
  9. package/__cjs/cache/core/types/DataProxy.cjs.map +1 -0
  10. package/__cjs/cache/core/types/DataProxy.d.cts +140 -0
  11. package/__cjs/cache/core/types/common.cjs +33 -0
  12. package/__cjs/cache/core/types/common.cjs.map +1 -0
  13. package/__cjs/cache/core/types/common.d.cts +64 -0
  14. package/__cjs/cache/index.cjs +25 -0
  15. package/__cjs/cache/index.cjs.map +1 -0
  16. package/__cjs/cache/index.d.cts +19 -0
  17. package/__cjs/cache/inmemory/entityStore.cjs +680 -0
  18. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -0
  19. package/__cjs/cache/inmemory/entityStore.d.cts +93 -0
  20. package/__cjs/cache/inmemory/fragmentRegistry.cjs +129 -0
  21. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -0
  22. package/__cjs/cache/inmemory/fragmentRegistry.d.cts +9 -0
  23. package/__cjs/cache/inmemory/helpers.cjs +93 -0
  24. package/__cjs/cache/inmemory/helpers.cjs.map +1 -0
  25. package/__cjs/cache/inmemory/helpers.d.cts +21 -0
  26. package/__cjs/cache/inmemory/inMemoryCache.cjs +458 -0
  27. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -0
  28. package/__cjs/cache/inmemory/inMemoryCache.d.cts +66 -0
  29. package/__cjs/cache/inmemory/key-extractor.cjs +192 -0
  30. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -0
  31. package/__cjs/cache/inmemory/key-extractor.d.cts +9 -0
  32. package/__cjs/cache/inmemory/policies.cjs +609 -0
  33. package/__cjs/cache/inmemory/policies.cjs.map +1 -0
  34. package/__cjs/cache/inmemory/policies.d.cts +98 -0
  35. package/__cjs/cache/inmemory/reactiveVars.cjs +89 -0
  36. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -0
  37. package/__cjs/cache/inmemory/reactiveVars.d.cts +19 -0
  38. package/__cjs/cache/inmemory/readFromStore.cjs +294 -0
  39. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -0
  40. package/__cjs/cache/inmemory/readFromStore.d.cts +27 -0
  41. package/__cjs/cache/inmemory/types.cjs +3 -0
  42. package/__cjs/cache/inmemory/types.cjs.map +1 -0
  43. package/__cjs/cache/inmemory/types.d.cts +111 -0
  44. package/__cjs/cache/inmemory/writeToStore.cjs +579 -0
  45. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -0
  46. package/__cjs/cache/inmemory/writeToStore.d.cts +38 -0
  47. package/__cjs/core/ApolloClient.cjs +604 -0
  48. package/__cjs/core/ApolloClient.cjs.map +1 -0
  49. package/__cjs/core/ApolloClient.d.cts +462 -0
  50. package/__cjs/core/ObservableQuery.cjs +1319 -0
  51. package/__cjs/core/ObservableQuery.cjs.map +1 -0
  52. package/__cjs/core/ObservableQuery.d.cts +382 -0
  53. package/__cjs/core/QueryInfo.cjs +397 -0
  54. package/__cjs/core/QueryInfo.cjs.map +1 -0
  55. package/__cjs/core/QueryInfo.d.cts +68 -0
  56. package/__cjs/core/QueryManager.cjs +1148 -0
  57. package/__cjs/core/QueryManager.cjs.map +1 -0
  58. package/__cjs/core/QueryManager.d.cts +151 -0
  59. package/__cjs/core/equalByQuery.cjs +88 -0
  60. package/__cjs/core/equalByQuery.cjs.map +1 -0
  61. package/__cjs/core/equalByQuery.d.cts +4 -0
  62. package/__cjs/core/index.cjs +79 -0
  63. package/__cjs/core/index.cjs.map +1 -0
  64. package/__cjs/core/index.d.cts +21 -0
  65. package/__cjs/core/networkStatus.cjs +67 -0
  66. package/__cjs/core/networkStatus.cjs.map +1 -0
  67. package/__cjs/core/networkStatus.d.cts +57 -0
  68. package/__cjs/core/types.cjs +3 -0
  69. package/__cjs/core/types.cjs.map +1 -0
  70. package/__cjs/core/types.d.cts +286 -0
  71. package/__cjs/core/watchQueryOptions.cjs +3 -0
  72. package/__cjs/core/watchQueryOptions.cjs.map +1 -0
  73. package/__cjs/core/watchQueryOptions.d.cts +364 -0
  74. package/__cjs/dev/index.cjs +12 -0
  75. package/__cjs/dev/index.cjs.map +1 -0
  76. package/__cjs/dev/index.d.cts +6 -0
  77. package/__cjs/dev/loadDevMessages.cjs +9 -0
  78. package/__cjs/dev/loadDevMessages.cjs.map +1 -0
  79. package/__cjs/dev/loadDevMessages.d.cts +2 -0
  80. package/__cjs/dev/loadErrorMessageHandler.cjs +27 -0
  81. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -0
  82. package/__cjs/dev/loadErrorMessageHandler.d.cts +8 -0
  83. package/__cjs/dev/loadErrorMessages.cjs +9 -0
  84. package/__cjs/dev/loadErrorMessages.cjs.map +1 -0
  85. package/__cjs/dev/loadErrorMessages.d.cts +2 -0
  86. package/__cjs/dev/setErrorMessageHandler.cjs +12 -0
  87. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -0
  88. package/__cjs/dev/setErrorMessageHandler.d.cts +34 -0
  89. package/__cjs/dev/symbol.cjs +7 -0
  90. package/__cjs/dev/symbol.cjs.map +1 -0
  91. package/__cjs/dev/symbol.d.cts +10 -0
  92. package/__cjs/errors/CombinedGraphQLErrors.cjs +52 -0
  93. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -0
  94. package/__cjs/errors/CombinedGraphQLErrors.d.cts +37 -0
  95. package/__cjs/errors/CombinedProtocolErrors.cjs +31 -0
  96. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -0
  97. package/__cjs/errors/CombinedProtocolErrors.d.cts +20 -0
  98. package/__cjs/errors/LinkError.cjs +24 -0
  99. package/__cjs/errors/LinkError.cjs.map +1 -0
  100. package/__cjs/errors/LinkError.d.cts +18 -0
  101. package/__cjs/errors/LocalStateError.cjs +27 -0
  102. package/__cjs/errors/LocalStateError.cjs.map +1 -0
  103. package/__cjs/errors/LocalStateError.d.cts +20 -0
  104. package/__cjs/errors/ServerError.cjs +36 -0
  105. package/__cjs/errors/ServerError.cjs.map +1 -0
  106. package/__cjs/errors/ServerError.d.cts +27 -0
  107. package/__cjs/errors/ServerParseError.cjs +38 -0
  108. package/__cjs/errors/ServerParseError.cjs.map +1 -0
  109. package/__cjs/errors/ServerParseError.d.cts +26 -0
  110. package/__cjs/errors/UnconventionalError.cjs +23 -0
  111. package/__cjs/errors/UnconventionalError.cjs.map +1 -0
  112. package/__cjs/errors/UnconventionalError.d.cts +11 -0
  113. package/__cjs/errors/index.cjs +45 -0
  114. package/__cjs/errors/index.cjs.map +1 -0
  115. package/__cjs/errors/index.d.cts +14 -0
  116. package/__cjs/errors/isErrorLike.cjs +12 -0
  117. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  118. package/__cjs/errors/isErrorLike.d.cts +3 -0
  119. package/__cjs/errors/utils.cjs +18 -0
  120. package/__cjs/errors/utils.cjs.map +1 -0
  121. package/__cjs/errors/utils.d.cts +3 -0
  122. package/__cjs/incremental/handlers/defer20220824.cjs +102 -0
  123. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
  124. package/__cjs/incremental/handlers/defer20220824.d.cts +55 -0
  125. package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
  126. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
  127. package/__cjs/incremental/handlers/notImplemented.d.cts +9 -0
  128. package/__cjs/incremental/index.cjs +9 -0
  129. package/__cjs/incremental/index.cjs.map +1 -0
  130. package/__cjs/incremental/index.d.cts +4 -0
  131. package/__cjs/incremental/types.cjs +3 -0
  132. package/__cjs/incremental/types.cjs.map +1 -0
  133. package/__cjs/incremental/types.d.cts +24 -0
  134. package/__cjs/invariantErrorCodes.cjs +712 -0
  135. package/__cjs/invariantErrorCodes.cjs.map +1 -0
  136. package/__cjs/invariantErrorCodes.d.cts +13 -0
  137. package/__cjs/link/batch/batchLink.cjs +33 -0
  138. package/__cjs/link/batch/batchLink.cjs.map +1 -0
  139. package/__cjs/link/batch/batchLink.d.cts +42 -0
  140. package/__cjs/link/batch/batching.cjs +156 -0
  141. package/__cjs/link/batch/batching.cjs.map +1 -0
  142. package/__cjs/link/batch/batching.d.cts +27 -0
  143. package/__cjs/link/batch/index.cjs +7 -0
  144. package/__cjs/link/batch/index.cjs.map +1 -0
  145. package/__cjs/link/batch/index.d.cts +3 -0
  146. package/__cjs/link/batch-http/batchHttpLink.cjs +144 -0
  147. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -0
  148. package/__cjs/link/batch-http/batchHttpLink.d.cts +26 -0
  149. package/__cjs/link/batch-http/index.cjs +7 -0
  150. package/__cjs/link/batch-http/index.cjs.map +1 -0
  151. package/__cjs/link/batch-http/index.d.cts +2 -0
  152. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +45 -0
  153. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -0
  154. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +62 -0
  155. package/__cjs/link/client-awareness/index.cjs +6 -0
  156. package/__cjs/link/client-awareness/index.cjs.map +1 -0
  157. package/__cjs/link/client-awareness/index.d.cts +2 -0
  158. package/__cjs/link/context/index.cjs +45 -0
  159. package/__cjs/link/context/index.cjs.map +1 -0
  160. package/__cjs/link/context/index.d.cts +12 -0
  161. package/__cjs/link/core/ApolloLink.cjs +109 -0
  162. package/__cjs/link/core/ApolloLink.cjs.map +1 -0
  163. package/__cjs/link/core/ApolloLink.d.cts +35 -0
  164. package/__cjs/link/core/concat.cjs +6 -0
  165. package/__cjs/link/core/concat.cjs.map +1 -0
  166. package/__cjs/link/core/concat.d.cts +3 -0
  167. package/__cjs/link/core/empty.cjs +6 -0
  168. package/__cjs/link/core/empty.cjs.map +1 -0
  169. package/__cjs/link/core/empty.d.cts +3 -0
  170. package/__cjs/link/core/execute.cjs +6 -0
  171. package/__cjs/link/core/execute.cjs.map +1 -0
  172. package/__cjs/link/core/execute.d.cts +3 -0
  173. package/__cjs/link/core/from.cjs +6 -0
  174. package/__cjs/link/core/from.cjs.map +1 -0
  175. package/__cjs/link/core/from.d.cts +3 -0
  176. package/__cjs/link/core/split.cjs +6 -0
  177. package/__cjs/link/core/split.cjs.map +1 -0
  178. package/__cjs/link/core/split.d.cts +3 -0
  179. package/__cjs/link/core/types.cjs +3 -0
  180. package/__cjs/link/core/types.cjs.map +1 -0
  181. package/__cjs/link/core/types.d.cts +39 -0
  182. package/__cjs/link/error/index.cjs +85 -0
  183. package/__cjs/link/error/index.cjs.map +1 -0
  184. package/__cjs/link/error/index.d.cts +31 -0
  185. package/__cjs/link/http/BaseHttpLink.cjs +111 -0
  186. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -0
  187. package/__cjs/link/http/BaseHttpLink.d.cts +6 -0
  188. package/__cjs/link/http/HttpLink.cjs +21 -0
  189. package/__cjs/link/http/HttpLink.cjs.map +1 -0
  190. package/__cjs/link/http/HttpLink.d.cts +148 -0
  191. package/__cjs/link/http/checkFetcher.cjs +9 -0
  192. package/__cjs/link/http/checkFetcher.cjs.map +1 -0
  193. package/__cjs/link/http/checkFetcher.d.cts +2 -0
  194. package/__cjs/link/http/createSignalIfSupported.cjs +17 -0
  195. package/__cjs/link/http/createSignalIfSupported.cjs.map +1 -0
  196. package/__cjs/link/http/createSignalIfSupported.d.cts +13 -0
  197. package/__cjs/link/http/index.cjs +26 -0
  198. package/__cjs/link/http/index.cjs.map +1 -0
  199. package/__cjs/link/http/index.d.cts +11 -0
  200. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +148 -0
  201. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -0
  202. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +4 -0
  203. package/__cjs/link/http/rewriteURIForGET.cjs +56 -0
  204. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -0
  205. package/__cjs/link/http/rewriteURIForGET.d.cts +9 -0
  206. package/__cjs/link/http/selectHttpOptionsAndBody.cjs +109 -0
  207. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -0
  208. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +29 -0
  209. package/__cjs/link/http/selectURI.cjs +18 -0
  210. package/__cjs/link/http/selectURI.cjs.map +1 -0
  211. package/__cjs/link/http/selectURI.d.cts +3 -0
  212. package/__cjs/link/http/serializeFetchParameter.cjs +18 -0
  213. package/__cjs/link/http/serializeFetchParameter.cjs.map +1 -0
  214. package/__cjs/link/http/serializeFetchParameter.d.cts +6 -0
  215. package/__cjs/link/index.cjs +16 -0
  216. package/__cjs/link/index.cjs.map +1 -0
  217. package/__cjs/link/index.d.cts +8 -0
  218. package/__cjs/link/persisted-queries/index.cjs +228 -0
  219. package/__cjs/link/persisted-queries/index.cjs.map +1 -0
  220. package/__cjs/link/persisted-queries/index.d.cts +48 -0
  221. package/__cjs/link/remove-typename/index.cjs +8 -0
  222. package/__cjs/link/remove-typename/index.cjs.map +1 -0
  223. package/__cjs/link/remove-typename/index.d.cts +3 -0
  224. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +107 -0
  225. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -0
  226. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +18 -0
  227. package/__cjs/link/retry/delayFunction.cjs +21 -0
  228. package/__cjs/link/retry/delayFunction.cjs.map +1 -0
  229. package/__cjs/link/retry/delayFunction.d.cts +40 -0
  230. package/__cjs/link/retry/index.cjs +6 -0
  231. package/__cjs/link/retry/index.cjs.map +1 -0
  232. package/__cjs/link/retry/index.d.cts +2 -0
  233. package/__cjs/link/retry/retryFunction.cjs +12 -0
  234. package/__cjs/link/retry/retryFunction.cjs.map +1 -0
  235. package/__cjs/link/retry/retryFunction.d.cts +30 -0
  236. package/__cjs/link/retry/retryLink.cjs +97 -0
  237. package/__cjs/link/retry/retryLink.cjs.map +1 -0
  238. package/__cjs/link/retry/retryLink.d.cts +24 -0
  239. package/__cjs/link/schema/index.cjs +55 -0
  240. package/__cjs/link/schema/index.cjs.map +1 -0
  241. package/__cjs/link/schema/index.d.cts +36 -0
  242. package/__cjs/link/subscriptions/index.cjs +77 -0
  243. package/__cjs/link/subscriptions/index.cjs.map +1 -0
  244. package/__cjs/link/subscriptions/index.d.cts +10 -0
  245. package/__cjs/link/utils/createOperation.cjs +29 -0
  246. package/__cjs/link/utils/createOperation.cjs.map +1 -0
  247. package/__cjs/link/utils/createOperation.d.cts +3 -0
  248. package/__cjs/link/utils/filterOperationVariables.cjs +25 -0
  249. package/__cjs/link/utils/filterOperationVariables.cjs.map +1 -0
  250. package/__cjs/link/utils/filterOperationVariables.d.cts +5 -0
  251. package/__cjs/link/utils/index.cjs +12 -0
  252. package/__cjs/link/utils/index.cjs.map +1 -0
  253. package/__cjs/link/utils/index.d.cts +5 -0
  254. package/__cjs/link/utils/transformOperation.cjs +21 -0
  255. package/__cjs/link/utils/transformOperation.cjs.map +1 -0
  256. package/__cjs/link/utils/transformOperation.d.cts +3 -0
  257. package/__cjs/link/utils/validateOperation.cjs +20 -0
  258. package/__cjs/link/utils/validateOperation.cjs.map +1 -0
  259. package/__cjs/link/utils/validateOperation.d.cts +3 -0
  260. package/__cjs/link/ws/index.cjs +22 -0
  261. package/__cjs/link/ws/index.cjs.map +1 -0
  262. package/__cjs/link/ws/index.d.cts +31 -0
  263. package/__cjs/local-state/LocalState.cjs +527 -0
  264. package/__cjs/local-state/LocalState.cjs.map +1 -0
  265. package/__cjs/local-state/LocalState.d.cts +88 -0
  266. package/__cjs/local-state/index.cjs +6 -0
  267. package/__cjs/local-state/index.cjs.map +1 -0
  268. package/__cjs/local-state/index.d.cts +2 -0
  269. package/__cjs/masking/GraphQLCodegenDataMasking.cjs +3 -0
  270. package/__cjs/masking/GraphQLCodegenDataMasking.cjs.map +1 -0
  271. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +79 -0
  272. package/__cjs/masking/index.cjs +10 -0
  273. package/__cjs/masking/index.cjs.map +1 -0
  274. package/__cjs/masking/index.d.cts +6 -0
  275. package/__cjs/masking/internal/types.cjs +3 -0
  276. package/__cjs/masking/internal/types.cjs.map +1 -0
  277. package/__cjs/masking/internal/types.d.cts +121 -0
  278. package/__cjs/masking/maskDefinition.cjs +139 -0
  279. package/__cjs/masking/maskDefinition.cjs.map +1 -0
  280. package/__cjs/masking/maskDefinition.d.cts +14 -0
  281. package/__cjs/masking/maskFragment.cjs +42 -0
  282. package/__cjs/masking/maskFragment.cjs.map +1 -0
  283. package/__cjs/masking/maskFragment.d.cts +8 -0
  284. package/__cjs/masking/maskOperation.cjs +28 -0
  285. package/__cjs/masking/maskOperation.cjs.map +1 -0
  286. package/__cjs/masking/maskOperation.d.cts +8 -0
  287. package/__cjs/masking/types.cjs +3 -0
  288. package/__cjs/masking/types.cjs.map +1 -0
  289. package/__cjs/masking/types.d.cts +32 -0
  290. package/__cjs/masking/utils.cjs +47 -0
  291. package/__cjs/masking/utils.cjs.map +1 -0
  292. package/__cjs/masking/utils.d.cts +14 -0
  293. package/__cjs/react/context/ApolloConsumer.cjs +16 -0
  294. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -0
  295. package/__cjs/react/context/ApolloConsumer.d.cts +10 -0
  296. package/__cjs/react/context/ApolloContext.cjs +26 -0
  297. package/__cjs/react/context/ApolloContext.cjs.map +1 -0
  298. package/__cjs/react/context/ApolloContext.d.cts +9 -0
  299. package/__cjs/react/context/ApolloProvider.cjs +21 -0
  300. package/__cjs/react/context/ApolloProvider.cjs.map +1 -0
  301. package/__cjs/react/context/ApolloProvider.d.cts +10 -0
  302. package/__cjs/react/hooks/constants.cjs +5 -0
  303. package/__cjs/react/hooks/constants.cjs.map +1 -0
  304. package/__cjs/react/hooks/constants.d.cts +3 -0
  305. package/__cjs/react/hooks/internal/__use.cjs +26 -0
  306. package/__cjs/react/hooks/internal/__use.cjs.map +1 -0
  307. package/__cjs/react/hooks/internal/__use.d.cts +4 -0
  308. package/__cjs/react/hooks/internal/index.cjs +13 -0
  309. package/__cjs/react/hooks/internal/index.cjs.map +1 -0
  310. package/__cjs/react/hooks/internal/index.d.cts +5 -0
  311. package/__cjs/react/hooks/internal/useDeepMemo.cjs +17 -0
  312. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -0
  313. package/__cjs/react/hooks/internal/useDeepMemo.d.cts +3 -0
  314. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +13 -0
  315. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -0
  316. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.d.cts +3 -0
  317. package/__cjs/react/hooks/internal/useRenderGuard.cjs +46 -0
  318. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -0
  319. package/__cjs/react/hooks/internal/useRenderGuard.d.cts +2 -0
  320. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  321. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  322. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  323. package/__cjs/react/hooks/internal/wrapHook.cjs +69 -0
  324. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -0
  325. package/__cjs/react/hooks/internal/wrapHook.d.cts +66 -0
  326. package/__cjs/react/hooks/useApolloClient.cjs +29 -0
  327. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -0
  328. package/__cjs/react/hooks/useApolloClient.d.cts +18 -0
  329. package/__cjs/react/hooks/useBackgroundQuery.cjs +84 -0
  330. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -0
  331. package/__cjs/react/hooks/useBackgroundQuery.d.cts +210 -0
  332. package/__cjs/react/hooks/useFragment.cjs +101 -0
  333. package/__cjs/react/hooks/useFragment.cjs.map +1 -0
  334. package/__cjs/react/hooks/useFragment.d.cts +55 -0
  335. package/__cjs/react/hooks/useLazyQuery.cjs +185 -0
  336. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -0
  337. package/__cjs/react/hooks/useLazyQuery.d.cts +280 -0
  338. package/__cjs/react/hooks/useLoadableQuery.cjs +92 -0
  339. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -0
  340. package/__cjs/react/hooks/useLoadableQuery.d.cts +175 -0
  341. package/__cjs/react/hooks/useMutation.cjs +157 -0
  342. package/__cjs/react/hooks/useMutation.cjs.map +1 -0
  343. package/__cjs/react/hooks/useMutation.d.cts +280 -0
  344. package/__cjs/react/hooks/useQuery.cjs +220 -0
  345. package/__cjs/react/hooks/useQuery.cjs.map +1 -0
  346. package/__cjs/react/hooks/useQuery.d.cts +265 -0
  347. package/__cjs/react/hooks/useQueryRefHandlers.cjs +73 -0
  348. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -0
  349. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +44 -0
  350. package/__cjs/react/hooks/useReactiveVar.cjs +37 -0
  351. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -0
  352. package/__cjs/react/hooks/useReactiveVar.d.cts +20 -0
  353. package/__cjs/react/hooks/useReadQuery.cjs +47 -0
  354. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -0
  355. package/__cjs/react/hooks/useReadQuery.d.cts +24 -0
  356. package/__cjs/react/hooks/useSubscription.cjs +227 -0
  357. package/__cjs/react/hooks/useSubscription.cjs.map +1 -0
  358. package/__cjs/react/hooks/useSubscription.d.cts +178 -0
  359. package/__cjs/react/hooks/useSuspenseFragment.cjs +51 -0
  360. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -0
  361. package/__cjs/react/hooks/useSuspenseFragment.d.cts +47 -0
  362. package/__cjs/react/hooks/useSuspenseQuery.cjs +124 -0
  363. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -0
  364. package/__cjs/react/hooks/useSuspenseQuery.d.cts +204 -0
  365. package/__cjs/react/hooks/useSyncExternalStore.cjs +134 -0
  366. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -0
  367. package/__cjs/react/hooks/useSyncExternalStore.d.cts +4 -0
  368. package/__cjs/react/index.cjs +42 -0
  369. package/__cjs/react/index.cjs.map +1 -0
  370. package/__cjs/react/index.d.cts +25 -0
  371. package/__cjs/react/index.react-server.cjs +48 -0
  372. package/__cjs/react/index.react-server.cjs.map +1 -0
  373. package/__cjs/react/index.react-server.d.cts +19 -0
  374. package/__cjs/react/internal/cache/FragmentReference.cjs +135 -0
  375. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -0
  376. package/__cjs/react/internal/cache/FragmentReference.d.cts +38 -0
  377. package/__cjs/react/internal/cache/QueryReference.cjs +298 -0
  378. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -0
  379. package/__cjs/react/internal/cache/QueryReference.d.cts +105 -0
  380. package/__cjs/react/internal/cache/SuspenseCache.cjs +44 -0
  381. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -0
  382. package/__cjs/react/internal/cache/SuspenseCache.d.cts +29 -0
  383. package/__cjs/react/internal/cache/getSuspenseCache.cjs +12 -0
  384. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -0
  385. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +16 -0
  386. package/__cjs/react/internal/cache/types.cjs +3 -0
  387. package/__cjs/react/internal/cache/types.cjs.map +1 -0
  388. package/__cjs/react/internal/cache/types.d.cts +18 -0
  389. package/__cjs/react/internal/index.cjs +15 -0
  390. package/__cjs/react/internal/index.cjs.map +1 -0
  391. package/__cjs/react/internal/index.d.cts +9 -0
  392. package/__cjs/react/internal/types.cjs +3 -0
  393. package/__cjs/react/internal/types.cjs.map +1 -0
  394. package/__cjs/react/internal/types.d.cts +4 -0
  395. package/__cjs/react/query-preloader/createQueryPreloader.cjs +45 -0
  396. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -0
  397. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +247 -0
  398. package/__cjs/react/ssr/getDataFromTree.cjs +43 -0
  399. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -0
  400. package/__cjs/react/ssr/getDataFromTree.d.cts +25 -0
  401. package/__cjs/react/ssr/index.cjs +11 -0
  402. package/__cjs/react/ssr/index.cjs.map +1 -0
  403. package/__cjs/react/ssr/index.d.cts +4 -0
  404. package/__cjs/react/ssr/prerenderStatic.cjs +158 -0
  405. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -0
  406. package/__cjs/react/ssr/prerenderStatic.d.cts +122 -0
  407. package/__cjs/react/ssr/renderToStringWithData.cjs +18 -0
  408. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -0
  409. package/__cjs/react/ssr/renderToStringWithData.d.cts +8 -0
  410. package/__cjs/react/ssr/useSSRQuery.cjs +70 -0
  411. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  412. package/__cjs/react/ssr/useSSRQuery.d.cts +5 -0
  413. package/__cjs/react/types/deprecated.cjs +3 -0
  414. package/__cjs/react/types/deprecated.cjs.map +1 -0
  415. package/__cjs/react/types/deprecated.d.cts +75 -0
  416. package/__cjs/react/types/types.documentation.cjs +3 -0
  417. package/__cjs/react/types/types.documentation.cjs.map +1 -0
  418. package/__cjs/react/types/types.documentation.d.cts +534 -0
  419. package/__cjs/testing/core/mocking/mockLink.cjs +193 -0
  420. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -0
  421. package/__cjs/testing/core/mocking/mockLink.d.cts +64 -0
  422. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs +56 -0
  423. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -0
  424. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +23 -0
  425. package/__cjs/testing/core/types/deprecated.cjs +3 -0
  426. package/__cjs/testing/core/types/deprecated.cjs.map +1 -0
  427. package/__cjs/testing/core/types/deprecated.d.cts +10 -0
  428. package/__cjs/testing/index.cjs +9 -0
  429. package/__cjs/testing/index.cjs.map +1 -0
  430. package/__cjs/testing/index.d.cts +4 -0
  431. package/__cjs/testing/react/MockedProvider.cjs +43 -0
  432. package/__cjs/testing/react/MockedProvider.cjs.map +1 -0
  433. package/__cjs/testing/react/MockedProvider.d.cts +33 -0
  434. package/__cjs/testing/react/index.cjs +6 -0
  435. package/__cjs/testing/react/index.cjs.map +1 -0
  436. package/__cjs/testing/react/index.d.cts +3 -0
  437. package/__cjs/utilities/DeepPartial.cjs +7 -0
  438. package/__cjs/utilities/DeepPartial.cjs.map +1 -0
  439. package/__cjs/utilities/DeepPartial.d.cts +15 -0
  440. package/__cjs/utilities/HKT.cjs +3 -0
  441. package/__cjs/utilities/HKT.cjs.map +1 -0
  442. package/__cjs/utilities/HKT.d.cts +35 -0
  443. package/__cjs/utilities/caching/index.cjs +6 -0
  444. package/__cjs/utilities/caching/index.cjs.map +1 -0
  445. package/__cjs/utilities/caching/index.d.cts +3 -0
  446. package/__cjs/utilities/caching/sizes.cjs +29 -0
  447. package/__cjs/utilities/caching/sizes.cjs.map +1 -0
  448. package/__cjs/utilities/caching/sizes.d.cts +299 -0
  449. package/__cjs/utilities/common/stripTypename.cjs +14 -0
  450. package/__cjs/utilities/common/stripTypename.cjs.map +1 -0
  451. package/__cjs/utilities/common/stripTypename.d.cts +8 -0
  452. package/__cjs/utilities/environment/index.cjs +5 -0
  453. package/__cjs/utilities/environment/index.cjs.map +1 -0
  454. package/__cjs/utilities/environment/index.d.cts +2 -0
  455. package/__cjs/utilities/environment/index.development.cjs +5 -0
  456. package/__cjs/utilities/environment/index.development.cjs.map +1 -0
  457. package/__cjs/utilities/environment/index.development.d.cts +2 -0
  458. package/__cjs/utilities/environment/index.production.cjs +5 -0
  459. package/__cjs/utilities/environment/index.production.cjs.map +1 -0
  460. package/__cjs/utilities/environment/index.production.d.cts +2 -0
  461. package/__cjs/utilities/graphql/DocumentTransform.cjs +107 -0
  462. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -0
  463. package/__cjs/utilities/graphql/DocumentTransform.d.cts +54 -0
  464. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +9 -0
  465. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
  466. package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +3 -0
  467. package/__cjs/utilities/graphql/operations.cjs +40 -0
  468. package/__cjs/utilities/graphql/operations.cjs.map +1 -0
  469. package/__cjs/utilities/graphql/operations.d.cts +26 -0
  470. package/__cjs/utilities/graphql/print.cjs +33 -0
  471. package/__cjs/utilities/graphql/print.cjs.map +1 -0
  472. package/__cjs/utilities/graphql/print.d.cts +13 -0
  473. package/__cjs/utilities/graphql/storeUtils.cjs +12 -0
  474. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -0
  475. package/__cjs/utilities/graphql/storeUtils.d.cts +43 -0
  476. package/__cjs/utilities/graphql/transform.cjs +63 -0
  477. package/__cjs/utilities/graphql/transform.cjs.map +1 -0
  478. package/__cjs/utilities/graphql/transform.d.cts +10 -0
  479. package/__cjs/utilities/index.cjs +30 -0
  480. package/__cjs/utilities/index.cjs.map +1 -0
  481. package/__cjs/utilities/index.d.cts +17 -0
  482. package/__cjs/utilities/internal/DeepMerger.cjs +67 -0
  483. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
  484. package/__cjs/utilities/internal/DeepMerger.d.cts +17 -0
  485. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
  486. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
  487. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
  488. package/__cjs/utilities/internal/caches.cjs +76 -0
  489. package/__cjs/utilities/internal/caches.cjs.map +1 -0
  490. package/__cjs/utilities/internal/caches.d.cts +42 -0
  491. package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
  492. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
  493. package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
  494. package/__cjs/utilities/internal/checkDocument.cjs +69 -0
  495. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
  496. package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
  497. package/__cjs/utilities/internal/cloneDeep.cjs +45 -0
  498. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
  499. package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
  500. package/__cjs/utilities/internal/compact.cjs +26 -0
  501. package/__cjs/utilities/internal/compact.cjs.map +1 -0
  502. package/__cjs/utilities/internal/compact.d.cts +11 -0
  503. package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
  504. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
  505. package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
  506. package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
  507. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
  508. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
  509. package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
  510. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
  511. package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
  512. package/__cjs/utilities/internal/dealias.cjs +21 -0
  513. package/__cjs/utilities/internal/dealias.cjs.map +1 -0
  514. package/__cjs/utilities/internal/dealias.d.cts +5 -0
  515. package/__cjs/utilities/internal/decoratePromise.cjs +33 -0
  516. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
  517. package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
  518. package/__cjs/utilities/internal/deepFreeze.cjs +39 -0
  519. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
  520. package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
  521. package/__cjs/utilities/internal/filterMap.cjs +31 -0
  522. package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
  523. package/__cjs/utilities/internal/filterMap.d.cts +4 -0
  524. package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
  525. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
  526. package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
  527. package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
  528. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
  529. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
  530. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
  531. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
  532. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
  533. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
  534. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
  535. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
  536. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +86 -0
  537. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
  538. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +29 -0
  539. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +12 -0
  540. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
  541. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +10 -0
  542. package/__cjs/utilities/internal/getMainDefinition.cjs +38 -0
  543. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
  544. package/__cjs/utilities/internal/getMainDefinition.d.cts +12 -0
  545. package/__cjs/utilities/internal/getMemoryInternals.cjs +132 -0
  546. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -0
  547. package/__cjs/utilities/internal/getMemoryInternals.d.cts +80 -0
  548. package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
  549. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
  550. package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
  551. package/__cjs/utilities/internal/getOperationName.cjs +12 -0
  552. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
  553. package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
  554. package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
  555. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
  556. package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
  557. package/__cjs/utilities/internal/getStoreKeyName.cjs +73 -0
  558. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
  559. package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
  560. package/__cjs/utilities/internal/globals/global.cjs +17 -0
  561. package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
  562. package/__cjs/utilities/internal/globals/global.d.cts +3 -0
  563. package/__cjs/utilities/internal/globals/index.cjs +9 -0
  564. package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
  565. package/__cjs/utilities/internal/globals/index.d.cts +3 -0
  566. package/__cjs/utilities/internal/globals/maybe.cjs +10 -0
  567. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
  568. package/__cjs/utilities/internal/globals/maybe.d.cts +2 -0
  569. package/__cjs/utilities/internal/graphQLResultHasError.cjs +12 -0
  570. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
  571. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
  572. package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
  573. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
  574. package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
  575. package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
  576. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
  577. package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
  578. package/__cjs/utilities/internal/index.cjs +105 -0
  579. package/__cjs/utilities/internal/index.cjs.map +1 -0
  580. package/__cjs/utilities/internal/index.d.cts +64 -0
  581. package/__cjs/utilities/internal/index.production.cjs +11 -0
  582. package/__cjs/utilities/internal/index.production.cjs.map +1 -0
  583. package/__cjs/utilities/internal/index.production.d.cts +3 -0
  584. package/__cjs/utilities/internal/isArray.cjs +12 -0
  585. package/__cjs/utilities/internal/isArray.cjs.map +1 -0
  586. package/__cjs/utilities/internal/isArray.d.cts +9 -0
  587. package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
  588. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
  589. package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
  590. package/__cjs/utilities/internal/isField.cjs +12 -0
  591. package/__cjs/utilities/internal/isField.cjs.map +1 -0
  592. package/__cjs/utilities/internal/isField.d.cts +8 -0
  593. package/__cjs/utilities/internal/isNonEmptyArray.cjs +12 -0
  594. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
  595. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
  596. package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
  597. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
  598. package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
  599. package/__cjs/utilities/internal/isPlainObject.cjs +15 -0
  600. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
  601. package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
  602. package/__cjs/utilities/internal/makeReference.cjs +12 -0
  603. package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
  604. package/__cjs/utilities/internal/makeReference.d.cts +8 -0
  605. package/__cjs/utilities/internal/makeUniqueId.cjs +18 -0
  606. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
  607. package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
  608. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
  609. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
  610. package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
  611. package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
  612. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
  613. package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
  614. package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
  615. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
  616. package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
  617. package/__cjs/utilities/internal/mergeOptions.cjs +18 -0
  618. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
  619. package/__cjs/utilities/internal/mergeOptions.d.cts +10 -0
  620. package/__cjs/utilities/internal/omitDeep.cjs +48 -0
  621. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
  622. package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
  623. package/__cjs/utilities/internal/preventUnhandledRejection.cjs +8 -0
  624. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -0
  625. package/__cjs/utilities/internal/preventUnhandledRejection.d.cts +2 -0
  626. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +306 -0
  627. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
  628. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
  629. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
  630. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
  631. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
  632. package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
  633. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
  634. package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
  635. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
  636. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
  637. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
  638. package/__cjs/utilities/internal/stringifyForDisplay.cjs +18 -0
  639. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
  640. package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
  641. package/__cjs/utilities/internal/toQueryResult.cjs +18 -0
  642. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -0
  643. package/__cjs/utilities/internal/toQueryResult.d.cts +8 -0
  644. package/__cjs/utilities/internal/types/ApplyHKT.cjs +3 -0
  645. package/__cjs/utilities/internal/types/ApplyHKT.cjs.map +1 -0
  646. package/__cjs/utilities/internal/types/ApplyHKT.d.cts +13 -0
  647. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs +3 -0
  648. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs.map +1 -0
  649. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.d.cts +11 -0
  650. package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
  651. package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
  652. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
  653. package/__cjs/utilities/internal/types/DeepOmit.cjs +3 -0
  654. package/__cjs/utilities/internal/types/DeepOmit.cjs.map +1 -0
  655. package/__cjs/utilities/internal/types/DeepOmit.d.cts +15 -0
  656. package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
  657. package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
  658. package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
  659. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
  660. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
  661. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
  662. package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
  663. package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
  664. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
  665. package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
  666. package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
  667. package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
  668. package/__cjs/utilities/internal/types/NoInfer.cjs +3 -0
  669. package/__cjs/utilities/internal/types/NoInfer.cjs.map +1 -0
  670. package/__cjs/utilities/internal/types/NoInfer.d.cts +29 -0
  671. package/__cjs/utilities/internal/types/PendingPromise.cjs +3 -0
  672. package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
  673. package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
  674. package/__cjs/utilities/internal/types/Prettify.cjs +3 -0
  675. package/__cjs/utilities/internal/types/Prettify.cjs.map +1 -0
  676. package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
  677. package/__cjs/utilities/internal/types/Primitive.cjs +3 -0
  678. package/__cjs/utilities/internal/types/Primitive.cjs.map +1 -0
  679. package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
  680. package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
  681. package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
  682. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
  683. package/__cjs/utilities/internal/types/RemoveIndexSignature.cjs +3 -0
  684. package/__cjs/utilities/internal/types/RemoveIndexSignature.cjs.map +1 -0
  685. package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +9 -0
  686. package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
  687. package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
  688. package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
  689. package/__cjs/utilities/internal/types/VariablesOption.cjs +3 -0
  690. package/__cjs/utilities/internal/types/VariablesOption.cjs.map +1 -0
  691. package/__cjs/utilities/internal/types/VariablesOption.d.cts +30 -0
  692. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
  693. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
  694. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
  695. package/__cjs/utilities/invariant/index.cjs +97 -0
  696. package/__cjs/utilities/invariant/index.cjs.map +1 -0
  697. package/__cjs/utilities/invariant/index.d.cts +47 -0
  698. package/__cjs/utilities/invariant/index.development.cjs +16 -0
  699. package/__cjs/utilities/invariant/index.development.cjs.map +1 -0
  700. package/__cjs/utilities/invariant/index.development.d.cts +4 -0
  701. package/__cjs/utilities/policies/pagination.cjs +238 -0
  702. package/__cjs/utilities/policies/pagination.cjs.map +1 -0
  703. package/__cjs/utilities/policies/pagination.d.cts +51 -0
  704. package/__cjs/utilities/shared/canonicalStringify.cjs +91 -0
  705. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
  706. package/__cjs/utilities/shared/canonicalStringify.d.cts +21 -0
  707. package/__cjs/utilities/subscriptions/relay/index.cjs +55 -0
  708. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -0
  709. package/__cjs/utilities/subscriptions/relay/index.d.cts +10 -0
  710. package/__cjs/version.cjs +6 -0
  711. package/__cjs/version.cjs.map +1 -0
  712. package/__cjs/version.d.cts +3 -0
  713. package/cache/core/cache.d.ts +55 -41
  714. package/cache/core/cache.js +126 -91
  715. package/cache/core/cache.js.map +1 -1
  716. package/cache/core/types/Cache.d.ts +13 -20
  717. package/cache/core/types/Cache.js +1 -1
  718. package/cache/core/types/Cache.js.map +1 -1
  719. package/cache/core/types/DataProxy.d.ts +18 -28
  720. package/cache/core/types/DataProxy.js +1 -1
  721. package/cache/core/types/DataProxy.js.map +1 -1
  722. package/cache/core/types/common.d.ts +2 -2
  723. package/cache/core/types/common.js +21 -21
  724. package/cache/core/types/common.js.map +1 -1
  725. package/cache/index.d.ts +9 -10
  726. package/cache/index.js +4 -6
  727. package/cache/index.js.map +1 -1
  728. package/cache/inmemory/entityStore.d.ts +9 -8
  729. package/cache/inmemory/entityStore.js +276 -277
  730. package/cache/inmemory/entityStore.js.map +1 -1
  731. package/cache/inmemory/fragmentRegistry.d.ts +1 -1
  732. package/cache/inmemory/fragmentRegistry.js +52 -66
  733. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  734. package/cache/inmemory/helpers.d.ts +7 -14
  735. package/cache/inmemory/helpers.js +21 -35
  736. package/cache/inmemory/helpers.js.map +1 -1
  737. package/cache/inmemory/inMemoryCache.d.ts +23 -22
  738. package/cache/inmemory/inMemoryCache.js +154 -183
  739. package/cache/inmemory/inMemoryCache.js.map +1 -1
  740. package/cache/inmemory/key-extractor.d.ts +2 -2
  741. package/cache/inmemory/key-extractor.js +42 -49
  742. package/cache/inmemory/key-extractor.js.map +1 -1
  743. package/cache/inmemory/policies.d.ts +8 -7
  744. package/cache/inmemory/policies.js +191 -195
  745. package/cache/inmemory/policies.js.map +1 -1
  746. package/cache/inmemory/reactiveVars.d.ts +10 -9
  747. package/cache/inmemory/reactiveVars.js +17 -17
  748. package/cache/inmemory/reactiveVars.js.map +1 -1
  749. package/cache/inmemory/readFromStore.d.ts +6 -19
  750. package/cache/inmemory/readFromStore.js +113 -154
  751. package/cache/inmemory/readFromStore.js.map +1 -1
  752. package/cache/inmemory/types.d.ts +8 -23
  753. package/cache/inmemory/types.js +1 -1
  754. package/cache/inmemory/types.js.map +1 -1
  755. package/cache/inmemory/writeToStore.d.ts +8 -7
  756. package/cache/inmemory/writeToStore.js +206 -164
  757. package/cache/inmemory/writeToStore.js.map +1 -1
  758. package/core/ApolloClient.d.ts +68 -84
  759. package/core/ApolloClient.js +278 -222
  760. package/core/ApolloClient.js.map +1 -1
  761. package/core/ObservableQuery.d.ts +310 -75
  762. package/core/ObservableQuery.js +977 -597
  763. package/core/ObservableQuery.js.map +1 -1
  764. package/core/QueryInfo.d.ts +56 -42
  765. package/core/QueryInfo.js +288 -235
  766. package/core/QueryInfo.js.map +1 -1
  767. package/core/QueryManager.d.ts +77 -77
  768. package/core/QueryManager.js +789 -855
  769. package/core/QueryManager.js.map +1 -1
  770. package/core/equalByQuery.d.ts +1 -1
  771. package/core/equalByQuery.js +16 -19
  772. package/core/equalByQuery.js.map +1 -1
  773. package/core/index.d.ts +18 -20
  774. package/core/index.js +14 -15
  775. package/core/index.js.map +1 -1
  776. package/core/networkStatus.d.ts +8 -2
  777. package/core/networkStatus.js +8 -2
  778. package/core/networkStatus.js.map +1 -1
  779. package/core/types.d.ts +237 -36
  780. package/core/types.js +1 -1
  781. package/core/types.js.map +1 -1
  782. package/core/watchQueryOptions.d.ts +235 -373
  783. package/core/watchQueryOptions.js +1 -1
  784. package/core/watchQueryOptions.js.map +1 -1
  785. package/dev/index.d.ts +1 -1
  786. package/dev/index.js +1 -1
  787. package/dev/index.js.map +1 -1
  788. package/dev/loadDevMessages.d.ts +1 -1
  789. package/dev/loadDevMessages.js +1 -1
  790. package/dev/loadDevMessages.js.map +1 -1
  791. package/dev/loadErrorMessageHandler.d.ts +1 -1
  792. package/dev/loadErrorMessageHandler.js +9 -14
  793. package/dev/loadErrorMessageHandler.js.map +1 -1
  794. package/dev/loadErrorMessages.d.ts +1 -1
  795. package/dev/loadErrorMessages.js +1 -1
  796. package/dev/loadErrorMessages.js.map +1 -1
  797. package/dev/setErrorMessageHandler.d.ts +1 -1
  798. package/dev/setErrorMessageHandler.js +3 -3
  799. package/dev/setErrorMessageHandler.js.map +1 -1
  800. package/dev/symbol.d.ts +10 -0
  801. package/dev/symbol.js +4 -0
  802. package/dev/symbol.js.map +1 -0
  803. package/errors/CombinedGraphQLErrors.d.ts +37 -0
  804. package/errors/CombinedGraphQLErrors.js +48 -0
  805. package/errors/CombinedGraphQLErrors.js.map +1 -0
  806. package/errors/CombinedProtocolErrors.d.ts +20 -0
  807. package/errors/CombinedProtocolErrors.js +27 -0
  808. package/errors/CombinedProtocolErrors.js.map +1 -0
  809. package/errors/LinkError.d.ts +18 -0
  810. package/errors/LinkError.js +20 -0
  811. package/errors/LinkError.js.map +1 -0
  812. package/errors/LocalStateError.d.ts +20 -0
  813. package/errors/LocalStateError.js +23 -0
  814. package/errors/LocalStateError.js.map +1 -0
  815. package/errors/ServerError.d.ts +27 -0
  816. package/errors/ServerError.js +32 -0
  817. package/errors/ServerError.js.map +1 -0
  818. package/errors/ServerParseError.d.ts +26 -0
  819. package/errors/ServerParseError.js +34 -0
  820. package/errors/ServerParseError.js.map +1 -0
  821. package/errors/UnconventionalError.d.ts +11 -0
  822. package/errors/UnconventionalError.js +19 -0
  823. package/errors/UnconventionalError.js.map +1 -0
  824. package/errors/index.d.ts +11 -45
  825. package/errors/index.js +23 -52
  826. package/errors/index.js.map +1 -1
  827. package/errors/isErrorLike.d.ts +3 -0
  828. package/errors/isErrorLike.js +9 -0
  829. package/errors/isErrorLike.js.map +1 -0
  830. package/errors/utils.d.ts +3 -0
  831. package/errors/utils.js +14 -0
  832. package/errors/utils.js.map +1 -0
  833. package/incremental/handlers/defer20220824.d.ts +55 -0
  834. package/incremental/handlers/defer20220824.js +97 -0
  835. package/incremental/handlers/defer20220824.js.map +1 -0
  836. package/incremental/handlers/notImplemented.d.ts +9 -0
  837. package/incremental/handlers/notImplemented.js +15 -0
  838. package/incremental/handlers/notImplemented.js.map +1 -0
  839. package/incremental/index.d.ts +4 -0
  840. package/incremental/index.js +3 -0
  841. package/incremental/index.js.map +1 -0
  842. package/incremental/types.d.ts +24 -0
  843. package/incremental/types.js +2 -0
  844. package/incremental/types.js.map +1 -0
  845. package/invariantErrorCodes.d.ts +1 -1
  846. package/invariantErrorCodes.js +454 -351
  847. package/invariantErrorCodes.js.map +1 -1
  848. package/legacyEntryPoints/apollo-client.cjs +1 -0
  849. package/legacyEntryPoints/apollo-client.d.cts +1 -0
  850. package/legacyEntryPoints/cache/cache.cjs +1 -0
  851. package/legacyEntryPoints/cache/cache.d.cts +1 -0
  852. package/legacyEntryPoints/cache/index.d.ts +1 -0
  853. package/legacyEntryPoints/cache/index.js +1 -0
  854. package/legacyEntryPoints/core/core.cjs +1 -0
  855. package/legacyEntryPoints/core/core.d.cts +1 -0
  856. package/legacyEntryPoints/core/index.d.ts +1 -0
  857. package/legacyEntryPoints/core/index.js +1 -0
  858. package/legacyEntryPoints/dev/dev.cjs +1 -0
  859. package/legacyEntryPoints/dev/dev.d.cts +1 -0
  860. package/legacyEntryPoints/dev/index.d.ts +1 -0
  861. package/legacyEntryPoints/dev/index.js +1 -0
  862. package/legacyEntryPoints/errors/errors.cjs +1 -0
  863. package/legacyEntryPoints/errors/errors.d.cts +1 -0
  864. package/legacyEntryPoints/errors/index.d.ts +1 -0
  865. package/legacyEntryPoints/errors/index.js +1 -0
  866. package/legacyEntryPoints/incremental/incremental.cjs +1 -0
  867. package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
  868. package/legacyEntryPoints/incremental/index.d.ts +1 -0
  869. package/legacyEntryPoints/incremental/index.js +1 -0
  870. package/legacyEntryPoints/index.d.ts +1 -0
  871. package/legacyEntryPoints/index.js +1 -0
  872. package/legacyEntryPoints/link/batch/batch.cjs +1 -0
  873. package/legacyEntryPoints/link/batch/batch.d.cts +1 -0
  874. package/legacyEntryPoints/link/batch/index.d.ts +1 -0
  875. package/legacyEntryPoints/link/batch/index.js +1 -0
  876. package/legacyEntryPoints/link/batch-http/batch-http.cjs +1 -0
  877. package/legacyEntryPoints/link/batch-http/batch-http.d.cts +1 -0
  878. package/legacyEntryPoints/link/batch-http/index.d.ts +1 -0
  879. package/legacyEntryPoints/link/batch-http/index.js +1 -0
  880. package/legacyEntryPoints/link/client-awareness/client-awareness.cjs +1 -0
  881. package/legacyEntryPoints/link/client-awareness/client-awareness.d.cts +1 -0
  882. package/legacyEntryPoints/link/client-awareness/index.d.ts +1 -0
  883. package/legacyEntryPoints/link/client-awareness/index.js +1 -0
  884. package/legacyEntryPoints/link/context/context.cjs +1 -0
  885. package/legacyEntryPoints/link/context/context.d.cts +1 -0
  886. package/legacyEntryPoints/link/context/index.d.ts +1 -0
  887. package/legacyEntryPoints/link/context/index.js +1 -0
  888. package/legacyEntryPoints/link/error/error.cjs +1 -0
  889. package/legacyEntryPoints/link/error/error.d.cts +1 -0
  890. package/legacyEntryPoints/link/error/index.d.ts +1 -0
  891. package/legacyEntryPoints/link/error/index.js +1 -0
  892. package/legacyEntryPoints/link/http/http.cjs +1 -0
  893. package/legacyEntryPoints/link/http/http.d.cts +1 -0
  894. package/legacyEntryPoints/link/http/index.d.ts +1 -0
  895. package/legacyEntryPoints/link/http/index.js +1 -0
  896. package/legacyEntryPoints/link/index.d.ts +1 -0
  897. package/legacyEntryPoints/link/index.js +1 -0
  898. package/legacyEntryPoints/link/link.cjs +1 -0
  899. package/legacyEntryPoints/link/link.d.cts +1 -0
  900. package/legacyEntryPoints/link/persisted-queries/index.d.ts +1 -0
  901. package/legacyEntryPoints/link/persisted-queries/index.js +1 -0
  902. package/legacyEntryPoints/link/persisted-queries/persisted-queries.cjs +1 -0
  903. package/legacyEntryPoints/link/persisted-queries/persisted-queries.d.cts +1 -0
  904. package/legacyEntryPoints/link/remove-typename/index.d.ts +1 -0
  905. package/legacyEntryPoints/link/remove-typename/index.js +1 -0
  906. package/legacyEntryPoints/link/remove-typename/remove-typename.cjs +1 -0
  907. package/legacyEntryPoints/link/remove-typename/remove-typename.d.cts +1 -0
  908. package/legacyEntryPoints/link/retry/index.d.ts +1 -0
  909. package/legacyEntryPoints/link/retry/index.js +1 -0
  910. package/legacyEntryPoints/link/retry/retry.cjs +1 -0
  911. package/legacyEntryPoints/link/retry/retry.d.cts +1 -0
  912. package/legacyEntryPoints/link/schema/index.d.ts +1 -0
  913. package/legacyEntryPoints/link/schema/index.js +1 -0
  914. package/legacyEntryPoints/link/schema/schema.cjs +1 -0
  915. package/legacyEntryPoints/link/schema/schema.d.cts +1 -0
  916. package/legacyEntryPoints/link/subscriptions/index.d.ts +1 -0
  917. package/legacyEntryPoints/link/subscriptions/index.js +1 -0
  918. package/legacyEntryPoints/link/subscriptions/subscriptions.cjs +1 -0
  919. package/legacyEntryPoints/link/subscriptions/subscriptions.d.cts +1 -0
  920. package/legacyEntryPoints/link/utils/index.d.ts +1 -0
  921. package/legacyEntryPoints/link/utils/index.js +1 -0
  922. package/legacyEntryPoints/link/utils/utils.cjs +1 -0
  923. package/legacyEntryPoints/link/utils/utils.d.cts +1 -0
  924. package/legacyEntryPoints/link/ws/index.d.ts +1 -0
  925. package/legacyEntryPoints/link/ws/index.js +1 -0
  926. package/legacyEntryPoints/link/ws/ws.cjs +1 -0
  927. package/legacyEntryPoints/link/ws/ws.d.cts +1 -0
  928. package/legacyEntryPoints/local-state/index.d.ts +1 -0
  929. package/legacyEntryPoints/local-state/index.js +1 -0
  930. package/legacyEntryPoints/local-state/local-state.cjs +1 -0
  931. package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
  932. package/legacyEntryPoints/main.cjs +1 -0
  933. package/legacyEntryPoints/main.d.cts +1 -0
  934. package/legacyEntryPoints/masking/index.d.ts +1 -0
  935. package/legacyEntryPoints/masking/index.js +1 -0
  936. package/legacyEntryPoints/masking/masking.cjs +1 -0
  937. package/legacyEntryPoints/masking/masking.d.cts +1 -0
  938. package/legacyEntryPoints/react/index.d.ts +1 -0
  939. package/legacyEntryPoints/react/index.js +1 -0
  940. package/legacyEntryPoints/react/internal/index.d.ts +1 -0
  941. package/legacyEntryPoints/react/internal/index.js +1 -0
  942. package/legacyEntryPoints/react/internal/internal.cjs +1 -0
  943. package/legacyEntryPoints/react/internal/internal.d.cts +1 -0
  944. package/legacyEntryPoints/react/react.cjs +1 -0
  945. package/legacyEntryPoints/react/react.d.cts +1 -0
  946. package/legacyEntryPoints/react/ssr/index.d.ts +1 -0
  947. package/legacyEntryPoints/react/ssr/index.js +1 -0
  948. package/legacyEntryPoints/react/ssr/ssr.cjs +1 -0
  949. package/legacyEntryPoints/react/ssr/ssr.d.cts +1 -0
  950. package/legacyEntryPoints/testing/index.d.ts +1 -0
  951. package/legacyEntryPoints/testing/index.js +1 -0
  952. package/legacyEntryPoints/testing/react/index.d.ts +1 -0
  953. package/legacyEntryPoints/testing/react/index.js +1 -0
  954. package/legacyEntryPoints/testing/react/react.cjs +1 -0
  955. package/legacyEntryPoints/testing/react/react.d.cts +1 -0
  956. package/legacyEntryPoints/testing/testing.cjs +1 -0
  957. package/legacyEntryPoints/testing/testing.d.cts +1 -0
  958. package/legacyEntryPoints/utilities/environment/environment.cjs +1 -0
  959. package/legacyEntryPoints/utilities/environment/environment.d.cts +1 -0
  960. package/legacyEntryPoints/utilities/environment/index.d.ts +1 -0
  961. package/legacyEntryPoints/utilities/environment/index.js +1 -0
  962. package/legacyEntryPoints/utilities/index.d.ts +1 -0
  963. package/legacyEntryPoints/utilities/index.js +1 -0
  964. package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
  965. package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
  966. package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
  967. package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
  968. package/legacyEntryPoints/utilities/internal/index.d.ts +1 -0
  969. package/legacyEntryPoints/utilities/internal/index.js +1 -0
  970. package/legacyEntryPoints/utilities/internal/internal.cjs +1 -0
  971. package/legacyEntryPoints/utilities/internal/internal.d.cts +1 -0
  972. package/legacyEntryPoints/utilities/invariant/index.d.ts +1 -0
  973. package/legacyEntryPoints/utilities/invariant/index.js +1 -0
  974. package/legacyEntryPoints/utilities/invariant/invariant.cjs +1 -0
  975. package/legacyEntryPoints/utilities/invariant/invariant.d.cts +1 -0
  976. package/legacyEntryPoints/utilities/subscriptions/relay/index.d.ts +1 -0
  977. package/legacyEntryPoints/utilities/subscriptions/relay/index.js +1 -0
  978. package/legacyEntryPoints/utilities/subscriptions/relay/relay.cjs +1 -0
  979. package/legacyEntryPoints/utilities/subscriptions/relay/relay.d.cts +1 -0
  980. package/legacyEntryPoints/utilities/utilities.cjs +1 -0
  981. package/legacyEntryPoints/utilities/utilities.d.cts +1 -0
  982. package/link/batch/batchLink.d.ts +4 -4
  983. package/link/batch/batchLink.js +19 -23
  984. package/link/batch/batchLink.js.map +1 -1
  985. package/link/batch/batching.d.ts +3 -3
  986. package/link/batch/batching.js +63 -59
  987. package/link/batch/batching.js.map +1 -1
  988. package/link/batch/index.d.ts +3 -2
  989. package/link/batch/index.js +2 -2
  990. package/link/batch/index.js.map +1 -1
  991. package/link/batch-http/batchHttpLink.d.ts +12 -7
  992. package/link/batch-http/batchHttpLink.js +63 -116
  993. package/link/batch-http/batchHttpLink.js.map +1 -1
  994. package/link/batch-http/index.d.ts +2 -2
  995. package/link/batch-http/index.js +2 -2
  996. package/link/batch-http/index.js.map +1 -1
  997. package/link/client-awareness/ClientAwarenessLink.d.ts +62 -0
  998. package/link/client-awareness/ClientAwarenessLink.js +41 -0
  999. package/link/client-awareness/ClientAwarenessLink.js.map +1 -0
  1000. package/link/client-awareness/index.d.ts +2 -0
  1001. package/link/client-awareness/index.js +2 -0
  1002. package/link/client-awareness/index.js.map +1 -0
  1003. package/link/context/index.d.ts +12 -6
  1004. package/link/context/index.js +37 -29
  1005. package/link/context/index.js.map +1 -1
  1006. package/link/core/ApolloLink.d.ts +19 -16
  1007. package/link/core/ApolloLink.js +71 -70
  1008. package/link/core/ApolloLink.js.map +1 -1
  1009. package/link/core/concat.d.ts +1 -1
  1010. package/link/core/concat.js +2 -2
  1011. package/link/core/concat.js.map +1 -1
  1012. package/link/core/empty.d.ts +1 -1
  1013. package/link/core/empty.js +2 -2
  1014. package/link/core/empty.js.map +1 -1
  1015. package/link/core/execute.d.ts +1 -1
  1016. package/link/core/execute.js +2 -2
  1017. package/link/core/execute.js.map +1 -1
  1018. package/link/core/from.d.ts +1 -1
  1019. package/link/core/from.js +2 -2
  1020. package/link/core/from.js.map +1 -1
  1021. package/link/core/split.d.ts +1 -1
  1022. package/link/core/split.js +2 -2
  1023. package/link/core/split.js.map +1 -1
  1024. package/link/core/types.d.ts +16 -38
  1025. package/link/core/types.js +1 -1
  1026. package/link/core/types.js.map +1 -1
  1027. package/link/error/index.d.ts +20 -30
  1028. package/link/error/index.js +75 -91
  1029. package/link/error/index.js.map +1 -1
  1030. package/link/http/BaseHttpLink.d.ts +6 -0
  1031. package/link/http/BaseHttpLink.js +107 -0
  1032. package/link/http/BaseHttpLink.js.map +1 -0
  1033. package/link/http/HttpLink.d.ts +146 -5
  1034. package/link/http/HttpLink.js +15 -14
  1035. package/link/http/HttpLink.js.map +1 -1
  1036. package/link/http/checkFetcher.d.ts +1 -1
  1037. package/link/http/checkFetcher.js +4 -6
  1038. package/link/http/checkFetcher.js.map +1 -1
  1039. package/link/http/createSignalIfSupported.d.ts +1 -1
  1040. package/link/http/createSignalIfSupported.js +5 -5
  1041. package/link/http/createSignalIfSupported.js.map +1 -1
  1042. package/link/http/index.d.ts +4 -7
  1043. package/link/http/index.js +4 -5
  1044. package/link/http/index.js.map +1 -1
  1045. package/link/http/parseAndCheckHttpResponse.d.ts +2 -11
  1046. package/link/http/parseAndCheckHttpResponse.js +124 -170
  1047. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  1048. package/link/http/rewriteURIForGET.d.ts +3 -3
  1049. package/link/http/rewriteURIForGET.js +13 -13
  1050. package/link/http/rewriteURIForGET.js.map +1 -1
  1051. package/link/http/selectHttpOptionsAndBody.d.ts +11 -85
  1052. package/link/http/selectHttpOptionsAndBody.js +44 -43
  1053. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  1054. package/link/http/selectURI.d.ts +2 -2
  1055. package/link/http/selectURI.js +4 -4
  1056. package/link/http/selectURI.js.map +1 -1
  1057. package/link/http/serializeFetchParameter.d.ts +2 -2
  1058. package/link/http/serializeFetchParameter.js +5 -5
  1059. package/link/http/serializeFetchParameter.js.map +1 -1
  1060. package/link/index.d.ts +8 -0
  1061. package/link/index.js +7 -0
  1062. package/link/index.js.map +1 -0
  1063. package/link/persisted-queries/index.d.ts +22 -22
  1064. package/link/persisted-queries/index.js +173 -169
  1065. package/link/persisted-queries/index.js.map +1 -1
  1066. package/link/remove-typename/index.d.ts +2 -2
  1067. package/link/remove-typename/index.js +2 -2
  1068. package/link/remove-typename/index.js.map +1 -1
  1069. package/link/remove-typename/removeTypenameFromVariables.d.ts +10 -11
  1070. package/link/remove-typename/removeTypenameFromVariables.js +54 -44
  1071. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  1072. package/link/retry/delayFunction.d.ts +2 -2
  1073. package/link/retry/delayFunction.js +4 -4
  1074. package/link/retry/delayFunction.js.map +1 -1
  1075. package/link/retry/index.d.ts +2 -2
  1076. package/link/retry/index.js +2 -2
  1077. package/link/retry/index.js.map +1 -1
  1078. package/link/retry/retryFunction.d.ts +2 -2
  1079. package/link/retry/retryFunction.js +2 -2
  1080. package/link/retry/retryFunction.js.map +1 -1
  1081. package/link/retry/retryLink.d.ts +4 -4
  1082. package/link/retry/retryLink.js +52 -65
  1083. package/link/retry/retryLink.js.map +1 -1
  1084. package/link/schema/index.d.ts +4 -4
  1085. package/link/schema/index.js +29 -33
  1086. package/link/schema/index.js.map +1 -1
  1087. package/link/subscriptions/index.d.ts +4 -4
  1088. package/link/subscriptions/index.js +22 -27
  1089. package/link/subscriptions/index.js.map +1 -1
  1090. package/link/utils/createOperation.d.ts +3 -3
  1091. package/link/utils/createOperation.js +11 -8
  1092. package/link/utils/createOperation.js.map +1 -1
  1093. package/link/utils/filterOperationVariables.d.ts +1 -1
  1094. package/link/utils/filterOperationVariables.js +5 -6
  1095. package/link/utils/filterOperationVariables.js.map +1 -1
  1096. package/link/utils/index.d.ts +1 -7
  1097. package/link/utils/index.js +1 -6
  1098. package/link/utils/index.js.map +1 -1
  1099. package/link/utils/transformOperation.d.ts +2 -2
  1100. package/link/utils/transformOperation.js +4 -4
  1101. package/link/utils/transformOperation.js.map +1 -1
  1102. package/link/utils/validateOperation.d.ts +2 -2
  1103. package/link/utils/validateOperation.js +5 -6
  1104. package/link/utils/validateOperation.js.map +1 -1
  1105. package/link/ws/index.d.ts +4 -4
  1106. package/link/ws/index.js +11 -15
  1107. package/link/ws/index.js.map +1 -1
  1108. package/local-state/LocalState.d.ts +88 -0
  1109. package/local-state/LocalState.js +519 -0
  1110. package/local-state/LocalState.js.map +1 -0
  1111. package/local-state/index.d.ts +2 -0
  1112. package/local-state/index.js +2 -0
  1113. package/local-state/index.js.map +1 -0
  1114. package/masking/GraphQLCodegenDataMasking.d.ts +79 -0
  1115. package/masking/GraphQLCodegenDataMasking.js +2 -0
  1116. package/masking/GraphQLCodegenDataMasking.js.map +1 -0
  1117. package/masking/index.d.ts +2 -1
  1118. package/masking/index.js +1 -1
  1119. package/masking/index.js.map +1 -1
  1120. package/masking/internal/types.d.ts +2 -3
  1121. package/masking/internal/types.js +1 -1
  1122. package/masking/internal/types.js.map +1 -1
  1123. package/masking/maskDefinition.d.ts +4 -4
  1124. package/masking/maskDefinition.js +32 -34
  1125. package/masking/maskDefinition.js.map +1 -1
  1126. package/masking/maskFragment.d.ts +8 -4
  1127. package/masking/maskFragment.js +16 -21
  1128. package/masking/maskFragment.js.map +1 -1
  1129. package/masking/maskOperation.d.ts +8 -4
  1130. package/masking/maskOperation.js +14 -18
  1131. package/masking/maskOperation.js.map +1 -1
  1132. package/masking/types.d.ts +13 -27
  1133. package/masking/types.js +1 -1
  1134. package/masking/types.js.map +1 -1
  1135. package/masking/utils.d.ts +8 -5
  1136. package/masking/utils.js +34 -12
  1137. package/masking/utils.js.map +1 -1
  1138. package/package.json +259 -116
  1139. package/react/context/ApolloConsumer.d.ts +8 -5
  1140. package/react/context/ApolloConsumer.js +7 -7
  1141. package/react/context/ApolloConsumer.js.map +1 -1
  1142. package/react/context/ApolloContext.d.ts +5 -11
  1143. package/react/context/ApolloContext.js +6 -13
  1144. package/react/context/ApolloContext.js.map +1 -1
  1145. package/react/context/ApolloProvider.d.ts +8 -6
  1146. package/react/context/ApolloProvider.js +12 -11
  1147. package/react/context/ApolloProvider.js.map +1 -1
  1148. package/react/hooks/constants.d.ts +1 -1
  1149. package/react/hooks/constants.js +2 -2
  1150. package/react/hooks/constants.js.map +1 -1
  1151. package/react/hooks/internal/__use.d.ts +1 -1
  1152. package/react/hooks/internal/__use.js +11 -11
  1153. package/react/hooks/internal/__use.js.map +1 -1
  1154. package/react/hooks/internal/index.d.ts +1 -2
  1155. package/react/hooks/internal/index.js +1 -2
  1156. package/react/hooks/internal/index.js.map +1 -1
  1157. package/react/hooks/internal/useDeepMemo.d.ts +1 -1
  1158. package/react/hooks/internal/useDeepMemo.js +6 -4
  1159. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  1160. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +2 -2
  1161. package/react/hooks/internal/useIsomorphicLayoutEffect.js +4 -4
  1162. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  1163. package/react/hooks/internal/useRenderGuard.d.ts +1 -1
  1164. package/react/hooks/internal/useRenderGuard.js +5 -5
  1165. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  1166. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  1167. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  1168. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  1169. package/react/hooks/internal/wrapHook.d.ts +51 -45
  1170. package/react/hooks/internal/wrapHook.js +61 -40
  1171. package/react/hooks/internal/wrapHook.js.map +1 -1
  1172. package/react/hooks/useApolloClient.d.ts +3 -3
  1173. package/react/hooks/useApolloClient.js +20 -7
  1174. package/react/hooks/useApolloClient.js.map +1 -1
  1175. package/react/hooks/useBackgroundQuery.d.ts +191 -57
  1176. package/react/hooks/useBackgroundQuery.js +33 -35
  1177. package/react/hooks/useBackgroundQuery.js.map +1 -1
  1178. package/react/hooks/useFragment.d.ts +54 -28
  1179. package/react/hooks/useFragment.js +47 -38
  1180. package/react/hooks/useFragment.js.map +1 -1
  1181. package/react/hooks/useLazyQuery.d.ts +279 -40
  1182. package/react/hooks/useLazyQuery.js +124 -91
  1183. package/react/hooks/useLazyQuery.js.map +1 -1
  1184. package/react/hooks/useLoadableQuery.d.ts +119 -48
  1185. package/react/hooks/useLoadableQuery.js +242 -67
  1186. package/react/hooks/useLoadableQuery.js.map +1 -1
  1187. package/react/hooks/useMutation.d.ts +232 -5
  1188. package/react/hooks/useMutation.js +207 -112
  1189. package/react/hooks/useMutation.js.map +1 -1
  1190. package/react/hooks/useQuery.d.ts +263 -70
  1191. package/react/hooks/useQuery.js +290 -382
  1192. package/react/hooks/useQuery.js.map +1 -1
  1193. package/react/hooks/useQueryRefHandlers.d.ts +24 -23
  1194. package/react/hooks/useQueryRefHandlers.js +72 -31
  1195. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  1196. package/react/hooks/useReactiveVar.d.ts +2 -2
  1197. package/react/hooks/useReactiveVar.js +3 -3
  1198. package/react/hooks/useReactiveVar.js.map +1 -1
  1199. package/react/hooks/useReadQuery.d.ts +23 -29
  1200. package/react/hooks/useReadQuery.js +16 -15
  1201. package/react/hooks/useReadQuery.js.map +1 -1
  1202. package/react/hooks/useSubscription.d.ts +96 -12
  1203. package/react/hooks/useSubscription.js +68 -122
  1204. package/react/hooks/useSubscription.js.map +1 -1
  1205. package/react/hooks/useSuspenseFragment.d.ts +42 -40
  1206. package/react/hooks/useSuspenseFragment.js +21 -23
  1207. package/react/hooks/useSuspenseFragment.js.map +1 -1
  1208. package/react/hooks/useSuspenseQuery.d.ts +189 -40
  1209. package/react/hooks/useSuspenseQuery.js +102 -97
  1210. package/react/hooks/useSuspenseQuery.js.map +1 -1
  1211. package/react/hooks/useSyncExternalStore.d.ts +1 -1
  1212. package/react/hooks/useSyncExternalStore.js +44 -25
  1213. package/react/hooks/useSyncExternalStore.js.map +1 -1
  1214. package/react/index.d.ts +24 -9
  1215. package/react/index.js +19 -5
  1216. package/react/index.js.map +1 -1
  1217. package/react/index.react-server.d.ts +19 -0
  1218. package/react/index.react-server.js +45 -0
  1219. package/react/index.react-server.js.map +1 -0
  1220. package/react/internal/cache/FragmentReference.d.ts +9 -8
  1221. package/react/internal/cache/FragmentReference.js +72 -64
  1222. package/react/internal/cache/FragmentReference.js.map +1 -1
  1223. package/react/internal/cache/QueryReference.d.ts +59 -119
  1224. package/react/internal/cache/QueryReference.js +141 -177
  1225. package/react/internal/cache/QueryReference.js.map +1 -1
  1226. package/react/internal/cache/SuspenseCache.d.ts +6 -6
  1227. package/react/internal/cache/SuspenseCache.js +19 -22
  1228. package/react/internal/cache/SuspenseCache.js.map +1 -1
  1229. package/react/internal/cache/getSuspenseCache.d.ts +5 -5
  1230. package/react/internal/cache/getSuspenseCache.js +3 -4
  1231. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  1232. package/react/internal/cache/types.d.ts +1 -1
  1233. package/react/internal/cache/types.js +1 -1
  1234. package/react/internal/cache/types.js.map +1 -1
  1235. package/react/internal/index.d.ts +5 -3
  1236. package/react/internal/index.js +3 -2
  1237. package/react/internal/index.js.map +1 -1
  1238. package/react/internal/types.d.ts +4 -0
  1239. package/react/internal/types.js +2 -0
  1240. package/react/internal/types.js.map +1 -0
  1241. package/react/query-preloader/createQueryPreloader.d.ts +170 -171
  1242. package/react/query-preloader/createQueryPreloader.js +17 -10
  1243. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  1244. package/react/ssr/getDataFromTree.d.ts +15 -3
  1245. package/react/ssr/getDataFromTree.js +29 -39
  1246. package/react/ssr/getDataFromTree.js.map +1 -1
  1247. package/react/ssr/index.d.ts +3 -3
  1248. package/react/ssr/index.js +3 -3
  1249. package/react/ssr/index.js.map +1 -1
  1250. package/react/ssr/prerenderStatic.d.ts +122 -0
  1251. package/react/ssr/prerenderStatic.js +154 -0
  1252. package/react/ssr/prerenderStatic.js.map +1 -0
  1253. package/react/ssr/renderToStringWithData.d.ts +6 -1
  1254. package/react/ssr/renderToStringWithData.js +12 -6
  1255. package/react/ssr/renderToStringWithData.js.map +1 -1
  1256. package/react/ssr/useSSRQuery.d.ts +5 -0
  1257. package/react/ssr/useSSRQuery.js +66 -0
  1258. package/react/ssr/useSSRQuery.js.map +1 -0
  1259. package/react/types/deprecated.d.ts +75 -0
  1260. package/react/types/deprecated.js +2 -0
  1261. package/react/types/deprecated.js.map +1 -0
  1262. package/react/types/types.documentation.d.ts +48 -89
  1263. package/react/types/types.documentation.js +1 -1
  1264. package/react/types/types.documentation.js.map +1 -1
  1265. package/testing/core/mocking/mockLink.d.ts +49 -25
  1266. package/testing/core/mocking/mockLink.js +147 -161
  1267. package/testing/core/mocking/mockLink.js.map +1 -1
  1268. package/testing/core/mocking/mockSubscriptionLink.d.ts +11 -13
  1269. package/testing/core/mocking/mockSubscriptionLink.js +30 -40
  1270. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  1271. package/testing/core/types/deprecated.d.ts +10 -0
  1272. package/testing/core/types/deprecated.js +2 -0
  1273. package/testing/core/types/deprecated.js.map +1 -0
  1274. package/testing/index.d.ts +4 -5
  1275. package/testing/index.js +3 -4
  1276. package/testing/index.js.map +1 -1
  1277. package/testing/react/MockedProvider.d.ts +15 -15
  1278. package/testing/react/MockedProvider.js +29 -33
  1279. package/testing/react/MockedProvider.js.map +1 -1
  1280. package/testing/react/index.d.ts +3 -0
  1281. package/testing/react/index.js +2 -0
  1282. package/testing/react/index.js.map +1 -0
  1283. package/utilities/DeepPartial.d.ts +15 -0
  1284. package/utilities/DeepPartial.js +6 -0
  1285. package/utilities/DeepPartial.js.map +1 -0
  1286. package/utilities/HKT.d.ts +35 -0
  1287. package/utilities/HKT.js +2 -0
  1288. package/utilities/HKT.js.map +1 -0
  1289. package/utilities/caching/index.d.ts +1 -2
  1290. package/utilities/caching/index.js +1 -2
  1291. package/utilities/caching/index.js.map +1 -1
  1292. package/utilities/caching/sizes.d.ts +9 -21
  1293. package/utilities/caching/sizes.js +6 -7
  1294. package/utilities/caching/sizes.js.map +1 -1
  1295. package/utilities/common/stripTypename.d.ts +8 -2
  1296. package/utilities/common/stripTypename.js +8 -2
  1297. package/utilities/common/stripTypename.js.map +1 -1
  1298. package/utilities/environment/index.d.ts +2 -0
  1299. package/utilities/environment/index.development.d.ts +2 -0
  1300. package/utilities/environment/index.development.js +2 -0
  1301. package/utilities/environment/index.development.js.map +1 -0
  1302. package/utilities/environment/index.js +2 -0
  1303. package/utilities/environment/index.js.map +1 -0
  1304. package/utilities/environment/index.production.d.ts +2 -0
  1305. package/utilities/environment/index.production.js +2 -0
  1306. package/utilities/environment/index.production.js.map +1 -0
  1307. package/utilities/graphql/DocumentTransform.d.ts +11 -7
  1308. package/utilities/graphql/DocumentTransform.js +57 -48
  1309. package/utilities/graphql/DocumentTransform.js.map +1 -1
  1310. package/utilities/graphql/isFormattedExecutionResult.d.ts +3 -0
  1311. package/utilities/graphql/isFormattedExecutionResult.js +6 -0
  1312. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
  1313. package/utilities/graphql/operations.d.ts +23 -2
  1314. package/utilities/graphql/operations.js +24 -4
  1315. package/utilities/graphql/operations.js.map +1 -1
  1316. package/utilities/graphql/print.d.ts +9 -1
  1317. package/utilities/graphql/print.js +18 -9
  1318. package/utilities/graphql/print.js.map +1 -1
  1319. package/utilities/graphql/storeUtils.d.ts +15 -23
  1320. package/utilities/graphql/storeUtils.js +6 -210
  1321. package/utilities/graphql/storeUtils.js.map +1 -1
  1322. package/utilities/graphql/transform.d.ts +7 -25
  1323. package/utilities/graphql/transform.js +21 -462
  1324. package/utilities/graphql/transform.js.map +1 -1
  1325. package/utilities/index.d.ts +10 -44
  1326. package/utilities/index.js +7 -29
  1327. package/utilities/index.js.map +1 -1
  1328. package/utilities/internal/DeepMerger.d.ts +17 -0
  1329. package/utilities/internal/DeepMerger.js +63 -0
  1330. package/utilities/internal/DeepMerger.js.map +1 -0
  1331. package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
  1332. package/utilities/internal/argumentsObjectFromField.js +15 -0
  1333. package/utilities/internal/argumentsObjectFromField.js.map +1 -0
  1334. package/utilities/internal/caches.d.ts +42 -0
  1335. package/utilities/internal/caches.js +73 -0
  1336. package/utilities/internal/caches.js.map +1 -0
  1337. package/utilities/internal/canUseDOM.d.ts +7 -0
  1338. package/utilities/internal/canUseDOM.js +8 -0
  1339. package/utilities/internal/canUseDOM.js.map +1 -0
  1340. package/utilities/internal/checkDocument.d.ts +10 -0
  1341. package/utilities/internal/checkDocument.js +66 -0
  1342. package/utilities/internal/checkDocument.js.map +1 -0
  1343. package/utilities/internal/cloneDeep.d.ts +9 -0
  1344. package/utilities/internal/cloneDeep.js +42 -0
  1345. package/utilities/internal/cloneDeep.js.map +1 -0
  1346. package/utilities/internal/compact.d.ts +11 -0
  1347. package/utilities/internal/compact.js +23 -0
  1348. package/utilities/internal/compact.js.map +1 -0
  1349. package/utilities/internal/createFragmentMap.d.ts +12 -0
  1350. package/utilities/internal/createFragmentMap.js +16 -0
  1351. package/utilities/internal/createFragmentMap.js.map +1 -0
  1352. package/utilities/internal/createFulfilledPromise.d.ts +8 -0
  1353. package/utilities/internal/createFulfilledPromise.js +12 -0
  1354. package/utilities/internal/createFulfilledPromise.js.map +1 -0
  1355. package/utilities/internal/createRejectedPromise.d.ts +8 -0
  1356. package/utilities/internal/createRejectedPromise.js +14 -0
  1357. package/utilities/internal/createRejectedPromise.js.map +1 -0
  1358. package/utilities/internal/dealias.d.ts +5 -0
  1359. package/utilities/internal/dealias.js +18 -0
  1360. package/utilities/internal/dealias.js.map +1 -0
  1361. package/utilities/internal/decoratePromise.d.ts +8 -0
  1362. package/utilities/internal/decoratePromise.js +30 -0
  1363. package/utilities/internal/decoratePromise.js.map +1 -0
  1364. package/utilities/internal/deepFreeze.d.ts +7 -0
  1365. package/utilities/internal/deepFreeze.js +36 -0
  1366. package/utilities/internal/deepFreeze.js.map +1 -0
  1367. package/utilities/internal/filterMap.d.ts +4 -0
  1368. package/utilities/internal/filterMap.js +28 -0
  1369. package/utilities/internal/filterMap.js.map +1 -0
  1370. package/utilities/internal/getDefaultValues.d.ts +8 -0
  1371. package/utilities/internal/getDefaultValues.js +19 -0
  1372. package/utilities/internal/getDefaultValues.js.map +1 -0
  1373. package/utilities/internal/getFragmentDefinition.d.ts +8 -0
  1374. package/utilities/internal/getFragmentDefinition.js +14 -0
  1375. package/utilities/internal/getFragmentDefinition.js.map +1 -0
  1376. package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
  1377. package/utilities/internal/getFragmentDefinitions.js +9 -0
  1378. package/utilities/internal/getFragmentDefinitions.js.map +1 -0
  1379. package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
  1380. package/utilities/internal/getFragmentFromSelection.js +24 -0
  1381. package/utilities/internal/getFragmentFromSelection.js.map +1 -0
  1382. package/utilities/internal/getFragmentQueryDocument.d.ts +29 -0
  1383. package/utilities/internal/getFragmentQueryDocument.js +83 -0
  1384. package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
  1385. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +10 -0
  1386. package/utilities/internal/getGraphQLErrorsFromResult.js +9 -0
  1387. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
  1388. package/utilities/internal/getMainDefinition.d.ts +12 -0
  1389. package/utilities/internal/getMainDefinition.js +35 -0
  1390. package/utilities/internal/getMainDefinition.js.map +1 -0
  1391. package/utilities/internal/getMemoryInternals.d.ts +80 -0
  1392. package/utilities/internal/getMemoryInternals.js +128 -0
  1393. package/utilities/internal/getMemoryInternals.js.map +1 -0
  1394. package/utilities/internal/getOperationDefinition.d.ts +8 -0
  1395. package/utilities/internal/getOperationDefinition.js +11 -0
  1396. package/utilities/internal/getOperationDefinition.js.map +1 -0
  1397. package/utilities/internal/getOperationName.d.ts +8 -0
  1398. package/utilities/internal/getOperationName.js +9 -0
  1399. package/utilities/internal/getOperationName.js.map +1 -0
  1400. package/utilities/internal/getQueryDefinition.d.ts +8 -0
  1401. package/utilities/internal/getQueryDefinition.js +13 -0
  1402. package/utilities/internal/getQueryDefinition.js.map +1 -0
  1403. package/utilities/internal/getStoreKeyName.d.ts +16 -0
  1404. package/utilities/internal/getStoreKeyName.js +70 -0
  1405. package/utilities/internal/getStoreKeyName.js.map +1 -0
  1406. package/utilities/internal/globals/global.d.ts +3 -0
  1407. package/utilities/internal/globals/global.js +14 -0
  1408. package/utilities/internal/globals/global.js.map +1 -0
  1409. package/utilities/internal/globals/index.d.ts +3 -0
  1410. package/utilities/internal/globals/index.js +3 -0
  1411. package/utilities/internal/globals/index.js.map +1 -0
  1412. package/utilities/internal/globals/maybe.d.ts +2 -0
  1413. package/utilities/internal/globals/maybe.js +7 -0
  1414. package/utilities/internal/globals/maybe.js.map +1 -0
  1415. package/utilities/internal/graphQLResultHasError.d.ts +8 -0
  1416. package/utilities/internal/graphQLResultHasError.js +9 -0
  1417. package/utilities/internal/graphQLResultHasError.js.map +1 -0
  1418. package/utilities/internal/hasDirectives.d.ts +8 -0
  1419. package/utilities/internal/hasDirectives.js +21 -0
  1420. package/utilities/internal/hasDirectives.js.map +1 -0
  1421. package/utilities/internal/hasForcedResolvers.d.ts +3 -0
  1422. package/utilities/internal/hasForcedResolvers.js +20 -0
  1423. package/utilities/internal/hasForcedResolvers.js.map +1 -0
  1424. package/utilities/internal/index.d.ts +64 -0
  1425. package/utilities/internal/index.js +49 -0
  1426. package/utilities/internal/index.js.map +1 -0
  1427. package/utilities/internal/index.production.d.ts +3 -0
  1428. package/utilities/internal/index.production.js +7 -0
  1429. package/utilities/internal/index.production.js.map +1 -0
  1430. package/utilities/internal/isArray.d.ts +9 -0
  1431. package/utilities/internal/isArray.js +9 -0
  1432. package/utilities/internal/isArray.js.map +1 -0
  1433. package/utilities/internal/isDocumentNode.d.ts +8 -0
  1434. package/utilities/internal/isDocumentNode.js +12 -0
  1435. package/utilities/internal/isDocumentNode.js.map +1 -0
  1436. package/utilities/internal/isField.d.ts +8 -0
  1437. package/utilities/internal/isField.js +9 -0
  1438. package/utilities/internal/isField.js.map +1 -0
  1439. package/utilities/internal/isNonEmptyArray.d.ts +7 -0
  1440. package/utilities/internal/isNonEmptyArray.js +9 -0
  1441. package/utilities/internal/isNonEmptyArray.js.map +1 -0
  1442. package/utilities/internal/isNonNullObject.d.ts +7 -0
  1443. package/utilities/internal/isNonNullObject.js +9 -0
  1444. package/utilities/internal/isNonNullObject.js.map +1 -0
  1445. package/utilities/internal/isPlainObject.d.ts +7 -0
  1446. package/utilities/internal/isPlainObject.js +12 -0
  1447. package/utilities/internal/isPlainObject.js.map +1 -0
  1448. package/utilities/internal/makeReference.d.ts +8 -0
  1449. package/utilities/internal/makeReference.js +9 -0
  1450. package/utilities/internal/makeReference.js.map +1 -0
  1451. package/utilities/internal/makeUniqueId.d.ts +10 -0
  1452. package/utilities/internal/makeUniqueId.js +15 -0
  1453. package/utilities/internal/makeUniqueId.js.map +1 -0
  1454. package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
  1455. package/utilities/internal/maybeDeepFreeze.js +14 -0
  1456. package/utilities/internal/maybeDeepFreeze.js.map +1 -0
  1457. package/utilities/internal/mergeDeep.d.ts +8 -0
  1458. package/utilities/internal/mergeDeep.js +23 -0
  1459. package/utilities/internal/mergeDeep.js.map +1 -0
  1460. package/utilities/internal/mergeDeepArray.d.ts +7 -0
  1461. package/utilities/internal/mergeDeepArray.js +24 -0
  1462. package/utilities/internal/mergeDeepArray.js.map +1 -0
  1463. package/utilities/internal/mergeOptions.d.ts +10 -0
  1464. package/utilities/internal/mergeOptions.js +15 -0
  1465. package/utilities/internal/mergeOptions.js.map +1 -0
  1466. package/utilities/internal/omitDeep.d.ts +8 -0
  1467. package/utilities/internal/omitDeep.js +45 -0
  1468. package/utilities/internal/omitDeep.js.map +1 -0
  1469. package/utilities/internal/preventUnhandledRejection.d.ts +2 -0
  1470. package/utilities/internal/preventUnhandledRejection.js +5 -0
  1471. package/utilities/internal/preventUnhandledRejection.js.map +1 -0
  1472. package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
  1473. package/utilities/internal/removeDirectivesFromDocument.js +300 -0
  1474. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
  1475. package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
  1476. package/utilities/internal/resultKeyNameFromField.js +9 -0
  1477. package/utilities/internal/resultKeyNameFromField.js.map +1 -0
  1478. package/utilities/internal/shouldInclude.d.ts +8 -0
  1479. package/utilities/internal/shouldInclude.js +47 -0
  1480. package/utilities/internal/shouldInclude.js.map +1 -0
  1481. package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
  1482. package/utilities/internal/storeKeyNameFromField.js +26 -0
  1483. package/utilities/internal/storeKeyNameFromField.js.map +1 -0
  1484. package/utilities/internal/stringifyForDisplay.d.ts +7 -0
  1485. package/utilities/internal/stringifyForDisplay.js +15 -0
  1486. package/utilities/internal/stringifyForDisplay.js.map +1 -0
  1487. package/utilities/internal/toQueryResult.d.ts +8 -0
  1488. package/utilities/internal/toQueryResult.js +15 -0
  1489. package/utilities/internal/toQueryResult.js.map +1 -0
  1490. package/utilities/internal/types/ApplyHKT.d.ts +13 -0
  1491. package/utilities/internal/types/ApplyHKT.js +2 -0
  1492. package/utilities/internal/types/ApplyHKT.js.map +1 -0
  1493. package/utilities/internal/types/ApplyHKTImplementationWithDefault.d.ts +11 -0
  1494. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +2 -0
  1495. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -0
  1496. package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
  1497. package/utilities/internal/types/DecoratedPromise.js +2 -0
  1498. package/utilities/internal/types/DecoratedPromise.js.map +1 -0
  1499. package/utilities/internal/types/DeepOmit.d.ts +15 -0
  1500. package/utilities/internal/types/DeepOmit.js +2 -0
  1501. package/utilities/internal/types/DeepOmit.js.map +1 -0
  1502. package/utilities/internal/types/FragmentMap.d.ts +12 -0
  1503. package/utilities/internal/types/FragmentMap.js +2 -0
  1504. package/utilities/internal/types/FragmentMap.js.map +1 -0
  1505. package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
  1506. package/utilities/internal/types/FragmentMapFunction.js +2 -0
  1507. package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
  1508. package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
  1509. package/utilities/internal/types/FulfilledPromise.js +2 -0
  1510. package/utilities/internal/types/FulfilledPromise.js.map +1 -0
  1511. package/utilities/internal/types/IsAny.d.ts +7 -0
  1512. package/utilities/internal/types/IsAny.js +2 -0
  1513. package/utilities/internal/types/IsAny.js.map +1 -0
  1514. package/utilities/internal/types/NoInfer.d.ts +29 -0
  1515. package/utilities/internal/types/NoInfer.js +2 -0
  1516. package/utilities/internal/types/NoInfer.js.map +1 -0
  1517. package/utilities/internal/types/PendingPromise.d.ts +9 -0
  1518. package/utilities/internal/types/PendingPromise.js +2 -0
  1519. package/utilities/internal/types/PendingPromise.js.map +1 -0
  1520. package/utilities/internal/types/Prettify.d.ts +9 -0
  1521. package/utilities/internal/types/Prettify.js +2 -0
  1522. package/utilities/internal/types/Prettify.js.map +1 -0
  1523. package/utilities/internal/types/Primitive.d.ts +7 -0
  1524. package/utilities/internal/types/Primitive.js +2 -0
  1525. package/utilities/internal/types/Primitive.js.map +1 -0
  1526. package/utilities/internal/types/RejectedPromise.d.ts +10 -0
  1527. package/utilities/internal/types/RejectedPromise.js +2 -0
  1528. package/utilities/internal/types/RejectedPromise.js.map +1 -0
  1529. package/utilities/internal/types/RemoveIndexSignature.d.ts +9 -0
  1530. package/utilities/internal/types/RemoveIndexSignature.js +2 -0
  1531. package/utilities/internal/types/RemoveIndexSignature.js.map +1 -0
  1532. package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
  1533. package/utilities/internal/types/TupleToIntersection.js +2 -0
  1534. package/utilities/internal/types/TupleToIntersection.js.map +1 -0
  1535. package/utilities/internal/types/VariablesOption.d.ts +30 -0
  1536. package/utilities/internal/types/VariablesOption.js +2 -0
  1537. package/utilities/internal/types/VariablesOption.js.map +1 -0
  1538. package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
  1539. package/utilities/internal/valueToObjectRepresentation.js +41 -0
  1540. package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
  1541. package/utilities/invariant/index.d.ts +47 -0
  1542. package/utilities/invariant/index.development.d.ts +4 -0
  1543. package/utilities/invariant/index.development.js +12 -0
  1544. package/utilities/invariant/index.development.js.map +1 -0
  1545. package/utilities/invariant/index.js +90 -0
  1546. package/utilities/invariant/index.js.map +1 -0
  1547. package/utilities/policies/pagination.d.ts +29 -6
  1548. package/utilities/policies/pagination.js +89 -56
  1549. package/utilities/policies/pagination.js.map +1 -1
  1550. package/utilities/shared/canonicalStringify.d.ts +21 -0
  1551. package/utilities/shared/canonicalStringify.js +88 -0
  1552. package/utilities/shared/canonicalStringify.js.map +1 -0
  1553. package/utilities/subscriptions/relay/index.d.ts +8 -4
  1554. package/utilities/subscriptions/relay/index.js +29 -20
  1555. package/utilities/subscriptions/relay/index.js.map +1 -1
  1556. package/version.d.ts +3 -2
  1557. package/version.js +3 -2
  1558. package/version.js.map +1 -1
  1559. package/.changeset/README.md +0 -8
  1560. package/.changeset/config.json +0 -14
  1561. package/apollo-client.cjs +0 -9474
  1562. package/apollo-client.cjs.map +0 -1
  1563. package/apollo-client.min.cjs +0 -1
  1564. package/cache/cache.cjs +0 -2691
  1565. package/cache/cache.cjs.map +0 -1
  1566. package/cache/cache.cjs.native.js +0 -2691
  1567. package/cache/cache.d.cts +0 -1
  1568. package/cache/inmemory/fixPolyfills.d.ts +0 -1
  1569. package/cache/inmemory/fixPolyfills.js +0 -10
  1570. package/cache/inmemory/fixPolyfills.js.map +0 -1
  1571. package/cache/inmemory/fixPolyfills.native.d.ts +0 -2
  1572. package/cache/inmemory/fixPolyfills.native.js +0 -61
  1573. package/cache/inmemory/fixPolyfills.native.js.map +0 -1
  1574. package/cache/inmemory/object-canon.d.ts +0 -12
  1575. package/cache/inmemory/object-canon.js +0 -181
  1576. package/cache/inmemory/object-canon.js.map +0 -1
  1577. package/cache/package.json +0 -8
  1578. package/config/jest/areApolloErrorsEqual.d.ts +0 -3
  1579. package/config/jest/areApolloErrorsEqual.js +0 -23
  1580. package/config/jest/areApolloErrorsEqual.js.map +0 -1
  1581. package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
  1582. package/config/jest/areGraphQlErrorsEqual.js +0 -7
  1583. package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
  1584. package/config/jest/setup.d.ts +0 -3
  1585. package/config/jest/setup.js +0 -36
  1586. package/config/jest/setup.js.map +0 -1
  1587. package/core/LocalState.d.ts +0 -65
  1588. package/core/LocalState.js +0 -356
  1589. package/core/LocalState.js.map +0 -1
  1590. package/core/core.cjs +0 -2758
  1591. package/core/core.cjs.map +0 -1
  1592. package/core/core.cjs.native.js +0 -2758
  1593. package/core/core.d.cts +0 -1
  1594. package/core/package.json +0 -8
  1595. package/dev/dev.cjs +0 -628
  1596. package/dev/dev.cjs.map +0 -1
  1597. package/dev/dev.cjs.native.js +0 -628
  1598. package/dev/dev.d.cts +0 -1
  1599. package/dev/package.json +0 -8
  1600. package/errors/errors.cjs +0 -55
  1601. package/errors/errors.cjs.map +0 -1
  1602. package/errors/errors.cjs.native.js +0 -55
  1603. package/errors/errors.d.cts +0 -1
  1604. package/errors/package.json +0 -8
  1605. package/index.d.ts +0 -3
  1606. package/index.js +0 -3
  1607. package/index.js.map +0 -1
  1608. package/link/batch/batch.cjs +0 -159
  1609. package/link/batch/batch.cjs.map +0 -1
  1610. package/link/batch/batch.cjs.native.js +0 -159
  1611. package/link/batch/batch.d.cts +0 -1
  1612. package/link/batch/package.json +0 -8
  1613. package/link/batch-http/batch-http.cjs +0 -161
  1614. package/link/batch-http/batch-http.cjs.map +0 -1
  1615. package/link/batch-http/batch-http.cjs.native.js +0 -161
  1616. package/link/batch-http/batch-http.d.cts +0 -1
  1617. package/link/batch-http/package.json +0 -8
  1618. package/link/context/context.cjs +0 -38
  1619. package/link/context/context.cjs.map +0 -1
  1620. package/link/context/context.cjs.native.js +0 -38
  1621. package/link/context/context.d.cts +0 -1
  1622. package/link/context/package.json +0 -8
  1623. package/link/core/core.cjs +0 -115
  1624. package/link/core/core.cjs.map +0 -1
  1625. package/link/core/core.cjs.native.js +0 -115
  1626. package/link/core/core.d.cts +0 -1
  1627. package/link/core/index.d.ts +0 -9
  1628. package/link/core/index.js +0 -8
  1629. package/link/core/index.js.map +0 -1
  1630. package/link/core/package.json +0 -8
  1631. package/link/error/error.cjs +0 -100
  1632. package/link/error/error.cjs.map +0 -1
  1633. package/link/error/error.cjs.native.js +0 -100
  1634. package/link/error/error.d.cts +0 -1
  1635. package/link/error/package.json +0 -8
  1636. package/link/http/createHttpLink.d.ts +0 -4
  1637. package/link/http/createHttpLink.js +0 -156
  1638. package/link/http/createHttpLink.js.map +0 -1
  1639. package/link/http/http.cjs +0 -634
  1640. package/link/http/http.cjs.map +0 -1
  1641. package/link/http/http.cjs.native.js +0 -634
  1642. package/link/http/http.d.cts +0 -1
  1643. package/link/http/iterators/async.d.ts +0 -6
  1644. package/link/http/iterators/async.js +0 -18
  1645. package/link/http/iterators/async.js.map +0 -1
  1646. package/link/http/iterators/nodeStream.d.ts +0 -7
  1647. package/link/http/iterators/nodeStream.js +0 -75
  1648. package/link/http/iterators/nodeStream.js.map +0 -1
  1649. package/link/http/iterators/promise.d.ts +0 -6
  1650. package/link/http/iterators/promise.js +0 -32
  1651. package/link/http/iterators/promise.js.map +0 -1
  1652. package/link/http/iterators/reader.d.ts +0 -6
  1653. package/link/http/iterators/reader.js +0 -19
  1654. package/link/http/iterators/reader.js.map +0 -1
  1655. package/link/http/package.json +0 -8
  1656. package/link/http/responseIterator.d.ts +0 -7
  1657. package/link/http/responseIterator.js +0 -48
  1658. package/link/http/responseIterator.js.map +0 -1
  1659. package/link/persisted-queries/package.json +0 -8
  1660. package/link/persisted-queries/persisted-queries.cjs +0 -194
  1661. package/link/persisted-queries/persisted-queries.cjs.map +0 -1
  1662. package/link/persisted-queries/persisted-queries.cjs.native.js +0 -194
  1663. package/link/persisted-queries/persisted-queries.d.cts +0 -1
  1664. package/link/remove-typename/package.json +0 -8
  1665. package/link/remove-typename/remove-typename.cjs +0 -100
  1666. package/link/remove-typename/remove-typename.cjs.map +0 -1
  1667. package/link/remove-typename/remove-typename.cjs.native.js +0 -100
  1668. package/link/remove-typename/remove-typename.d.cts +0 -1
  1669. package/link/retry/package.json +0 -8
  1670. package/link/retry/retry.cjs +0 -123
  1671. package/link/retry/retry.cjs.map +0 -1
  1672. package/link/retry/retry.cjs.native.js +0 -123
  1673. package/link/retry/retry.d.cts +0 -1
  1674. package/link/schema/package.json +0 -8
  1675. package/link/schema/schema.cjs +0 -61
  1676. package/link/schema/schema.cjs.map +0 -1
  1677. package/link/schema/schema.cjs.native.js +0 -61
  1678. package/link/schema/schema.d.cts +0 -1
  1679. package/link/subscriptions/package.json +0 -8
  1680. package/link/subscriptions/subscriptions.cjs +0 -50
  1681. package/link/subscriptions/subscriptions.cjs.map +0 -1
  1682. package/link/subscriptions/subscriptions.cjs.native.js +0 -50
  1683. package/link/subscriptions/subscriptions.d.cts +0 -1
  1684. package/link/utils/fromError.d.ts +0 -3
  1685. package/link/utils/fromError.js +0 -7
  1686. package/link/utils/fromError.js.map +0 -1
  1687. package/link/utils/fromPromise.d.ts +0 -3
  1688. package/link/utils/fromPromise.js +0 -12
  1689. package/link/utils/fromPromise.js.map +0 -1
  1690. package/link/utils/package.json +0 -8
  1691. package/link/utils/throwServerError.d.ts +0 -7
  1692. package/link/utils/throwServerError.js +0 -9
  1693. package/link/utils/throwServerError.js.map +0 -1
  1694. package/link/utils/toPromise.d.ts +0 -3
  1695. package/link/utils/toPromise.js +0 -19
  1696. package/link/utils/toPromise.js.map +0 -1
  1697. package/link/utils/utils.cjs +0 -134
  1698. package/link/utils/utils.cjs.map +0 -1
  1699. package/link/utils/utils.cjs.native.js +0 -134
  1700. package/link/utils/utils.d.cts +0 -1
  1701. package/link/ws/package.json +0 -8
  1702. package/link/ws/ws.cjs +0 -28
  1703. package/link/ws/ws.cjs.map +0 -1
  1704. package/link/ws/ws.cjs.native.js +0 -28
  1705. package/link/ws/ws.d.cts +0 -1
  1706. package/main.cjs +0 -16
  1707. package/main.cjs.map +0 -1
  1708. package/main.cjs.native.js +0 -16
  1709. package/main.d.cts +0 -1
  1710. package/masking/__benches__/types.bench.d.ts +0 -2
  1711. package/masking/__benches__/types.bench.js +0 -222
  1712. package/masking/__benches__/types.bench.js.map +0 -1
  1713. package/masking/masking.cjs +0 -205
  1714. package/masking/masking.cjs.map +0 -1
  1715. package/masking/masking.cjs.native.js +0 -205
  1716. package/masking/masking.d.cts +0 -1
  1717. package/masking/package.json +0 -8
  1718. package/react/components/Mutation.d.ts +0 -18
  1719. package/react/components/Mutation.js +0 -28
  1720. package/react/components/Mutation.js.map +0 -1
  1721. package/react/components/Query.d.ts +0 -18
  1722. package/react/components/Query.js +0 -29
  1723. package/react/components/Query.js.map +0 -1
  1724. package/react/components/Subscription.d.ts +0 -18
  1725. package/react/components/Subscription.js +0 -23
  1726. package/react/components/Subscription.js.map +0 -1
  1727. package/react/components/components.cjs +0 -81
  1728. package/react/components/components.cjs.map +0 -1
  1729. package/react/components/components.cjs.native.js +0 -81
  1730. package/react/components/components.d.cts +0 -1
  1731. package/react/components/index.d.ts +0 -5
  1732. package/react/components/index.js +0 -4
  1733. package/react/components/index.js.map +0 -1
  1734. package/react/components/package.json +0 -8
  1735. package/react/components/types.d.ts +0 -21
  1736. package/react/components/types.js +0 -2
  1737. package/react/components/types.js.map +0 -1
  1738. package/react/context/context.cjs +0 -64
  1739. package/react/context/context.cjs.map +0 -1
  1740. package/react/context/context.cjs.native.js +0 -64
  1741. package/react/context/context.d.cts +0 -1
  1742. package/react/context/index.d.ts +0 -8
  1743. package/react/context/index.js +0 -5
  1744. package/react/context/index.js.map +0 -1
  1745. package/react/context/package.json +0 -8
  1746. package/react/hoc/graphql.d.ts +0 -11
  1747. package/react/hoc/graphql.js +0 -22
  1748. package/react/hoc/graphql.js.map +0 -1
  1749. package/react/hoc/hoc-utils.d.ts +0 -17
  1750. package/react/hoc/hoc-utils.js +0 -48
  1751. package/react/hoc/hoc-utils.js.map +0 -1
  1752. package/react/hoc/hoc.cjs +0 -322
  1753. package/react/hoc/hoc.cjs.map +0 -1
  1754. package/react/hoc/hoc.cjs.native.js +0 -322
  1755. package/react/hoc/hoc.d.cts +0 -1
  1756. package/react/hoc/index.d.ts +0 -8
  1757. package/react/hoc/index.js +0 -7
  1758. package/react/hoc/index.js.map +0 -1
  1759. package/react/hoc/mutation-hoc.d.ts +0 -12
  1760. package/react/hoc/mutation-hoc.js +0 -83
  1761. package/react/hoc/mutation-hoc.js.map +0 -1
  1762. package/react/hoc/package.json +0 -8
  1763. package/react/hoc/query-hoc.d.ts +0 -10
  1764. package/react/hoc/query-hoc.js +0 -81
  1765. package/react/hoc/query-hoc.js.map +0 -1
  1766. package/react/hoc/subscription-hoc.d.ts +0 -10
  1767. package/react/hoc/subscription-hoc.js +0 -90
  1768. package/react/hoc/subscription-hoc.js.map +0 -1
  1769. package/react/hoc/types.d.ts +0 -42
  1770. package/react/hoc/types.js +0 -2
  1771. package/react/hoc/types.js.map +0 -1
  1772. package/react/hoc/withApollo.d.ts +0 -9
  1773. package/react/hoc/withApollo.js +0 -48
  1774. package/react/hoc/withApollo.js.map +0 -1
  1775. package/react/hooks/hooks.cjs +0 -1262
  1776. package/react/hooks/hooks.cjs.map +0 -1
  1777. package/react/hooks/hooks.cjs.native.js +0 -1262
  1778. package/react/hooks/hooks.d.cts +0 -1
  1779. package/react/hooks/index.d.ts +0 -23
  1780. package/react/hooks/index.js +0 -16
  1781. package/react/hooks/index.js.map +0 -1
  1782. package/react/hooks/package.json +0 -8
  1783. package/react/internal/internal.cjs +0 -533
  1784. package/react/internal/internal.cjs.map +0 -1
  1785. package/react/internal/internal.cjs.native.js +0 -533
  1786. package/react/internal/internal.d.cts +0 -1
  1787. package/react/internal/package.json +0 -8
  1788. package/react/package.json +0 -8
  1789. package/react/parser/index.d.ts +0 -18
  1790. package/react/parser/index.js +0 -109
  1791. package/react/parser/index.js.map +0 -1
  1792. package/react/parser/package.json +0 -8
  1793. package/react/parser/parser.cjs +0 -122
  1794. package/react/parser/parser.cjs.map +0 -1
  1795. package/react/parser/parser.cjs.native.js +0 -122
  1796. package/react/parser/parser.d.cts +0 -1
  1797. package/react/react.cjs +0 -45
  1798. package/react/react.cjs.map +0 -1
  1799. package/react/react.cjs.native.js +0 -45
  1800. package/react/react.d.cts +0 -1
  1801. package/react/ssr/RenderPromises.d.ts +0 -22
  1802. package/react/ssr/RenderPromises.js +0 -107
  1803. package/react/ssr/RenderPromises.js.map +0 -1
  1804. package/react/ssr/package.json +0 -8
  1805. package/react/ssr/ssr.cjs +0 -150
  1806. package/react/ssr/ssr.cjs.map +0 -1
  1807. package/react/ssr/ssr.cjs.native.js +0 -150
  1808. package/react/ssr/ssr.d.cts +0 -1
  1809. package/react/types/types.d.ts +0 -816
  1810. package/react/types/types.js +0 -2
  1811. package/react/types/types.js.map +0 -1
  1812. package/testing/core/core.cjs +0 -370
  1813. package/testing/core/core.cjs.map +0 -1
  1814. package/testing/core/core.cjs.native.js +0 -370
  1815. package/testing/core/core.d.cts +0 -1
  1816. package/testing/core/index.d.ts +0 -9
  1817. package/testing/core/index.js +0 -8
  1818. package/testing/core/index.js.map +0 -1
  1819. package/testing/core/itAsync.d.ts +0 -6
  1820. package/testing/core/itAsync.js +0 -23
  1821. package/testing/core/itAsync.js.map +0 -1
  1822. package/testing/core/mocking/mockClient.d.ts +0 -5
  1823. package/testing/core/mocking/mockClient.js +0 -16
  1824. package/testing/core/mocking/mockClient.js.map +0 -1
  1825. package/testing/core/mocking/mockFetch.d.ts +0 -24
  1826. package/testing/core/mocking/mockFetch.js +0 -87
  1827. package/testing/core/mocking/mockFetch.js.map +0 -1
  1828. package/testing/core/package.json +0 -8
  1829. package/testing/core/subscribeAndCount.d.ts +0 -3
  1830. package/testing/core/subscribeAndCount.js +0 -21
  1831. package/testing/core/subscribeAndCount.js.map +0 -1
  1832. package/testing/core/wait.d.ts +0 -3
  1833. package/testing/core/wait.js +0 -16
  1834. package/testing/core/wait.js.map +0 -1
  1835. package/testing/core/withConsoleSpy.d.ts +0 -7
  1836. package/testing/core/withConsoleSpy.js +0 -45
  1837. package/testing/core/withConsoleSpy.js.map +0 -1
  1838. package/testing/core/wrap.d.ts +0 -4
  1839. package/testing/core/wrap.js +0 -30
  1840. package/testing/core/wrap.js.map +0 -1
  1841. package/testing/experimental/createSchemaFetch.d.ts +0 -43
  1842. package/testing/experimental/createSchemaFetch.js +0 -103
  1843. package/testing/experimental/createSchemaFetch.js.map +0 -1
  1844. package/testing/experimental/createTestSchema.d.ts +0 -57
  1845. package/testing/experimental/createTestSchema.js +0 -112
  1846. package/testing/experimental/createTestSchema.js.map +0 -1
  1847. package/testing/experimental/experimental.cjs +0 -276
  1848. package/testing/experimental/experimental.cjs.map +0 -1
  1849. package/testing/experimental/experimental.cjs.native.js +0 -276
  1850. package/testing/experimental/experimental.d.cts +0 -1
  1851. package/testing/experimental/graphql-tools/utils.d.ts +0 -26
  1852. package/testing/experimental/graphql-tools/utils.js +0 -172
  1853. package/testing/experimental/graphql-tools/utils.js.map +0 -1
  1854. package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
  1855. package/testing/experimental/graphql-tools/utils.test.js +0 -139
  1856. package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
  1857. package/testing/experimental/index.d.ts +0 -3
  1858. package/testing/experimental/index.js +0 -3
  1859. package/testing/experimental/index.js.map +0 -1
  1860. package/testing/experimental/package.json +0 -8
  1861. package/testing/internal/ObservableStream.d.ts +0 -28
  1862. package/testing/internal/ObservableStream.js +0 -123
  1863. package/testing/internal/ObservableStream.js.map +0 -1
  1864. package/testing/internal/disposables/enableFakeTimers.d.ts +0 -7
  1865. package/testing/internal/disposables/enableFakeTimers.js +0 -16
  1866. package/testing/internal/disposables/enableFakeTimers.js.map +0 -1
  1867. package/testing/internal/disposables/index.d.ts +0 -5
  1868. package/testing/internal/disposables/index.js +0 -5
  1869. package/testing/internal/disposables/index.js.map +0 -1
  1870. package/testing/internal/disposables/spyOnConsole.d.ts +0 -9
  1871. package/testing/internal/disposables/spyOnConsole.js +0 -35
  1872. package/testing/internal/disposables/spyOnConsole.js.map +0 -1
  1873. package/testing/internal/disposables/withCleanup.d.ts +0 -3
  1874. package/testing/internal/disposables/withCleanup.js +0 -14
  1875. package/testing/internal/disposables/withCleanup.js.map +0 -1
  1876. package/testing/internal/disposables/withProdMode.d.ts +0 -4
  1877. package/testing/internal/disposables/withProdMode.js +0 -10
  1878. package/testing/internal/disposables/withProdMode.js.map +0 -1
  1879. package/testing/internal/incremental.d.ts +0 -23
  1880. package/testing/internal/incremental.js +0 -124
  1881. package/testing/internal/incremental.js.map +0 -1
  1882. package/testing/internal/index.d.ts +0 -11
  1883. package/testing/internal/index.js +0 -9
  1884. package/testing/internal/index.js.map +0 -1
  1885. package/testing/internal/renderHelpers.d.ts +0 -23
  1886. package/testing/internal/renderHelpers.js +0 -30
  1887. package/testing/internal/renderHelpers.js.map +0 -1
  1888. package/testing/internal/rtl/actAsync.d.ts +0 -2
  1889. package/testing/internal/rtl/actAsync.js +0 -21
  1890. package/testing/internal/rtl/actAsync.js.map +0 -1
  1891. package/testing/internal/rtl/renderAsync.d.ts +0 -9
  1892. package/testing/internal/rtl/renderAsync.js +0 -23
  1893. package/testing/internal/rtl/renderAsync.js.map +0 -1
  1894. package/testing/internal/rtl/renderHookAsync.d.ts +0 -8
  1895. package/testing/internal/rtl/renderHookAsync.js +0 -46
  1896. package/testing/internal/rtl/renderHookAsync.js.map +0 -1
  1897. package/testing/internal/scenarios/index.d.ts +0 -85
  1898. package/testing/internal/scenarios/index.js +0 -71
  1899. package/testing/internal/scenarios/index.js.map +0 -1
  1900. package/testing/matchers/index.d.ts +0 -2
  1901. package/testing/matchers/index.js +0 -36
  1902. package/testing/matchers/index.js.map +0 -1
  1903. package/testing/matchers/toBeDisposed.d.ts +0 -3
  1904. package/testing/matchers/toBeDisposed.js +0 -17
  1905. package/testing/matchers/toBeDisposed.js.map +0 -1
  1906. package/testing/matchers/toBeGarbageCollected.d.ts +0 -8
  1907. package/testing/matchers/toBeGarbageCollected.js +0 -48
  1908. package/testing/matchers/toBeGarbageCollected.js.map +0 -1
  1909. package/testing/matchers/toComplete.d.ts +0 -4
  1910. package/testing/matchers/toComplete.js +0 -42
  1911. package/testing/matchers/toComplete.js.map +0 -1
  1912. package/testing/matchers/toEmitAnything.d.ts +0 -4
  1913. package/testing/matchers/toEmitAnything.js +0 -46
  1914. package/testing/matchers/toEmitAnything.js.map +0 -1
  1915. package/testing/matchers/toEmitApolloQueryResult.d.ts +0 -8
  1916. package/testing/matchers/toEmitApolloQueryResult.js +0 -51
  1917. package/testing/matchers/toEmitApolloQueryResult.js.map +0 -1
  1918. package/testing/matchers/toEmitError.d.ts +0 -7
  1919. package/testing/matchers/toEmitError.js +0 -59
  1920. package/testing/matchers/toEmitError.js.map +0 -1
  1921. package/testing/matchers/toEmitFetchResult.d.ts +0 -8
  1922. package/testing/matchers/toEmitFetchResult.js +0 -51
  1923. package/testing/matchers/toEmitFetchResult.js.map +0 -1
  1924. package/testing/matchers/toEmitMatchedValue.d.ts +0 -7
  1925. package/testing/matchers/toEmitMatchedValue.js +0 -51
  1926. package/testing/matchers/toEmitMatchedValue.js.map +0 -1
  1927. package/testing/matchers/toEmitNext.d.ts +0 -4
  1928. package/testing/matchers/toEmitNext.js +0 -42
  1929. package/testing/matchers/toEmitNext.js.map +0 -1
  1930. package/testing/matchers/toEmitValue.d.ts +0 -4
  1931. package/testing/matchers/toEmitValue.js +0 -53
  1932. package/testing/matchers/toEmitValue.js.map +0 -1
  1933. package/testing/matchers/toEmitValueStrict.d.ts +0 -7
  1934. package/testing/matchers/toEmitValueStrict.js +0 -56
  1935. package/testing/matchers/toEmitValueStrict.js.map +0 -1
  1936. package/testing/matchers/toEqualApolloQueryResult.d.ts +0 -6
  1937. package/testing/matchers/toEqualApolloQueryResult.js +0 -20
  1938. package/testing/matchers/toEqualApolloQueryResult.js.map +0 -1
  1939. package/testing/matchers/toEqualFetchResult.d.ts +0 -4
  1940. package/testing/matchers/toEqualFetchResult.js +0 -20
  1941. package/testing/matchers/toEqualFetchResult.js.map +0 -1
  1942. package/testing/matchers/toEqualQueryResult.d.ts +0 -9
  1943. package/testing/matchers/toEqualQueryResult.js +0 -40
  1944. package/testing/matchers/toEqualQueryResult.js.map +0 -1
  1945. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +0 -11
  1946. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +0 -24
  1947. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +0 -1
  1948. package/testing/matchers/toMatchDocument.d.ts +0 -4
  1949. package/testing/matchers/toMatchDocument.js +0 -33
  1950. package/testing/matchers/toMatchDocument.js.map +0 -1
  1951. package/testing/package.json +0 -8
  1952. package/testing/testing.cjs +0 -64
  1953. package/testing/testing.cjs.map +0 -1
  1954. package/testing/testing.cjs.native.js +0 -64
  1955. package/testing/testing.d.cts +0 -1
  1956. package/utilities/caching/caches.d.ts +0 -34
  1957. package/utilities/caching/caches.js +0 -69
  1958. package/utilities/caching/caches.js.map +0 -1
  1959. package/utilities/caching/getMemoryInternals.d.ts +0 -76
  1960. package/utilities/caching/getMemoryInternals.js +0 -112
  1961. package/utilities/caching/getMemoryInternals.js.map +0 -1
  1962. package/utilities/common/arrays.d.ts +0 -3
  1963. package/utilities/common/arrays.js +0 -6
  1964. package/utilities/common/arrays.js.map +0 -1
  1965. package/utilities/common/canUse.d.ts +0 -7
  1966. package/utilities/common/canUse.js +0 -26
  1967. package/utilities/common/canUse.js.map +0 -1
  1968. package/utilities/common/canonicalStringify.d.ts +0 -21
  1969. package/utilities/common/canonicalStringify.js +0 -84
  1970. package/utilities/common/canonicalStringify.js.map +0 -1
  1971. package/utilities/common/cloneDeep.d.ts +0 -5
  1972. package/utilities/common/cloneDeep.js +0 -38
  1973. package/utilities/common/cloneDeep.js.map +0 -1
  1974. package/utilities/common/compact.d.ts +0 -7
  1975. package/utilities/common/compact.js +0 -23
  1976. package/utilities/common/compact.js.map +0 -1
  1977. package/utilities/common/errorHandling.d.ts +0 -4
  1978. package/utilities/common/errorHandling.js +0 -19
  1979. package/utilities/common/errorHandling.js.map +0 -1
  1980. package/utilities/common/incrementalResult.d.ts +0 -7
  1981. package/utilities/common/incrementalResult.js +0 -39
  1982. package/utilities/common/incrementalResult.js.map +0 -1
  1983. package/utilities/common/makeUniqueId.d.ts +0 -2
  1984. package/utilities/common/makeUniqueId.js +0 -9
  1985. package/utilities/common/makeUniqueId.js.map +0 -1
  1986. package/utilities/common/maybeDeepFreeze.d.ts +0 -3
  1987. package/utilities/common/maybeDeepFreeze.js +0 -36
  1988. package/utilities/common/maybeDeepFreeze.js.map +0 -1
  1989. package/utilities/common/mergeDeep.d.ts +0 -14
  1990. package/utilities/common/mergeDeep.js +0 -89
  1991. package/utilities/common/mergeDeep.js.map +0 -1
  1992. package/utilities/common/mergeOptions.d.ts +0 -5
  1993. package/utilities/common/mergeOptions.js +0 -8
  1994. package/utilities/common/mergeOptions.js.map +0 -1
  1995. package/utilities/common/objects.d.ts +0 -3
  1996. package/utilities/common/objects.js +0 -10
  1997. package/utilities/common/objects.js.map +0 -1
  1998. package/utilities/common/omitDeep.d.ts +0 -3
  1999. package/utilities/common/omitDeep.js +0 -41
  2000. package/utilities/common/omitDeep.js.map +0 -1
  2001. package/utilities/common/stringifyForDisplay.d.ts +0 -2
  2002. package/utilities/common/stringifyForDisplay.js +0 -11
  2003. package/utilities/common/stringifyForDisplay.js.map +0 -1
  2004. package/utilities/globals/global.d.ts +0 -8
  2005. package/utilities/globals/global.js +0 -14
  2006. package/utilities/globals/global.js.map +0 -1
  2007. package/utilities/globals/globals.cjs +0 -119
  2008. package/utilities/globals/globals.cjs.map +0 -1
  2009. package/utilities/globals/globals.cjs.native.js +0 -119
  2010. package/utilities/globals/globals.d.cts +0 -1
  2011. package/utilities/globals/index.d.ts +0 -11
  2012. package/utilities/globals/index.js +0 -14
  2013. package/utilities/globals/index.js.map +0 -1
  2014. package/utilities/globals/invariantWrappers.d.ts +0 -64
  2015. package/utilities/globals/invariantWrappers.js +0 -84
  2016. package/utilities/globals/invariantWrappers.js.map +0 -1
  2017. package/utilities/globals/maybe.d.ts +0 -2
  2018. package/utilities/globals/maybe.js +0 -7
  2019. package/utilities/globals/maybe.js.map +0 -1
  2020. package/utilities/globals/package.json +0 -8
  2021. package/utilities/graphql/directives.d.ts +0 -20
  2022. package/utilities/graphql/directives.js +0 -112
  2023. package/utilities/graphql/directives.js.map +0 -1
  2024. package/utilities/graphql/fragments.d.ts +0 -35
  2025. package/utilities/graphql/fragments.js +0 -118
  2026. package/utilities/graphql/fragments.js.map +0 -1
  2027. package/utilities/graphql/getFromAST.d.ts +0 -15
  2028. package/utilities/graphql/getFromAST.js +0 -89
  2029. package/utilities/graphql/getFromAST.js.map +0 -1
  2030. package/utilities/observables/Concast.d.ts +0 -28
  2031. package/utilities/observables/Concast.js +0 -216
  2032. package/utilities/observables/Concast.js.map +0 -1
  2033. package/utilities/observables/Observable.d.ts +0 -6
  2034. package/utilities/observables/Observable.js +0 -17
  2035. package/utilities/observables/Observable.js.map +0 -1
  2036. package/utilities/observables/asyncMap.d.ts +0 -3
  2037. package/utilities/observables/asyncMap.js +0 -44
  2038. package/utilities/observables/asyncMap.js.map +0 -1
  2039. package/utilities/observables/iteration.d.ts +0 -3
  2040. package/utilities/observables/iteration.js +0 -9
  2041. package/utilities/observables/iteration.js.map +0 -1
  2042. package/utilities/observables/subclassing.d.ts +0 -3
  2043. package/utilities/observables/subclassing.js +0 -27
  2044. package/utilities/observables/subclassing.js.map +0 -1
  2045. package/utilities/package.json +0 -8
  2046. package/utilities/promises/decoration.d.ts +0 -17
  2047. package/utilities/promises/decoration.js +0 -39
  2048. package/utilities/promises/decoration.js.map +0 -1
  2049. package/utilities/promises/preventUnhandledRejection.d.ts +0 -2
  2050. package/utilities/promises/preventUnhandledRejection.js +0 -5
  2051. package/utilities/promises/preventUnhandledRejection.js.map +0 -1
  2052. package/utilities/subscriptions/relay/package.json +0 -8
  2053. package/utilities/subscriptions/relay/relay.cjs +0 -372
  2054. package/utilities/subscriptions/relay/relay.cjs.map +0 -1
  2055. package/utilities/subscriptions/relay/relay.cjs.native.js +0 -372
  2056. package/utilities/subscriptions/relay/relay.d.cts +0 -1
  2057. package/utilities/subscriptions/shared.d.ts +0 -9
  2058. package/utilities/subscriptions/shared.js +0 -7
  2059. package/utilities/subscriptions/shared.js.map +0 -1
  2060. package/utilities/subscriptions/urql/index.d.ts +0 -7
  2061. package/utilities/subscriptions/urql/index.js +0 -40
  2062. package/utilities/subscriptions/urql/index.js.map +0 -1
  2063. package/utilities/subscriptions/urql/package.json +0 -8
  2064. package/utilities/subscriptions/urql/urql.cjs +0 -368
  2065. package/utilities/subscriptions/urql/urql.cjs.map +0 -1
  2066. package/utilities/subscriptions/urql/urql.cjs.native.js +0 -368
  2067. package/utilities/subscriptions/urql/urql.d.cts +0 -1
  2068. package/utilities/types/DeepOmit.d.ts +0 -10
  2069. package/utilities/types/DeepOmit.js +0 -2
  2070. package/utilities/types/DeepOmit.js.map +0 -1
  2071. package/utilities/types/DeepPartial.d.ts +0 -12
  2072. package/utilities/types/DeepPartial.js +0 -6
  2073. package/utilities/types/DeepPartial.js.map +0 -1
  2074. package/utilities/types/IsStrictlyAny.d.ts +0 -5
  2075. package/utilities/types/IsStrictlyAny.js +0 -2
  2076. package/utilities/types/IsStrictlyAny.js.map +0 -1
  2077. package/utilities/types/NoInfer.d.ts +0 -27
  2078. package/utilities/types/NoInfer.js +0 -2
  2079. package/utilities/types/NoInfer.js.map +0 -1
  2080. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  2081. package/utilities/types/OnlyRequiredProperties.js +0 -2
  2082. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  2083. package/utilities/types/Prettify.d.ts +0 -4
  2084. package/utilities/types/Prettify.js +0 -2
  2085. package/utilities/types/Prettify.js.map +0 -1
  2086. package/utilities/types/Primitive.d.ts +0 -2
  2087. package/utilities/types/Primitive.js +0 -2
  2088. package/utilities/types/Primitive.js.map +0 -1
  2089. package/utilities/types/RemoveIndexSignature.d.ts +0 -4
  2090. package/utilities/types/RemoveIndexSignature.js +0 -2
  2091. package/utilities/types/RemoveIndexSignature.js.map +0 -1
  2092. package/utilities/types/TODO.d.ts +0 -3
  2093. package/utilities/types/TODO.js +0 -2
  2094. package/utilities/types/TODO.js.map +0 -1
  2095. package/utilities/types/UnionToIntersection.d.ts +0 -2
  2096. package/utilities/types/UnionToIntersection.js +0 -2
  2097. package/utilities/types/UnionToIntersection.js.map +0 -1
  2098. package/utilities/utilities.cjs +0 -1809
  2099. package/utilities/utilities.cjs.map +0 -1
  2100. package/utilities/utilities.cjs.native.js +0 -1809
  2101. package/utilities/utilities.d.cts +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,1805 @@
1
1
  # @apollo/client
2
2
 
3
+ ## 3.13.9-rc.0
4
+
5
+ ### Patch Changes
6
+
7
+ - [#12716](https://github.com/apollographql/apollo-client/pull/12716) [`ad88976`](https://github.com/apollographql/apollo-client/commit/ad889766882b4817e50e8e819044bc5ed772173b) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Version bump only to release latest as `rc`.
8
+
9
+ ## 4.0.0-alpha.23
10
+
11
+ ### Major Changes
12
+
13
+ - [#12712](https://github.com/apollographql/apollo-client/pull/12712) [`bbb2b61`](https://github.com/apollographql/apollo-client/commit/bbb2b61d259da54560a79813b130a977dae10523) Thanks [@jerelmiller](https://github.com/jerelmiller)! - An error is now thrown when trying to call `fetchMore` on a `cache-only` query.
14
+
15
+ - [#12712](https://github.com/apollographql/apollo-client/pull/12712) [`bbb2b61`](https://github.com/apollographql/apollo-client/commit/bbb2b61d259da54560a79813b130a977dae10523) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `cache-only` queries are no longer refetched when calling `client.reFetchObservableQueries` when `includeStandby` is `true`.
16
+
17
+ - [#12705](https://github.com/apollographql/apollo-client/pull/12705) [`a60f411`](https://github.com/apollographql/apollo-client/commit/a60f411e58cc67730d0dc4513e4045f004027ded) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `cache-only` queries will now initialize with `loading: false` and `networkStatus: NetworkStatus.ready` when there is no data in the cache.
18
+
19
+ This means `useQuery` will no longer render a short initial loading state before rendering `loading: false` and `ObservableQuery.getCurrentResult()` will now return `loading: false` immediately.
20
+
21
+ - [#12712](https://github.com/apollographql/apollo-client/pull/12712) [`bbb2b61`](https://github.com/apollographql/apollo-client/commit/bbb2b61d259da54560a79813b130a977dae10523) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `cache-only` queries are now excluded from `client.refetchQueries` in all situations. `cache-only` queries affected by `updateCache` are also excluded from `refetchQueries` when `onQueryUpdated` is not provided.
22
+
23
+ - [#12681](https://github.com/apollographql/apollo-client/pull/12681) [`b181f98`](https://github.com/apollographql/apollo-client/commit/b181f98476e635ba3eccab170c09d91f5408060c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Changing most options when rerendering `useQuery` will no longer trigger a `reobserve` which may cause network fetches. Instead, the changed options will be applied to the next cache update or fetch.
24
+
25
+ Options that now trigger a `reobserve` when changed between renders are:
26
+
27
+ - `query`
28
+ - `variables`
29
+ - `skip`
30
+ - Changing `fetchPolicy` to or from `standby`
31
+
32
+ - [#12714](https://github.com/apollographql/apollo-client/pull/12714) [`0e39469`](https://github.com/apollographql/apollo-client/commit/0e394692eaf0f8d8e506d8304935deafa952accf) Thanks [@phryneas](https://github.com/phryneas)! - Rework option handling for `fetchMore`.
33
+
34
+ - Previously, if the `query` option was specified, no options would be inherited
35
+ from the underlying `ObservableQuery`.
36
+ Now, even if `query` is specified, all unspecified options except for `variables` will be inherited from the underlying `ObservableQuery`.
37
+ - If `query` is not specified, `variables` will still be shallowly merged with the `variables` of the underlying `ObservableQuery`. If a `query` option is specified, the `variables` passed to `fetchMore` are used instead.
38
+ - `errorPolicy` of `fetchMore` will now always default to `"none"` instead of inherited from the `ObservableQuery` options. This can prevent accidental cache writes of partial data for a paginated query. To opt into receive partial data that may be written to the cache, pass an `errorPolicy` to `fetchMore` to override the default.
39
+
40
+ - [#12700](https://github.com/apollographql/apollo-client/pull/12700) [`8e96e08`](https://github.com/apollographql/apollo-client/commit/8e96e0862c306df17c09c232704041196a72a466) Thanks [@phryneas](https://github.com/phryneas)! - Added a new `Streaming` type that will mark `data` in results while `dataStatus`
41
+ is `"streaming"`.
42
+
43
+ `Streaming<TData>` defaults to `TData`, but can be overwritten in userland to
44
+ integrate with different codegen dialects.
45
+
46
+ You can override this type globally - this example shows how to override it
47
+ with `DeepPartial<TData>`:
48
+
49
+ ```ts
50
+ import { HKT, DeepPartial } from "@apollo/client/utilities";
51
+
52
+ type StreamingOverride<TData> = DeepPartial<TData>;
53
+
54
+ interface StreamingOverrideHKT extends HKT {
55
+ return: StreamingOverride<this["arg1"]>;
56
+ }
57
+
58
+ declare module "@apollo/client" {
59
+ export interface TypeOverrides {
60
+ Streaming: StreamingOverrideHKT;
61
+ }
62
+ }
63
+ ```
64
+
65
+ - [#12499](https://github.com/apollographql/apollo-client/pull/12499) [`ce35ea2`](https://github.com/apollographql/apollo-client/commit/ce35ea2b3a87d6dd6757e9be50ecc42837bebe56) Thanks [@phryneas](https://github.com/phryneas)! - Enable React compiler for hooks in ESM builds.
66
+
67
+ - [#12704](https://github.com/apollographql/apollo-client/pull/12704) [`45dba43`](https://github.com/apollographql/apollo-client/commit/45dba43b6ba0c306aad8cfbcfd4029265f5e9106) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `ErrorResponse` object passed to the `disable` and `retry` callback options provided to `createPersistedQueryLink` no longer provides separate `graphQLErrors` and `networkError` properties and instead have been combined to a single `error` property of type `ErrorLike`.
68
+
69
+ ```diff
70
+ // The following also applies to the `retry` function since it has the same signature
71
+ createPersistedQueryLink({
72
+ - disable: ({ graphQLErrors, networkError }) => {
73
+ + disable: ({ error }) => {
74
+ - if (graphQLErrors) {
75
+ + if (CombinedGraphQLErrors.is(error)) {
76
+ // ... handle GraphQL errors
77
+ }
78
+
79
+ - if (networkError) {
80
+ + if (error) {
81
+ // ... handle link errors
82
+ }
83
+
84
+ // optionally check for a specific kind of error
85
+ - if (networkError) {
86
+ + if (ServerError.is(error)) {
87
+ // ... handle a server error
88
+ }
89
+ });
90
+ ```
91
+
92
+ The `response` property has also been renamed to `result`.
93
+
94
+ ```diff
95
+ createPersistedQueryLink({
96
+ - disable: ({ response }) => {
97
+ + disable: ({ result }) => {
98
+ // ... handle GraphQL errors
99
+ }
100
+ }
101
+ });
102
+ ```
103
+
104
+ - [#12712](https://github.com/apollographql/apollo-client/pull/12712) [`bbb2b61`](https://github.com/apollographql/apollo-client/commit/bbb2b61d259da54560a79813b130a977dae10523) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `cache-only` queries no longer poll when a `pollInterval` is set. Instead a warning is now emitted that polling has no effect. If the `fetchPolicy` is changed to `cache-only` after polling is already active, polling is stopped.
105
+
106
+ - [#12704](https://github.com/apollographql/apollo-client/pull/12704) [`45dba43`](https://github.com/apollographql/apollo-client/commit/45dba43b6ba0c306aad8cfbcfd4029265f5e9106) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `response` property in `onError` link has been renamed to `result`.
107
+
108
+ ```diff
109
+ - onError(({ response }) => {
110
+ + onError(({ result }) => {
111
+ // ...
112
+ });
113
+ ```
114
+
115
+ - [#12715](https://github.com/apollographql/apollo-client/pull/12715) [`0be0b3f`](https://github.com/apollographql/apollo-client/commit/0be0b3f54a1b533c95c69d3698c5c3bdbd6279fe) Thanks [@phryneas](https://github.com/phryneas)! - All links are now available as classes. The old creator functions have been deprecated.
116
+
117
+ Please migrate these function calls to class creations:
118
+
119
+ ```diff
120
+ import {
121
+ - setContext
122
+ + SetContextLink
123
+ } from "@apollo/client/link/context"
124
+
125
+ -const link = setContext(...)
126
+ +const link = new SetContextLink(...)
127
+ ```
128
+
129
+ ```diff
130
+ import {
131
+ - createHttpLink
132
+ + HttpLink
133
+ } from "@apollo/client/link/http"
134
+
135
+ -const link = createHttpLink(...)
136
+ +const link = new HttpLink(...)
137
+ ```
138
+
139
+ ```diff
140
+ import {
141
+ - createPersistedQueryLink
142
+ + PersistedQueryLink
143
+ } from "@apollo/client/link/persisted-queries"
144
+
145
+ -const link = createPersistedQueryLink(...)
146
+ +const link = new PersistedQueryLink(...)
147
+ ```
148
+
149
+ ```diff
150
+ import {
151
+ - removeTypenameFromVariables
152
+ + RemoveTypenameFromVariablesLink
153
+ } from "@apollo/client/link/remove-typename"
154
+
155
+ -const link = removeTypenameFromVariables(...)
156
+ +const link = new RemoveTypenameFromVariablesLink(...)
157
+ ```
158
+
159
+ ### Minor Changes
160
+
161
+ - [#12711](https://github.com/apollographql/apollo-client/pull/12711) [`f730f83`](https://github.com/apollographql/apollo-client/commit/f730f83346d4e3c20116da6f55fdd1381114416c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add an `extensions` property to `CombinedGraphQLErrors` to capture any extensions from the original response.
162
+
163
+ - [#12700](https://github.com/apollographql/apollo-client/pull/12700) [`8e96e08`](https://github.com/apollographql/apollo-client/commit/8e96e0862c306df17c09c232704041196a72a466) Thanks [@phryneas](https://github.com/phryneas)! - The callback function that can be passed to the `ApolloClient.mutate`
164
+ `refetchQueries` option will now receive a `FormattedExecutionResult` with an
165
+ additional `dataState` option that describes if the result is `"streaming"`
166
+ or `"complete"`.
167
+ This indicates whether the `data` value is of type
168
+
169
+ - `Unmasked<TData>` (if `"complete"`)
170
+ - `Streaming<Unmasked<TData>>` (if `"streaming"`)
171
+
172
+ - [#12714](https://github.com/apollographql/apollo-client/pull/12714) [`0e39469`](https://github.com/apollographql/apollo-client/commit/0e394692eaf0f8d8e506d8304935deafa952accf) Thanks [@phryneas](https://github.com/phryneas)! - Allow passing `errorPolicy` option to `fetchMore` and change default value to "none".
173
+
174
+ - [#12714](https://github.com/apollographql/apollo-client/pull/12714) [`0e39469`](https://github.com/apollographql/apollo-client/commit/0e394692eaf0f8d8e506d8304935deafa952accf) Thanks [@phryneas](https://github.com/phryneas)! - The `FetchMoreQueryOptions` type has been inlined into `FetchMoreOptions`, and
175
+ `FetchMoreQueryOptions` has been removed.
176
+
177
+ - [#12700](https://github.com/apollographql/apollo-client/pull/12700) [`8e96e08`](https://github.com/apollographql/apollo-client/commit/8e96e0862c306df17c09c232704041196a72a466) Thanks [@phryneas](https://github.com/phryneas)! - Prioritize usage of `FormattedExecutionResult` over `FetchResult` where applicable.
178
+
179
+ Many APIs used `FetchResult` in place of `FormattedExecutionResult`, which could
180
+ cause inconsistencies.
181
+
182
+ - `FetchResult` is now used to refer to an unhandled "raw" result as returned from
183
+ a link.
184
+ This can also include incremental results that use a different format.
185
+ - `FormattedExecutionResult` from the `graphql` package is now used to represent
186
+ the execution of a standard GraphQL request without incremental results.
187
+
188
+ If your custom links access the `data` property, you might need to first check if
189
+ the result is a standard GraphQL result by using the `isFormattedExecutionResult`
190
+ helper from `@apollo/client/utilities`.
191
+
192
+ - [#12700](https://github.com/apollographql/apollo-client/pull/12700) [`8e96e08`](https://github.com/apollographql/apollo-client/commit/8e96e0862c306df17c09c232704041196a72a466) Thanks [@phryneas](https://github.com/phryneas)! - The `mutationResult` option passed to the `updateQueries` callback now has an
193
+ additional property, `dataState` with possible values of `"complete"` and `"streaming"`.
194
+ This indicates whether the `data` value is of type
195
+ - `Unmasked<TData>` (if `"complete"`)
196
+ - `Streaming<Unmasked<TData>>` (if `"streaming"`)
197
+
198
+ ### Patch Changes
199
+
200
+ - [#12709](https://github.com/apollographql/apollo-client/pull/12709) [`9d42e2a`](https://github.com/apollographql/apollo-client/commit/9d42e2a08d3ddfdfdfc7ac65bd66985da5642e7d) Thanks [@phryneas](https://github.com/phryneas)! - Remove these incremental-format-specific types:
201
+
202
+ - `ExecutionPatchIncrementalResult`
203
+ - `ExecutionPatchInitialResult`
204
+ - `ExecutionPatchResult`
205
+ - `IncrementalPayload`
206
+ - `Path`
207
+
208
+ - [#12677](https://github.com/apollographql/apollo-client/pull/12677) [`94e58ed`](https://github.com/apollographql/apollo-client/commit/94e58ed75fc547ff037d9efeeba929fd61b20c4c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Downgrade minimum supported `rxjs` peer dependency version to 7.3.0.
209
+
210
+ - [#12709](https://github.com/apollographql/apollo-client/pull/12709) [`9d42e2a`](https://github.com/apollographql/apollo-client/commit/9d42e2a08d3ddfdfdfc7ac65bd66985da5642e7d) Thanks [@phryneas](https://github.com/phryneas)! - Slightly rework multipart response parsing.
211
+
212
+ This removes last incremental-protocol-specific details from `HttpLink` and `BatchHttpLink`.
213
+
214
+ - [#12700](https://github.com/apollographql/apollo-client/pull/12700) [`8e96e08`](https://github.com/apollographql/apollo-client/commit/8e96e0862c306df17c09c232704041196a72a466) Thanks [@phryneas](https://github.com/phryneas)! - The incremental delivery (`@defer` support) implementation is now pluggable.
215
+
216
+ `ApolloClient` now per default ships without an incremental format implementation
217
+ and allows you to swap in the format that you want to use.
218
+
219
+ Usage looks like this:
220
+
221
+ ```ts
222
+ import {
223
+ // this is the default
224
+ NotImplementedHandler,
225
+ // this implements the `@defer` transport format that ships with Apollo Router
226
+ Defer20220824Handler,
227
+ // this implements the `@defer` transport format that ships with GraphQL 17.0.0-alpha.2
228
+ GraphQL17Alpha2Handler,
229
+ } from "@apollo/client/incremental";
230
+
231
+ const client = new ApolloClient({
232
+ cache: new InMemoryCache({
233
+ /*...*/
234
+ }),
235
+ link: new HttpLink({
236
+ /*...*/
237
+ }),
238
+ incrementalHandler: new Defer20220824Handler(),
239
+ });
240
+ ```
241
+
242
+ We will add handlers for other response formats that can be swapped this way
243
+ during the lifetime of Apollo Client 4.0.
244
+
245
+ ## 4.0.0-alpha.22
246
+
247
+ ### Major Changes
248
+
249
+ - [#12673](https://github.com/apollographql/apollo-client/pull/12673) [`cee90ab`](https://github.com/apollographql/apollo-client/commit/cee90abcd2a9c91c5fdf872cf2d1c12deaa6593e) Thanks [@phryneas](https://github.com/phryneas)! - The `includeExtensions` option of `HttpLink` and `BatchHttpLink` now defaults
250
+ to `true`.
251
+
252
+ If `includeExtensions` is `true`, but `extensions` is not set or empty, extensions
253
+ will not be included in outgoing requests.
254
+
255
+ - [#12673](https://github.com/apollographql/apollo-client/pull/12673) [`cee90ab`](https://github.com/apollographql/apollo-client/commit/cee90abcd2a9c91c5fdf872cf2d1c12deaa6593e) Thanks [@phryneas](https://github.com/phryneas)! - The `ApolloClient` constructor options `name` and `version` that are used to
256
+ configure the client awareness feature have moved onto a `clientAwareness` key.
257
+
258
+ ```diff
259
+ const client = new ApolloClient({
260
+ // ..
261
+ - name: "my-app",
262
+ - version: "1.0.0",
263
+ + clientAwareness: {
264
+ + name: "my-app",
265
+ + version: "1.0.0",
266
+ + },
267
+ });
268
+ ```
269
+
270
+ - [#12690](https://github.com/apollographql/apollo-client/pull/12690) [`5812759`](https://github.com/apollographql/apollo-client/commit/5812759b6659df49277635e89492c0d72c3b57d6) Thanks [@phryneas](https://github.com/phryneas)! - Aliasing any other field to `__typename` is now forbidden.
271
+
272
+ - [#12690](https://github.com/apollographql/apollo-client/pull/12690) [`5812759`](https://github.com/apollographql/apollo-client/commit/5812759b6659df49277635e89492c0d72c3b57d6) Thanks [@phryneas](https://github.com/phryneas)! - Aliasing a field to an alias beginning with `__ac_` is now forbidden - this namespace is now reserved for internal use.
273
+
274
+ - [#12673](https://github.com/apollographql/apollo-client/pull/12673) [`cee90ab`](https://github.com/apollographql/apollo-client/commit/cee90abcd2a9c91c5fdf872cf2d1c12deaa6593e) Thanks [@phryneas](https://github.com/phryneas)! - Adds enhanced client awareness to the client.
275
+
276
+ `HttpLink` and `BatchHttpLink` will now per default send information about the
277
+ client library you are using in `extensions`.
278
+
279
+ This could look like this:
280
+
281
+ ```json
282
+ {
283
+ "query": "query GetUser($id: ID!) { user(id: $id) { __typename id name } }",
284
+ "variables": {
285
+ "id": 5
286
+ },
287
+ "extensions": {
288
+ "clientLibrary": {
289
+ "name": "@apollo/client",
290
+ "version": "4.0.0"
291
+ }
292
+ }
293
+ }
294
+ ```
295
+
296
+ This feature can be disabled by passing `enhancedClientAwareness: { transport: false }` to your
297
+ `ApolloClient`, `HttpLink` or `BatchHttpLink` constructor options.
298
+
299
+ ### Minor Changes
300
+
301
+ - [#12698](https://github.com/apollographql/apollo-client/pull/12698) [`be77d1a`](https://github.com/apollographql/apollo-client/commit/be77d1a6ddf719cab4780a0679fcd98556ac7f22) Thanks [@phryneas](https://github.com/phryneas)! - Adjusted the accept header for multipart requests according to the new GraphQL over HTTP spec with these changes:
302
+
303
+ ```diff
304
+ -multipart/mixed;boundary=graphql;subscriptionSpec=1.0,application/json
305
+ +multipart/mixed;boundary=graphql;subscriptionSpec=1.0,application/graphql-response+json,application/json;q=0.9
306
+ ```
307
+
308
+ ```diff
309
+ -multipart/mixed;deferSpec=20220824,application/json
310
+ +multipart/mixed;deferSpec=20220824,application/graphql-response+json,application/json;q=0.9
311
+ ```
312
+
313
+ - [#12673](https://github.com/apollographql/apollo-client/pull/12673) [`cee90ab`](https://github.com/apollographql/apollo-client/commit/cee90abcd2a9c91c5fdf872cf2d1c12deaa6593e) Thanks [@phryneas](https://github.com/phryneas)! - Add the new `ClientAwarenessLink`.
314
+
315
+ This link is already included in `HttpLink` and `BatchHttpLink` to enable the
316
+ "client awareness" and "enhanced client awareness" features, but you can also use
317
+ `ClientAwarenessLink` directly in your link chain to combine it with other
318
+ terminating links.
319
+
320
+ If you want to save the bundle size that `ClientAwarenessLink` adds to `HttpLink`
321
+ and `BatchHttpLink`, you can use `BaseHttpLink` or `BaseBatchHttpLink` instead.
322
+ These links come without the `ClientAwarenessLink` included.
323
+
324
+ For example:
325
+
326
+ ```diff
327
+ import {
328
+ ApolloClient,
329
+ - HttpLink,
330
+ } from "@apollo/client";
331
+ +import { BaseHttpLink } from "@apollo/client/link/http";
332
+
333
+ const client = new ApolloClient({
334
+ - link: new HttpLink({
335
+ + link: new BaseHttpLink({
336
+ uri,
337
+ }),
338
+ cache: new InMemoryCache(),
339
+ });
340
+ ```
341
+
342
+ - [#12698](https://github.com/apollographql/apollo-client/pull/12698) [`be77d1a`](https://github.com/apollographql/apollo-client/commit/be77d1a6ddf719cab4780a0679fcd98556ac7f22) Thanks [@phryneas](https://github.com/phryneas)! - Adds an `accept` option to `HttpOptions` that allows to add additional `Accept` headers to be merged in without overriding user-specified or default accept headers.
343
+
344
+ ### Patch Changes
345
+
346
+ - [#12673](https://github.com/apollographql/apollo-client/pull/12673) [`cee90ab`](https://github.com/apollographql/apollo-client/commit/cee90abcd2a9c91c5fdf872cf2d1c12deaa6593e) Thanks [@phryneas](https://github.com/phryneas)! - Fixed a bug in `PersistedQueryLink` where the `persistedQuery` extension would still be sent after a `PersistedQueryNotSupported` if `includeExtensions` was enabled on `HttpLink`.
347
+
348
+ ## 4.0.0-alpha.21
349
+
350
+ ### Major Changes
351
+
352
+ - [#12686](https://github.com/apollographql/apollo-client/pull/12686) [`dc4b1d0`](https://github.com/apollographql/apollo-client/commit/dc4b1d0d2479a37067113b7bd161a550fb8e4df6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - A `@defer` query that has not yet finished streaming is now considered loading and thus the `loading` flag will be `true` until the response has completed. A new `NetworkStatus.streaming` value has been introduced and will be set as the `networkStatus` while the response is streaming.
353
+
354
+ - [#12685](https://github.com/apollographql/apollo-client/pull/12685) [`3b74800`](https://github.com/apollographql/apollo-client/commit/3b748003df89ec69a6ad045fb47bbe9c3e62104c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the check and warning for `cache.fragmentMatches` when applying data masking. `cache.fragmentMatches` is a required API and data masking may crash when `cache.fragmentMatches` does not exist.
355
+
356
+ - [#12684](https://github.com/apollographql/apollo-client/pull/12684) [`e697431`](https://github.com/apollographql/apollo-client/commit/e697431a9995fd1900e625c30a9065edd71111d9) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `context` from `useLazyQuery` hook options. If used, `context` must now be provided to the `execute` function. `context` will reset to `{}` if not provided as an option to `execute`.
357
+
358
+ ## 4.0.0-alpha.20
359
+
360
+ ### Major Changes
361
+
362
+ - [#12675](https://github.com/apollographql/apollo-client/pull/12675) [`8f1d974`](https://github.com/apollographql/apollo-client/commit/8f1d974881ff54339b6b6593a219ba6d5fd013c0) Thanks [@phryneas](https://github.com/phryneas)! - `ObservableQuery` no longer has a `queryId` property.
363
+ `ApolloClient.getObservableQueries` no longer returns a `Map<string, ObservableQuery>`, but a `Set<ObservableQuery>`.
364
+
365
+ - [#12647](https://github.com/apollographql/apollo-client/pull/12647) [`a70fac6`](https://github.com/apollographql/apollo-client/commit/a70fac6dd8f26b46c813723a7206e55bfb677690) Thanks [@phryneas](https://github.com/phryneas)! - `ObservableQuery`s will now only be registered with the `ApolloClient` while they
366
+ have subscribers.
367
+
368
+ That means that `ApolloClient.getObservableQueries` and `ApolloClient.refetchQueries`
369
+ will only be able to return/refetch queries that have at least one subscriber.
370
+
371
+ This changes the previous meaning of `active` and `inactive` queries:
372
+
373
+ - `inactive` queries are queries with a subscriber that are skipped from a
374
+ React hook or have a `fetchPolicy` of `standby`
375
+ - `active` queries are queries with at least one subscriber that are not skipped or in `standby`.
376
+
377
+ `ObservableQuery`s without subscribers but with an active ongoing network request
378
+ (e.g. caused by calling `reobserve`) will be handled as if they had a subscriber
379
+ for the duration of the query.
380
+
381
+ - [#12678](https://github.com/apollographql/apollo-client/pull/12678) [`91a876b`](https://github.com/apollographql/apollo-client/commit/91a876b059042828e431931e7a3c2e0365c387b8) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `queryRef`s created by `preloadQuery` no longer have a `.toPromise()` function. Instead `preloadQuery` now has a `toPromise` function that accepts a queryRef and will resolve when the underlying promise has been resolved.
382
+
383
+ ```diff
384
+ const queryRef = preloadQuery(query, options);
385
+
386
+ - await queryRef.toPromise();
387
+ + await preloadQuery.toPromise(queryRef);
388
+ ```
389
+
390
+ - [#12647](https://github.com/apollographql/apollo-client/pull/12647) [`a70fac6`](https://github.com/apollographql/apollo-client/commit/a70fac6dd8f26b46c813723a7206e55bfb677690) Thanks [@phryneas](https://github.com/phryneas)! - `ApolloClient.stop()` now cleans up more agressively to prevent memory leaks:
391
+
392
+ - It will now unsubscribe all active `ObservableQuery` instances by emitting a `completed` event.
393
+ - It will now reject all currently running queries with `"QueryManager stopped while query was in flight"`.
394
+ - It will remove all queryRefs from the suspense cache.
395
+
396
+ ### Minor Changes
397
+
398
+ - [#12647](https://github.com/apollographql/apollo-client/pull/12647) [`a70fac6`](https://github.com/apollographql/apollo-client/commit/a70fac6dd8f26b46c813723a7206e55bfb677690) Thanks [@phryneas](https://github.com/phryneas)! - Added a new `.stop` function on `ObservableQuery`.
399
+ Calling this method will unsubscribe all current subscribers by sending a `complete` event from the observable and tear down the `ObservableQuery`.
400
+
401
+ ## 4.0.0-alpha.19
402
+
403
+ ### Major Changes
404
+
405
+ - [#12663](https://github.com/apollographql/apollo-client/pull/12663) [`01512f2`](https://github.com/apollographql/apollo-client/commit/01512f2429dd394fb72b8ba9284047a09ade666f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Unsubscribing from an `ObservableQuery` before a value has been emitted will remove the query from the tracked list of queries and will no longer be eligible for query deduplication.
406
+
407
+ ### Minor Changes
408
+
409
+ - [#12663](https://github.com/apollographql/apollo-client/pull/12663) [`01512f2`](https://github.com/apollographql/apollo-client/commit/01512f2429dd394fb72b8ba9284047a09ade666f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Subscriptions created by `client.subscribe()` can now be restarted. Restarting a subscription will terminate the connection with the link chain and recreate the request. Restarts also work across deduplicated subscriptions so calling `restart` on an `observable` who's request is deduplicated will restart the connection for each observable.
410
+
411
+ ```ts
412
+ const observable = client.subscribe({ query: subscription });
413
+
414
+ // Restart the connection to the link
415
+ observable.restart();
416
+ ```
417
+
418
+ - [#12663](https://github.com/apollographql/apollo-client/pull/12663) [`01512f2`](https://github.com/apollographql/apollo-client/commit/01512f2429dd394fb72b8ba9284047a09ade666f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Deduplicating subscription operations is now supported. Previously it was possible to deduplicate a subscription only if the new subscription was created before a previously subscribed subscription emitted any values. As soon as a value was emitted from a subscription, new subscriptions would create new connections. Deduplication is now active for as long as a subscription connection is open (i.e. the source observable hasn't emitted a `complete` or `error` notification yet.)
419
+
420
+ To disable deduplication and force a new connection, use the `queryDeduplication` option in `context` like you would a query operation.
421
+
422
+ As a result of this change, calling the `restart` function returned from `useSubscription` will now restart the connection on deduplicated subscriptions.
423
+
424
+ ## 4.0.0-alpha.18
425
+
426
+ ### Minor Changes
427
+
428
+ - [#12670](https://github.com/apollographql/apollo-client/pull/12670) [`0a880ea`](https://github.com/apollographql/apollo-client/commit/0a880ea4c2360a985fdd2edadb94fcc4b82bad73) Thanks [@phryneas](https://github.com/phryneas)! - Provide a mechanism to override the DataMasking types.
429
+
430
+ Up until now, our types `Masked`, `MaskedDocumentNode`, `FragmentType`, `MaybeMasked` and `Unmasked` would assume that you are stictly using the type output format of GraphQL Codegen.
431
+
432
+ With this change, you can now modify the behaviour of those types if you use a different form of codegen that produces different types for your queries.
433
+
434
+ A simple implementation that would override the `Masked` type to remove all fields starting with `_` from a type would look like this:
435
+
436
+ ```ts
437
+ // your actual implementation of `Masked`
438
+ type CustomMaskedImplementation<TData> = {
439
+ [K in keyof TData as K extends `_${string}` ? never : K]: TData[K];
440
+ };
441
+
442
+ import { HKT } from "@apollo/client/utilities";
443
+ // transform this type into a higher kinded type that can be evaulated at a later time
444
+ interface CustomMaskedType extends HKT {
445
+ arg1: unknown; // TData
446
+ return: CustomMaskedImplementation<this["arg1"]>;
447
+ }
448
+
449
+ // create an "implementation interface" for the types you want to override
450
+ export interface CustomDataMaskingImplementation {
451
+ Masked: CustomMaskedType;
452
+ // other possible keys: `MaskedDocumentNode`, `FragmentType`, `MaybeMasked` and `Unmasked`
453
+ }
454
+ ```
455
+
456
+ then you would use that `CustomDataMaskingImplementation` interface in your project to extend the `TypeOverrides` interface exported by `@apollo/client` with it's functionality:
457
+
458
+ ```ts
459
+ declare module "@apollo/client" {
460
+ export interface TypeOverrides extends CustomDataMaskingImplementation {}
461
+ }
462
+ ```
463
+
464
+ After that, all internal usage of `Masked` in Apollo Client as well as all usage in your code base will use the new `CustomMaskedType` implementation.
465
+
466
+ If you don't specify overrides, Apollo Client will still default to the GraphQL Codegen data masking implementation.
467
+ The types for that are also explicitly exported as the `GraphQLCodegenDataMasking` namespace in `@apollo/client/masking`.
468
+
469
+ ## 4.0.0-alpha.17
470
+
471
+ ### Major Changes
472
+
473
+ - [#12649](https://github.com/apollographql/apollo-client/pull/12649) [`0be92ad`](https://github.com/apollographql/apollo-client/commit/0be92ad51cf8de444fa1cc507bab2c21d230a44e) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `TData` generic provided to types that return a `dataState` property is now modified by the given `DataState` generic instead of passing a modified `TData` type. For example, a `QueryRef` that could return partial data was defined as `QueryRef<DeepPartial<TData>, TVariables>`. Now `TData` should be provided unmodified and a set of allowed states should be given instead: `QueryRef<TData, TVariables, 'complete' | 'streaming' | 'partial'>`.
474
+
475
+ To migrate, use the following guide to replace your type with the right set of states (all types listed below are changed the same way):
476
+
477
+ ```diff
478
+ - QueryRef<TData, TVariables>
479
+ // `QueryRef`'s default is 'complete' | 'streaming' so this can also be left alone if you prefer
480
+ // All other types affected by this change default to all states
481
+ + QueryRef<TData, TVariables>
482
+ + QueryRef<TData, TVariables, 'complete' | 'streaming'>
483
+
484
+ - QueryRef<TData | undefined, TVariables>
485
+ + QueryRef<TData, TVariables, 'complete' | 'streaming' | 'empty'>
486
+
487
+ - QueryRef<DeepPartial<TData>, TVariables>
488
+ + QueryRef<TData, TVariables, 'complete' | 'streaming' | 'partial'>
489
+
490
+ - QueryRef<DeepPartial<TData> | undefined, TVariables>
491
+ + QueryRef<TData, TVariables, 'complete' | 'streaming' | 'partial' | 'empty'>
492
+ ```
493
+
494
+ The following types are affected. Provide the allowed `dataState` values to the `TDataState` generic:
495
+
496
+ - `ApolloQueryResult`
497
+ - `QueryRef`
498
+ - `PreloadedQueryRef`
499
+ - `useLazyQuery.Result`
500
+ - `useQuery.Result`
501
+ - `useReadQuery.Result`
502
+ - `useSuspenseQuery.Result`
503
+
504
+ All `*QueryRef` types default to `complete | streaming` states while the rest of the types default to `'complete' | 'streaming' | 'partial' | 'empty'` states. You shouldn't need to provide the states unless you need to either allow for partial data/empty values (`*QueryRef`) or a restricted set of states.
505
+
506
+ - [#12649](https://github.com/apollographql/apollo-client/pull/12649) [`0be92ad`](https://github.com/apollographql/apollo-client/commit/0be92ad51cf8de444fa1cc507bab2c21d230a44e) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the deprecated `QueryReference` type. Please use `QueryRef` instead.
507
+
508
+ - [#12633](https://github.com/apollographql/apollo-client/pull/12633) [`9bfb51f`](https://github.com/apollographql/apollo-client/commit/9bfb51fdbca69560da71f9012c74ee172b6c2b69) Thanks [@phryneas](https://github.com/phryneas)! - If the `execute` function of `useLazyQuery` is executed, previously started queries
509
+ from the same `useLazyQuery` usage will be rejected with an `AbortError` unless
510
+ `.retain()` is called on the promise returned by previous `execute` calls.
511
+
512
+ Please keep in mind that `useLazyQuery` is primarily meant as a means to synchronize
513
+ your component to the status of a query and that it's purpose it not to make a
514
+ series of network calls.
515
+ If you plan on making a series of network calls without the need to synchronize
516
+ the result with your component, consider using `ApolloClient.query` instead.
517
+
518
+ ### Minor Changes
519
+
520
+ - [#12633](https://github.com/apollographql/apollo-client/pull/12633) [`9bfb51f`](https://github.com/apollographql/apollo-client/commit/9bfb51fdbca69560da71f9012c74ee172b6c2b69) Thanks [@phryneas](https://github.com/phryneas)! - `ObservableQuery.refetch` and `ObservableQuery.reobserve` and the `execute` function of `useLazyQuery` now return a
521
+ `ResultPromise` with an additional `.retain` method.
522
+ If this method is called, the underlying network operation will be kept running even if the `ObservableQuery` itself does
523
+ not require the result anymore, and the Promise will resolve with the final result instead of resolving with an intermediate
524
+ result in the case of early cancellation.
525
+
526
+ - [#12649](https://github.com/apollographql/apollo-client/pull/12649) [`0be92ad`](https://github.com/apollographql/apollo-client/commit/0be92ad51cf8de444fa1cc507bab2c21d230a44e) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add a new `dataState` property that determines the completeness of the `data` property. `dataState` helps narrow the type of `data`. `dataState` is now emitted from `ObservableQuery` and returned from all React hooks that return a `data` property.
527
+
528
+ The `dataState` values are:
529
+
530
+ - `empty`: No data could be fulfilled from the cache or the result is incomplete. `data` is `undefined`.
531
+ - `partial`: Some data could be fulfilled from the cache but `data` is incomplete. This is only possible when `returnPartialData` is `true`.
532
+ - `streaming`: `data` is incomplete as a result of a deferred query and the result is still streaming in.
533
+ - `complete`: `data` is a fully satisfied query result fulfilled either from the cache or network.
534
+
535
+ Example:
536
+
537
+ ```ts
538
+ const { data, dataState } = useQuery<TData>(query);
539
+
540
+ if (dataState === "empty") {
541
+ expectTypeOf(data).toEqualTypeOf<undefined>();
542
+ }
543
+
544
+ if (dataState === "partial") {
545
+ expectTypeOf(data).toEqualTypeOf<DeepPartial<TData>>();
546
+ }
547
+
548
+ if (dataState === "streaming") {
549
+ expectTypeOf(data).toEqualTypeOf<TData>();
550
+ }
551
+
552
+ if (dataState === "complete") {
553
+ expectTypeOf(data).toEqualTypeOf<TData>();
554
+ }
555
+ ```
556
+
557
+ ## 4.0.0-alpha.16
558
+
559
+ ### Major Changes
560
+
561
+ - [#12644](https://github.com/apollographql/apollo-client/pull/12644) [`fe2f005`](https://github.com/apollographql/apollo-client/commit/fe2f005c34913ae082b96a807dc240e2785d50bd) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Replace the `result` property on `ServerError` with `bodyText`. `bodyText` is set to the raw string body. `HttpLink` and `BatchHttpLink` no longer try and parse the response body as JSON when a `ServerError` is thrown.
562
+
563
+ - [#12644](https://github.com/apollographql/apollo-client/pull/12644) [`fe2f005`](https://github.com/apollographql/apollo-client/commit/fe2f005c34913ae082b96a807dc240e2785d50bd) Thanks [@jerelmiller](https://github.com/jerelmiller)! - More strictly adhere to the [GraphQL over HTTP spec](https://graphql.github.io/graphql-over-http/draft/). This change adds support for the `application/graphql-response+json` media type and modifies the behavior of the `application/json` media type.
564
+
565
+ - The client will parse the response as a well-formed GraphQL response when the server encodes `content-type` using `application/graphql-response+json` with a non-200 status code.
566
+ - The client will now throw a `ServerError` when the server encodes `content-type` using `application/json` and returns a non-200 status code.
567
+ - The client will now throw a `ServerError` when the server encodes using any other `content-type` and returns a non-200 status code.
568
+
569
+ NOTE: If you use a testing utility to mock requests in your test, you may experience different behavior than production if your testing utility responds as `application/json` but your production server responds as `application/graphql-response+json`. If a `content-type` header is not set, the client interprets the response as `application/json`.
570
+
571
+ - [#12644](https://github.com/apollographql/apollo-client/pull/12644) [`fe2f005`](https://github.com/apollographql/apollo-client/commit/fe2f005c34913ae082b96a807dc240e2785d50bd) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Change the default `Accept` header to `application/graphql-response+json,application/json;q=0.9`.
572
+
573
+ - [#12644](https://github.com/apollographql/apollo-client/pull/12644) [`fe2f005`](https://github.com/apollographql/apollo-client/commit/fe2f005c34913ae082b96a807dc240e2785d50bd) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `HttpLink` and `BatchHttpLink` no longer emit a `next` notification with the JSON-parsed response body when a well-formed GraphQL response is returned and a `ServerError` is thrown.
574
+
575
+ ## 4.0.0-alpha.15
576
+
577
+ ### Major Changes
578
+
579
+ - [#12639](https://github.com/apollographql/apollo-client/pull/12639) [`1bdf489`](https://github.com/apollographql/apollo-client/commit/1bdf4893abb173c97877c71012afa15f9d3da8e6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Move internal testing utilities in `@apollo/client/testing` to `@apollo/client/testing/internal` and remove deprecated testing utilities. Some of the testing utilities exported from the `@apollo/client/testing` endpoint were not considered stable. As a result of this change, testing utilities or types exported from `@apollo/client/testing` are now considered stable and will not undergo breaking changes.
580
+
581
+ The following APIs were removed. To migrate, update usages of the following APIs as such:
582
+
583
+ **`createMockClient`**
584
+
585
+ ```diff
586
+ - const client = createMockClient(data, query, variables);
587
+ + const client = new ApolloClient({
588
+ + cache: new InMemoryCache(),
589
+ + link: new MockLink([
590
+ + {
591
+ + request: { query, variables },
592
+ + result: { data },
593
+ + }
594
+ + ]),
595
+ + });
596
+ ```
597
+
598
+ **`mockObservableLink`**
599
+
600
+ ```diff
601
+ - const link = mockObservableLink();
602
+ + const link = new MockSubscriptionLink();
603
+ ```
604
+
605
+ **`mockSingleLink`**
606
+
607
+ ```diff
608
+ - const link = mockSingleLink({
609
+ - request: { query, variables },
610
+ - result: { data },
611
+ - });
612
+ + const link = new MockLink([
613
+ + {
614
+ + request: { query, variables },
615
+ + result: { data },
616
+ + }
617
+ + ]);
618
+ ```
619
+
620
+ - [#12637](https://github.com/apollographql/apollo-client/pull/12637) [`d2a60d4`](https://github.com/apollographql/apollo-client/commit/d2a60d45e734a2518dad2443f85d82553cd6456a) Thanks [@phryneas](https://github.com/phryneas)! - `useQuery`: only advance `previousData` if `data` actually changed
621
+
622
+ - [#12631](https://github.com/apollographql/apollo-client/pull/12631) [`b147cac`](https://github.com/apollographql/apollo-client/commit/b147cac5c96c44bfc3deb72c12c7521981584c12) Thanks [@phryneas](https://github.com/phryneas)! - `ObservableQuery` will now return a `loading: false` state for `fetchPolicy` `standby`, even before subscription
623
+
624
+ - [#12639](https://github.com/apollographql/apollo-client/pull/12639) [`1bdf489`](https://github.com/apollographql/apollo-client/commit/1bdf4893abb173c97877c71012afa15f9d3da8e6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `@apollo/client/testing/core` entrypoint in favor of `@apollo/client/testing`.
625
+
626
+ ### Minor Changes
627
+
628
+ - [#12639](https://github.com/apollographql/apollo-client/pull/12639) [`1bdf489`](https://github.com/apollographql/apollo-client/commit/1bdf4893abb173c97877c71012afa15f9d3da8e6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Move `MockLink` types to `MockLink` namespace. This affects the `MockedResponse`, `MockLinkOptions`, and `ResultFunction` types. These types are still exported but are deprecated in favor of the namespace. To migrate, use the types on the `MockLink` namespace instead.
629
+
630
+ ```diff
631
+ import {
632
+ - MockedResponse,
633
+ - MockLinkOptions,
634
+ - ResultFunction,
635
+ + MockLink
636
+ } from "@apollo/client/testing";
637
+
638
+ - const mocks: MockedResponse = [];
639
+ + const mocks: MockLink.MockedResponse = [];
640
+
641
+ - const result: ResultFunction = () => {/* ... */ }
642
+ + const result: MockLink.ResultFunction = () => {/* ... */ }
643
+
644
+ - const options: MockLinkOptions = {}
645
+ + const options: MockLink.Options = {}
646
+ ```
647
+
648
+ ### Patch Changes
649
+
650
+ - [#12631](https://github.com/apollographql/apollo-client/pull/12631) [`b147cac`](https://github.com/apollographql/apollo-client/commit/b147cac5c96c44bfc3deb72c12c7521981584c12) Thanks [@phryneas](https://github.com/phryneas)! - When updating `skip` from `false` to `true` in `useQuery`, retain `data` if it is available rather than setting it to `undefined`.
651
+
652
+ - [#12631](https://github.com/apollographql/apollo-client/pull/12631) [`b147cac`](https://github.com/apollographql/apollo-client/commit/b147cac5c96c44bfc3deb72c12c7521981584c12) Thanks [@phryneas](https://github.com/phryneas)! - The `error` property is no longer present when `skip` is `true` in `useQuery`.
653
+
654
+ ## 4.0.0-alpha.14
655
+
656
+ ### Major Changes
657
+
658
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `getCacheKey` function is no longer available from `operation.getContext()` in the link chain. Use `operation.client.cache.identify(obj)` in the link chain instead.
659
+
660
+ - [#12556](https://github.com/apollographql/apollo-client/pull/12556) [`c3fceda`](https://github.com/apollographql/apollo-client/commit/c3fceda86c5e0f499d0b5fa54ea7dc4c4391ae2c) Thanks [@phryneas](https://github.com/phryneas)! - `ObservableQuery` will now keep previous `data` around when emitting a `loading` state, unless `query` or `variables` changed.
661
+ Note that `@exports` variables are not taken into account for this, so `data` will stay around even if they change.
662
+
663
+ - [#12556](https://github.com/apollographql/apollo-client/pull/12556) [`c3fceda`](https://github.com/apollographql/apollo-client/commit/c3fceda86c5e0f499d0b5fa54ea7dc4c4391ae2c) Thanks [@phryneas](https://github.com/phryneas)! - Removed `getLastResult`, `getLastError` and `resetLastResults` from `ObservableQuery`
664
+
665
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Removes the `resolvers` option from `ApolloClient`. Local resolvers have instead been moved to the new `LocalState` instance which is assigned to the `localState` option in `ApolloClient`. To migrate, move the `resolvers` values into a `LocalState` instance and assign that instance to `localState`.
666
+
667
+ ```diff
668
+ new ApolloClient({
669
+ - resolvers: { /* ... */ }
670
+ + localState: new LocalState({
671
+ + resolvers: { /* ... */ }
672
+ + }),
673
+ });
674
+ ```
675
+
676
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove local resolvers APIs from `ApolloClient` in favor of `localState`. Methods removed are:
677
+
678
+ - `addResolvers`
679
+ - `getResolvers`
680
+ - `setResolvers`
681
+ - `setLocalStateFragmentMatcher`
682
+
683
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Third-party caches must now implement the `fragmentMatches` API. Additionally `fragmentMatches` must be able to handle both `InlineFragmentNode` and `FragmentDefinitionNode` nodes.
684
+
685
+ ```ts
686
+ class MyCache extends ApolloCache {
687
+ // This is now required
688
+ public fragmentMatches(
689
+ fragment: InlineFragmentNode | FragmentDefinitionNode,
690
+ typename: string
691
+ ): boolean {
692
+ return; // ... logic to determine if typename matches fragment
693
+ }
694
+ }
695
+ ```
696
+
697
+ - [#12556](https://github.com/apollographql/apollo-client/pull/12556) [`c3fceda`](https://github.com/apollographql/apollo-client/commit/c3fceda86c5e0f499d0b5fa54ea7dc4c4391ae2c) Thanks [@phryneas](https://github.com/phryneas)! - Reworked the logic for then a loading state is triggered. If the link chain responds synchronously, a loading state will be omitted, otherwise it will be triggered.
698
+ If local resolvers are used, the time window for "sync vs async" starts as soon as `@exports` variables are resolved.
699
+
700
+ - [#12556](https://github.com/apollographql/apollo-client/pull/12556) [`c3fceda`](https://github.com/apollographql/apollo-client/commit/c3fceda86c5e0f499d0b5fa54ea7dc4c4391ae2c) Thanks [@phryneas](https://github.com/phryneas)! - Dropped the `saveAsLastResult` argument from `ObservableQuery.getCurrentResult`
701
+
702
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The resolver function's `context` argument (the 3rd argument) has changed to provide additional information without the possibility of name clashes. Previously the `context` argument would spread request context and override the `client` and `cache` properties to give access to both inside of a resolver. The `context` argument takes now takes the following shape:
703
+
704
+ ```ts
705
+ {
706
+ // the request context. By default `TContextValue` is of type `DefaultContext`,
707
+ // but can be changed if a `context` function is provided.
708
+ requestContext: TContextValue,
709
+ // The client instance making the request
710
+ client: ApolloClient,
711
+ // Whether the resolver is run as a result of gathering exported variables
712
+ // or resolving the value as part of the result
713
+ phase: "exports" | "resolve"
714
+ }
715
+ ```
716
+
717
+ To migrate, pull any request context from `requestContext` and the `cache` from the `client` property:
718
+
719
+ ```diff
720
+ new LocalState({
721
+ resolvers: {
722
+ Query: {
723
+ - myResolver: (parent, args, { someValue, cache }) => {
724
+ + myResolver: (parent, args, { requestContext, client }) => {
725
+ + const someValue = requestContext.someValue;
726
+ + const cache = client.cache;
727
+ }
728
+ }
729
+ }
730
+ });
731
+ ```
732
+
733
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Apollo Client no longer ships with support for `@client` fields out-of-the-box and now must be opt-in. To opt in to use `@client` fields, pass an instantiated `LocalState` instance to the `localState` option. If a query contains `@client` and local state hasn't been configured, an error will be thrown.
734
+
735
+ ```ts
736
+ import { LocalState } from "@apollo/client/local-state";
737
+
738
+ new ApolloClient({
739
+ localState: new LocalState(),
740
+ });
741
+ ```
742
+
743
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `fragmentMatcher` option from `ApolloClient`. Custom fragment matchers used with local state are no longer supported. Fragment matching is now performed by the configured `cache` via the `cache.fragmentMatches` API.
744
+
745
+ - [#12556](https://github.com/apollographql/apollo-client/pull/12556) [`c3fceda`](https://github.com/apollographql/apollo-client/commit/c3fceda86c5e0f499d0b5fa54ea7dc4c4391ae2c) Thanks [@phryneas](https://github.com/phryneas)! - A call to `ObservableQuery.setVariables` with different variables or a `ObservableQuery.refetch` call will always now guarantee that a value will be emitted from the observable, even if it is deep equal to the previous value.
746
+
747
+ ### Minor Changes
748
+
749
+ - [#12614](https://github.com/apollographql/apollo-client/pull/12614) [`d2851e2`](https://github.com/apollographql/apollo-client/commit/d2851e2c74541995760a86904b1e3ab4bd736e62) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Revamp local resolvers and fix several issues from the existing `resolvers` option.
750
+
751
+ - Throwing errors in a resolver will set the field value as `null` and add an error to the response's `errors` array.
752
+ - Remote results are dealiased before they are passed as the parent object to a resolver so that you can access fields by their field name.
753
+ - You can now specify a `context` function that you can use to customize the `requestContext` given to resolvers.
754
+ - The `LocalState` class accepts a `Resolvers` generic that provides autocompletion and type checking against your resolver types to ensure your resolvers are type-safe.
755
+ - `data: null` is now handled correctly and does not call your local resolvers when the server does not provide a result.
756
+ - Additional warnings have been added to provide hints when resolvers behave unexpectedly.
757
+
758
+ ```ts
759
+ import { LocalState } from "@apollo/client/local-state";
760
+
761
+ import { Resolvers } from "./path/to/local-resolvers-types.ts";
762
+
763
+ // LocalState now accepts a `Resolvers` generic.
764
+ const localState = new LocalState<Resolvers>({
765
+ // The return value of this funciton
766
+ context: (options) => ({
767
+ // ...
768
+ }),
769
+ resolvers: {
770
+ // ...
771
+ },
772
+ });
773
+
774
+ // You may also pass a `ContextValue` generic used to ensure the `context`
775
+ // function returns the correct type. This type is inferred from your resolvers
776
+ // if not provided.
777
+ new LocalState<Resolvers, ContextValue>({
778
+ // ...
779
+ });
780
+ ```
781
+
782
+ ## 4.0.0-alpha.13
783
+
784
+ ### Major Changes
785
+
786
+ - [#12600](https://github.com/apollographql/apollo-client/pull/12600) [`34ff6aa`](https://github.com/apollographql/apollo-client/commit/34ff6aa25b47c3e84d0b18e2c69bc995814bf2f2) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Move most of the utilities in `@apollo/client/utilities` to `@apollo/client/utilities/internal`. Many of the utilities exported from the `@apollo/client/utilities` endpoint were not considered stable.
787
+
788
+ As a result of this change, utilities or types exported from `@apollo/client/utilities` are now documented and considered stable and will not undergo breaking changes.
789
+
790
+ - [#12595](https://github.com/apollographql/apollo-client/pull/12595) [`60bb49c`](https://github.com/apollographql/apollo-client/commit/60bb49ccea9aecf3e6a212b5a1f71907e60af886) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `@apollo/client/testing/experimental` test utilities. Use [GraphQL Testing Library](https://github.com/apollographql/graphql-testing-library) instead.
791
+
792
+ ### Patch Changes
793
+
794
+ - [#12618](https://github.com/apollographql/apollo-client/pull/12618) [`e4a3ecf`](https://github.com/apollographql/apollo-client/commit/e4a3ecfe50bc5b462067574a0ffb1951549fb60f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove code that strips `@client` fields in `HttpLink` and `BatchHttpLink`. This was unused code since core handles removing `@client` fields and should have no observable change.
795
+
796
+ ## 4.0.0-alpha.12
797
+
798
+ ### Major Changes
799
+
800
+ - [#12586](https://github.com/apollographql/apollo-client/pull/12586) [`605db8e`](https://github.com/apollographql/apollo-client/commit/605db8e94fe2ce74c0a395f38f6873d40f431365) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `typeDefs` option from `ApolloClient`.
801
+
802
+ - [#12588](https://github.com/apollographql/apollo-client/pull/12588) [`eed825a`](https://github.com/apollographql/apollo-client/commit/eed825a2549f1d21fff2ec179815206b3baf0fcb) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `TContext` generic argument from all types that use it. `TContext` is replaced with `DefaultContext` which can be modified using declaration merging.
803
+
804
+ - [#12590](https://github.com/apollographql/apollo-client/pull/12590) [`a005e82`](https://github.com/apollographql/apollo-client/commit/a005e822de7b24783f85be45df142ffbb9bc561b) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Drop `graphql` v15 as a valid peer dependency.
805
+
806
+ - [#12591](https://github.com/apollographql/apollo-client/pull/12591) [`a7e7383`](https://github.com/apollographql/apollo-client/commit/a7e738328951f5dac25a5fe48d28b3640a3e0eb9) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Rename the `@apollo/client/link/core` entrypoint to `@apollo/client/link`.
807
+
808
+ - [#12589](https://github.com/apollographql/apollo-client/pull/12589) [`15f5a1c`](https://github.com/apollographql/apollo-client/commit/15f5a1c29ac05015387a7bbc2dbe9a91d09fedfa) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Require the `link` option when instantiating `ApolloClient`. This removes the `uri`, `credentials` and `headers` options from `ApolloClient` in favor of passing an instantiated `HttpLink` directly. To migrate:
809
+
810
+ **If using `uri`, `credentials`, or `headers` options**
811
+
812
+ ```diff
813
+ new ApolloClient({
814
+ // ...
815
+ - uri,
816
+ - credentials,
817
+ - headers,
818
+ + link: new HttpLink({ uri, credentials, headers }),
819
+ // or if you prefer the function call approach:
820
+ + link: createHttpLink({ uri, credentials, headers }),
821
+ });
822
+ ```
823
+
824
+ **If creating a client without the `link` option**
825
+
826
+ ```diff
827
+ new ApolloClient({
828
+ // ...
829
+ + link: ApolloLink.empty()
830
+ });
831
+ ```
832
+
833
+ ## 4.0.0-alpha.11
834
+
835
+ ### Major Changes
836
+
837
+ - [#12576](https://github.com/apollographql/apollo-client/pull/12576) [`a92ff78`](https://github.com/apollographql/apollo-client/commit/a92ff780abee60896bb9632867e90c82d0829255) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `cache` and `forceFetch` properties are no longer available on context when calling `operation.getContext()`. `cache` can be accessed through the `operation` with `operation.client.cache` instead. `forceFetch` has been replaced with `queryDeduplication` which specifies whether `queryDeduplication` was enabled for the request or not.
838
+
839
+ - [#12576](https://github.com/apollographql/apollo-client/pull/12576) [`a92ff78`](https://github.com/apollographql/apollo-client/commit/a92ff780abee60896bb9632867e90c82d0829255) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `ApolloLink.execute` now requires a third argument which provides the `client` that initiated the request to the link chain. If you use `execute` directly, add a third argument with a `client` property:
840
+
841
+ ```ts
842
+ ApolloLink.execute(link, operation, { client });
843
+
844
+ // or if you import the `execute` function directly:
845
+ execute(link, operation, { client });
846
+ ```
847
+
848
+ - [#12566](https://github.com/apollographql/apollo-client/pull/12566) [`ce4b488`](https://github.com/apollographql/apollo-client/commit/ce4b488bef13f2f5ce1b348d8c3196e198165dd6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Don't `broadcastQueries` when a query is torn down.
849
+
850
+ ### Minor Changes
851
+
852
+ - [#12576](https://github.com/apollographql/apollo-client/pull/12576) [`a92ff78`](https://github.com/apollographql/apollo-client/commit/a92ff780abee60896bb9632867e90c82d0829255) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Provide an extension to define types for `context` passed to the link chain. To define your own types, use [declaration merging](https://www.typescriptlang.org/docs/handbook/declaration-merging.html) to add properties to the `DefaultContext` type.
853
+
854
+ ```ts
855
+ // @apollo-client.d.ts
856
+ // This import is necessary to ensure all Apollo Client imports
857
+ // are still available to the rest of the application.
858
+ import "@apollo/client";
859
+
860
+ declare module "@apollo/client" {
861
+ interface DefaultContext extends Record<string, any> {
862
+ myProperty: string;
863
+ }
864
+ }
865
+ ```
866
+
867
+ Links that provide context options can be used with this type to add those context types to `DefaultContext`. For example, to add context options from `HttpLink`, add the following code:
868
+
869
+ ```ts
870
+ import { HttpLink } from "@apollo/client";
871
+
872
+ declare module "@apollo/client" {
873
+ interface DefaultContext extends HttpLink.ContextOptions {
874
+ myProperty: string;
875
+ }
876
+ }
877
+ ```
878
+
879
+ At this time, the following built-in links support context options:
880
+
881
+ - `HttpLink.ContextOptions`
882
+ - `BatchHttpLink.ContextOptions`
883
+
884
+ - [#12576](https://github.com/apollographql/apollo-client/pull/12576) [`a92ff78`](https://github.com/apollographql/apollo-client/commit/a92ff780abee60896bb9632867e90c82d0829255) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add a `client` property to the `operation` passed to the link chain. This `client` is set as the `client` making the request to the link chain.
885
+
886
+ ### Patch Changes
887
+
888
+ - [#12574](https://github.com/apollographql/apollo-client/pull/12574) [`0098ec9`](https://github.com/apollographql/apollo-client/commit/0098ec9f860e4e08a2070823f723dce401ae588a) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Export `gql` from the `@apollo/client/react` entrypoint.
889
+
890
+ - [#12572](https://github.com/apollographql/apollo-client/pull/12572) [`3dc50e6`](https://github.com/apollographql/apollo-client/commit/3dc50e6476dcedf82ed3856bf9f4571a32a760a6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Adjust `useMutation` types to better handle required variables. When required variables are missing, TypeScript will now complain if they are not provided either to the hook or the returned `mutate` function. Providing required variables to `useMutation` will make them optional in the returned `mutate` function.
891
+
892
+ ## 4.0.0-alpha.10
893
+
894
+ ### Major Changes
895
+
896
+ - [#12559](https://github.com/apollographql/apollo-client/pull/12559) [`49ace0e`](https://github.com/apollographql/apollo-client/commit/49ace0e2119b7fd5997dcf051002ebd4ba2e0bc4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `ObservableQuery.variables` can now be reset back to empty when calling `reobserve` with `variables: undefined`. Previously the `variables` key would be ignored so `variables` would remain unchanged.
897
+
898
+ - [#12559](https://github.com/apollographql/apollo-client/pull/12559) [`49ace0e`](https://github.com/apollographql/apollo-client/commit/49ace0e2119b7fd5997dcf051002ebd4ba2e0bc4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `never` is no longer supported as a valid `TVariables` generic argument for APIs that require `variables` as part of its type. Use `Record<string, never>` instead.
899
+
900
+ - [#12559](https://github.com/apollographql/apollo-client/pull/12559) [`49ace0e`](https://github.com/apollographql/apollo-client/commit/49ace0e2119b7fd5997dcf051002ebd4ba2e0bc4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - When passing a `variables` key with the value `undefined`, the value will be replaced by the default value in the query, if it is provided, rather than leave it as `undefined`.
901
+
902
+ ```ts
903
+ // given this query
904
+ const query = gql`
905
+ query PaginatedQuery($limit: Int! = 10, $offset: Int) {
906
+ list(limit: $limit, offset: $offset) {
907
+ id
908
+ }
909
+ }
910
+ `;
911
+
912
+ const observable = client.query({
913
+ query,
914
+ variables: { limit: 5, offset: 0 },
915
+ });
916
+ console.log(observable.variables); // => { limit: 5, offset: 0 }
917
+
918
+ observable.reobserve({ variables: { limit: undefined, offset: 10 } });
919
+ // limit is now `10`. This would previously be `undefined`
920
+ console.log(observable.variables); // => { limit: 10, offset: 10 }
921
+ ```
922
+
923
+ - [#12562](https://github.com/apollographql/apollo-client/pull/12562) [`90bf0e6`](https://github.com/apollographql/apollo-client/commit/90bf0e61516a382182f212ac8ab891099e2eb009) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `client.query` no longer supports a `fetchPolicy` of `standby`. `standby` does not fetch and did not return `data`. `standby` is meant for watched queries where fetching should be on hold.
924
+
925
+ ### Minor Changes
926
+
927
+ - [#12557](https://github.com/apollographql/apollo-client/pull/12557) [`51d26ae`](https://github.com/apollographql/apollo-client/commit/51d26ae631c6631a189c98ea9357b18e77a9a876) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add ability to specify message formatter for `CombinedGraphQLErrors` and `CombinedProtocolErrors`. To provide your own message formatter, override the static `formatMessage` property on these classes.
928
+
929
+ ```ts
930
+ CombinedGraphQLErrors.formatMessage = (
931
+ errors,
932
+ { result, defaultFormatMessage }
933
+ ) => {
934
+ return "Some formatted message";
935
+ };
936
+
937
+ CombinedProtocolErrors.formatMessage = (errors, { defaultFormatMessage }) => {
938
+ return "Some formatted message";
939
+ };
940
+ ```
941
+
942
+ - [#12546](https://github.com/apollographql/apollo-client/pull/12546) [`5dffbbe`](https://github.com/apollographql/apollo-client/commit/5dffbbe407eb1d9adbcb0fff89f2d3a75dc1ad2b) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add a static `is` method to error types defined by Apollo Client. `is` makes it simpler to determine whether an error is a specific type, which can be helpful in cases where you'd like to narrow the error type in order to use specific properties from that error.
943
+
944
+ This change applies to the following error types:
945
+
946
+ - `CombinedGraphQLErrors`
947
+ - `CombinedProtocolErrors`
948
+ - `ServerError`
949
+ - `ServerParseError`
950
+ - `UnconventionalError`
951
+
952
+ **Example**
953
+
954
+ ```ts
955
+ import { CombinedGraphQLErrors } from "@apollo/client";
956
+
957
+ if (CombinedGraphQLErrors.is(error)) {
958
+ console.log(error.message);
959
+ error.errors.forEach((graphQLError) => console.log(graphQLError.message));
960
+ }
961
+ ```
962
+
963
+ - [#12561](https://github.com/apollographql/apollo-client/pull/12561) [`99d72bf`](https://github.com/apollographql/apollo-client/commit/99d72bfdb38e3d9679f60b9acb065a84e3b42fd6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add the ability to detect if an error was an error was emitted from the link chain. This is useful if your application throws custom errors in other areas of the application and you'd like to differentiate them from errors emitted by the link chain itself.
964
+
965
+ To detect if an error was emitted from the link chain, use `LinkError.is`.
966
+
967
+ ```ts
968
+ import { LinkError } from "@apollo/client";
969
+
970
+ client.query({ query }).catch((error) => {
971
+ if (LinkError.is(error)) {
972
+ // This error originated from the link chain
973
+ }
974
+ });
975
+ ```
976
+
977
+ ### Patch Changes
978
+
979
+ - [#12559](https://github.com/apollographql/apollo-client/pull/12559) [`49ace0e`](https://github.com/apollographql/apollo-client/commit/49ace0e2119b7fd5997dcf051002ebd4ba2e0bc4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `variables` option used with various APIs are now enforced more consistently across the client when `TVariables` contains required variables. If required `variables` are not provided, TypeScript will now complain that it requires a `variables` option.
980
+
981
+ This change affects the following APIs:
982
+
983
+ - `client.query`
984
+ - `client.mutate`
985
+ - `client.subscribe`
986
+ - `client.watchQuery`
987
+ - `useBackgroundQuery`
988
+ - `useQuery`
989
+ - `useSubscription`
990
+ - `useSuspenseQuery`
991
+
992
+ - [#12559](https://github.com/apollographql/apollo-client/pull/12559) [`49ace0e`](https://github.com/apollographql/apollo-client/commit/49ace0e2119b7fd5997dcf051002ebd4ba2e0bc4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Fix type of `variables` returned from `useLazyQuery`. When `called` is `false`, `variables` is now `Partial<TVariables>` instead of `TVariables`.
993
+
994
+ - [#12562](https://github.com/apollographql/apollo-client/pull/12562) [`90bf0e6`](https://github.com/apollographql/apollo-client/commit/90bf0e61516a382182f212ac8ab891099e2eb009) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `client.query` no longer supports `notifyOnNetworkStatusChange` in options. An error will be thrown if this option is set. The effects of this option were not observable by `client.query` since `client.query` emits a single result.
995
+
996
+ - [#12557](https://github.com/apollographql/apollo-client/pull/12557) [`51d26ae`](https://github.com/apollographql/apollo-client/commit/51d26ae631c6631a189c98ea9357b18e77a9a876) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Update format of the error message for `CombinedGraphQLErrors` and `CombinedProtocolErrors` to be more like v3.x.
997
+
998
+ ```diff
999
+ console.log(error.message);
1000
+ - `The GraphQL server returned with errors:
1001
+ - - Email not found
1002
+ - - Username already in use`
1003
+ + `Email not found
1004
+ + Username already in use`
1005
+ ```
1006
+
1007
+ - [#12559](https://github.com/apollographql/apollo-client/pull/12559) [`49ace0e`](https://github.com/apollographql/apollo-client/commit/49ace0e2119b7fd5997dcf051002ebd4ba2e0bc4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `ObservableQuery.variables` has been updated to return `TVariables` rather than `TVariables | undefined`. This is more consistent with the runtime value where an empty object (`{}`) will be returned when the `variables` option is not provided.
1008
+
1009
+ ## 4.0.0-alpha.9
1010
+
1011
+ ### Major Changes
1012
+
1013
+ - [#12536](https://github.com/apollographql/apollo-client/pull/12536) [`e14205a`](https://github.com/apollographql/apollo-client/commit/e14205ad5909f95aa04684acd0ca2f25956ee50c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - An initial loading state is now emitted from `ObservableQuery` when subscribing if `notifyOnNetworkStatusChange` is set to `true`.
1014
+
1015
+ - [#12512](https://github.com/apollographql/apollo-client/pull/12512) [`e809b71`](https://github.com/apollographql/apollo-client/commit/e809b71aa9a02917a286afdbb03d5be8e5947c53) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `notifyOnNetworkStatusChange` now defaults to `true`. This means that loading states will be emitted (core API) or rendered (React) by default when calling `refetch`, `fetchMore`, etc. To maintain the old behavior, set `notifyOnNetworkStatusChange` to `false` in `defaultOptions`.
1016
+
1017
+ ```ts
1018
+ new ApolloClient({
1019
+ defaultOptions: {
1020
+ watchQuery: {
1021
+ // Use the v3 default
1022
+ notifyOnNetworkStatusChange: false,
1023
+ },
1024
+ },
1025
+ });
1026
+ ```
1027
+
1028
+ ### Patch Changes
1029
+
1030
+ - [#12536](https://github.com/apollographql/apollo-client/pull/12536) [`e14205a`](https://github.com/apollographql/apollo-client/commit/e14205ad5909f95aa04684acd0ca2f25956ee50c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The returned `networkStatus` in `useLazyQuery` is now set to `setVariables` when calling the `useLazyQuery` `execute` function for the first time with variables.
1031
+
1032
+ - [#12536](https://github.com/apollographql/apollo-client/pull/12536) [`e14205a`](https://github.com/apollographql/apollo-client/commit/e14205ad5909f95aa04684acd0ca2f25956ee50c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Ensure `ObservableQuery` stops polling if switching to a `standby` `fetchPolicy`. When switching back to a non-`standby` `fetchPolicy`, polling will resume.
1033
+
1034
+ - [#12536](https://github.com/apollographql/apollo-client/pull/12536) [`e14205a`](https://github.com/apollographql/apollo-client/commit/e14205ad5909f95aa04684acd0ca2f25956ee50c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Ensure a loading state is emitted when calling the `execute` function after changing clients in `useLazyQuery`.
1035
+
1036
+ - [#12542](https://github.com/apollographql/apollo-client/pull/12542) [`afb4fce`](https://github.com/apollographql/apollo-client/commit/afb4fce08859b2c6eebf288230a7c35b7acf2da6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Ensure `useLazyQuery` does not return a `partial` property which is not specified by the result type.
1037
+
1038
+ ## 4.0.0-alpha.8
1039
+
1040
+ ### Major Changes
1041
+
1042
+ - [#12539](https://github.com/apollographql/apollo-client/pull/12539) [`dd0d6d6`](https://github.com/apollographql/apollo-client/commit/dd0d6d6d96d8b810e30dc2fdee2ac8a2477d0017) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `onError` link now uses a single `error` property to report the error that caused the link callback to be called. This will be an instance of `CombinedGraphQLErrors` in the event GraphQL errors were emitted from the terminating link, `CombinedProtocolErrors` if the terminating link emitted protocol errors, or the unwrapped error type if any other non-GraphQL error was thrown or emitted.
1043
+
1044
+ ```diff
1045
+ - const errorLink = onError(({ graphQLErrors, networkError, protocolErrors }) => {
1046
+ - graphQLErrors.forEach(error => console.log(error.message));
1047
+ + const errorLink = onError(({ error }) => {
1048
+ + if (error.name === 'CombinedGraphQLErrors') {
1049
+ + error.errors.forEach(rawError => console.log(rawError.message));
1050
+ + }
1051
+ });
1052
+ ```
1053
+
1054
+ - [#12533](https://github.com/apollographql/apollo-client/pull/12533) [`73221d8`](https://github.com/apollographql/apollo-client/commit/73221d87bd5640986f86fe3ee50c63ed49834cbb) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `onError` and `setOnError` methods from `ApolloLink`. `onError` was only used by `MockLink` to rewrite errors if `setOnError` was used.
1055
+
1056
+ - [#12531](https://github.com/apollographql/apollo-client/pull/12531) [`7784b46`](https://github.com/apollographql/apollo-client/commit/7784b46117a4f91a270a020ed1a24f042cb9ee17) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Mocked responses passed to `MockLink` now accept a callback for the `request.variables` option. This is used to determine if the mock should be matched for a set of request variables. With this change, the `variableMatcher` option has been removed in favor of passing a callback to `variables`. Update by moving the callback function from `variableMatcher` to `request.variables`.
1057
+
1058
+ ```diff
1059
+ new MockLink([
1060
+ {
1061
+ request: {
1062
+ query,
1063
+ + variables: (requestVariables) => true
1064
+ },
1065
+ - variableMatcher: (requestVariables) => true
1066
+ }
1067
+ ]);
1068
+ ```
1069
+
1070
+ - [#12526](https://github.com/apollographql/apollo-client/pull/12526) [`391af1d`](https://github.com/apollographql/apollo-client/commit/391af1dd733219b7e1e14cfff9d5e3ce3967242f) Thanks [@phryneas](https://github.com/phryneas)! - The `@apollo/client` and `@apollo/client/core` entry points are now equal.
1071
+ In the next major, the `@apollo/client/core` entry point will be removed.
1072
+ Please change imports over from `@apollo/client/core` to `@apollo/client`.
1073
+
1074
+ - [#12525](https://github.com/apollographql/apollo-client/pull/12525) [`8785186`](https://github.com/apollographql/apollo-client/commit/87851863b94eebbc208671b17aeca73748ac41f6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Throw an error when a client-only query is used in a mocked response passed to `MockLink`.
1075
+
1076
+ - [#12532](https://github.com/apollographql/apollo-client/pull/12532) [`ae0dcad`](https://github.com/apollographql/apollo-client/commit/ae0dcad89924e6b8090ca3182df30e528589b562) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Default the `delay` for all mocked responses passed to `MockLink` using `realisticDelay`. This ensures your test handles loading states by default and is not reliant on a specific timing.
1077
+
1078
+ If you would like to restore the old behavior, use a global default delay of `0`.
1079
+
1080
+ ```ts
1081
+ MockLink.defaultOptions = {
1082
+ delay: 0,
1083
+ };
1084
+ ```
1085
+
1086
+ - [#12530](https://github.com/apollographql/apollo-client/pull/12530) [`2973e2a`](https://github.com/apollographql/apollo-client/commit/2973e2a6e6fd81fa59b769d84c252c98ca69440d) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `newData` option for mocked responses passed to `MockLink` or the `mocks` option on `MockedProvider`. This option was undocumented and was nearly identical to using the `result` option as a callback.
1087
+
1088
+ To replicate the old behavior of `newData`, use `result` as a callback and add the `maxUsageCount` option with a value set to `Number.POSITIVE_INFINITY`.
1089
+
1090
+ **with `MockLink`**
1091
+
1092
+ ```diff
1093
+ new MockLink([
1094
+ {
1095
+ request: { query, variables },
1096
+ - newData: (variables) => ({ data: { greeting: "Hello " + variables.greeting } }),
1097
+ + result: (variables) => ({ data: { greeting: "Hello " + variables.greeting } }),
1098
+ + maxUsageCount: Number.POSITIVE_INFINITY,
1099
+ }
1100
+ ])
1101
+ ```
1102
+
1103
+ **with `MockedProvider`**
1104
+
1105
+ ```diff
1106
+ <MockedProvider
1107
+ mocks={[
1108
+ {
1109
+ request: { query, variables },
1110
+ - newData: (variables) => ({ data: { greeting: "Hello " + variables.greeting } }),
1111
+ + result: (variables) => ({ data: { greeting: "Hello " + variables.greeting } }),
1112
+ + maxUsageCount: Number.POSITIVE_INFINITY,
1113
+ }
1114
+ ]}
1115
+ />
1116
+ ```
1117
+
1118
+ ### Minor Changes
1119
+
1120
+ - [#12532](https://github.com/apollographql/apollo-client/pull/12532) [`ae0dcad`](https://github.com/apollographql/apollo-client/commit/ae0dcad89924e6b8090ca3182df30e528589b562) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Allow mocked responses passed to `MockLink` to accept a callback for the `delay` option. The `delay` callback will be given the current operation which can be used to determine what delay should be used for the mock.
1121
+
1122
+ - [#12532](https://github.com/apollographql/apollo-client/pull/12532) [`ae0dcad`](https://github.com/apollographql/apollo-client/commit/ae0dcad89924e6b8090ca3182df30e528589b562) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Introduce a new `realisticDelay` helper function for use with the `delay` callback for mocked responses used with `MockLink`. `realisticDelay` will generate a random value between 20 and 50ms to provide an experience closer to unpredictable network latency. `realisticDelay` can be configured with a `min` and `max` to set different thresholds if the defaults are not sufficient.
1123
+
1124
+ ```ts
1125
+ import { realisticDelay } from "@apollo/client/testing";
1126
+
1127
+ new MockLink([
1128
+ {
1129
+ request: { query },
1130
+ result: { data: { greeting: "Hello" } },
1131
+ delay: realisticDelay(),
1132
+ },
1133
+ {
1134
+ request: { query },
1135
+ result: { data: { greeting: "Hello" } },
1136
+ delay: realisticDelay({ min: 10, max: 100 }),
1137
+ },
1138
+ ]);
1139
+ ```
1140
+
1141
+ - [#12532](https://github.com/apollographql/apollo-client/pull/12532) [`ae0dcad`](https://github.com/apollographql/apollo-client/commit/ae0dcad89924e6b8090ca3182df30e528589b562) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add ability to specify a default `delay` for all mocked responses passed to `MockLink`. This `delay` can be configured globally (all instances of `MockLink` will use the global defaults), or per-instance (all mocks in a single instance will use the defaults). A `delay` defined on a single mock will supercede all default delays. Per-instance defaults supercede global defaults.
1142
+
1143
+ **Global defaults**
1144
+
1145
+ ```ts
1146
+ MockLink.defaultOptions = {
1147
+ // Use a default delay of 20ms for all mocks in all instances without a specified delay
1148
+ delay: 20,
1149
+
1150
+ // altenatively use a callback which will be executed for each mock
1151
+ delay: () => getRandomNumber(),
1152
+
1153
+ // or use the built-in `realisticDelay`. This is the default
1154
+ delay: realisticDelay(),
1155
+ };
1156
+ ```
1157
+
1158
+ **Per-instance defaults**
1159
+
1160
+ ```ts
1161
+ new MockLink(
1162
+ [
1163
+ // Use the default delay
1164
+ {
1165
+ request: { query },
1166
+ result: { data: { greeting: "Hello" } },
1167
+ },
1168
+ {
1169
+ request: { query },
1170
+ result: { data: { greeting: "Hello" } },
1171
+ // Override the default for this mock
1172
+ delay: 10,
1173
+ },
1174
+ ],
1175
+ {
1176
+ defaultOptions: {
1177
+ // Use a default delay of 20ms for all mocks without a specified delay
1178
+ delay: 20,
1179
+
1180
+ // altenatively use a callback which will be executed for each mock
1181
+ delay: () => getRandomNumber(),
1182
+
1183
+ // or use the built-in `realisticDelay`. This is the default
1184
+ delay: realisticDelay(),
1185
+ },
1186
+ }
1187
+ );
1188
+ ```
1189
+
1190
+ ## 4.0.0-alpha.7
1191
+
1192
+ ### Major Changes
1193
+
1194
+ - [#12513](https://github.com/apollographql/apollo-client/pull/12513) [`9c3207c`](https://github.com/apollographql/apollo-client/commit/9c3207c44ddad1f8b845c09495d6c070ace8de7b) Thanks [@phryneas](https://github.com/phryneas)! - Removed the `@apollo/client/react/context` and `@apollo/client/react/hooks` entry points. Please use `@apollo/client/react` instead.
1195
+
1196
+ - [#12513](https://github.com/apollographql/apollo-client/pull/12513) [`9c3207c`](https://github.com/apollographql/apollo-client/commit/9c3207c44ddad1f8b845c09495d6c070ace8de7b) Thanks [@phryneas](https://github.com/phryneas)! - Removed the `@apollo/client/react/parser` entry point. There is no replacement.
1197
+
1198
+ ### Patch Changes
1199
+
1200
+ - [#12513](https://github.com/apollographql/apollo-client/pull/12513) [`9c3207c`](https://github.com/apollographql/apollo-client/commit/9c3207c44ddad1f8b845c09495d6c070ace8de7b) Thanks [@phryneas](https://github.com/phryneas)! - Removed the `parser` cache. The functionality has been replaced in a way that doesn't need caching.
1201
+
1202
+ ## 4.0.0-alpha.6
1203
+
1204
+ ### Major Changes
1205
+
1206
+ - [#12485](https://github.com/apollographql/apollo-client/pull/12485) [`d338303`](https://github.com/apollographql/apollo-client/commit/d3383033d306b7d66e90f5f3170c24453cd76464) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Throw an error for queries and mutations if the link chain completes without emitting a value.
1207
+
1208
+ - [#12484](https://github.com/apollographql/apollo-client/pull/12484) [`9a8b9ce`](https://github.com/apollographql/apollo-client/commit/9a8b9cebbcf290984a4f154f261a4090e636e50e) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `loading`, `networkStatus`, and `partial` properties on all promise-based query APIs. These properties were mostly static and were unnecessary since promise resolution guaranteed that the query was not longer loading.
1209
+
1210
+ This affects the following APIs:
1211
+
1212
+ - `client.query`
1213
+ - `client.refetchQueries`
1214
+ - `client.reFetchObservableQueries`
1215
+ - `client.resetStore`
1216
+ - `observableQuery.fetchMore`
1217
+ - `observableQuery.refetch`
1218
+ - `observableQuery.reobserve`
1219
+ - `observableQuery.setVariables`
1220
+ - The `useLazyQuery` `execute` function
1221
+
1222
+ ### Minor Changes
1223
+
1224
+ - [#12497](https://github.com/apollographql/apollo-client/pull/12497) [`ff2cbe1`](https://github.com/apollographql/apollo-client/commit/ff2cbe1db1815c30f5fda7f6c07091663e065582) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Add a `data` property to `CombinedGraphQLErrors` that captures any partial data returned by the GraphQL response when `errors` are also returned.
1225
+
1226
+ - [#12488](https://github.com/apollographql/apollo-client/pull/12488) [`c98b633`](https://github.com/apollographql/apollo-client/commit/c98b6335de5b15e546aa5db79a8cf2dc9d914dcf) Thanks [@phryneas](https://github.com/phryneas)! - Add a new method for static SSR of React components, `prerenderStatic`.
1227
+ The old methods, `getDataFromTree`, `getMarkupFromTree` and `renderToStringWithData`
1228
+ have been deprecated in favor of `prerenderStatic`.
1229
+
1230
+ If used with React 19 and the `prerender` or `prerenderToNodeStream` apis from
1231
+ `react-dom/static`, this method can now be used to SSR-prerender suspense-enabled
1232
+ hook APIs.
1233
+
1234
+ ## 4.0.0-alpha.5
1235
+
1236
+ ### Major Changes
1237
+
1238
+ - [#12478](https://github.com/apollographql/apollo-client/pull/12478) [`5ea6a45`](https://github.com/apollographql/apollo-client/commit/5ea6a45b3ec2f0d526abe78ae03c42bb519f87c7) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `variables` from the result returned from `useSubscription`.
1239
+
1240
+ - [#12476](https://github.com/apollographql/apollo-client/pull/12476) [`6afff60`](https://github.com/apollographql/apollo-client/commit/6afff60beece953406af2cbe07f7ccbf973cadaa) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Subscriptions now emit a `SubscribeResult` instead of a `FetchResult`. As a result, the `errors` field has been removed in favor of `error`.
1241
+
1242
+ - [#12475](https://github.com/apollographql/apollo-client/pull/12475) [`3de63eb`](https://github.com/apollographql/apollo-client/commit/3de63ebcdf95a87adc31e6b4a39cae5391ed945a) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Unify error behavior on mutations for GraphQL errors and network errors by ensuring network errors are subject to the `errorPolicy`. Network errors created when using an `errorPolicy` of `all` will now resolve the promise and be returned on the `error` property of the result, or stripped away when the `errorPolicy` is `none`.
1243
+
1244
+ - [#12475](https://github.com/apollographql/apollo-client/pull/12475) [`3de63eb`](https://github.com/apollographql/apollo-client/commit/3de63ebcdf95a87adc31e6b4a39cae5391ed945a) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `client.mutate` now returns a `MutateResult` instead of `FetchResult`. As a result, the `errors` property has been removed in favor of `error` which is set if either a network error occured or GraphQL errors are returned from the server.
1245
+
1246
+ `useMutation` now also returns a `MutateResult` instead of a `FetchResult`.
1247
+
1248
+ - [#12475](https://github.com/apollographql/apollo-client/pull/12475) [`3de63eb`](https://github.com/apollographql/apollo-client/commit/3de63ebcdf95a87adc31e6b4a39cae5391ed945a) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Mutations no longer report errors if the GraphQL result from the server contains an empty array of errors.
1249
+
1250
+ - [#12476](https://github.com/apollographql/apollo-client/pull/12476) [`6afff60`](https://github.com/apollographql/apollo-client/commit/6afff60beece953406af2cbe07f7ccbf973cadaa) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Unify error behavior on subscriptions for GraphQL errors and network errors by ensuring network errors are subject to the `errorPolicy`. Network errors that terminate the connection will now be emitted on the `error` property passed to the `next` callback followed by a call to the `complete` callback.
1251
+
1252
+ - [#12478](https://github.com/apollographql/apollo-client/pull/12478) [`5ea6a45`](https://github.com/apollographql/apollo-client/commit/5ea6a45b3ec2f0d526abe78ae03c42bb519f87c7) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove deprecated `onSubscriptionData` and `onSubscriptionComplete` callbacks from `useSubscription`. Use `onData` and `onComplete` instead.
1253
+
1254
+ - [#12476](https://github.com/apollographql/apollo-client/pull/12476) [`6afff60`](https://github.com/apollographql/apollo-client/commit/6afff60beece953406af2cbe07f7ccbf973cadaa) Thanks [@jerelmiller](https://github.com/jerelmiller)! - GraphQL errors or network errors emitted while using an `errorPolicy` of `ignore` in subscriptions will no longer emit a result if there is no `data` emitted along with the error.
1255
+
1256
+ - [#12476](https://github.com/apollographql/apollo-client/pull/12476) [`6afff60`](https://github.com/apollographql/apollo-client/commit/6afff60beece953406af2cbe07f7ccbf973cadaa) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Subscriptions no longer emit errors in the `error` callback and instead provide errors on the `error` property on the result passed to the `next` callback. As a result, errors will no longer automatically terminate the connection allowing additional results to be emitted when the connection stays open.
1257
+
1258
+ When an error terminates the downstream connection, a `next` event will be emitted with an `error` property followed by a `complete` event instead.
1259
+
1260
+ ### Minor Changes
1261
+
1262
+ - [#12487](https://github.com/apollographql/apollo-client/pull/12487) [`b695e5e`](https://github.com/apollographql/apollo-client/commit/b695e5e10ab0eb47948e914b610f67c40267349e) Thanks [@phryneas](https://github.com/phryneas)! - Split out SSR-specific code from useQuery hook, remove RenderPromises
1263
+
1264
+ ### Patch Changes
1265
+
1266
+ - [#12487](https://github.com/apollographql/apollo-client/pull/12487) [`b695e5e`](https://github.com/apollographql/apollo-client/commit/b695e5e10ab0eb47948e914b610f67c40267349e) Thanks [@phryneas](https://github.com/phryneas)! - `useQuery` with `ssr: false` - previously, `skip` had a higher priortity than `ssr: false` while `ssr: false` had a higher priority than `fetchPolicy: "standby"` (which is roughly equivalent to `skip`).
1267
+
1268
+ This priority has been adjusted so now both `skip` and `fetchPolicy: "standby"` have a higher priority than `ssr: false` and will return `loading: false`, while `ssr: false` will only come after those and will return `loading: true` if those are not set.
1269
+
1270
+ - [#12475](https://github.com/apollographql/apollo-client/pull/12475) [`3de63eb`](https://github.com/apollographql/apollo-client/commit/3de63ebcdf95a87adc31e6b4a39cae5391ed945a) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Fix an issue where passing `onError` to `useMutation` would resolve the promise returned by the `mutate` function instead of rejecting when using an `errorPolicy` of `none`.
1271
+
1272
+ - [#12475](https://github.com/apollographql/apollo-client/pull/12475) [`3de63eb`](https://github.com/apollographql/apollo-client/commit/3de63ebcdf95a87adc31e6b4a39cae5391ed945a) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Fix an issue where additional response properties were returned on the result returned from `client.mutate`, such as `@defer` payload fields. These properties are now stripped out to correspond to the TypeScript type.
1273
+
1274
+ ## 4.0.0-alpha.4
1275
+
1276
+ ### Major Changes
1277
+
1278
+ - [#12463](https://github.com/apollographql/apollo-client/pull/12463) [`3868df8`](https://github.com/apollographql/apollo-client/commit/3868df81f973dc7b5a79fadf4dc1b0e291003b7f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `ObservableQuery.setOptions` has been removed as it was an alias of `reobserve`. Prefer using `reobserve` directly instead.
1279
+
1280
+ ```diff
1281
+ const observable = client.watchQuery(options);
1282
+
1283
+ // Use reobserve to set new options and reevaluate the query
1284
+ - observable.setOptions(newOptions);
1285
+ + observable.reobserve(newOptions);
1286
+ ```
1287
+
1288
+ As a result of this change, `reobserve` has been marked for public use and is no longer considered an internal API. The `newNetworkStatus` argument has been removed to facilitate this change.
1289
+
1290
+ - [#12470](https://github.com/apollographql/apollo-client/pull/12470) [`d32902f`](https://github.com/apollographql/apollo-client/commit/d32902f26a4c5dea30421ee52aeea52df3e5334e) Thanks [@phryneas](https://github.com/phryneas)! - `ssrMode`, `ssrForceFetchDelay` and `disableNetworkFetches` have been reworked:
1291
+
1292
+ Previously, a `ObservableQuery` created by `client.query` or `client.watchQuery`
1293
+ while one of those were active would permanently be changed from a `fetchPolicy`
1294
+ of `"network-only"` or `"cache-and-network"` to `"cache-first"`, and stay that way
1295
+ even long after `disableNetworkFetches` would have been deactivated.
1296
+
1297
+ Now, the `ObservableQuery` will keep their original `fetchPolicy`, but queries
1298
+ made during `disableNetworkFetches` will just apply the `fetchPolicy` replacement
1299
+ at request time, just for that one request.
1300
+
1301
+ `ApolloClient.disableNetworkFetches` has been renamed to `ApolloClient.prioritizeCacheValues` to better reflect this behaviour.
1302
+
1303
+ - [#12465](https://github.com/apollographql/apollo-client/pull/12465) [`a132163`](https://github.com/apollographql/apollo-client/commit/a1321637cafb4023d6df416e9467294114d8346b) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Flatten out React hook types. As a result, the base types have been removed. Prefer using the hook types instead. Removed types include:
1304
+
1305
+ - `BaseMutationOptions`
1306
+ - `BaseQueryOptions`
1307
+ - `BaseSubscriptionOptions`
1308
+ - `ObservableQueryFields`
1309
+ - `MutationSharedOptions`
1310
+ - `QueryFunctionOptions`
1311
+
1312
+ - [#12463](https://github.com/apollographql/apollo-client/pull/12463) [`3868df8`](https://github.com/apollographql/apollo-client/commit/3868df81f973dc7b5a79fadf4dc1b0e291003b7f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `useQuery` no longer returns `reobserve` as part of its result. It was possible to use `reobserve` to set new options on the underlying `ObservableQuery` instance which differed from the options passed to the hook. This could result in unexpected results. Instead prefer to rerender the hook with new options.
1313
+
1314
+ ### Patch Changes
1315
+
1316
+ - [#12465](https://github.com/apollographql/apollo-client/pull/12465) [`a132163`](https://github.com/apollographql/apollo-client/commit/a1321637cafb4023d6df416e9467294114d8346b) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Rename all React hook result types and options. These types have all moved under a namespace that matches the hook name. For example, `useQuery` exports `useQuery.Options` and `useQuery.Result` types. As such, the old hook types have been deprecated and will be removed in v5.
1317
+
1318
+ ## 4.0.0-alpha.3
1319
+
1320
+ ### Major Changes
1321
+
1322
+ - [#12457](https://github.com/apollographql/apollo-client/pull/12457) [`32e85ea`](https://github.com/apollographql/apollo-client/commit/32e85ea9eb93c1ffb10d6f70e9e2775e1326e9aa) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Network errors triggered by queries now adhere to the `errorPolicy`. This means that GraphQL errors and network errors now behave the same way. Previously promise-based APIs, such as `client.query`, would reject the promise with the network error even if `errorPolicy` was set to `ignore`. The promise is now resolved with the `error` property set to the network error instead.
1323
+
1324
+ - [#12464](https://github.com/apollographql/apollo-client/pull/12464) [`0595f39`](https://github.com/apollographql/apollo-client/commit/0595f39deba52ac43fa0780b742564134ec7ab89) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `called` property from `useQuery`.
1325
+
1326
+ ## 4.0.0-alpha.2
1327
+
1328
+ ### Major Changes
1329
+
1330
+ - [#12450](https://github.com/apollographql/apollo-client/pull/12450) [`876d070`](https://github.com/apollographql/apollo-client/commit/876d07042cf3348b3769b2bb415aa5f70ce9844c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `TSerialized` generic argument to `ApolloCache`. The `ApolloCache` base cache abstraction now returns `unknown` for `cache.extract` which can be overridden by a cache subclass.
1331
+
1332
+ - [#12450](https://github.com/apollographql/apollo-client/pull/12450) [`876d070`](https://github.com/apollographql/apollo-client/commit/876d07042cf3348b3769b2bb415aa5f70ce9844c) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `TCacheShape` generic argument to `ApolloClient`. `client.extract()` now returns `unknown` by default. You will either need to type-cast this to the expected serialized shape, or use the `cache.extract()` directly from the subclass to get more specific types.
1333
+
1334
+ - [#12446](https://github.com/apollographql/apollo-client/pull/12446) [`ab920d2`](https://github.com/apollographql/apollo-client/commit/ab920d2701aa276482dbc78b44a1c25c76467bc9) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Removes the `defaultOptions` option from `useQuery`. Use options directly or use the global `ApolloClient` `defaultOptions`.
1335
+
1336
+ - [#12442](https://github.com/apollographql/apollo-client/pull/12442) [`c5ead08`](https://github.com/apollographql/apollo-client/commit/c5ead08d0f10ddd6232b742defe9620533bf41e6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the deprecated `canonizeResults` option. It was prone to memory leaks. As such, some results that were referentially equal when `canonizeResults` option was set to `true` no longer retain the same object identity.
1337
+
1338
+ - [#12442](https://github.com/apollographql/apollo-client/pull/12442) [`c5ead08`](https://github.com/apollographql/apollo-client/commit/c5ead08d0f10ddd6232b742defe9620533bf41e6) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `resetResultIdentities` option from `InMemoryCache.gc()`. This affected object canonization which has been removed.
1339
+
1340
+ - [#12451](https://github.com/apollographql/apollo-client/pull/12451) [`77e1b13`](https://github.com/apollographql/apollo-client/commit/77e1b133bdba32c67b5a840090dbacb16282dee9) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Default the `TData` generic type to `unknown` in all APIs that use a `TData` generic argument such as `useQuery`, `client.query`, etc.
1341
+
1342
+ ### Patch Changes
1343
+
1344
+ - [#12451](https://github.com/apollographql/apollo-client/pull/12451) [`77e1b13`](https://github.com/apollographql/apollo-client/commit/77e1b133bdba32c67b5a840090dbacb16282dee9) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Default `TVariables` generic type to `OperationVariables` instead of `any` throughout the client in areas that did not yet have the default as such.
1345
+
1346
+ - [#12454](https://github.com/apollographql/apollo-client/pull/12454) [`925548a`](https://github.com/apollographql/apollo-client/commit/925548a9baadb19b7bb78ee84c6f9e64b55c39e9) Thanks [@phryneas](https://github.com/phryneas)! - Fix up the 4.0 CommonJS build
1347
+
1348
+ ## 4.0.0-alpha.1
1349
+
1350
+ ### Major Changes
1351
+
1352
+ - [#12433](https://github.com/apollographql/apollo-client/pull/12433) [`b86e50b`](https://github.com/apollographql/apollo-client/commit/b86e50b1dc121cd67fe73655256b6c61afc18cb4) Thanks [@phryneas](https://github.com/phryneas)! - Remove workarounds for streaming with non-WhatWG response bodies to reduce bundle size.
1353
+
1354
+ This removes support for `fetch` implementations that return Node Streams, Async Iterators or Blob instances as `Response.body`.
1355
+
1356
+ In the WhatWG Fetch specification, [`Response.body`](https://fetch.spec.whatwg.org/#body) is specified as a WhatWG [ReadableStream](https://streams.spec.whatwg.org/#readablestream).
1357
+
1358
+ At this point in time, this is natively supported in browsers, `node` and React Native (via [react-native-fetch-api](https://www.npmjs.com/package/react-native-fetch-api), see our [setup instructions for React Native](https://www.apollographql.com/docs/react/integrations/react-native#consuming-multipart-http-via-text-streaming)).
1359
+
1360
+ If you are using an older `fetch` polyfill that deviates from the spec, this might not be compatible - for example, [node-fetch](https://github.com/node-fetch/node-fetch?tab=readme-ov-file#interface-body) returns a node `Readable` instead of a `ReadableStream`.
1361
+ In those cases, please switch to a compatible alternative such as the `node`-native `fetch`, or `undici`.
1362
+
1363
+ ### Minor Changes
1364
+
1365
+ - [#12438](https://github.com/apollographql/apollo-client/pull/12438) [`5089516`](https://github.com/apollographql/apollo-client/commit/5089516aa3ad140df22bb8a458faeeb884ed0388) Thanks [@phryneas](https://github.com/phryneas)! - Drop `rehackt` dependency.
1366
+ We can now directly import from `react` without causing build errors in RSC.
1367
+
1368
+ - [#12437](https://github.com/apollographql/apollo-client/pull/12437) [`4779dc7`](https://github.com/apollographql/apollo-client/commit/4779dc7badaba10d8c7a271eb0da6a079049b65d) Thanks [@phryneas](https://github.com/phryneas)! - Remove polyfills for Object.freeze,seal and preventExtensions in React Native
1369
+
1370
+ These polyfills were only necessary until React Native 0.59, which
1371
+ [patched the problem](https://github.com/facebook/react-native/pull/21492) on
1372
+ the React Native side.
1373
+
1374
+ With React Native 0.61, the `Map` function was [completely replaced](https://github.com/facebook/react-native/commit/93b9ac74e59bbe84ea388d7c1879857b4acab114)
1375
+ with a native implementation that never had the problems we guarded against.
1376
+
1377
+ - [#12438](https://github.com/apollographql/apollo-client/pull/12438) [`5089516`](https://github.com/apollographql/apollo-client/commit/5089516aa3ad140df22bb8a458faeeb884ed0388) Thanks [@phryneas](https://github.com/phryneas)! - Add `react-server` entry point with stubs for normal exports.
1378
+
1379
+ ## 4.0.0-alpha.0
1380
+
1381
+ ### Major Changes
1382
+
1383
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `asyncMap` utility function. Instead use one of the RxJS operators that creates Observables from promises, such as `from`.
1384
+
1385
+ - [#12398](https://github.com/apollographql/apollo-client/pull/12398) [`8cf5077`](https://github.com/apollographql/apollo-client/commit/8cf5077bed1ab46fdd32c5e253071506c0076064) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Removes the `isApolloError` utility function to check if the error object is an `ApolloError` instance. Use `instanceof` to check for more specific error types that replace `ApolloError`.
1386
+
1387
+ - [#12379](https://github.com/apollographql/apollo-client/pull/12379) [`ef892b4`](https://github.com/apollographql/apollo-client/commit/ef892b4dc505b02049525f9aba32c51f1c00c922) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Removes the `addTypename` option from `InMemoryCache` and `MockedProvider`. `__typename` is now always added to the outgoing query document when using `InMemoryCache` and cannot be disabled.
1388
+
1389
+ If you are using `<MockedProvider />` with `addTypename={false}`, ensure that your mocked responses include a `__typename` field. This will ensure cache normalization kicks in and behaves more like production.
1390
+
1391
+ - [#12396](https://github.com/apollographql/apollo-client/pull/12396) [`00f3d0a`](https://github.com/apollographql/apollo-client/commit/00f3d0a674eede1f909092283041cf8ac8d1b576) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the deprecated `errors` property from `useQuery` and `useLazyQuery`. Read errors from the `error` property instead.
1392
+
1393
+ - [#12222](https://github.com/apollographql/apollo-client/pull/12222) [`d1a9054`](https://github.com/apollographql/apollo-client/commit/d1a905461d4378522c3257de00afba2ae8decd22) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Drop support for React 16.
1394
+
1395
+ - [#12376](https://github.com/apollographql/apollo-client/pull/12376) [`a0c996a`](https://github.com/apollographql/apollo-client/commit/a0c996a816fbb6a2323231c0422d1c8a3e20cbaf) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove deprecated `ignoreResults` option from `useMutation`. If you don't want to synchronize component state with the mutation, use `useApolloClient` to access your client instance and use `client.mutate` directly.
1396
+
1397
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Unusubscribing from `ObservableQuery` while a request is in flight will no longer terminate the request by unsubscribing from the link observable.
1398
+
1399
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `previousData` property on `useLazyQuery` will now change only when `data` changes. Previously `previousData` would change to the same value as `data` while the query was loading.
1400
+
1401
+ - [#12224](https://github.com/apollographql/apollo-client/pull/12224) [`51e6c0f`](https://github.com/apollographql/apollo-client/commit/51e6c0f8657d20cedc570c6e9a244f877047dd61) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove deprecated `partialRefetch` option.
1402
+
1403
+ - [#12407](https://github.com/apollographql/apollo-client/pull/12407) [`8b1390b`](https://github.com/apollographql/apollo-client/commit/8b1390bf0050c6bd4d5a32b67c3b96369d0552d4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Calling `refetch` with new variables will now set the `networkStatus` to `refetch` instead of `setVariables`.
1404
+
1405
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `iterateObserversSafely` utility function.
1406
+
1407
+ - [#12398](https://github.com/apollographql/apollo-client/pull/12398) [`8cf5077`](https://github.com/apollographql/apollo-client/commit/8cf5077bed1ab46fdd32c5e253071506c0076064) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Apollo Client no longer wraps errors in `ApolloError`. `ApolloError` has been replaced with separate error classes depending on the cause of the error. As such, APIs that return an `error` property have been updated to use the generic `Error` type. Use `instanceof` to check for more specific error types.
1408
+
1409
+ ## Migration guide
1410
+
1411
+ `ApolloError` encapsulated 4 main error properties. The type of error would determine which property was set:
1412
+
1413
+ - `graphqlErrors` - Errors returned from the `errors` field by the GraphQL server
1414
+ - `networkError` - Any non-GraphQL error that caused the query to fail
1415
+ - `protocolErrors` - Transport-level errors that occur during [multipart HTTP subscriptions](https://www.apollographql.com/docs/graphos/routing/operations/subscriptions/multipart-protocol)
1416
+ - `clientErrors` - A space to define custom errors. Mostly unused.
1417
+
1418
+ These errors were mutally exclusive, meaning both `networkError` and `graphqlErrors` were never set simultaneously. The following replaces each of these fields from `ApolloError`.
1419
+
1420
+ ### `graphqlErrors`
1421
+
1422
+ GraphQL errors are now encapsulated in a `CombinedGraphQLErrors` instance. You can access the raw GraphQL errors via the `errors` property.
1423
+
1424
+ ```js
1425
+ import { CombinedGraphQLErrors } from "@apollo/client";
1426
+
1427
+ // ...
1428
+
1429
+ const { error } = useQuery(query);
1430
+
1431
+ if (error && error instanceof CombinedGraphQLErrors) {
1432
+ console.log(error.errors);
1433
+ }
1434
+ ```
1435
+
1436
+ ### `networkError`
1437
+
1438
+ Network errors are no longer wrapped and are instead passed through directly.
1439
+
1440
+ ```js
1441
+ const client = new ApolloClient({
1442
+ link: new ApolloLink(() => {
1443
+ return new Observable((observer) => {
1444
+ observer.error(new Error("Test error"));
1445
+ });
1446
+ }),
1447
+ });
1448
+
1449
+ // ...
1450
+
1451
+ const { error } = useQuery(query);
1452
+
1453
+ // error is `new Error('Test error')`;
1454
+ ```
1455
+
1456
+ ### `protocolErrors`
1457
+
1458
+ Protocol errors are now encapsulated in a `CombinedProtocolErrors` instance. You can access the raw protocol errors via the `errors` property.
1459
+
1460
+ ```js
1461
+ import { CombinedProtocolErrors } from "@apollo/client";
1462
+
1463
+ // ...
1464
+
1465
+ const { error } = useSubscription(subscription);
1466
+
1467
+ if (error && error instanceof CombinedProtocolErrors) {
1468
+ console.log(error.errors);
1469
+ }
1470
+ ```
1471
+
1472
+ ### `clientErrors`
1473
+
1474
+ These were unused by the client and have no replacement. Any non-GraphQL or non-protocol errors are now passed through unwrapped.
1475
+
1476
+ ### Strings as errors
1477
+
1478
+ If the link sends a string error, Apollo Client will wrap this in an `Error` instance. This ensures `error` properties are guaranteed to be of type `Error`.
1479
+
1480
+ ```js
1481
+ const client = new ApolloClient({
1482
+ link: new ApolloLink(() => {
1483
+ return new Observable((observer) => {
1484
+ // Oops we sent a string instead of wrapping it in an `Error`
1485
+ observer.error("Test error");
1486
+ });
1487
+ }),
1488
+ });
1489
+
1490
+ // ...
1491
+
1492
+ const { error } = useQuery(query);
1493
+
1494
+ // The error string is wrapped and returned as `new Error('Test error')`;
1495
+ ```
1496
+
1497
+ ### Non-error types
1498
+
1499
+ If the link chain sends any other object type as an error, Apollo Client will wrap this in an `UnknownError` instance with the [`cause`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error/cause) set to the original object. This ensures `error` properties are guaranteed to be of type `Error`.
1500
+
1501
+ ```js
1502
+ const client = new ApolloClient({
1503
+ link: new ApolloLink(() => {
1504
+ return new Observable((observer) => {
1505
+ observer.error({ message: "Not a proper error type" });
1506
+ });
1507
+ }),
1508
+ });
1509
+
1510
+ // ...
1511
+
1512
+ const { error } = useQuery(query);
1513
+
1514
+ // error is an `UnknownError` instance. error.cause returns the original object.
1515
+ ```
1516
+
1517
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `fromError` utility function. Use [`throwError`](https://rxjs.dev/api/index/function/throwError) instead.
1518
+
1519
+ - [#12211](https://github.com/apollographql/apollo-client/pull/12211) [`c2736db`](https://github.com/apollographql/apollo-client/commit/c2736db3ad6f8b6e56f065682d5b76614f41bfd4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the deprecated `graphql`, `withQuery`, `withMutation`, `withSubscription`, and `withApollo` hoc components. Use the provided React hooks instead.
1520
+
1521
+ - [#12262](https://github.com/apollographql/apollo-client/pull/12262) [`10ef733`](https://github.com/apollographql/apollo-client/commit/10ef7338cdcbbaf75d806f426e9708c9e095c2da) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `itAsync` test utility.
1522
+
1523
+ - [#12398](https://github.com/apollographql/apollo-client/pull/12398) [`8cf5077`](https://github.com/apollographql/apollo-client/commit/8cf5077bed1ab46fdd32c5e253071506c0076064) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Updates the `ServerError` and `ServerParseError` types to be proper `Error` subclasses. Perviously these were plain `Error` intances with additional properties added at runtime. All properties are retained, but `instanceof` checks now work correctly.
1524
+
1525
+ ```js
1526
+ import { ServerError, ServerParseError } from "@apollo/client";
1527
+
1528
+ if (error instanceof ServerError) {
1529
+ // ...
1530
+ }
1531
+
1532
+ if (error instanceof ServerParseError) {
1533
+ // ...
1534
+ }
1535
+ ```
1536
+
1537
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `useLazyQuery` no longer supports SSR environments and will now throw if the `execute` function is called in SSR. If you need to run a query in an SSR environment, use `useQuery` instead.
1538
+
1539
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The execute function returned from `useLazyQuery` now only supports the `context` and `variables` options. This means that passing options supported by the hook no longer override the hook value.
1540
+
1541
+ To change options, rerender the component with new options. These options will take effect with the next query execution.
1542
+
1543
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `ObservableQuery` will no longer terminate on errors and will instead emit a `next` value with an `error` property. This ensures that `ObservableQuery` instances can continue to receive updates after errors are returned in requests without the need to resubscribe to the observable.
1544
+
1545
+ - [#12398](https://github.com/apollographql/apollo-client/pull/12398) [`8cf5077`](https://github.com/apollographql/apollo-client/commit/8cf5077bed1ab46fdd32c5e253071506c0076064) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Removes the `throwServerError` utility function. Now that `ServerError` is an
1546
+ `Error` subclass, you can throw these errors directly:
1547
+
1548
+ ```js
1549
+ import { ServerError } from "@apollo/client";
1550
+
1551
+ // instead of
1552
+ throwServerError(response, result, "error message");
1553
+
1554
+ // Use
1555
+ throw new ServerError("error message", { response, result });
1556
+ ```
1557
+
1558
+ - [#12304](https://github.com/apollographql/apollo-client/pull/12304) [`86469a2`](https://github.com/apollographql/apollo-client/commit/86469a25abb72dbd68adff3554e3909036e77eee) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `Cache.DiffResult<T>` type is now a union type with better type safety for both complete and partial results. Checking `diff.complete` will now narrow the type of `result` depending on whether the value is `true` or `false`.
1559
+
1560
+ When `true`, `diff.result` will be a non-null value equal to the `T` generic type. When `false`, `diff.result` now reports `result` as `DeepPartial<T> | null` indicating that fields in the result may be missing (`DeepPartial<T>`) or empty entirely (`null`).
1561
+
1562
+ - [#12396](https://github.com/apollographql/apollo-client/pull/12396) [`00f3d0a`](https://github.com/apollographql/apollo-client/commit/00f3d0a674eede1f909092283041cf8ac8d1b576) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `errors` property from the results emitted from `ObservableQuery` or returned from `client.query`. Read errors from the `error` property instead.
1563
+
1564
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The result resolved from the promise returned from the execute function in `useLazyQuery` is now an `ApolloQueryResult` type and no longer includes all the fields returned from the `useLazyQuery` hook tuple.
1565
+
1566
+ If you need access to the additional properties such as `called`, `refetch`, etc. not included in `ApolloQueryResult`, read them from the hook instead.
1567
+
1568
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `useLazyQuery` will no longer rerender with the loading state when calling the execute function the first time unless the `notifyOnNetworkStatusChange` option is set to `true` (which is the new default).
1569
+
1570
+ If you prefer the behavior from 3.x, rerender the component with
1571
+ `notifyOnNetworkStatusChange` set to `false` after the execute function is
1572
+ called the first time.
1573
+
1574
+ ```ts
1575
+ function MyComponent() {
1576
+ const [notifyOnNetworkStatusChange, setNotifyOnNetworkStatusChange] =
1577
+ useState(true);
1578
+ const [execute] = useLazyQuery(query, { notifyOnNetworkStatusChange });
1579
+
1580
+ async function runExecute() {
1581
+ await execute();
1582
+
1583
+ // Set to false after the initial fetch to stop receiving notifications
1584
+ // about changes to the loading states.
1585
+ setNotifyOnNetworkStatusChange(false);
1586
+ }
1587
+
1588
+ // ...
1589
+ }
1590
+ ```
1591
+
1592
+ - [#12254](https://github.com/apollographql/apollo-client/pull/12254) [`0028ac0`](https://github.com/apollographql/apollo-client/commit/0028ac0147aaea9ab559f15630200a132b43da42) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Changes the default `Accept` header to `application/graphql-response+json`.
1593
+
1594
+ - [#12430](https://github.com/apollographql/apollo-client/pull/12430) [`2ff66d0`](https://github.com/apollographql/apollo-client/commit/2ff66d06b6d444fbcb46e580ac40e673e695740f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `ObservableQuery.setVariables` will now resolve with the last emitted result instead of `undefined` when either the variables match the current variables or there are no subscribers to the query.
1595
+
1596
+ - [#12385](https://github.com/apollographql/apollo-client/pull/12385) [`cad5117`](https://github.com/apollographql/apollo-client/commit/cad511723a1b8b0ac2042cf49435f7affb0dc4e4) Thanks [@phryneas](https://github.com/phryneas)! - Apollo Client now defaults to production mode, not development mode, if the
1597
+ environment cannot be determined.
1598
+
1599
+ In modern bundlers, this should automatically be handled by the bundler loading
1600
+ the bundler with the `development` export condition.
1601
+
1602
+ If neither the `production` nor the `development` export condition are
1603
+ used by the bundler/runtime, Apollo Client will fall back to `globalThis.__DEV__`
1604
+ to determine if it should run in production or development mode.
1605
+
1606
+ Unlike Apollo Client 3 though, if `globalThis.__DEV__` is not set to `true`,
1607
+ Apollo Client will now default to `production`, not to `development`, behaviour.
1608
+
1609
+ This switch to _explicilty_ requiring `true` also resolves a situation where
1610
+ an HTML element with `id="__DEV__"` would create a global `__DEV__` variable
1611
+ with a referent to the DOM element, which in the past was picked up as "truthy" and
1612
+ would have triggered development mode.
1613
+
1614
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `reobserve` option is no longer available in the result returned from `useLazyQuery`. This was considered an internal API and should not be used directly.
1615
+
1616
+ - [#12333](https://github.com/apollographql/apollo-client/pull/12333) [`3e4beaa`](https://github.com/apollographql/apollo-client/commit/3e4beaa8b768a893da80aae0428f79ee01d6aa38) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Fix type of `data` property on `ApolloQueryResult`. Previously this field was non-optional, non-null `TData`, however at runtime this value could be set to `undefined`. This field is now reported as `TData | undefined`.
1617
+
1618
+ This will affect you in a handful of places:
1619
+
1620
+ - The `data` property emitted from the result passed to the `next` callback from `client.watchQuery`
1621
+ - Fetch-based APIs that return an `ApolloQueryResult` type such as `observableQuery.refetch`, `observableQuery.fetchMore`, etc.
1622
+
1623
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The promise returned when calling the execute function from `useLazyQuery` will now reject when using an `errorPolicy` of `none` when GraphQL errors are returned from the result.
1624
+
1625
+ - [#12223](https://github.com/apollographql/apollo-client/pull/12223) [`69c1cb6`](https://github.com/apollographql/apollo-client/commit/69c1cb6f831941598987185238a299b050a364bd) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `subscribeAndCount` testing utility from `@apollo/client/testing`.
1626
+
1627
+ - [#12300](https://github.com/apollographql/apollo-client/pull/12300) [`4d581e4`](https://github.com/apollographql/apollo-client/commit/4d581e4f5a3c5409e5f06a5f164beabdada150f1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Moves all React-related exports to the `@apollo/client/react` entrypoint and out of the main `@apollo/client` entrypoint. This prevents the need to install React in order to use the core client.
1628
+
1629
+ The following is a list of exports available in `@apollo/client` that should now import from `@apollo/client/react`.
1630
+
1631
+ - `ApolloConsumer`
1632
+ - `ApolloProvider`
1633
+ - `createQueryPreloader`
1634
+ - `getApolloContext`
1635
+ - `skipToken`
1636
+ - `useApolloClient`
1637
+ - `useBackgroundQuery`
1638
+ - `useFragment`
1639
+ - `useLazyQuery`
1640
+ - `useLoadableQuery`
1641
+ - `useMutation`
1642
+ - `useQuery`
1643
+ - `useQueryRefHandlers`
1644
+ - `useReactiveVar`
1645
+ - `useReadQuery`
1646
+ - `useSubscription`
1647
+ - `useSuspenseQuery`
1648
+
1649
+ The following is a list of exports available in `@apollo/client/testing` that should now import from `@apollo/client/testing/react`:
1650
+
1651
+ - `MockedProvider`
1652
+
1653
+ - [#12428](https://github.com/apollographql/apollo-client/pull/12428) [`abed922`](https://github.com/apollographql/apollo-client/commit/abed92225fd2a5d2a0a2298893a1170df1cd7400) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Removes the `urql` multipart subscriptions utilities. Use the native multipart subscriptions support in `urql` instead.
1654
+
1655
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Switch to [RxJS](https://rxjs.dev/) as the observable implementation. `rxjs` is now a peer dependency of Apollo Client which means you will now need to install `rxjs` in addition to `@apollo/client`.
1656
+
1657
+ This change is mostly transparent, however transforming values on observables, common in link implementations, differs in RxJS vs `zen-observable`. For example, you could modify values in the link chain emitted from a downstream link by using the `.map` function. In RxJS, this is done with the `.pipe` function and passing a `map` operator instead.
1658
+
1659
+ ```ts
1660
+ import { map } from "rxjs";
1661
+
1662
+ const link new ApolloLink((operation, forward) => {
1663
+ return forward(operation).pipe(
1664
+ map((result) => performTransform(result))
1665
+ );
1666
+ });
1667
+ ```
1668
+
1669
+ For a full list of operators and comprehensive documentation on the capabilities of RxJS, check out the [documentation](https://rxjs.dev/).
1670
+
1671
+ - [#12329](https://github.com/apollographql/apollo-client/pull/12329) [`61febe4`](https://github.com/apollographql/apollo-client/commit/61febe4ef8712a2035d7ac89ea7283138db5229d) Thanks [@phryneas](https://github.com/phryneas)! - Rework package publish format (#12329, #12382)
1672
+
1673
+ We have reworked the way Apollo Client is packaged.
1674
+
1675
+ - shipping ESM and CJS
1676
+ - fixing up source maps
1677
+ - the build targets a modern runtime environment (browserslist query: `"since 2023, node >= 20, not dead"`)
1678
+ - removed the "proxy directory" `package.json` files, e.g. `cache/core/package.json` and `react/package.json`. While these helped with older build tools, modern build tooling uses the `exports` field in the root `package.json` instead and the presence of these files can confuse modern build tooling. If your build tooling still relies on those, please update your imports to import from e.g. `@apollo/client/cache/core/index.js` instead of `@apollo/client/cache/core` - but generally, this should not be necessary.
1679
+ - added an `exports` field to `package.json` to expose entry points
1680
+ - instead of `globalThis.__DEV__`, Apollo Client now primarily relies on the `development` and `production` exports conditions. It falls back to `globalThis.__DEV__` if the bundler doesn't know these, though.
1681
+
1682
+ - [#12397](https://github.com/apollographql/apollo-client/pull/12397) [`2545a54`](https://github.com/apollographql/apollo-client/commit/2545a5415b06283be83eb9c4a03a3a8a39b8bcde) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `ObservableQuery.resetQueryStoreErrors` method. This method reset some internal state that was not consumed elsewhere in the client and resulted in a no-op.
1683
+
1684
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `fromPromise` utility function. Use [`from`](https://rxjs.dev/api/index/function/from) instead.
1685
+
1686
+ - [#12388](https://github.com/apollographql/apollo-client/pull/12388) [`0d825be`](https://github.com/apollographql/apollo-client/commit/0d825bef533b41f2e99ef22e620d9f9472825057) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Require environments that support `WeakMap`, `WeakSet` and symbols. Apollo Client would fallback to `Map` and `Set` if the weak versions were not available. This has been removed and expects that these features are available in the source environment.
1687
+
1688
+ If you are running in an environment without `WeakMap`, `WeakSet` or symbols, you will need to find appropriate polyfills.
1689
+
1690
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `useLazyQuery` no longer supports calling the execute function in render and will now throw. If you need to execute the query immediately, use `useQuery` instead or move the call to a `useEffect`.
1691
+
1692
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - The `defaultOptions` and `initialFetchPolicy` options are no longer supported with `useLazyQuery`.
1693
+
1694
+ If you use `defaultOptions`, pass those options directly to the hook instead. If you use `initialFetchPolicy`, use `fetchPolicy` instead.
1695
+
1696
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `useLazyQuery` no longer supports `variables` in the hook options and therefore no longer performs variable merging. The execute function must now be called with `variables` instead.
1697
+
1698
+ ```ts
1699
+ function MyComponent() {
1700
+ const [execute] = useLazyQuery(query);
1701
+
1702
+ function runExecute() {
1703
+ execute({ variables: { ... }});
1704
+ }
1705
+ }
1706
+ ```
1707
+
1708
+ This change means the execute function returned from `useLazyQuery` is more type-safe. The execute function will require you to pass a `variables` option if the query type includes required variables.
1709
+
1710
+ - [#12304](https://github.com/apollographql/apollo-client/pull/12304) [`86469a2`](https://github.com/apollographql/apollo-client/commit/86469a25abb72dbd68adff3554e3909036e77eee) Thanks [@jerelmiller](https://github.com/jerelmiller)! - ### Changes for users of `InMemoryCache`
1711
+
1712
+ `cache.diff` now returns `null` instead of an empty object (`{}`) when `returnPartialData` is `true` and the result is empty.
1713
+
1714
+ If you use `cache.diff` directly with `returnPartialData: true`, you will need to check for `null` before accessing any other fields on the `result` property. A non-null value indicates that at least one field was present in the cache for the given query document.
1715
+
1716
+ ### Changes for third-party cache implementations
1717
+
1718
+ The client now expects `cache.diff` to return `null` instead of an empty object when there is no data that can be fulfilled from the cache and `returnPartialData` is `true`. If your cache implementation returns an empty object, please update this to return `null`.
1719
+
1720
+ - [#12430](https://github.com/apollographql/apollo-client/pull/12430) [`2ff66d0`](https://github.com/apollographql/apollo-client/commit/2ff66d06b6d444fbcb46e580ac40e673e695740f) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Removes `ObservableQuery.result()` method. If you use this method and need similar functionality, use the `firstValueFrom` helper in RxJS.
1721
+
1722
+ ```ts
1723
+ import { firstValueFrom, from } from "rxjs";
1724
+
1725
+ // The `from` is necessary to turn `observableQuery` into an RxJS observable
1726
+ const result = await firstValueFrom(from(observableQuery));
1727
+ ```
1728
+
1729
+ - [#12359](https://github.com/apollographql/apollo-client/pull/12359) [`ebb4d96`](https://github.com/apollographql/apollo-client/commit/ebb4d9644104244fb066b93a32df778928f2f8a9) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the `onCompleted` and `onError` callbacks from `useQuery` and `useLazyQuery`.
1730
+
1731
+ See [#12352](https://github.com/apollographql/apollo-client/issues/12352) for more context on this change.
1732
+
1733
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Subscriptions are no longer eagerly started after calling `client.subscribe`. To kick off the subscription, you will now need to subscribe to the returned observable.
1734
+
1735
+ ```ts
1736
+ // Subscriptions are no longer started when calling subscribe on its own.
1737
+ const subscriptionObservable = client.subscribe(...);
1738
+
1739
+ // Instead, subscribe to the returned observable to kick off the subscription.
1740
+ subscriptionObservable.subscribe({
1741
+ next: (value) => console.log(value)
1742
+ });
1743
+ ```
1744
+
1745
+ - [#12367](https://github.com/apollographql/apollo-client/pull/12367) [`e6af35e`](https://github.com/apollographql/apollo-client/commit/e6af35ed30c732ad834e6c524bc9ce5adbe5f706) Thanks [@jerelmiller](https://github.com/jerelmiller)! - `useLazyQuery` will now only execute the query when the execute function is called. Previously `useLazyQuery` would behave like `useQuery` after the first call to the execute function which means changes to options might perform network requests.
1746
+
1747
+ You can now safely rerender `useLazyQuery` with new options which will take effect the next time you manually trigger the query.
1748
+
1749
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove `toPromise` utility function. Use [`firstValueFrom`](https://rxjs.dev/api/index/function/firstValueFrom) instead.
1750
+
1751
+ - [#12304](https://github.com/apollographql/apollo-client/pull/12304) [`86469a2`](https://github.com/apollographql/apollo-client/commit/86469a25abb72dbd68adff3554e3909036e77eee) Thanks [@jerelmiller](https://github.com/jerelmiller)! - ### Changes for users of `InMemoryCache`
1752
+
1753
+ `cache.diff` no longer throws when `returnPartialData` is set to `false` without a complete result. Instead, `cache.diff` will return `null` when it is unable to read a full cache result.
1754
+
1755
+ If you use `cache.diff` directly with `returnPartialData: false`, remove the `try`/`catch` block and replace with a check for `null`.
1756
+
1757
+ ### Changes for third-party cache implementations
1758
+
1759
+ The client now expects `cache.diff` to return `null` instead of throwing when the cache returns an incomplete result and `returnPartialData` is `false`. The internal `try`/`catch` blocks have been removed around `cache.diff`. If your cache implementation throws for incomplete results, please update this to return `null`.
1760
+
1761
+ - [#12211](https://github.com/apollographql/apollo-client/pull/12211) [`c2736db`](https://github.com/apollographql/apollo-client/commit/c2736db3ad6f8b6e56f065682d5b76614f41bfd4) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Remove the deprecated `Query`, `Mutation`, and `Subscription` components. Use the provided React hooks instead.
1762
+
1763
+ ### Minor Changes
1764
+
1765
+ - [#12385](https://github.com/apollographql/apollo-client/pull/12385) [`cad5117`](https://github.com/apollographql/apollo-client/commit/cad511723a1b8b0ac2042cf49435f7affb0dc4e4) Thanks [@phryneas](https://github.com/phryneas)! - Apollo Client is no longer using `ts-invariant`, but ships with a modified variant of it.
1766
+
1767
+ The existing export `setLogVerbosity` from `@apollo/client` is still available and
1768
+ now points to this new integration.
1769
+ **In most cases, you should be using this export.**
1770
+ It will no longer adjust the verbosity of `ts-invariant` and as such no longer
1771
+ influence other packages relying on `ts-invariant`.
1772
+
1773
+ The new entry point `@apollo/client/utilities/invariant` now exports `invariant`,
1774
+ `InvariantError` and `setVerbosity`.
1775
+ (Note that these tools are mostly meant to be used by Apollo Client and libraries directly
1776
+ based on Apollo Client like the `@apollo/client-integration-*` packages.)
1777
+
1778
+ - [#12333](https://github.com/apollographql/apollo-client/pull/12333) [`3e4beaa`](https://github.com/apollographql/apollo-client/commit/3e4beaa8b768a893da80aae0428f79ee01d6aa38) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Deprecate the `partial` flag on `ApolloQueryResult` and make it a non-optional property. Previously `partial` was only set conditionally if the result emitted was partial. This value is now available with all results that return an `ApolloQueryResult`.
1779
+
1780
+ ### Patch Changes
1781
+
1782
+ - [#12291](https://github.com/apollographql/apollo-client/pull/12291) [`ae5d06a`](https://github.com/apollographql/apollo-client/commit/ae5d06ac45ca6584d3c79aa417dae22f37a7d3b6) Thanks [@phryneas](https://github.com/phryneas)! - Remove deprecated `resetApolloContext` export
1783
+
1784
+ - [#12402](https://github.com/apollographql/apollo-client/pull/12402) [`903c3ef`](https://github.com/apollographql/apollo-client/commit/903c3ef9f77280492c298b4d8e5f96f110e3cda1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Use an an empty object (`{}`) rather than an object with `null` prototype (`Object.create(null)`) in all areas that instantiate objects.
1785
+
1786
+ - [#12385](https://github.com/apollographql/apollo-client/pull/12385) [`cad5117`](https://github.com/apollographql/apollo-client/commit/cad511723a1b8b0ac2042cf49435f7affb0dc4e4) Thanks [@phryneas](https://github.com/phryneas)! - \* dropped the deprecated `DEV` export from `@apollo/client/utilities` and `@apollo/client/utilities/globals`
1787
+
1788
+ - moved the `__DEV__` export from `@apollo/client/utilities/globals` to `@apollo/client/utilities/environment`
1789
+ - moved the `invariant`, `newInvariantError` and `InvariantError` exports from `@apollo/client/utilities/globals` to `@apollo/client/utilities/invariant`
1790
+
1791
+ - [#12432](https://github.com/apollographql/apollo-client/pull/12432) [`c7c2f61`](https://github.com/apollographql/apollo-client/commit/c7c2f6122c874eed16d5621be26992f86d9756eb) Thanks [@phryneas](https://github.com/phryneas)! - ObservableQuery: implement the `rxjs` `InteropObservable` interface to ensure `from(observableQuery)` stays possible
1792
+
1793
+ - [#12385](https://github.com/apollographql/apollo-client/pull/12385) [`cad5117`](https://github.com/apollographql/apollo-client/commit/cad511723a1b8b0ac2042cf49435f7affb0dc4e4) Thanks [@phryneas](https://github.com/phryneas)! - `@apollo/client`, `@apollo/client/core` and `@apollo/client/cache` no longer export an empty `Cache` runtime object. This is meant to be a type-only namespace.
1794
+
1795
+ - [#12384](https://github.com/apollographql/apollo-client/pull/12384) [`6aa6fd3`](https://github.com/apollographql/apollo-client/commit/6aa6fd316cfdb31ebbe3e3133cca2965604e7ca1) Thanks [@jerelmiller](https://github.com/jerelmiller)! - Don't emit a partial cache result from `cache-only` queries when `returnPartialData` is `false`.
1796
+
1797
+ ## 3.13.8
1798
+
1799
+ ### Patch Changes
1800
+
1801
+ - [#12567](https://github.com/apollographql/apollo-client/pull/12567) [`c19d415`](https://github.com/apollographql/apollo-client/commit/c19d41513cac0cc143aa7358f26c89c9408da102) Thanks [@thearchitector](https://github.com/thearchitector)! - Fix in-flight multipart urql subscription cancellation
1802
+
3
1803
  ## 3.13.7
4
1804
 
5
1805
  ### Patch Changes