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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (528) hide show
  1. package/CHANGELOG.md +63 -0
  2. package/README.md +40 -40
  3. package/__cjs/cache/core/cache.cjs +4 -12
  4. package/__cjs/cache/core/cache.cjs.map +1 -1
  5. package/__cjs/cache/core/cache.d.cts +96 -66
  6. package/__cjs/cache/core/types/Cache.cjs +0 -4
  7. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  8. package/__cjs/cache/core/types/Cache.d.cts +200 -15
  9. package/__cjs/cache/{core/types/DataProxy.cjs → deprecated.cjs} +1 -1
  10. package/__cjs/cache/deprecated.cjs.map +1 -0
  11. package/__cjs/cache/deprecated.d.cts +6 -0
  12. package/__cjs/cache/index.cjs.map +1 -1
  13. package/__cjs/cache/index.d.cts +2 -2
  14. package/__cjs/cache/inmemory/entityStore.cjs +28 -31
  15. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  16. package/__cjs/cache/inmemory/entityStore.d.cts +18 -17
  17. package/__cjs/cache/inmemory/inMemoryCache.cjs +1 -1
  18. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  19. package/__cjs/cache/inmemory/inMemoryCache.d.cts +4 -4
  20. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  21. package/__cjs/cache/inmemory/policies.cjs +4 -4
  22. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  23. package/__cjs/cache/inmemory/policies.d.cts +3 -2
  24. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  25. package/__cjs/cache/inmemory/types.d.cts +1 -1
  26. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  27. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  28. package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
  29. package/__cjs/core/ApolloClient.cjs +137 -117
  30. package/__cjs/core/ApolloClient.cjs.map +1 -1
  31. package/__cjs/core/ApolloClient.d.cts +790 -183
  32. package/__cjs/core/ObservableQuery.cjs +50 -20
  33. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  34. package/__cjs/core/ObservableQuery.d.cts +184 -68
  35. package/__cjs/core/QueryInfo.cjs.map +1 -1
  36. package/__cjs/core/QueryInfo.d.cts +5 -4
  37. package/__cjs/core/QueryManager.cjs +15 -13
  38. package/__cjs/core/QueryManager.cjs.map +1 -1
  39. package/__cjs/core/QueryManager.d.cts +17 -17
  40. package/__cjs/core/deprecated.cjs +3 -0
  41. package/__cjs/core/deprecated.cjs.map +1 -0
  42. package/__cjs/core/deprecated.d.cts +29 -0
  43. package/__cjs/core/index.cjs.map +1 -1
  44. package/__cjs/core/index.d.cts +9 -5
  45. package/__cjs/core/types.d.cts +81 -104
  46. package/__cjs/core/watchQueryOptions.d.cts +8 -297
  47. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  48. package/__cjs/dev/setErrorMessageHandler.d.cts +4 -4
  49. package/__cjs/errors/CombinedGraphQLErrors.cjs +59 -11
  50. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  51. package/__cjs/errors/CombinedGraphQLErrors.d.cts +146 -11
  52. package/__cjs/errors/CombinedProtocolErrors.cjs +48 -1
  53. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  54. package/__cjs/errors/CombinedProtocolErrors.d.cts +126 -2
  55. package/__cjs/errors/LinkError.cjs +45 -2
  56. package/__cjs/errors/LinkError.cjs.map +1 -1
  57. package/__cjs/errors/LinkError.d.cts +45 -2
  58. package/__cjs/errors/LocalStateError.cjs +35 -5
  59. package/__cjs/errors/LocalStateError.cjs.map +1 -1
  60. package/__cjs/errors/LocalStateError.d.cts +41 -5
  61. package/__cjs/errors/ServerError.cjs +50 -8
  62. package/__cjs/errors/ServerError.cjs.map +1 -1
  63. package/__cjs/errors/ServerError.d.cts +70 -11
  64. package/__cjs/errors/ServerParseError.cjs +45 -8
  65. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  66. package/__cjs/errors/ServerParseError.d.cts +71 -16
  67. package/__cjs/errors/UnconventionalError.cjs +46 -2
  68. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  69. package/__cjs/errors/UnconventionalError.d.cts +46 -2
  70. package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  71. package/__cjs/invariantErrorCodes.cjs +72 -80
  72. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  73. package/__cjs/link/batch-http/batchHttpLink.cjs +2 -2
  74. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  75. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
  76. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +4 -4
  77. package/__cjs/link/context/index.cjs +1 -1
  78. package/__cjs/link/context/index.cjs.map +1 -1
  79. package/__cjs/link/context/index.d.cts +1 -1
  80. package/__cjs/link/core/ApolloLink.cjs +2 -2
  81. package/__cjs/link/core/types.d.cts +2 -2
  82. package/__cjs/link/error/index.cjs.map +1 -1
  83. package/__cjs/link/error/index.d.cts +16 -1
  84. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  85. package/__cjs/link/http/HttpLink.d.cts +13 -2
  86. package/__cjs/link/http/checkFetcher.cjs +1 -1
  87. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  88. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  89. package/__cjs/link/persisted-queries/index.cjs +2 -2
  90. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  91. package/__cjs/link/persisted-queries/index.d.cts +11 -11
  92. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  93. package/__cjs/link/retry/delayFunction.d.cts +1 -1
  94. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  95. package/__cjs/link/retry/retryFunction.d.cts +1 -1
  96. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  97. package/__cjs/link/schema/index.cjs.map +1 -1
  98. package/__cjs/link/utils/validateOperation.cjs +1 -1
  99. package/__cjs/link/ws/index.cjs.map +1 -1
  100. package/__cjs/local-state/LocalState.cjs +55 -9
  101. package/__cjs/local-state/LocalState.cjs.map +1 -1
  102. package/__cjs/local-state/LocalState.d.cts +94 -0
  103. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +6 -7
  104. package/__cjs/masking/internal/types.d.cts +70 -70
  105. package/__cjs/masking/maskDefinition.cjs +2 -2
  106. package/__cjs/masking/maskFragment.cjs +2 -2
  107. package/__cjs/masking/maskOperation.cjs +1 -1
  108. package/__cjs/masking/utils.cjs +3 -3
  109. package/__cjs/react/context/ApolloContext.cjs +1 -1
  110. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  111. package/__cjs/react/hooks/internal/useDeepMemo.cjs +0 -3
  112. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  113. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
  114. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +2 -2
  115. package/__cjs/react/hooks/internal/wrapHook.cjs +1 -0
  116. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  117. package/__cjs/react/hooks/internal/wrapHook.d.cts +8 -7
  118. package/__cjs/react/hooks/useApolloClient.cjs +2 -2
  119. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  120. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  121. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  122. package/__cjs/react/hooks/useBackgroundQuery.d.cts +814 -82
  123. package/__cjs/react/hooks/useFragment.cjs +11 -9
  124. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  125. package/__cjs/react/hooks/useFragment.d.cts +53 -2
  126. package/__cjs/react/hooks/useLazyQuery.cjs +0 -38
  127. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  128. package/__cjs/react/hooks/useLazyQuery.d.cts +313 -119
  129. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  130. package/__cjs/react/hooks/useLoadableQuery.d.cts +230 -44
  131. package/__cjs/react/hooks/useMutation.cjs +6 -7
  132. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  133. package/__cjs/react/hooks/useMutation.d.cts +57 -17
  134. package/__cjs/react/hooks/useQuery.cjs +1 -35
  135. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  136. package/__cjs/react/hooks/useQuery.d.cts +407 -238
  137. package/__cjs/react/hooks/useQueryRefHandlers.cjs +2 -1
  138. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  139. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +25 -1
  140. package/__cjs/react/hooks/useReactiveVar.cjs +2 -1
  141. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  142. package/__cjs/react/hooks/useReactiveVar.d.cts +2 -1
  143. package/__cjs/react/hooks/useReadQuery.cjs +29 -0
  144. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  145. package/__cjs/react/hooks/useReadQuery.d.cts +95 -16
  146. package/__cjs/react/hooks/useSubscription.cjs +8 -9
  147. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  148. package/__cjs/react/hooks/useSubscription.d.cts +153 -69
  149. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  150. package/__cjs/react/hooks/useSuspenseFragment.d.cts +61 -29
  151. package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -1
  152. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  153. package/__cjs/react/hooks/useSuspenseQuery.d.cts +605 -160
  154. package/__cjs/react/index.cjs +1 -5
  155. package/__cjs/react/index.cjs.map +1 -1
  156. package/__cjs/react/index.d.cts +0 -2
  157. package/__cjs/react/index.react-server.cjs +1 -3
  158. package/__cjs/react/index.react-server.cjs.map +1 -1
  159. package/__cjs/react/index.react-server.d.cts +0 -1
  160. package/__cjs/react/internal/cache/FragmentReference.cjs +1 -1
  161. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  162. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -3
  163. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  164. package/__cjs/react/internal/cache/QueryReference.d.cts +11 -11
  165. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  166. package/__cjs/react/internal/cache/SuspenseCache.d.cts +2 -2
  167. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  168. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +6 -4
  169. package/__cjs/react/internal/index.cjs +1 -0
  170. package/__cjs/react/internal/index.cjs.map +1 -1
  171. package/__cjs/react/internal/index.d.cts +1 -1
  172. package/__cjs/react/internal/types.d.cts +3 -3
  173. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -1
  174. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  175. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +31 -31
  176. package/__cjs/react/ssr/prerenderStatic.cjs +5 -4
  177. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  178. package/__cjs/react/ssr/prerenderStatic.d.cts +11 -9
  179. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  180. package/__cjs/react/types/deprecated.d.cts +1 -1
  181. package/__cjs/react/types/types.documentation.d.cts +22 -11
  182. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  183. package/__cjs/testing/core/mocking/mockLink.d.cts +3 -2
  184. package/__cjs/testing/core/types/deprecated.d.cts +3 -2
  185. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  186. package/__cjs/testing/react/MockedProvider.d.cts +2 -3
  187. package/__cjs/utilities/HKT.d.cts +8 -7
  188. package/__cjs/utilities/caching/sizes.cjs +3 -3
  189. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  190. package/__cjs/utilities/caching/sizes.d.cts +4 -6
  191. package/__cjs/utilities/graphql/DocumentTransform.cjs +2 -2
  192. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  193. package/__cjs/utilities/index.cjs +2 -3
  194. package/__cjs/utilities/index.cjs.map +1 -1
  195. package/__cjs/utilities/index.d.cts +1 -2
  196. package/__cjs/utilities/{shared → internal}/canonicalStringify.cjs +5 -7
  197. package/__cjs/utilities/internal/canonicalStringify.cjs.map +1 -0
  198. package/__cjs/utilities/{shared → internal}/canonicalStringify.d.cts +1 -1
  199. package/__cjs/utilities/internal/checkDocument.cjs +2 -2
  200. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  201. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  202. package/__cjs/{core → utilities/internal}/equalByQuery.cjs +13 -7
  203. package/__cjs/utilities/internal/equalByQuery.cjs.map +1 -0
  204. package/__cjs/utilities/internal/equalByQuery.d.cts +5 -0
  205. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +13 -3
  206. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  207. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +13 -3
  208. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  209. package/__cjs/utilities/internal/getStoreKeyName.cjs +9 -7
  210. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  211. package/__cjs/utilities/internal/index.cjs +8 -2
  212. package/__cjs/utilities/internal/index.cjs.map +1 -1
  213. package/__cjs/utilities/internal/index.d.cts +4 -0
  214. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  215. package/__cjs/utilities/internal/mergeOptions.d.cts +2 -2
  216. package/__cjs/utilities/internal/removeFragmentSpreads.cjs +14 -0
  217. package/__cjs/utilities/internal/removeFragmentSpreads.cjs.map +1 -0
  218. package/__cjs/utilities/internal/removeFragmentSpreads.d.cts +3 -0
  219. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  220. package/__cjs/utilities/internal/toQueryResult.d.cts +2 -2
  221. package/__cjs/utilities/internal/types/DocumentationTypes.cjs +3 -0
  222. package/__cjs/utilities/internal/types/DocumentationTypes.cjs.map +1 -0
  223. package/__cjs/utilities/internal/types/DocumentationTypes.d.cts +96 -0
  224. package/__cjs/utilities/internal/types/NoInfer.d.cts +31 -25
  225. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -0
  226. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  227. package/__cjs/version.cjs +1 -1
  228. package/cache/core/cache.d.ts +96 -66
  229. package/cache/core/cache.js +5 -13
  230. package/cache/core/cache.js.map +1 -1
  231. package/cache/core/types/Cache.d.ts +200 -15
  232. package/cache/core/types/Cache.js +1 -3
  233. package/cache/core/types/Cache.js.map +1 -1
  234. package/cache/deprecated.d.ts +6 -0
  235. package/cache/deprecated.js +2 -0
  236. package/cache/deprecated.js.map +1 -0
  237. package/cache/index.d.ts +2 -2
  238. package/cache/index.js.map +1 -1
  239. package/cache/inmemory/entityStore.d.ts +18 -17
  240. package/cache/inmemory/entityStore.js +28 -31
  241. package/cache/inmemory/entityStore.js.map +1 -1
  242. package/cache/inmemory/inMemoryCache.d.ts +4 -4
  243. package/cache/inmemory/inMemoryCache.js +1 -1
  244. package/cache/inmemory/inMemoryCache.js.map +1 -1
  245. package/cache/inmemory/key-extractor.js +1 -1
  246. package/cache/inmemory/policies.d.ts +3 -2
  247. package/cache/inmemory/policies.js +4 -4
  248. package/cache/inmemory/policies.js.map +1 -1
  249. package/cache/inmemory/readFromStore.js +2 -2
  250. package/cache/inmemory/types.d.ts +1 -1
  251. package/cache/inmemory/types.js.map +1 -1
  252. package/cache/inmemory/writeToStore.d.ts +1 -1
  253. package/cache/inmemory/writeToStore.js +4 -4
  254. package/cache/inmemory/writeToStore.js.map +1 -1
  255. package/core/ApolloClient.d.ts +790 -183
  256. package/core/ApolloClient.js +138 -118
  257. package/core/ApolloClient.js.map +1 -1
  258. package/core/ObservableQuery.d.ts +184 -68
  259. package/core/ObservableQuery.js +50 -20
  260. package/core/ObservableQuery.js.map +1 -1
  261. package/core/QueryInfo.d.ts +5 -4
  262. package/core/QueryInfo.js.map +1 -1
  263. package/core/QueryManager.d.ts +17 -17
  264. package/core/QueryManager.js +15 -13
  265. package/core/QueryManager.js.map +1 -1
  266. package/core/deprecated.d.ts +29 -0
  267. package/core/deprecated.js +2 -0
  268. package/core/deprecated.js.map +1 -0
  269. package/core/index.d.ts +9 -5
  270. package/core/index.js.map +1 -1
  271. package/core/types.d.ts +81 -104
  272. package/core/types.js.map +1 -1
  273. package/core/watchQueryOptions.d.ts +9 -298
  274. package/core/watchQueryOptions.js.map +1 -1
  275. package/dev/setErrorMessageHandler.d.ts +4 -4
  276. package/dev/setErrorMessageHandler.js.map +1 -1
  277. package/errors/CombinedGraphQLErrors.d.ts +147 -12
  278. package/errors/CombinedGraphQLErrors.js +60 -12
  279. package/errors/CombinedGraphQLErrors.js.map +1 -1
  280. package/errors/CombinedProtocolErrors.d.ts +127 -3
  281. package/errors/CombinedProtocolErrors.js +49 -2
  282. package/errors/CombinedProtocolErrors.js.map +1 -1
  283. package/errors/LinkError.d.ts +45 -2
  284. package/errors/LinkError.js +45 -2
  285. package/errors/LinkError.js.map +1 -1
  286. package/errors/LocalStateError.d.ts +42 -6
  287. package/errors/LocalStateError.js +36 -6
  288. package/errors/LocalStateError.js.map +1 -1
  289. package/errors/ServerError.d.ts +71 -12
  290. package/errors/ServerError.js +51 -9
  291. package/errors/ServerError.js.map +1 -1
  292. package/errors/ServerParseError.d.ts +72 -17
  293. package/errors/ServerParseError.js +46 -9
  294. package/errors/ServerParseError.js.map +1 -1
  295. package/errors/UnconventionalError.d.ts +46 -2
  296. package/errors/UnconventionalError.js +46 -2
  297. package/errors/UnconventionalError.js.map +1 -1
  298. package/incremental/handlers/notImplemented.js +1 -1
  299. package/invariantErrorCodes.js +72 -80
  300. package/link/batch/batchLink.js.map +1 -1
  301. package/link/batch-http/batchHttpLink.js +1 -1
  302. package/link/batch-http/batchHttpLink.js.map +1 -1
  303. package/link/client-awareness/ClientAwarenessLink.d.ts +4 -4
  304. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  305. package/link/context/index.d.ts +1 -1
  306. package/link/context/index.js +1 -1
  307. package/link/context/index.js.map +1 -1
  308. package/link/core/ApolloLink.js +2 -2
  309. package/link/core/types.d.ts +2 -2
  310. package/link/core/types.js.map +1 -1
  311. package/link/error/index.d.ts +16 -1
  312. package/link/error/index.js.map +1 -1
  313. package/link/http/HttpLink.d.ts +13 -2
  314. package/link/http/HttpLink.js.map +1 -1
  315. package/link/http/checkFetcher.js +1 -1
  316. package/link/http/parseAndCheckHttpResponse.js +1 -1
  317. package/link/http/serializeFetchParameter.js +1 -1
  318. package/link/persisted-queries/index.d.ts +11 -11
  319. package/link/persisted-queries/index.js +2 -2
  320. package/link/persisted-queries/index.js.map +1 -1
  321. package/link/retry/delayFunction.d.ts +1 -1
  322. package/link/retry/delayFunction.js.map +1 -1
  323. package/link/retry/retryFunction.d.ts +1 -1
  324. package/link/retry/retryFunction.js.map +1 -1
  325. package/link/retry/retryLink.js.map +1 -1
  326. package/link/schema/index.js.map +1 -1
  327. package/link/utils/validateOperation.js +1 -1
  328. package/link/ws/index.js.map +1 -1
  329. package/local-state/LocalState.d.ts +94 -0
  330. package/local-state/LocalState.js +55 -9
  331. package/local-state/LocalState.js.map +1 -1
  332. package/masking/GraphQLCodegenDataMasking.d.ts +6 -7
  333. package/masking/GraphQLCodegenDataMasking.js.map +1 -1
  334. package/masking/internal/types.d.ts +70 -70
  335. package/masking/internal/types.js.map +1 -1
  336. package/masking/maskDefinition.js +2 -2
  337. package/masking/maskFragment.js +2 -2
  338. package/masking/maskOperation.js +1 -1
  339. package/masking/types.js.map +1 -1
  340. package/masking/utils.js +3 -3
  341. package/package.json +1 -1
  342. package/react/context/ApolloContext.js +1 -1
  343. package/react/context/ApolloProvider.js +1 -1
  344. package/react/hooks/internal/useDeepMemo.js +0 -3
  345. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  346. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +2 -2
  347. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
  348. package/react/hooks/internal/wrapHook.d.ts +8 -7
  349. package/react/hooks/internal/wrapHook.js +1 -0
  350. package/react/hooks/internal/wrapHook.js.map +1 -1
  351. package/react/hooks/useApolloClient.d.ts +2 -2
  352. package/react/hooks/useApolloClient.js +2 -2
  353. package/react/hooks/useApolloClient.js.map +1 -1
  354. package/react/hooks/useBackgroundQuery.d.ts +814 -82
  355. package/react/hooks/useBackgroundQuery.js.map +1 -1
  356. package/react/hooks/useFragment.d.ts +54 -3
  357. package/react/hooks/useFragment.js +11 -9
  358. package/react/hooks/useFragment.js.map +1 -1
  359. package/react/hooks/useLazyQuery.d.ts +313 -119
  360. package/react/hooks/useLazyQuery.js +0 -38
  361. package/react/hooks/useLazyQuery.js.map +1 -1
  362. package/react/hooks/useLoadableQuery.d.ts +230 -44
  363. package/react/hooks/useLoadableQuery.js.map +1 -1
  364. package/react/hooks/useMutation.d.ts +57 -17
  365. package/react/hooks/useMutation.js +6 -7
  366. package/react/hooks/useMutation.js.map +1 -1
  367. package/react/hooks/useQuery.d.ts +407 -238
  368. package/react/hooks/useQuery.js +1 -35
  369. package/react/hooks/useQuery.js.map +1 -1
  370. package/react/hooks/useQueryRefHandlers.d.ts +25 -1
  371. package/react/hooks/useQueryRefHandlers.js +2 -1
  372. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  373. package/react/hooks/useReactiveVar.d.ts +2 -1
  374. package/react/hooks/useReactiveVar.js +2 -1
  375. package/react/hooks/useReactiveVar.js.map +1 -1
  376. package/react/hooks/useReadQuery.d.ts +96 -17
  377. package/react/hooks/useReadQuery.js +29 -0
  378. package/react/hooks/useReadQuery.js.map +1 -1
  379. package/react/hooks/useSubscription.d.ts +153 -69
  380. package/react/hooks/useSubscription.js +8 -9
  381. package/react/hooks/useSubscription.js.map +1 -1
  382. package/react/hooks/useSuspenseFragment.d.ts +62 -30
  383. package/react/hooks/useSuspenseFragment.js.map +1 -1
  384. package/react/hooks/useSuspenseQuery.d.ts +605 -160
  385. package/react/hooks/useSuspenseQuery.js +4 -1
  386. package/react/hooks/useSuspenseQuery.js.map +1 -1
  387. package/react/hooks-compiled/internal/useDeepMemo.js +0 -3
  388. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -1
  389. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +2 -2
  390. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -1
  391. package/react/hooks-compiled/internal/wrapHook.d.ts +8 -7
  392. package/react/hooks-compiled/internal/wrapHook.js +1 -0
  393. package/react/hooks-compiled/internal/wrapHook.js.map +1 -1
  394. package/react/hooks-compiled/useApolloClient.d.ts +2 -2
  395. package/react/hooks-compiled/useApolloClient.js +2 -2
  396. package/react/hooks-compiled/useApolloClient.js.map +1 -1
  397. package/react/hooks-compiled/useBackgroundQuery.d.ts +814 -82
  398. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -1
  399. package/react/hooks-compiled/useFragment.d.ts +54 -3
  400. package/react/hooks-compiled/useFragment.js +11 -9
  401. package/react/hooks-compiled/useFragment.js.map +1 -1
  402. package/react/hooks-compiled/useLazyQuery.d.ts +313 -119
  403. package/react/hooks-compiled/useLazyQuery.js +0 -38
  404. package/react/hooks-compiled/useLazyQuery.js.map +1 -1
  405. package/react/hooks-compiled/useLoadableQuery.d.ts +230 -44
  406. package/react/hooks-compiled/useLoadableQuery.js.map +1 -1
  407. package/react/hooks-compiled/useMutation.d.ts +57 -17
  408. package/react/hooks-compiled/useMutation.js +6 -7
  409. package/react/hooks-compiled/useMutation.js.map +1 -1
  410. package/react/hooks-compiled/useQuery.d.ts +407 -238
  411. package/react/hooks-compiled/useQuery.js +1 -35
  412. package/react/hooks-compiled/useQuery.js.map +1 -1
  413. package/react/hooks-compiled/useQueryRefHandlers.d.ts +25 -1
  414. package/react/hooks-compiled/useQueryRefHandlers.js +2 -1
  415. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -1
  416. package/react/hooks-compiled/useReactiveVar.d.ts +2 -1
  417. package/react/hooks-compiled/useReactiveVar.js +2 -1
  418. package/react/hooks-compiled/useReactiveVar.js.map +1 -1
  419. package/react/hooks-compiled/useReadQuery.d.ts +96 -17
  420. package/react/hooks-compiled/useReadQuery.js +29 -0
  421. package/react/hooks-compiled/useReadQuery.js.map +1 -1
  422. package/react/hooks-compiled/useSubscription.d.ts +153 -69
  423. package/react/hooks-compiled/useSubscription.js +8 -9
  424. package/react/hooks-compiled/useSubscription.js.map +1 -1
  425. package/react/hooks-compiled/useSuspenseFragment.d.ts +62 -30
  426. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -1
  427. package/react/hooks-compiled/useSuspenseQuery.d.ts +605 -160
  428. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -1
  429. package/react/index.compiled.d.ts +0 -2
  430. package/react/index.compiled.js +0 -2
  431. package/react/index.compiled.js.map +1 -1
  432. package/react/index.d.ts +0 -2
  433. package/react/index.js +0 -2
  434. package/react/index.js.map +1 -1
  435. package/react/index.react-server.d.ts +0 -1
  436. package/react/index.react-server.js +0 -2
  437. package/react/index.react-server.js.map +1 -1
  438. package/react/internal/cache/FragmentReference.d.ts +2 -3
  439. package/react/internal/cache/FragmentReference.js +1 -1
  440. package/react/internal/cache/FragmentReference.js.map +1 -1
  441. package/react/internal/cache/QueryReference.d.ts +11 -11
  442. package/react/internal/cache/QueryReference.js.map +1 -1
  443. package/react/internal/cache/SuspenseCache.d.ts +2 -2
  444. package/react/internal/cache/SuspenseCache.js.map +1 -1
  445. package/react/internal/cache/getSuspenseCache.d.ts +6 -4
  446. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  447. package/react/internal/index.d.ts +1 -1
  448. package/react/internal/index.js +1 -0
  449. package/react/internal/index.js.map +1 -1
  450. package/react/internal/types.d.ts +3 -3
  451. package/react/internal/types.js.map +1 -1
  452. package/react/query-preloader/createQueryPreloader.d.ts +31 -31
  453. package/react/query-preloader/createQueryPreloader.js +1 -1
  454. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  455. package/react/ssr/prerenderStatic.d.ts +11 -9
  456. package/react/ssr/prerenderStatic.js +5 -4
  457. package/react/ssr/prerenderStatic.js.map +1 -1
  458. package/react/ssr/useSSRQuery.js.map +1 -1
  459. package/react/types/deprecated.d.ts +1 -1
  460. package/react/types/deprecated.js.map +1 -1
  461. package/react/types/types.documentation.d.ts +22 -11
  462. package/react/types/types.documentation.js.map +1 -1
  463. package/testing/core/mocking/mockLink.d.ts +3 -2
  464. package/testing/core/mocking/mockLink.js.map +1 -1
  465. package/testing/core/types/deprecated.d.ts +3 -2
  466. package/testing/core/types/deprecated.js.map +1 -1
  467. package/testing/react/MockedProvider.d.ts +2 -3
  468. package/testing/react/MockedProvider.js.map +1 -1
  469. package/utilities/HKT.d.ts +8 -7
  470. package/utilities/HKT.js.map +1 -1
  471. package/utilities/caching/sizes.d.ts +4 -6
  472. package/utilities/caching/sizes.js +3 -3
  473. package/utilities/caching/sizes.js.map +1 -1
  474. package/utilities/graphql/DocumentTransform.js +1 -1
  475. package/utilities/graphql/DocumentTransform.js.map +1 -1
  476. package/utilities/index.d.ts +1 -2
  477. package/utilities/index.js +1 -2
  478. package/utilities/index.js.map +1 -1
  479. package/utilities/{shared → internal}/canonicalStringify.d.ts +1 -1
  480. package/utilities/{shared → internal}/canonicalStringify.js +4 -6
  481. package/utilities/internal/canonicalStringify.js.map +1 -0
  482. package/utilities/internal/checkDocument.js +1 -1
  483. package/utilities/internal/checkDocument.js.map +1 -1
  484. package/utilities/internal/createFragmentMap.js.map +1 -1
  485. package/utilities/internal/equalByQuery.d.ts +5 -0
  486. package/{core → utilities/internal}/equalByQuery.js +7 -1
  487. package/utilities/internal/equalByQuery.js.map +1 -0
  488. package/utilities/internal/getFragmentQueryDocument.d.ts +13 -3
  489. package/utilities/internal/getFragmentQueryDocument.js +13 -3
  490. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  491. package/utilities/internal/getMemoryInternals.js.map +1 -1
  492. package/utilities/internal/getStoreKeyName.js +9 -7
  493. package/utilities/internal/getStoreKeyName.js.map +1 -1
  494. package/utilities/internal/index.d.ts +4 -0
  495. package/utilities/internal/index.js +3 -0
  496. package/utilities/internal/index.js.map +1 -1
  497. package/utilities/internal/mergeOptions.d.ts +2 -2
  498. package/utilities/internal/mergeOptions.js.map +1 -1
  499. package/utilities/internal/removeFragmentSpreads.d.ts +3 -0
  500. package/utilities/internal/removeFragmentSpreads.js +11 -0
  501. package/utilities/internal/removeFragmentSpreads.js.map +1 -0
  502. package/utilities/internal/toQueryResult.d.ts +2 -2
  503. package/utilities/internal/toQueryResult.js.map +1 -1
  504. package/utilities/internal/types/DocumentationTypes.d.ts +96 -0
  505. package/utilities/internal/types/DocumentationTypes.js +2 -0
  506. package/utilities/internal/types/DocumentationTypes.js.map +1 -0
  507. package/utilities/internal/types/NoInfer.d.ts +31 -25
  508. package/utilities/internal/types/NoInfer.js.map +1 -1
  509. package/utilities/subscriptions/relay/index.js +2 -0
  510. package/utilities/subscriptions/relay/index.js.map +1 -1
  511. package/version.js +1 -1
  512. package/__cjs/cache/core/types/DataProxy.cjs.map +0 -1
  513. package/__cjs/cache/core/types/DataProxy.d.cts +0 -140
  514. package/__cjs/core/equalByQuery.cjs.map +0 -1
  515. package/__cjs/core/equalByQuery.d.cts +0 -4
  516. package/__cjs/react/context/ApolloConsumer.cjs +0 -16
  517. package/__cjs/react/context/ApolloConsumer.cjs.map +0 -1
  518. package/__cjs/react/context/ApolloConsumer.d.cts +0 -10
  519. package/__cjs/utilities/shared/canonicalStringify.cjs.map +0 -1
  520. package/cache/core/types/DataProxy.d.ts +0 -140
  521. package/cache/core/types/DataProxy.js +0 -2
  522. package/cache/core/types/DataProxy.js.map +0 -1
  523. package/core/equalByQuery.d.ts +0 -4
  524. package/core/equalByQuery.js.map +0 -1
  525. package/react/context/ApolloConsumer.d.ts +0 -10
  526. package/react/context/ApolloConsumer.js +0 -11
  527. package/react/context/ApolloConsumer.js.map +0 -1
  528. package/utilities/shared/canonicalStringify.js.map +0 -1
@@ -2,8 +2,9 @@ import { OperationTypeNode } from "graphql";
2
2
  import { map } from "rxjs";
3
3
  import { NotImplementedHandler } from "@apollo/client/incremental";
4
4
  import { execute } from "@apollo/client/link";
5
+ import { DocumentTransform } from "@apollo/client/utilities";
5
6
  import { __DEV__ } from "@apollo/client/utilities/environment";
6
- import { checkDocument, compact, getApolloClientMemoryInternals, mergeOptions, } from "@apollo/client/utilities/internal";
7
+ import { checkDocument, compact, getApolloClientMemoryInternals, mergeOptions, removeMaskedFragmentSpreads, } from "@apollo/client/utilities/internal";
7
8
  import { invariant } from "@apollo/client/utilities/invariant";
8
9
  import { version } from "../version.js";
9
10
  import { QueryManager } from "./QueryManager.js";
@@ -46,23 +47,24 @@ export class ApolloClient {
46
47
  * Constructs an instance of `ApolloClient`.
47
48
  *
48
49
  * @example
50
+ *
49
51
  * ```js
50
- * import { ApolloClient, InMemoryCache } from '@apollo/client';
52
+ * import { ApolloClient, InMemoryCache } from "@apollo/client";
51
53
  *
52
54
  * const cache = new InMemoryCache();
53
55
  *
54
56
  * const client = new ApolloClient({
55
57
  * // Provide required constructor fields
56
58
  * cache: cache,
57
- * uri: 'http://localhost:4000/',
59
+ * uri: "http://localhost:4000/",
58
60
  *
59
61
  * // Provide some optional constructor fields
60
- * name: 'react-web-client',
61
- * version: '1.3',
62
+ * name: "react-web-client",
63
+ * version: "1.3",
62
64
  * queryDeduplication: false,
63
65
  * defaultOptions: {
64
66
  * watchQuery: {
65
- * fetchPolicy: 'cache-and-network',
67
+ * fetchPolicy: "cache-and-network",
66
68
  * },
67
69
  * },
68
70
  * });
@@ -70,8 +72,8 @@ export class ApolloClient {
70
72
  */
71
73
  constructor(options) {
72
74
  if (__DEV__) {
73
- invariant(options.cache, 66);
74
- invariant(options.link, 67);
75
+ invariant(options.cache, 65);
76
+ invariant(options.link, 66);
75
77
  }
76
78
  const { cache, documentTransform, ssrMode = false, ssrForceFetchDelay = 0, queryDeduplication = true, defaultOptions, defaultContext, assumeImmutableResults = cache.assumeImmutableResults, localState, devtools, dataMasking, link, incrementalHandler = new NotImplementedHandler(), } = options;
77
79
  this.link = link;
@@ -182,6 +184,12 @@ export class ApolloClient {
182
184
  /**
183
185
  * Call this method to terminate any active client processes, making it safe
184
186
  * to dispose of this `ApolloClient` instance.
187
+ *
188
+ * This method performs aggressive cleanup to prevent memory leaks:
189
+ *
190
+ * - Unsubscribes all active `ObservableQuery` instances by emitting a `completed` event
191
+ * - Rejects all currently running queries with "QueryManager stopped while query was in flight"
192
+ * - Removes all queryRefs from the suspense cache
185
193
  */
186
194
  stop() {
187
195
  this.queryManager.stop();
@@ -196,11 +204,11 @@ export class ApolloClient {
196
204
  *
197
205
  * For example, suppose you call watchQuery on a GraphQL query that fetches a person's
198
206
  * first and last name and this person has a particular object identifier, provided by
199
- * dataIdFromObject. Later, a different query fetches that same person's
207
+ * `cache.identify`. Later, a different query fetches that same person's
200
208
  * first and last name and the first name has now changed. Then, any observers associated
201
209
  * with the results of the first query will be updated with a new result object.
202
210
  *
203
- * Note that if the cache does not change, the subscriber will *not* be notified.
211
+ * Note that if the cache does not change, the subscriber will _not_ be notified.
204
212
  *
205
213
  * See [here](https://medium.com/apollo-stack/the-concepts-of-graphql-bc68bd819be3#.3mb0cbcmc) for
206
214
  * a description of store reactivity.
@@ -225,13 +233,13 @@ export class ApolloClient {
225
233
  options = mergeOptions(this.defaultOptions.query, options);
226
234
  }
227
235
  if (__DEV__) {
228
- invariant(options.fetchPolicy !== "cache-and-network", 68);
229
- invariant(options.fetchPolicy !== "standby", 69);
230
- invariant(options.query, 70);
231
- invariant(options.query.kind === "Document", 71);
232
- invariant(!options.returnPartialData, 72);
233
- invariant(!options.pollInterval, 73);
234
- invariant(!options.notifyOnNetworkStatusChange, 74);
236
+ invariant(options.fetchPolicy !== "cache-and-network", 67);
237
+ invariant(options.fetchPolicy !== "standby", 68);
238
+ invariant(options.query, 69);
239
+ invariant(options.query.kind === "Document", 70);
240
+ invariant(!options.returnPartialData, 71);
241
+ invariant(!options.pollInterval, 72);
242
+ invariant(!options.notifyOnNetworkStatusChange, 73);
235
243
  }
236
244
  return this.queryManager.query(options);
237
245
  }
@@ -249,9 +257,9 @@ export class ApolloClient {
249
257
  errorPolicy: "none",
250
258
  }, this.defaultOptions.mutate), options);
251
259
  if (__DEV__) {
252
- invariant(optionsWithDefaults.mutation, 75);
260
+ invariant(optionsWithDefaults.mutation, 74);
253
261
  invariant(optionsWithDefaults.fetchPolicy === "network-only" ||
254
- optionsWithDefaults.fetchPolicy === "no-cache", 76);
262
+ optionsWithDefaults.fetchPolicy === "no-cache", 75);
255
263
  }
256
264
  checkDocument(optionsWithDefaults.mutation, OperationTypeNode.MUTATION);
257
265
  return this.queryManager.mutate(optionsWithDefaults);
@@ -274,17 +282,8 @@ export class ApolloClient {
274
282
  })));
275
283
  return Object.assign(mapped, { restart: observable.restart });
276
284
  }
277
- /**
278
- * Tries to read some data from the store in the shape of the provided
279
- * GraphQL query without making a network request. This method will start at
280
- * the root query. To start at a specific id returned by `dataIdFromObject`
281
- * use `readFragment`.
282
- *
283
- * @param optimistic - Set to `true` to allow `readQuery` to return
284
- * optimistic results. Is `false` by default.
285
- */
286
285
  readQuery(options, optimistic = false) {
287
- return this.cache.readQuery(options, optimistic);
286
+ return this.cache.readQuery({ ...options, query: this.transform(options.query) }, optimistic);
288
287
  }
289
288
  /**
290
289
  * Watches the cache store of the fragment according to the options specified
@@ -303,32 +302,37 @@ export class ApolloClient {
303
302
  * to optimistic updates.
304
303
  */
305
304
  watchFragment(options) {
306
- return this.cache.watchFragment({
305
+ const dataMasking = this.queryManager.dataMasking;
306
+ return this.cache
307
+ .watchFragment({
307
308
  ...options,
308
- [Symbol.for("apollo.dataMasking")]: this.queryManager.dataMasking,
309
- });
309
+ fragment: this.transform(options.fragment, dataMasking),
310
+ })
311
+ .pipe(map((result) => {
312
+ // The transform will remove fragment spreads from the fragment
313
+ // document when dataMasking is enabled. The `maskFragment` function
314
+ // remains to apply warnings to fragments marked as
315
+ // `@unmask(mode: "migrate")`. Since these warnings are only applied
316
+ // in dev, we can skip the masking algorithm entirely for production.
317
+ if (__DEV__) {
318
+ if (dataMasking) {
319
+ const data = this.queryManager.maskFragment({
320
+ ...options,
321
+ data: result.data,
322
+ });
323
+ return { ...result, data };
324
+ }
325
+ }
326
+ return result;
327
+ }));
310
328
  }
311
- /**
312
- * Tries to read some data from the store in the shape of the provided
313
- * GraphQL fragment without making a network request. This method will read a
314
- * GraphQL fragment from any arbitrary id that is currently cached, unlike
315
- * `readQuery` which will only read from the root query.
316
- *
317
- * You must pass in a GraphQL document with a single fragment or a document
318
- * with multiple fragments that represent what you are reading. If you pass
319
- * in a document with multiple fragments then you must also specify a
320
- * `fragmentName`.
321
- *
322
- * @param optimistic - Set to `true` to allow `readFragment` to return
323
- * optimistic results. Is `false` by default.
324
- */
325
329
  readFragment(options, optimistic = false) {
326
- return this.cache.readFragment(options, optimistic);
330
+ return this.cache.readFragment({ ...options, fragment: this.transform(options.fragment) }, optimistic);
327
331
  }
328
332
  /**
329
333
  * Writes some data in the shape of the provided GraphQL query directly to
330
334
  * the store. This method will start at the root query. To start at a
331
- * specific id returned by `dataIdFromObject` then use `writeFragment`.
335
+ * specific id returned by `cache.identify` then use `writeFragment`.
332
336
  */
333
337
  writeQuery(options) {
334
338
  const ref = this.cache.writeQuery(options);
@@ -371,7 +375,7 @@ export class ApolloClient {
371
375
  * user session, and you now want to make sure that any references to data you
372
376
  * might have fetched while the user session was active is gone.
373
377
  *
374
- * It is important to remember that `resetStore()` *will* refetch any active
378
+ * It is important to remember that `resetStore()` _will_ refetch any active
375
379
  * queries. This means that any components that might be mounted will execute
376
380
  * their queries again using your network interface. If you do not want to
377
381
  * re-execute any queries then you should make sure to stop watching any
@@ -423,13 +427,15 @@ export class ApolloClient {
423
427
  *
424
428
  * `reFetchObservableQueries()` is useful if you want to bring the client back to proper state in case of a network outage
425
429
  *
426
- * It is important to remember that `reFetchObservableQueries()` *will* refetch any active
430
+ * It is important to remember that `reFetchObservableQueries()` _will_ refetch any active
427
431
  * queries. This means that any components that might be mounted will execute
428
432
  * their queries again using your network interface. If you do not want to
429
433
  * re-execute any queries then you should make sure to stop watching any
430
434
  * active queries.
431
435
  * Takes optional parameter `includeStandby` which will include queries in standby-mode when refetching.
432
436
  *
437
+ * Note: `cache-only` queries are not refetched by this function.
438
+ *
433
439
  * @deprecated Please use `refetchObservableQueries` instead.
434
440
  */
435
441
  reFetchObservableQueries;
@@ -438,12 +444,14 @@ export class ApolloClient {
438
444
  *
439
445
  * `refetchObservableQueries()` is useful if you want to bring the client back to proper state in case of a network outage
440
446
  *
441
- * It is important to remember that `refetchObservableQueries()` *will* refetch any active
447
+ * It is important to remember that `refetchObservableQueries()` _will_ refetch any active
442
448
  * queries. This means that any components that might be mounted will execute
443
449
  * their queries again using your network interface. If you do not want to
444
450
  * re-execute any queries then you should make sure to stop watching any
445
451
  * active queries.
446
452
  * Takes optional parameter `includeStandby` which will include queries in standby-mode when refetching.
453
+ *
454
+ * Note: `cache-only` queries are not refetched by this function.
447
455
  */
448
456
  refetchObservableQueries(includeStandby) {
449
457
  return this.queryManager.refetchObservableQueries(includeStandby);
@@ -453,7 +461,7 @@ export class ApolloClient {
453
461
  *
454
462
  * `refetchQueries()` is useful for use cases to imperatively refresh a selection of queries.
455
463
  *
456
- * It is important to remember that `refetchQueries()` *will* refetch specified active
464
+ * It is important to remember that `refetchQueries()` _will_ refetch specified active
457
465
  * queries. This means that any components that might be mounted will execute
458
466
  * their queries again using your network interface. If you do not want to
459
467
  * re-execute any queries then you should make sure to stop watching any
@@ -476,13 +484,12 @@ export class ApolloClient {
476
484
  // result.queries and result.results instead, you shouldn't have to worry
477
485
  // about preventing uncaught rejections for the Promise.all result.
478
486
  result.catch((error) => {
479
- __DEV__ && invariant.debug(77, error);
487
+ __DEV__ && invariant.debug(76, error);
480
488
  });
481
489
  return result;
482
490
  }
483
491
  /**
484
- * Get all currently active `ObservableQuery` objects, in a `Map` keyed by
485
- * query ID strings.
492
+ * Get all currently active `ObservableQuery` objects, in a `Set`.
486
493
  *
487
494
  * An "active" query is one that has observers and a `fetchPolicy` other than
488
495
  * "standby" or "cache-only".
@@ -490,6 +497,9 @@ export class ApolloClient {
490
497
  * You can include all `ObservableQuery` objects (including the inactive ones)
491
498
  * by passing "all" instead of "active", or you can include just a subset of
492
499
  * active queries by passing an array of query names or DocumentNode objects.
500
+ *
501
+ * Note: This method only returns queries that have active subscribers. Queries
502
+ * without subscribers are not tracked by the client.
493
503
  */
494
504
  getObservableQueries(include = "active") {
495
505
  return this.queryManager.getObservableQueries(include);
@@ -519,6 +529,13 @@ export class ApolloClient {
519
529
  get defaultContext() {
520
530
  return this.queryManager.defaultContext;
521
531
  }
532
+ maskedFragmentTransform = new DocumentTransform(removeMaskedFragmentSpreads);
533
+ transform(document, dataMasking = false) {
534
+ const transformed = this.queryManager.transform(document);
535
+ return dataMasking ?
536
+ this.maskedFragmentTransform.transformDocument(transformed)
537
+ : transformed;
538
+ }
522
539
  /**
523
540
  * @experimental
524
541
  * This is not a stable API - it is used in development builds to expose
@@ -527,75 +544,78 @@ export class ApolloClient {
527
544
  * For more details, see [Memory Management](https://www.apollographql.com/docs/react/caching/memory-management/#measuring-cache-usage)
528
545
  *
529
546
  * @example
547
+ *
530
548
  * ```ts
531
- * console.log(client.getMemoryInternals())
549
+ * console.log(client.getMemoryInternals());
532
550
  * ```
551
+ *
533
552
  * Logs output in the following JSON format:
534
553
  * @example
554
+ *
535
555
  * ```json
536
- *{
537
- * limits: {
538
- * canonicalStringify: 1000,
539
- * print: 2000,
540
- * 'documentTransform.cache': 2000,
541
- * 'queryManager.getDocumentInfo': 2000,
542
- * 'PersistedQueryLink.persistedQueryHashes': 2000,
543
- * 'fragmentRegistry.transform': 2000,
544
- * 'fragmentRegistry.lookup': 1000,
545
- * 'fragmentRegistry.findFragmentSpreads': 4000,
546
- * 'cache.fragmentQueryDocuments': 1000,
547
- * 'removeTypenameFromVariables.getVariableDefinitions': 2000,
548
- * 'inMemoryCache.maybeBroadcastWatch': 5000,
549
- * 'inMemoryCache.executeSelectionSet': 10000,
550
- * 'inMemoryCache.executeSubSelectedArray': 5000
551
- * },
552
- * sizes: {
553
- * canonicalStringify: 4,
554
- * print: 14,
555
- * addTypenameDocumentTransform: [
556
- * {
557
- * cache: 14,
558
- * },
559
- * ],
560
- * queryManager: {
561
- * getDocumentInfo: 14,
562
- * documentTransforms: [
563
- * {
564
- * cache: 14,
565
- * },
566
- * {
567
- * cache: 14,
568
- * },
569
- * ],
570
- * },
571
- * fragmentRegistry: {
572
- * findFragmentSpreads: 34,
573
- * lookup: 20,
574
- * transform: 14,
575
- * },
576
- * cache: {
577
- * fragmentQueryDocuments: 22,
578
- * },
579
- * inMemoryCache: {
580
- * executeSelectionSet: 4345,
581
- * executeSubSelectedArray: 1206,
582
- * maybeBroadcastWatch: 32,
583
- * },
584
- * links: [
585
- * {
586
- * PersistedQueryLink: {
587
- * persistedQueryHashes: 14,
588
- * },
589
- * },
590
- * {
591
- * removeTypenameFromVariables: {
592
- * getVariableDefinitions: 14,
593
- * },
594
- * },
595
- * ],
596
- * },
556
+ * {
557
+ * "limits": {
558
+ * "canonicalStringify": 1000,
559
+ * "print": 2000,
560
+ * "documentTransform.cache": 2000,
561
+ * "queryManager.getDocumentInfo": 2000,
562
+ * "PersistedQueryLink.persistedQueryHashes": 2000,
563
+ * "fragmentRegistry.transform": 2000,
564
+ * "fragmentRegistry.lookup": 1000,
565
+ * "fragmentRegistry.findFragmentSpreads": 4000,
566
+ * "cache.fragmentQueryDocuments": 1000,
567
+ * "removeTypenameFromVariables.getVariableDefinitions": 2000,
568
+ * "inMemoryCache.maybeBroadcastWatch": 5000,
569
+ * "inMemoryCache.executeSelectionSet": 10000,
570
+ * "inMemoryCache.executeSubSelectedArray": 5000
571
+ * },
572
+ * "sizes": {
573
+ * "canonicalStringify": 4,
574
+ * "print": 14,
575
+ * "addTypenameDocumentTransform": [
576
+ * {
577
+ * "cache": 14
578
+ * }
579
+ * ],
580
+ * "queryManager": {
581
+ * "getDocumentInfo": 14,
582
+ * "documentTransforms": [
583
+ * {
584
+ * "cache": 14
585
+ * },
586
+ * {
587
+ * "cache": 14
588
+ * }
589
+ * ]
590
+ * },
591
+ * "fragmentRegistry": {
592
+ * "findFragmentSpreads": 34,
593
+ * "lookup": 20,
594
+ * "transform": 14
595
+ * },
596
+ * "cache": {
597
+ * "fragmentQueryDocuments": 22
598
+ * },
599
+ * "inMemoryCache": {
600
+ * "executeSelectionSet": 4345,
601
+ * "executeSubSelectedArray": 1206,
602
+ * "maybeBroadcastWatch": 32
603
+ * },
604
+ * "links": [
605
+ * {
606
+ * "PersistedQueryLink": {
607
+ * "persistedQueryHashes": 14
608
+ * }
609
+ * },
610
+ * {
611
+ * "removeTypenameFromVariables": {
612
+ * "getVariableDefinitions": 14
613
+ * }
614
+ * }
615
+ * ]
616
+ * }
597
617
  * }
598
- *```
618
+ * ```
599
619
  */
600
620
  getMemoryInternals;
601
621
  }