@apollo/client 4.0.0-alpha.0 → 4.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (935) hide show
  1. package/.changeset/afraid-moons-arrive.md +5 -0
  2. package/.changeset/beige-mirrors-talk.md +15 -0
  3. package/.changeset/clean-sheep-hide.md +6 -0
  4. package/.changeset/cool-bikes-shake.md +12 -0
  5. package/.changeset/cool-kiwis-hunt.md +15 -0
  6. package/.changeset/cuddly-spiders-tie.md +5 -0
  7. package/.changeset/dirty-eagles-poke.md +5 -0
  8. package/.changeset/early-eggs-develop.md +22 -0
  9. package/.changeset/eighty-squids-fix.md +15 -0
  10. package/.changeset/eleven-kangaroos-jump.md +5 -0
  11. package/.changeset/forty-shrimps-fry.md +5 -0
  12. package/.changeset/forty-tomatoes-punch.md +5 -0
  13. package/.changeset/four-countries-clean.md +24 -0
  14. package/.changeset/four-ghosts-watch.md +5 -0
  15. package/.changeset/funny-jeans-invent.md +16 -0
  16. package/.changeset/funny-terms-deny.md +5 -0
  17. package/.changeset/fuzzy-tips-sit.md +5 -0
  18. package/.changeset/gentle-badgers-train.md +5 -0
  19. package/.changeset/giant-apes-thank.md +5 -0
  20. package/.changeset/giant-bags-share.md +5 -0
  21. package/.changeset/gorgeous-chefs-tap.md +5 -0
  22. package/.changeset/great-roses-jog.md +15 -0
  23. package/.changeset/grumpy-vans-type.md +5 -0
  24. package/.changeset/hip-vans-act.md +5 -0
  25. package/.changeset/hungry-bikes-cough.md +5 -0
  26. package/.changeset/itchy-chefs-run.md +23 -0
  27. package/.changeset/khaki-keys-deliver.md +5 -0
  28. package/.changeset/khaki-spies-work.md +11 -0
  29. package/.changeset/large-plants-know.md +5 -0
  30. package/.changeset/light-apes-rescue.md +5 -0
  31. package/.changeset/little-spoons-kick.md +7 -0
  32. package/.changeset/loud-cows-raise.md +7 -0
  33. package/.changeset/many-buses-allow.md +5 -0
  34. package/.changeset/mean-lizards-think.md +5 -0
  35. package/.changeset/nervous-fireants-bow.md +5 -0
  36. package/.changeset/nervous-goats-allow.md +5 -0
  37. package/.changeset/nice-dots-matter.md +5 -0
  38. package/.changeset/ninety-bags-bake.md +17 -0
  39. package/.changeset/odd-chicken-hide.md +17 -0
  40. package/.changeset/odd-lemons-relax.md +5 -0
  41. package/.changeset/perfect-vans-give.md +7 -0
  42. package/.changeset/poor-eels-punch.md +5 -0
  43. package/.changeset/pre.json +67 -0
  44. package/.changeset/purple-bears-flash.md +5 -0
  45. package/.changeset/rare-houses-prove.md +5 -0
  46. package/.changeset/real-teachers-peel.md +5 -0
  47. package/.changeset/serious-moons-juggle.md +5 -0
  48. package/.changeset/seven-dragons-repair.md +14 -0
  49. package/.changeset/shaggy-pugs-add.md +52 -0
  50. package/.changeset/short-months-complain.md +5 -0
  51. package/.changeset/slimy-chicken-melt.md +5 -0
  52. package/.changeset/slimy-maps-press.md +5 -0
  53. package/.changeset/small-buttons-rhyme.md +5 -0
  54. package/.changeset/swift-rivers-share.md +13 -0
  55. package/.changeset/tall-bikes-develop.md +5 -0
  56. package/.changeset/tame-doors-shop.md +14 -0
  57. package/.changeset/tame-points-work.md +11 -0
  58. package/.changeset/tender-swans-flash.md +16 -0
  59. package/.changeset/thick-books-grin.md +5 -0
  60. package/.changeset/thin-peas-hear.md +16 -0
  61. package/.changeset/tidy-pandas-punch.md +5 -0
  62. package/.changeset/tough-rockets-allow.md +5 -0
  63. package/.changeset/tricky-tables-shave.md +5 -0
  64. package/.changeset/unlucky-kiwis-sell.md +5 -0
  65. package/.changeset/warm-ties-sit.md +7 -0
  66. package/.changeset/wicked-forks-double.md +33 -0
  67. package/.changeset/young-phones-fold.md +5 -0
  68. package/.changeset/young-snails-grin.md +5 -0
  69. package/CHANGELOG.md +507 -0
  70. package/__cjs/cache/core/cache.cjs +3 -3
  71. package/__cjs/cache/core/cache.cjs.map +1 -1
  72. package/__cjs/cache/core/cache.d.cts +19 -19
  73. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  74. package/__cjs/cache/core/types/Cache.d.cts +9 -16
  75. package/__cjs/cache/core/types/DataProxy.d.cts +8 -23
  76. package/__cjs/cache/core/types/common.cjs +1 -0
  77. package/__cjs/cache/core/types/common.cjs.map +1 -1
  78. package/__cjs/cache/index.cjs +4 -4
  79. package/__cjs/cache/index.cjs.map +1 -1
  80. package/__cjs/cache/index.d.cts +3 -3
  81. package/__cjs/cache/inmemory/entityStore.cjs +6 -5
  82. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  83. package/__cjs/cache/inmemory/entityStore.d.cts +3 -2
  84. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -3
  85. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  86. package/__cjs/cache/inmemory/helpers.cjs +0 -8
  87. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  88. package/__cjs/cache/inmemory/helpers.d.cts +3 -4
  89. package/__cjs/cache/inmemory/inMemoryCache.cjs +6 -18
  90. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  91. package/__cjs/cache/inmemory/inMemoryCache.d.cts +9 -11
  92. package/__cjs/cache/inmemory/policies.cjs +5 -5
  93. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  94. package/__cjs/cache/inmemory/policies.d.cts +1 -1
  95. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  96. package/__cjs/cache/inmemory/reactiveVars.d.cts +7 -7
  97. package/__cjs/cache/inmemory/readFromStore.cjs +12 -54
  98. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  99. package/__cjs/cache/inmemory/readFromStore.d.cts +1 -6
  100. package/__cjs/cache/inmemory/types.d.cts +3 -17
  101. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  102. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  103. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -2
  104. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +6 -4
  105. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +1 -1
  106. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +3 -3
  107. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +1 -1
  108. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +2 -3
  109. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +1 -1
  110. package/__cjs/config/jest/areServerErrorsEqual.cjs +22 -0
  111. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +1 -0
  112. package/__cjs/config/jest/areServerErrorsEqual.d.cts +3 -0
  113. package/__cjs/config/jest/resolver.cjs +11 -0
  114. package/__cjs/config/jest/resolver.cjs.map +1 -1
  115. package/__cjs/config/jest/setup.cjs +18 -1
  116. package/__cjs/config/jest/setup.cjs.map +1 -1
  117. package/__cjs/core/ApolloClient.cjs +36 -19
  118. package/__cjs/core/ApolloClient.cjs.map +1 -1
  119. package/__cjs/core/ApolloClient.d.cts +36 -26
  120. package/__cjs/core/LocalState.cjs +2 -2
  121. package/__cjs/core/LocalState.cjs.map +1 -1
  122. package/__cjs/core/LocalState.d.cts +8 -8
  123. package/__cjs/core/ObservableQuery.cjs +268 -104
  124. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  125. package/__cjs/core/ObservableQuery.d.cts +156 -17
  126. package/__cjs/core/QueryInfo.cjs +12 -86
  127. package/__cjs/core/QueryInfo.cjs.map +1 -1
  128. package/__cjs/core/QueryInfo.d.cts +2 -11
  129. package/__cjs/core/QueryManager.cjs +148 -104
  130. package/__cjs/core/QueryManager.cjs.map +1 -1
  131. package/__cjs/core/QueryManager.d.cts +45 -24
  132. package/__cjs/core/index.cjs +42 -21
  133. package/__cjs/core/index.cjs.map +1 -1
  134. package/__cjs/core/index.d.cts +12 -11
  135. package/__cjs/core/types.d.cts +60 -7
  136. package/__cjs/core/watchQueryOptions.d.cts +32 -119
  137. package/__cjs/errors/CombinedGraphQLErrors.cjs +30 -11
  138. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  139. package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
  140. package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
  141. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  142. package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
  143. package/__cjs/errors/LinkError.cjs +20 -0
  144. package/__cjs/errors/LinkError.cjs.map +1 -0
  145. package/__cjs/errors/LinkError.d.cts +14 -0
  146. package/__cjs/errors/ServerError.cjs +6 -0
  147. package/__cjs/errors/ServerError.cjs.map +1 -1
  148. package/__cjs/errors/ServerError.d.cts +2 -0
  149. package/__cjs/errors/ServerParseError.cjs +6 -0
  150. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  151. package/__cjs/errors/ServerParseError.d.cts +2 -0
  152. package/__cjs/errors/UnconventionalError.cjs +6 -0
  153. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  154. package/__cjs/errors/UnconventionalError.d.cts +2 -0
  155. package/__cjs/errors/index.cjs +19 -4
  156. package/__cjs/errors/index.cjs.map +1 -1
  157. package/__cjs/errors/index.d.cts +2 -3
  158. package/__cjs/errors/isErrorLike.cjs +12 -0
  159. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  160. package/__cjs/errors/isErrorLike.d.cts +3 -0
  161. package/__cjs/errors/utils.cjs +18 -0
  162. package/__cjs/errors/utils.cjs.map +1 -0
  163. package/__cjs/errors/utils.d.cts +3 -0
  164. package/__cjs/invariantErrorCodes.cjs +121 -122
  165. package/__cjs/link/batch/batching.cjs.map +1 -1
  166. package/__cjs/link/batch/index.cjs +4 -2
  167. package/__cjs/link/batch/index.cjs.map +1 -1
  168. package/__cjs/link/batch/index.d.cts +2 -1
  169. package/__cjs/link/batch-http/index.cjs +3 -2
  170. package/__cjs/link/batch-http/index.cjs.map +1 -1
  171. package/__cjs/link/batch-http/index.d.cts +1 -1
  172. package/__cjs/link/context/index.cjs.map +1 -1
  173. package/__cjs/link/context/index.d.cts +1 -1
  174. package/__cjs/link/core/ApolloLink.cjs +2 -20
  175. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  176. package/__cjs/link/core/ApolloLink.d.cts +1 -3
  177. package/__cjs/link/core/index.cjs.map +1 -1
  178. package/__cjs/link/core/index.d.cts +1 -1
  179. package/__cjs/link/core/types.d.cts +1 -1
  180. package/__cjs/link/error/index.cjs +13 -28
  181. package/__cjs/link/error/index.cjs.map +1 -1
  182. package/__cjs/link/error/index.d.cts +4 -15
  183. package/__cjs/link/http/checkFetcher.cjs +1 -1
  184. package/__cjs/link/http/createHttpLink.cjs +1 -1
  185. package/__cjs/link/http/createHttpLink.d.cts +2 -1
  186. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +4 -3
  187. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  188. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  189. package/__cjs/link/persisted-queries/index.cjs +3 -3
  190. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  191. package/__cjs/link/persisted-queries/index.d.cts +14 -3
  192. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +1 -1
  193. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  194. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +10 -1
  195. package/__cjs/link/retry/index.cjs +3 -2
  196. package/__cjs/link/retry/index.cjs.map +1 -1
  197. package/__cjs/link/retry/index.d.cts +1 -1
  198. package/__cjs/link/subscriptions/index.cjs +3 -1
  199. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  200. package/__cjs/link/utils/validateOperation.cjs +1 -1
  201. package/__cjs/masking/maskDefinition.cjs +2 -2
  202. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  203. package/__cjs/masking/maskDefinition.d.cts +1 -1
  204. package/__cjs/masking/maskFragment.cjs +2 -2
  205. package/__cjs/masking/maskFragment.cjs.map +1 -1
  206. package/__cjs/masking/maskFragment.d.cts +2 -2
  207. package/__cjs/masking/maskOperation.cjs +1 -1
  208. package/__cjs/masking/maskOperation.cjs.map +1 -1
  209. package/__cjs/masking/maskOperation.d.cts +2 -2
  210. package/__cjs/masking/utils.cjs +1 -1
  211. package/__cjs/react/context/ApolloConsumer.cjs +2 -2
  212. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -1
  213. package/__cjs/react/context/ApolloConsumer.d.cts +7 -4
  214. package/__cjs/react/context/ApolloContext.cjs +2 -2
  215. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  216. package/__cjs/react/context/ApolloContext.d.cts +4 -4
  217. package/__cjs/react/context/ApolloProvider.cjs +2 -2
  218. package/__cjs/react/context/ApolloProvider.cjs.map +1 -1
  219. package/__cjs/react/context/ApolloProvider.d.cts +7 -5
  220. package/__cjs/react/hooks/internal/__use.cjs +1 -1
  221. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  222. package/__cjs/react/hooks/internal/__use.d.cts +3 -1
  223. package/__cjs/react/hooks/internal/useDeepMemo.cjs +3 -1
  224. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  225. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +1 -1
  226. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  227. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.d.cts +2 -2
  228. package/__cjs/react/hooks/internal/useRenderGuard.cjs +1 -1
  229. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -1
  230. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  231. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  232. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  233. package/__cjs/react/hooks/internal/wrapHook.cjs +26 -5
  234. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  235. package/__cjs/react/hooks/internal/wrapHook.d.cts +7 -5
  236. package/__cjs/react/hooks/useApolloClient.cjs +3 -3
  237. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  238. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  239. package/__cjs/react/hooks/useBackgroundQuery.cjs +3 -3
  240. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  241. package/__cjs/react/hooks/useBackgroundQuery.d.cts +143 -46
  242. package/__cjs/react/hooks/useFragment.cjs +1 -1
  243. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  244. package/__cjs/react/hooks/useFragment.d.cts +51 -26
  245. package/__cjs/react/hooks/useLazyQuery.cjs +33 -32
  246. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  247. package/__cjs/react/hooks/useLazyQuery.d.cts +278 -276
  248. package/__cjs/react/hooks/useLoadableQuery.cjs +22 -3
  249. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  250. package/__cjs/react/hooks/useLoadableQuery.d.cts +106 -34
  251. package/__cjs/react/hooks/useMutation.cjs +15 -23
  252. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  253. package/__cjs/react/hooks/useMutation.d.cts +198 -4
  254. package/__cjs/react/hooks/useQuery.cjs +88 -207
  255. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  256. package/__cjs/react/hooks/useQuery.d.cts +274 -4
  257. package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -1
  258. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  259. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +23 -22
  260. package/__cjs/react/hooks/useReactiveVar.cjs +1 -1
  261. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  262. package/__cjs/react/hooks/useReactiveVar.d.cts +1 -1
  263. package/__cjs/react/hooks/useReadQuery.cjs +1 -1
  264. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  265. package/__cjs/react/hooks/useReadQuery.d.cts +27 -25
  266. package/__cjs/react/hooks/useSubscription.cjs +10 -60
  267. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  268. package/__cjs/react/hooks/useSubscription.d.cts +94 -3
  269. package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -1
  270. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  271. package/__cjs/react/hooks/useSuspenseFragment.d.cts +40 -38
  272. package/__cjs/react/hooks/useSuspenseQuery.cjs +8 -33
  273. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  274. package/__cjs/react/hooks/useSuspenseQuery.d.cts +199 -38
  275. package/__cjs/react/hooks/useSyncExternalStore.cjs +2 -2
  276. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  277. package/__cjs/react/index.cjs +35 -11
  278. package/__cjs/react/index.cjs.map +1 -1
  279. package/__cjs/react/index.d.cts +21 -6
  280. package/__cjs/react/index.react-server.cjs +48 -0
  281. package/__cjs/react/index.react-server.cjs.map +1 -0
  282. package/__cjs/react/index.react-server.d.cts +19 -0
  283. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  284. package/__cjs/react/internal/cache/FragmentReference.d.cts +3 -3
  285. package/__cjs/react/internal/cache/QueryReference.cjs +3 -14
  286. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  287. package/__cjs/react/internal/cache/QueryReference.d.cts +7 -7
  288. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  289. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  290. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  291. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +4 -4
  292. package/__cjs/react/internal/index.cjs +3 -1
  293. package/__cjs/react/internal/index.cjs.map +1 -1
  294. package/__cjs/react/internal/index.d.cts +2 -0
  295. package/__cjs/react/internal/types.d.cts +9 -0
  296. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -0
  297. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  298. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +6 -45
  299. package/__cjs/react/ssr/getDataFromTree.cjs +24 -30
  300. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  301. package/__cjs/react/ssr/getDataFromTree.d.cts +12 -1
  302. package/__cjs/react/ssr/index.cjs +3 -3
  303. package/__cjs/react/ssr/index.cjs.map +1 -1
  304. package/__cjs/react/ssr/index.d.cts +1 -1
  305. package/__cjs/react/ssr/prerenderStatic.cjs +151 -0
  306. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -0
  307. package/__cjs/react/ssr/prerenderStatic.d.cts +122 -0
  308. package/__cjs/react/ssr/renderToStringWithData.cjs +11 -5
  309. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  310. package/__cjs/react/ssr/renderToStringWithData.d.cts +5 -0
  311. package/__cjs/react/ssr/useSSRQuery.cjs +60 -0
  312. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  313. package/__cjs/react/ssr/useSSRQuery.d.cts +5 -0
  314. package/__cjs/{utilities/types/TODO.cjs → react/types/deprecated.cjs} +1 -1
  315. package/__cjs/react/types/deprecated.cjs.map +1 -0
  316. package/__cjs/react/types/deprecated.d.cts +75 -0
  317. package/__cjs/react/types/types.documentation.d.cts +6 -34
  318. package/__cjs/testing/core/index.cjs +6 -3
  319. package/__cjs/testing/core/index.cjs.map +1 -1
  320. package/__cjs/testing/core/index.d.cts +3 -3
  321. package/__cjs/testing/core/mocking/mockClient.cjs +3 -4
  322. package/__cjs/testing/core/mocking/mockClient.cjs.map +1 -1
  323. package/__cjs/testing/core/mocking/mockClient.d.cts +2 -3
  324. package/__cjs/testing/core/mocking/mockLink.cjs +118 -112
  325. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  326. package/__cjs/testing/core/mocking/mockLink.d.cts +26 -7
  327. package/__cjs/testing/experimental/createSchemaFetch.cjs +4 -4
  328. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +1 -1
  329. package/__cjs/testing/experimental/createTestSchema.cjs.map +1 -1
  330. package/__cjs/testing/experimental/createTestSchema.d.cts +1 -1
  331. package/__cjs/testing/index.cjs +13 -2
  332. package/__cjs/testing/index.cjs.map +1 -1
  333. package/__cjs/testing/index.d.cts +2 -1
  334. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -1
  335. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +1 -1
  336. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -1
  337. package/__cjs/testing/internal/disposables/withProdMode.d.cts +1 -1
  338. package/__cjs/testing/internal/incremental.cjs.map +1 -1
  339. package/__cjs/testing/internal/incremental.d.cts +4 -3
  340. package/__cjs/testing/internal/index.cjs +14 -8
  341. package/__cjs/testing/internal/index.cjs.map +1 -1
  342. package/__cjs/testing/internal/index.d.cts +4 -3
  343. package/__cjs/testing/internal/renderHelpers.cjs.map +1 -1
  344. package/__cjs/testing/internal/renderHelpers.d.cts +3 -3
  345. package/__cjs/testing/internal/resetApolloContext.cjs +24 -0
  346. package/__cjs/testing/internal/resetApolloContext.cjs.map +1 -0
  347. package/__cjs/testing/internal/resetApolloContext.d.cts +10 -0
  348. package/__cjs/testing/internal/scenarios/index.cjs +9 -7
  349. package/__cjs/testing/internal/scenarios/index.cjs.map +1 -1
  350. package/__cjs/testing/internal/scenarios/index.d.cts +14 -5
  351. package/__cjs/testing/matchers/arrayWithLength.cjs +15 -0
  352. package/__cjs/testing/matchers/arrayWithLength.cjs.map +1 -0
  353. package/__cjs/testing/matchers/arrayWithLength.d.cts +3 -0
  354. package/__cjs/testing/matchers/index.cjs +6 -18
  355. package/__cjs/testing/matchers/index.cjs.map +1 -1
  356. package/__cjs/testing/matchers/toComplete.cjs.map +1 -1
  357. package/__cjs/testing/matchers/toEmitAnything.cjs.map +1 -1
  358. package/__cjs/testing/matchers/toEmitError.cjs.map +1 -1
  359. package/__cjs/testing/matchers/toEmitNext.cjs.map +1 -1
  360. package/__cjs/testing/matchers/{toEmitFetchResult.cjs → toEmitTypedValue.cjs} +9 -7
  361. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +1 -0
  362. package/__cjs/testing/matchers/{toEmitValueStrict.d.cts → toEmitTypedValue.d.cts} +2 -2
  363. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +2 -2
  364. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +1 -1
  365. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +1 -1
  366. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  367. package/__cjs/testing/matchers/toMatchDocument.d.cts +1 -1
  368. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +26 -0
  369. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +1 -0
  370. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +3 -0
  371. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +23 -0
  372. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -0
  373. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +2 -0
  374. package/__cjs/testing/react/MockedProvider.cjs +11 -7
  375. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  376. package/__cjs/testing/react/MockedProvider.d.cts +8 -6
  377. package/__cjs/utilities/caching/sizes.cjs +2 -2
  378. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  379. package/__cjs/utilities/caching/sizes.d.cts +2 -20
  380. package/__cjs/utilities/common/canonicalStringify.cjs +2 -2
  381. package/__cjs/utilities/common/canonicalStringify.cjs.map +1 -1
  382. package/__cjs/utilities/common/errorHandling.d.cts +1 -1
  383. package/__cjs/utilities/common/maybeDeepFreeze.cjs +1 -0
  384. package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +1 -1
  385. package/__cjs/utilities/common/maybeDeepFreeze.d.cts +1 -0
  386. package/__cjs/utilities/common/mergeOptions.cjs.map +1 -1
  387. package/__cjs/utilities/common/mergeOptions.d.cts +1 -1
  388. package/__cjs/utilities/graphql/getFromAST.cjs +15 -6
  389. package/__cjs/utilities/graphql/getFromAST.cjs.map +1 -1
  390. package/__cjs/utilities/graphql/getFromAST.d.cts +2 -2
  391. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  392. package/__cjs/utilities/graphql/operations.d.cts +1 -1
  393. package/__cjs/utilities/graphql/print.cjs +2 -2
  394. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  395. package/__cjs/utilities/graphql/storeUtils.cjs +1 -1
  396. package/__cjs/utilities/graphql/transform.cjs +2 -2
  397. package/__cjs/utilities/index.cjs +39 -19
  398. package/__cjs/utilities/index.cjs.map +1 -1
  399. package/__cjs/utilities/index.d.cts +16 -15
  400. package/__cjs/utilities/{caching → internal}/getMemoryInternals.cjs +1 -3
  401. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -0
  402. package/__cjs/utilities/{caching → internal}/getMemoryInternals.d.cts +1 -2
  403. package/__cjs/utilities/internal/index.cjs +8 -1
  404. package/__cjs/utilities/internal/index.cjs.map +1 -1
  405. package/__cjs/utilities/internal/index.d.cts +2 -0
  406. package/__cjs/utilities/internal/index.production.cjs +11 -0
  407. package/__cjs/utilities/internal/index.production.cjs.map +1 -0
  408. package/__cjs/utilities/internal/index.production.d.cts +3 -0
  409. package/__cjs/utilities/internal/toQueryResult.cjs +13 -0
  410. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -0
  411. package/__cjs/utilities/internal/toQueryResult.d.cts +3 -0
  412. package/__cjs/utilities/invariant/index.development.cjs +1 -0
  413. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  414. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -2
  415. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  416. package/__cjs/utilities/subscriptions/relay/index.d.cts +1 -1
  417. package/__cjs/utilities/types/NoInfer.d.cts +1 -1
  418. package/__cjs/utilities/types/{OnlyRequiredProperties.cjs → VariablesOption.cjs} +1 -1
  419. package/__cjs/utilities/types/VariablesOption.cjs.map +1 -0
  420. package/__cjs/utilities/types/VariablesOption.d.cts +25 -0
  421. package/__cjs/version.cjs +1 -1
  422. package/__cjs/version.cjs.map +1 -1
  423. package/__cjs/version.d.cts +1 -1
  424. package/cache/core/cache.d.ts +19 -19
  425. package/cache/core/cache.js +1 -1
  426. package/cache/core/cache.js.map +1 -1
  427. package/cache/core/types/Cache.d.ts +9 -16
  428. package/cache/core/types/Cache.js.map +1 -1
  429. package/cache/core/types/DataProxy.d.ts +8 -23
  430. package/cache/core/types/common.js +1 -0
  431. package/cache/core/types/common.js.map +1 -1
  432. package/cache/index.d.ts +3 -3
  433. package/cache/index.js +1 -1
  434. package/cache/index.js.map +1 -1
  435. package/cache/inmemory/entityStore.d.ts +3 -2
  436. package/cache/inmemory/entityStore.js +6 -5
  437. package/cache/inmemory/entityStore.js.map +1 -1
  438. package/cache/inmemory/fragmentRegistry.js +1 -1
  439. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  440. package/cache/inmemory/helpers.d.ts +0 -1
  441. package/cache/inmemory/helpers.js +0 -7
  442. package/cache/inmemory/helpers.js.map +1 -1
  443. package/cache/inmemory/inMemoryCache.d.ts +9 -11
  444. package/cache/inmemory/inMemoryCache.js +5 -17
  445. package/cache/inmemory/inMemoryCache.js.map +1 -1
  446. package/cache/inmemory/policies.d.ts +1 -1
  447. package/cache/inmemory/policies.js +5 -5
  448. package/cache/inmemory/policies.js.map +1 -1
  449. package/cache/inmemory/reactiveVars.d.ts +7 -7
  450. package/cache/inmemory/reactiveVars.js.map +1 -1
  451. package/cache/inmemory/readFromStore.d.ts +1 -6
  452. package/cache/inmemory/readFromStore.js +12 -54
  453. package/cache/inmemory/readFromStore.js.map +1 -1
  454. package/cache/inmemory/types.d.ts +3 -17
  455. package/cache/inmemory/writeToStore.d.ts +2 -2
  456. package/cache/inmemory/writeToStore.js +4 -4
  457. package/cache/inmemory/writeToStore.js.map +1 -1
  458. package/config/jest/areCombinedGraphQLErrorsEqual.js +6 -4
  459. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +1 -1
  460. package/config/jest/areCombinedProtocolErrorsEqual.js +3 -3
  461. package/config/jest/areCombinedProtocolErrorsEqual.js.map +1 -1
  462. package/config/jest/areMissingFieldErrorsEqual.js +2 -3
  463. package/config/jest/areMissingFieldErrorsEqual.js.map +1 -1
  464. package/config/jest/areServerErrorsEqual.d.ts +3 -0
  465. package/config/jest/areServerErrorsEqual.js +18 -0
  466. package/config/jest/areServerErrorsEqual.js.map +1 -0
  467. package/config/jest/resolver.js +12 -1
  468. package/config/jest/resolver.js.map +1 -1
  469. package/config/jest/setup.js +19 -2
  470. package/config/jest/setup.js.map +1 -1
  471. package/core/ApolloClient.d.ts +36 -26
  472. package/core/ApolloClient.js +36 -19
  473. package/core/ApolloClient.js.map +1 -1
  474. package/core/LocalState.d.ts +6 -6
  475. package/core/LocalState.js +2 -2
  476. package/core/LocalState.js.map +1 -1
  477. package/core/ObservableQuery.d.ts +156 -17
  478. package/core/ObservableQuery.js +267 -102
  479. package/core/ObservableQuery.js.map +1 -1
  480. package/core/QueryInfo.d.ts +2 -11
  481. package/core/QueryInfo.js +12 -86
  482. package/core/QueryInfo.js.map +1 -1
  483. package/core/QueryManager.d.ts +32 -21
  484. package/core/QueryManager.js +151 -107
  485. package/core/QueryManager.js.map +1 -1
  486. package/core/index.d.ts +12 -11
  487. package/core/index.js +9 -6
  488. package/core/index.js.map +1 -1
  489. package/core/types.d.ts +60 -7
  490. package/core/watchQueryOptions.d.ts +32 -119
  491. package/errors/CombinedGraphQLErrors.d.ts +21 -2
  492. package/errors/CombinedGraphQLErrors.js +30 -11
  493. package/errors/CombinedGraphQLErrors.js.map +1 -1
  494. package/errors/CombinedProtocolErrors.d.ts +9 -0
  495. package/errors/CombinedProtocolErrors.js +13 -6
  496. package/errors/CombinedProtocolErrors.js.map +1 -1
  497. package/errors/LinkError.d.ts +14 -0
  498. package/errors/LinkError.js +16 -0
  499. package/errors/LinkError.js.map +1 -0
  500. package/errors/ServerError.d.ts +2 -0
  501. package/errors/ServerError.js +6 -0
  502. package/errors/ServerError.js.map +1 -1
  503. package/errors/ServerParseError.d.ts +2 -0
  504. package/errors/ServerParseError.js +6 -0
  505. package/errors/ServerParseError.js.map +1 -1
  506. package/errors/UnconventionalError.d.ts +2 -0
  507. package/errors/UnconventionalError.js +6 -0
  508. package/errors/UnconventionalError.js.map +1 -1
  509. package/errors/index.d.ts +2 -3
  510. package/errors/index.js +13 -1
  511. package/errors/index.js.map +1 -1
  512. package/errors/isErrorLike.d.ts +3 -0
  513. package/errors/isErrorLike.js +9 -0
  514. package/errors/isErrorLike.js.map +1 -0
  515. package/errors/utils.d.ts +3 -0
  516. package/errors/utils.js +14 -0
  517. package/errors/utils.js.map +1 -0
  518. package/invariantErrorCodes.js +121 -122
  519. package/legacyEntryPoints/testing/internal/index.d.ts +1 -0
  520. package/legacyEntryPoints/testing/internal/index.js +1 -0
  521. package/legacyEntryPoints/testing/internal/internal.cjs +1 -0
  522. package/legacyEntryPoints/testing/internal/internal.d.cts +1 -0
  523. package/link/batch/batching.js +1 -1
  524. package/link/batch/batching.js.map +1 -1
  525. package/link/batch/index.d.ts +2 -1
  526. package/link/batch/index.js +1 -1
  527. package/link/batch/index.js.map +1 -1
  528. package/link/batch-http/index.d.ts +1 -1
  529. package/link/batch-http/index.js +1 -1
  530. package/link/batch-http/index.js.map +1 -1
  531. package/link/context/index.d.ts +1 -1
  532. package/link/context/index.js.map +1 -1
  533. package/link/core/ApolloLink.d.ts +1 -3
  534. package/link/core/ApolloLink.js +2 -20
  535. package/link/core/ApolloLink.js.map +1 -1
  536. package/link/core/index.d.ts +1 -1
  537. package/link/core/index.js.map +1 -1
  538. package/link/core/types.d.ts +1 -1
  539. package/link/error/index.d.ts +4 -15
  540. package/link/error/index.js +14 -29
  541. package/link/error/index.js.map +1 -1
  542. package/link/http/checkFetcher.js +1 -1
  543. package/link/http/createHttpLink.js +1 -1
  544. package/link/http/parseAndCheckHttpResponse.js +4 -3
  545. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  546. package/link/http/serializeFetchParameter.js +1 -1
  547. package/link/persisted-queries/index.d.ts +2 -2
  548. package/link/persisted-queries/index.js +3 -3
  549. package/link/persisted-queries/index.js.map +1 -1
  550. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  551. package/link/retry/index.d.ts +1 -1
  552. package/link/retry/index.js +1 -1
  553. package/link/retry/index.js.map +1 -1
  554. package/link/subscriptions/index.js +3 -1
  555. package/link/subscriptions/index.js.map +1 -1
  556. package/link/utils/validateOperation.js +1 -1
  557. package/masking/maskDefinition.d.ts +1 -1
  558. package/masking/maskDefinition.js +2 -2
  559. package/masking/maskDefinition.js.map +1 -1
  560. package/masking/maskFragment.d.ts +2 -2
  561. package/masking/maskFragment.js +2 -2
  562. package/masking/maskFragment.js.map +1 -1
  563. package/masking/maskOperation.d.ts +2 -2
  564. package/masking/maskOperation.js +1 -1
  565. package/masking/maskOperation.js.map +1 -1
  566. package/masking/utils.js +1 -1
  567. package/package.json +58 -56
  568. package/react/context/ApolloConsumer.d.ts +7 -4
  569. package/react/context/ApolloConsumer.js +2 -2
  570. package/react/context/ApolloConsumer.js.map +1 -1
  571. package/react/context/ApolloContext.d.ts +4 -4
  572. package/react/context/ApolloContext.js +2 -2
  573. package/react/context/ApolloContext.js.map +1 -1
  574. package/react/context/ApolloProvider.d.ts +7 -5
  575. package/react/context/ApolloProvider.js +2 -2
  576. package/react/context/ApolloProvider.js.map +1 -1
  577. package/react/hooks/internal/__use.js +1 -1
  578. package/react/hooks/internal/__use.js.map +1 -1
  579. package/react/hooks/internal/useDeepMemo.js +3 -1
  580. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  581. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  582. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  583. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  584. package/react/hooks/internal/useRenderGuard.js +1 -1
  585. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  586. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  587. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  588. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  589. package/react/hooks/internal/wrapHook.d.ts +7 -5
  590. package/react/hooks/internal/wrapHook.js +24 -5
  591. package/react/hooks/internal/wrapHook.js.map +1 -1
  592. package/react/hooks/useApolloClient.d.ts +2 -2
  593. package/react/hooks/useApolloClient.js +2 -2
  594. package/react/hooks/useApolloClient.js.map +1 -1
  595. package/react/hooks/useBackgroundQuery.d.ts +143 -46
  596. package/react/hooks/useBackgroundQuery.js +3 -3
  597. package/react/hooks/useBackgroundQuery.js.map +1 -1
  598. package/react/hooks/useFragment.d.ts +51 -26
  599. package/react/hooks/useFragment.js +1 -1
  600. package/react/hooks/useFragment.js.map +1 -1
  601. package/react/hooks/useLazyQuery.d.ts +278 -276
  602. package/react/hooks/useLazyQuery.js +32 -31
  603. package/react/hooks/useLazyQuery.js.map +1 -1
  604. package/react/hooks/useLoadableQuery.d.ts +106 -34
  605. package/react/hooks/useLoadableQuery.js +22 -3
  606. package/react/hooks/useLoadableQuery.js.map +1 -1
  607. package/react/hooks/useMutation.d.ts +198 -4
  608. package/react/hooks/useMutation.js +15 -23
  609. package/react/hooks/useMutation.js.map +1 -1
  610. package/react/hooks/useQuery.d.ts +274 -4
  611. package/react/hooks/useQuery.js +87 -206
  612. package/react/hooks/useQuery.js.map +1 -1
  613. package/react/hooks/useQueryRefHandlers.d.ts +23 -22
  614. package/react/hooks/useQueryRefHandlers.js +1 -1
  615. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  616. package/react/hooks/useReactiveVar.d.ts +1 -1
  617. package/react/hooks/useReactiveVar.js +1 -1
  618. package/react/hooks/useReactiveVar.js.map +1 -1
  619. package/react/hooks/useReadQuery.d.ts +27 -25
  620. package/react/hooks/useReadQuery.js +1 -1
  621. package/react/hooks/useReadQuery.js.map +1 -1
  622. package/react/hooks/useSubscription.d.ts +94 -9
  623. package/react/hooks/useSubscription.js +9 -56
  624. package/react/hooks/useSubscription.js.map +1 -1
  625. package/react/hooks/useSuspenseFragment.d.ts +40 -38
  626. package/react/hooks/useSuspenseFragment.js +1 -1
  627. package/react/hooks/useSuspenseFragment.js.map +1 -1
  628. package/react/hooks/useSuspenseQuery.d.ts +199 -38
  629. package/react/hooks/useSuspenseQuery.js +6 -27
  630. package/react/hooks/useSuspenseQuery.js.map +1 -1
  631. package/react/hooks/useSyncExternalStore.js +2 -2
  632. package/react/hooks/useSyncExternalStore.js.map +1 -1
  633. package/react/index.d.ts +21 -6
  634. package/react/index.js +17 -3
  635. package/react/index.js.map +1 -1
  636. package/react/index.react-server.d.ts +19 -0
  637. package/react/index.react-server.js +45 -0
  638. package/react/index.react-server.js.map +1 -0
  639. package/react/internal/cache/FragmentReference.d.ts +3 -3
  640. package/react/internal/cache/FragmentReference.js.map +1 -1
  641. package/react/internal/cache/QueryReference.d.ts +5 -5
  642. package/react/internal/cache/QueryReference.js +3 -14
  643. package/react/internal/cache/QueryReference.js.map +1 -1
  644. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  645. package/react/internal/cache/SuspenseCache.js.map +1 -1
  646. package/react/internal/cache/getSuspenseCache.d.ts +3 -3
  647. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  648. package/react/internal/index.d.ts +2 -0
  649. package/react/internal/index.js +2 -1
  650. package/react/internal/index.js.map +1 -1
  651. package/react/internal/types.d.ts +9 -0
  652. package/react/query-preloader/createQueryPreloader.d.ts +6 -45
  653. package/react/query-preloader/createQueryPreloader.js +1 -0
  654. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  655. package/react/ssr/getDataFromTree.d.ts +12 -1
  656. package/react/ssr/getDataFromTree.js +24 -29
  657. package/react/ssr/getDataFromTree.js.map +1 -1
  658. package/react/ssr/index.d.ts +1 -1
  659. package/react/ssr/index.js +1 -1
  660. package/react/ssr/index.js.map +1 -1
  661. package/react/ssr/prerenderStatic.d.ts +122 -0
  662. package/react/ssr/prerenderStatic.js +147 -0
  663. package/react/ssr/prerenderStatic.js.map +1 -0
  664. package/react/ssr/renderToStringWithData.d.ts +5 -0
  665. package/react/ssr/renderToStringWithData.js +11 -5
  666. package/react/ssr/renderToStringWithData.js.map +1 -1
  667. package/react/ssr/useSSRQuery.d.ts +5 -0
  668. package/react/ssr/useSSRQuery.js +56 -0
  669. package/react/ssr/useSSRQuery.js.map +1 -0
  670. package/react/types/deprecated.d.ts +75 -0
  671. package/react/types/deprecated.js +2 -0
  672. package/react/types/deprecated.js.map +1 -0
  673. package/react/types/types.documentation.d.ts +6 -34
  674. package/testing/core/index.d.ts +3 -3
  675. package/testing/core/index.js +2 -2
  676. package/testing/core/index.js.map +1 -1
  677. package/testing/core/mocking/mockClient.d.ts +2 -3
  678. package/testing/core/mocking/mockClient.js +2 -3
  679. package/testing/core/mocking/mockClient.js.map +1 -1
  680. package/testing/core/mocking/mockLink.d.ts +26 -7
  681. package/testing/core/mocking/mockLink.js +117 -113
  682. package/testing/core/mocking/mockLink.js.map +1 -1
  683. package/testing/experimental/createSchemaFetch.js +2 -2
  684. package/testing/experimental/createSchemaFetch.js.map +1 -1
  685. package/testing/experimental/createTestSchema.d.ts +1 -1
  686. package/testing/experimental/createTestSchema.js.map +1 -1
  687. package/testing/index.d.ts +2 -1
  688. package/testing/index.js +1 -1
  689. package/testing/index.js.map +1 -1
  690. package/testing/internal/disposables/spyOnConsole.d.ts +0 -1
  691. package/testing/internal/disposables/spyOnConsole.js +0 -1
  692. package/testing/internal/disposables/spyOnConsole.js.map +1 -1
  693. package/testing/internal/incremental.d.ts +1 -1
  694. package/testing/internal/incremental.js.map +1 -1
  695. package/testing/internal/index.d.ts +4 -3
  696. package/testing/internal/index.js +4 -3
  697. package/testing/internal/index.js.map +1 -1
  698. package/testing/internal/renderHelpers.d.ts +3 -3
  699. package/testing/internal/renderHelpers.js.map +1 -1
  700. package/testing/internal/resetApolloContext.d.ts +10 -0
  701. package/testing/internal/resetApolloContext.js +20 -0
  702. package/testing/internal/resetApolloContext.js.map +1 -0
  703. package/testing/internal/scenarios/index.d.ts +6 -8
  704. package/testing/internal/scenarios/index.js +4 -2
  705. package/testing/internal/scenarios/index.js.map +1 -1
  706. package/testing/matchers/arrayWithLength.d.ts +3 -0
  707. package/testing/matchers/arrayWithLength.js +11 -0
  708. package/testing/matchers/arrayWithLength.js.map +1 -0
  709. package/testing/matchers/index.js +6 -18
  710. package/testing/matchers/index.js.map +1 -1
  711. package/testing/matchers/toComplete.js.map +1 -1
  712. package/testing/matchers/toEmitAnything.js.map +1 -1
  713. package/testing/matchers/toEmitError.js.map +1 -1
  714. package/testing/matchers/toEmitNext.js.map +1 -1
  715. package/testing/matchers/{toEmitValueStrict.d.ts → toEmitTypedValue.d.ts} +2 -2
  716. package/testing/matchers/{toEmitFetchResult.js → toEmitTypedValue.js} +7 -5
  717. package/testing/matchers/toEmitTypedValue.js.map +1 -0
  718. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +1 -1
  719. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
  720. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  721. package/testing/matchers/toMatchDocument.d.ts +1 -1
  722. package/testing/matchers/toMatchDocument.js.map +1 -1
  723. package/testing/matchers/toStrictEqualTyped.d.ts +3 -0
  724. package/testing/matchers/toStrictEqualTyped.js +22 -0
  725. package/testing/matchers/toStrictEqualTyped.js.map +1 -0
  726. package/testing/matchers/utils/getSerializableProperties.d.ts +2 -0
  727. package/testing/matchers/utils/getSerializableProperties.js +20 -0
  728. package/testing/matchers/utils/getSerializableProperties.js.map +1 -0
  729. package/testing/react/MockedProvider.d.ts +8 -6
  730. package/testing/react/MockedProvider.js +8 -4
  731. package/testing/react/MockedProvider.js.map +1 -1
  732. package/utilities/caching/sizes.d.ts +2 -20
  733. package/utilities/caching/sizes.js +2 -2
  734. package/utilities/caching/sizes.js.map +1 -1
  735. package/utilities/common/canonicalStringify.js +1 -1
  736. package/utilities/common/canonicalStringify.js.map +1 -1
  737. package/utilities/common/maybeDeepFreeze.d.ts +1 -0
  738. package/utilities/common/maybeDeepFreeze.js +1 -0
  739. package/utilities/common/maybeDeepFreeze.js.map +1 -1
  740. package/utilities/common/mergeOptions.d.ts +1 -1
  741. package/utilities/common/mergeOptions.js.map +1 -1
  742. package/utilities/graphql/getFromAST.d.ts +2 -2
  743. package/utilities/graphql/getFromAST.js +15 -6
  744. package/utilities/graphql/getFromAST.js.map +1 -1
  745. package/utilities/graphql/operations.d.ts +1 -1
  746. package/utilities/graphql/operations.js.map +1 -1
  747. package/utilities/graphql/print.js +1 -1
  748. package/utilities/graphql/print.js.map +1 -1
  749. package/utilities/graphql/storeUtils.js +1 -1
  750. package/utilities/graphql/transform.js +2 -2
  751. package/utilities/index.d.ts +16 -15
  752. package/utilities/index.js +12 -12
  753. package/utilities/index.js.map +1 -1
  754. package/utilities/{caching → internal}/getMemoryInternals.d.ts +0 -1
  755. package/utilities/{caching → internal}/getMemoryInternals.js +1 -3
  756. package/utilities/internal/getMemoryInternals.js.map +1 -0
  757. package/utilities/internal/index.d.ts +2 -0
  758. package/utilities/internal/index.js +2 -0
  759. package/utilities/internal/index.js.map +1 -1
  760. package/utilities/internal/index.production.d.ts +3 -0
  761. package/utilities/internal/index.production.js +7 -0
  762. package/utilities/internal/index.production.js.map +1 -0
  763. package/utilities/internal/toQueryResult.d.ts +3 -0
  764. package/utilities/internal/toQueryResult.js +10 -0
  765. package/utilities/internal/toQueryResult.js.map +1 -0
  766. package/utilities/invariant/index.development.js +1 -0
  767. package/utilities/invariant/index.development.js.map +1 -1
  768. package/utilities/subscriptions/relay/index.d.ts +1 -1
  769. package/utilities/subscriptions/relay/index.js +1 -1
  770. package/utilities/subscriptions/relay/index.js.map +1 -1
  771. package/utilities/types/NoInfer.d.ts +1 -1
  772. package/utilities/types/VariablesOption.d.ts +25 -0
  773. package/utilities/types/VariablesOption.js +2 -0
  774. package/utilities/types/VariablesOption.js.map +1 -0
  775. package/version.d.ts +1 -1
  776. package/version.js +1 -1
  777. package/version.js.map +1 -1
  778. package/__cjs/cache/inmemory/fixPolyfills.cjs +0 -10
  779. package/__cjs/cache/inmemory/fixPolyfills.cjs.map +0 -1
  780. package/__cjs/cache/inmemory/fixPolyfills.d.cts +0 -2
  781. package/__cjs/cache/inmemory/fixPolyfills.native.cjs +0 -53
  782. package/__cjs/cache/inmemory/fixPolyfills.native.cjs.map +0 -1
  783. package/__cjs/cache/inmemory/fixPolyfills.native.d.cts +0 -2
  784. package/__cjs/cache/inmemory/object-canon.cjs +0 -180
  785. package/__cjs/cache/inmemory/object-canon.cjs.map +0 -1
  786. package/__cjs/cache/inmemory/object-canon.d.cts +0 -12
  787. package/__cjs/index.cjs +0 -8
  788. package/__cjs/index.cjs.map +0 -1
  789. package/__cjs/index.d.cts +0 -3
  790. package/__cjs/link/http/iterators/async.cjs +0 -19
  791. package/__cjs/link/http/iterators/async.cjs.map +0 -1
  792. package/__cjs/link/http/iterators/async.d.cts +0 -6
  793. package/__cjs/link/http/iterators/nodeStream.cjs +0 -75
  794. package/__cjs/link/http/iterators/nodeStream.cjs.map +0 -1
  795. package/__cjs/link/http/iterators/nodeStream.d.cts +0 -7
  796. package/__cjs/link/http/iterators/promise.cjs +0 -32
  797. package/__cjs/link/http/iterators/promise.cjs.map +0 -1
  798. package/__cjs/link/http/iterators/promise.d.cts +0 -6
  799. package/__cjs/link/http/iterators/reader.cjs +0 -19
  800. package/__cjs/link/http/iterators/reader.cjs.map +0 -1
  801. package/__cjs/link/http/iterators/reader.d.cts +0 -6
  802. package/__cjs/link/http/responseIterator.cjs +0 -50
  803. package/__cjs/link/http/responseIterator.cjs.map +0 -1
  804. package/__cjs/link/http/responseIterator.d.cts +0 -7
  805. package/__cjs/react/context/index.cjs +0 -10
  806. package/__cjs/react/context/index.cjs.map +0 -1
  807. package/__cjs/react/context/index.d.cts +0 -7
  808. package/__cjs/react/hooks/index.cjs +0 -27
  809. package/__cjs/react/hooks/index.cjs.map +0 -1
  810. package/__cjs/react/hooks/index.d.cts +0 -22
  811. package/__cjs/react/parser/index.cjs +0 -115
  812. package/__cjs/react/parser/index.cjs.map +0 -1
  813. package/__cjs/react/parser/index.d.cts +0 -18
  814. package/__cjs/react/ssr/RenderPromises.cjs +0 -104
  815. package/__cjs/react/ssr/RenderPromises.cjs.map +0 -1
  816. package/__cjs/react/ssr/RenderPromises.d.cts +0 -22
  817. package/__cjs/react/types/types.d.cts +0 -689
  818. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs +0 -40
  819. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs.map +0 -1
  820. package/__cjs/testing/matchers/toEmitApolloQueryResult.d.cts +0 -8
  821. package/__cjs/testing/matchers/toEmitFetchResult.cjs.map +0 -1
  822. package/__cjs/testing/matchers/toEmitFetchResult.d.cts +0 -8
  823. package/__cjs/testing/matchers/toEmitMatchedValue.cjs +0 -40
  824. package/__cjs/testing/matchers/toEmitMatchedValue.cjs.map +0 -1
  825. package/__cjs/testing/matchers/toEmitMatchedValue.d.cts +0 -7
  826. package/__cjs/testing/matchers/toEmitValue.cjs +0 -41
  827. package/__cjs/testing/matchers/toEmitValue.cjs.map +0 -1
  828. package/__cjs/testing/matchers/toEmitValue.d.cts +0 -4
  829. package/__cjs/testing/matchers/toEmitValueStrict.cjs +0 -46
  830. package/__cjs/testing/matchers/toEmitValueStrict.cjs.map +0 -1
  831. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs +0 -24
  832. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs.map +0 -1
  833. package/__cjs/testing/matchers/toEqualApolloQueryResult.d.cts +0 -6
  834. package/__cjs/testing/matchers/toEqualFetchResult.cjs +0 -24
  835. package/__cjs/testing/matchers/toEqualFetchResult.cjs.map +0 -1
  836. package/__cjs/testing/matchers/toEqualFetchResult.d.cts +0 -4
  837. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs +0 -40
  838. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs.map +0 -1
  839. package/__cjs/testing/matchers/toEqualLazyQueryResult.d.cts +0 -10
  840. package/__cjs/testing/matchers/toEqualQueryResult.cjs +0 -40
  841. package/__cjs/testing/matchers/toEqualQueryResult.cjs.map +0 -1
  842. package/__cjs/testing/matchers/toEqualQueryResult.d.cts +0 -9
  843. package/__cjs/utilities/caching/getMemoryInternals.cjs.map +0 -1
  844. package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
  845. package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
  846. package/__cjs/utilities/types/TODO.cjs.map +0 -1
  847. package/__cjs/utilities/types/TODO.d.cts +0 -3
  848. package/cache/inmemory/fixPolyfills.d.ts +0 -2
  849. package/cache/inmemory/fixPolyfills.js +0 -10
  850. package/cache/inmemory/fixPolyfills.js.map +0 -1
  851. package/cache/inmemory/fixPolyfills.native.d.ts +0 -2
  852. package/cache/inmemory/fixPolyfills.native.js +0 -53
  853. package/cache/inmemory/fixPolyfills.native.js.map +0 -1
  854. package/cache/inmemory/object-canon.d.ts +0 -12
  855. package/cache/inmemory/object-canon.js +0 -176
  856. package/cache/inmemory/object-canon.js.map +0 -1
  857. package/index.d.ts +0 -3
  858. package/index.js +0 -3
  859. package/index.js.map +0 -1
  860. package/legacyEntryPoints/react/context/context.cjs +0 -1
  861. package/legacyEntryPoints/react/context/context.d.cts +0 -1
  862. package/legacyEntryPoints/react/context/index.d.ts +0 -1
  863. package/legacyEntryPoints/react/context/index.js +0 -1
  864. package/legacyEntryPoints/react/hooks/hooks.cjs +0 -1
  865. package/legacyEntryPoints/react/hooks/hooks.d.cts +0 -1
  866. package/legacyEntryPoints/react/hooks/index.d.ts +0 -1
  867. package/legacyEntryPoints/react/hooks/index.js +0 -1
  868. package/legacyEntryPoints/react/parser/index.d.ts +0 -1
  869. package/legacyEntryPoints/react/parser/index.js +0 -1
  870. package/legacyEntryPoints/react/parser/parser.cjs +0 -1
  871. package/legacyEntryPoints/react/parser/parser.d.cts +0 -1
  872. package/link/http/iterators/async.d.ts +0 -6
  873. package/link/http/iterators/async.js +0 -16
  874. package/link/http/iterators/async.js.map +0 -1
  875. package/link/http/iterators/nodeStream.d.ts +0 -7
  876. package/link/http/iterators/nodeStream.js +0 -72
  877. package/link/http/iterators/nodeStream.js.map +0 -1
  878. package/link/http/iterators/promise.d.ts +0 -6
  879. package/link/http/iterators/promise.js +0 -29
  880. package/link/http/iterators/promise.js.map +0 -1
  881. package/link/http/iterators/reader.d.ts +0 -6
  882. package/link/http/iterators/reader.js +0 -16
  883. package/link/http/iterators/reader.js.map +0 -1
  884. package/link/http/responseIterator.d.ts +0 -7
  885. package/link/http/responseIterator.js +0 -46
  886. package/link/http/responseIterator.js.map +0 -1
  887. package/react/context/index.d.ts +0 -7
  888. package/react/context/index.js +0 -4
  889. package/react/context/index.js.map +0 -1
  890. package/react/hooks/index.d.ts +0 -22
  891. package/react/hooks/index.js +0 -15
  892. package/react/hooks/index.js.map +0 -1
  893. package/react/parser/index.d.ts +0 -18
  894. package/react/parser/index.js +0 -109
  895. package/react/parser/index.js.map +0 -1
  896. package/react/ssr/RenderPromises.d.ts +0 -22
  897. package/react/ssr/RenderPromises.js +0 -100
  898. package/react/ssr/RenderPromises.js.map +0 -1
  899. package/react/types/types.d.ts +0 -689
  900. package/testing/matchers/toEmitApolloQueryResult.d.ts +0 -8
  901. package/testing/matchers/toEmitApolloQueryResult.js +0 -36
  902. package/testing/matchers/toEmitApolloQueryResult.js.map +0 -1
  903. package/testing/matchers/toEmitFetchResult.d.ts +0 -8
  904. package/testing/matchers/toEmitFetchResult.js.map +0 -1
  905. package/testing/matchers/toEmitMatchedValue.d.ts +0 -7
  906. package/testing/matchers/toEmitMatchedValue.js +0 -36
  907. package/testing/matchers/toEmitMatchedValue.js.map +0 -1
  908. package/testing/matchers/toEmitValue.d.ts +0 -4
  909. package/testing/matchers/toEmitValue.js +0 -37
  910. package/testing/matchers/toEmitValue.js.map +0 -1
  911. package/testing/matchers/toEmitValueStrict.js +0 -42
  912. package/testing/matchers/toEmitValueStrict.js.map +0 -1
  913. package/testing/matchers/toEqualApolloQueryResult.d.ts +0 -6
  914. package/testing/matchers/toEqualApolloQueryResult.js +0 -20
  915. package/testing/matchers/toEqualApolloQueryResult.js.map +0 -1
  916. package/testing/matchers/toEqualFetchResult.d.ts +0 -4
  917. package/testing/matchers/toEqualFetchResult.js +0 -20
  918. package/testing/matchers/toEqualFetchResult.js.map +0 -1
  919. package/testing/matchers/toEqualLazyQueryResult.d.ts +0 -10
  920. package/testing/matchers/toEqualLazyQueryResult.js +0 -36
  921. package/testing/matchers/toEqualLazyQueryResult.js.map +0 -1
  922. package/testing/matchers/toEqualQueryResult.d.ts +0 -9
  923. package/testing/matchers/toEqualQueryResult.js +0 -36
  924. package/testing/matchers/toEqualQueryResult.js.map +0 -1
  925. package/utilities/caching/getMemoryInternals.js.map +0 -1
  926. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  927. package/utilities/types/OnlyRequiredProperties.js +0 -2
  928. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  929. package/utilities/types/TODO.d.ts +0 -3
  930. package/utilities/types/TODO.js +0 -2
  931. package/utilities/types/TODO.js.map +0 -1
  932. /package/__cjs/react/{types → internal}/types.cjs +0 -0
  933. /package/__cjs/react/{types → internal}/types.cjs.map +0 -0
  934. /package/react/{types → internal}/types.js +0 -0
  935. /package/react/{types → internal}/types.js.map +0 -0
@@ -1,19 +1,19 @@
1
- import type { ApolloCache } from "@apollo/client/core";
1
+ import type { ApolloCache } from "@apollo/client";
2
2
  export interface ReactiveVar<T> {
3
3
  (newValue?: T): T;
4
4
  onNextChange(listener: ReactiveListener<T>): () => void;
5
- attachCache(cache: ApolloCache<any>): this;
6
- forgetCache(cache: ApolloCache<any>): boolean;
5
+ attachCache(cache: ApolloCache): this;
6
+ forgetCache(cache: ApolloCache): boolean;
7
7
  }
8
8
  type ReactiveListener<T> = (value: T) => any;
9
9
  export declare const cacheSlot: {
10
10
  readonly id: string;
11
11
  hasValue(): boolean;
12
- getValue(): ApolloCache<any> | undefined;
13
- withValue<TResult, TArgs extends any[], TThis = any>(value: ApolloCache<any>, callback: (this: TThis, ...args: TArgs) => TResult, args?: TArgs | undefined, thisArg?: TThis | undefined): TResult;
12
+ getValue(): ApolloCache | undefined;
13
+ withValue<TResult, TArgs extends any[], TThis = any>(value: ApolloCache, callback: (this: TThis, ...args: TArgs) => TResult, args?: TArgs | undefined, thisArg?: TThis | undefined): TResult;
14
14
  };
15
- export declare function forgetCache(cache: ApolloCache<any>): void;
16
- export declare function recallCache(cache: ApolloCache<any>): void;
15
+ export declare function forgetCache(cache: ApolloCache): void;
16
+ export declare function recallCache(cache: ApolloCache): void;
17
17
  export declare function makeVar<T>(value: T): ReactiveVar<T>;
18
18
  export {};
19
19
  //# sourceMappingURL=reactiveVars.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reactiveVars.js","sources":["../../../src/cache/inmemory/reactiveVars.ts"],"sourcesContent":["import type { OptimisticDependencyFunction } from \"optimism\";\nimport { dep, Slot } from \"optimism\";\n\nimport type { ApolloCache } from \"@apollo/client/core\";\n\nimport type { InMemoryCache } from \"./inMemoryCache.js\";\n\nexport interface ReactiveVar<T> {\n (newValue?: T): T;\n onNextChange(listener: ReactiveListener<T>): () => void;\n attachCache(cache: ApolloCache<any>): this;\n forgetCache(cache: ApolloCache<any>): boolean;\n}\n\ntype ReactiveListener<T> = (value: T) => any;\n\n// Contextual Slot that acquires its value when custom read functions are\n// called in Policies#readField.\nexport const cacheSlot = new Slot<ApolloCache<any>>();\n\nconst cacheInfoMap = new WeakMap<\n ApolloCache<any>,\n {\n vars: Set<ReactiveVar<any>>;\n dep: OptimisticDependencyFunction<ReactiveVar<any>>;\n }\n>();\n\nfunction getCacheInfo(cache: ApolloCache<any>) {\n let info = cacheInfoMap.get(cache)!;\n if (!info) {\n cacheInfoMap.set(\n cache,\n (info = {\n vars: new Set(),\n dep: dep(),\n })\n );\n }\n return info;\n}\n\nexport function forgetCache(cache: ApolloCache<any>) {\n getCacheInfo(cache).vars.forEach((rv) => rv.forgetCache(cache));\n}\n\n// Calling forgetCache(cache) serves to silence broadcasts and allows the\n// cache to be garbage collected. However, the varsByCache WeakMap\n// preserves the set of reactive variables that were previously associated\n// with this cache, which makes it possible to \"recall\" the cache at a\n// later time, by reattaching it to those variables. If the cache has been\n// garbage collected in the meantime, because it is no longer reachable,\n// you won't be able to call recallCache(cache), and the cache will\n// automatically disappear from the varsByCache WeakMap.\nexport function recallCache(cache: ApolloCache<any>) {\n getCacheInfo(cache).vars.forEach((rv) => rv.attachCache(cache));\n}\n\nexport function makeVar<T>(value: T): ReactiveVar<T> {\n const caches = new Set<ApolloCache<any>>();\n const listeners = new Set<ReactiveListener<T>>();\n\n const rv: ReactiveVar<T> = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue!;\n caches.forEach((cache) => {\n // Invalidate any fields with custom read functions that\n // consumed this variable, so query results involving those\n // fields will be recomputed the next time we read them.\n getCacheInfo(cache).dep.dirty(rv);\n // Broadcast changes to any caches that have previously read\n // from this variable.\n broadcast(cache);\n });\n // Finally, notify any listeners added via rv.onNextChange.\n const oldListeners = Array.from(listeners);\n listeners.clear();\n oldListeners.forEach((listener) => listener(value));\n }\n } else {\n // When reading from the variable, obtain the current cache from\n // context via cacheSlot. This isn't entirely foolproof, but it's\n // the same system that powers varDep.\n const cache = cacheSlot.getValue();\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n\n return value;\n };\n\n rv.onNextChange = (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n };\n\n const attach = (rv.attachCache = (cache) => {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n });\n\n rv.forgetCache = (cache) => caches.delete(cache);\n\n return rv;\n}\n\ntype Broadcastable = ApolloCache<any> & {\n // This method is protected in InMemoryCache, which we are ignoring, but\n // we still want some semblance of type safety when we call it.\n broadcastWatches?: InMemoryCache[\"broadcastWatches\"];\n};\n\nfunction broadcast(cache: Broadcastable) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n"],"names":[],"mappings":"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A,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAmD,EAAnD;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAC,CAAtB,CAAA,CAAA,CAA0B,CAAC,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAC,CAApC,CAAsC,EAAE,CAAxC,EAA2C,CAA3C,CAA6C,CAAC,CAA9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC,CAA1D,CAAA,CAAA,CAAA,CAA+D,CAAC,CAAC;AACjE;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAI,CAA3B,CAAA,CAAA,CAAA,CAAmC,EAAnC;IACE,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,EAAqB,CAArB,CAAA,CAAwB,CAAxB,CAA4C;IAC1C,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,EAAwB,CAAxB,CAAA,CAA2B,CAA3B,CAAkD;IAEhD,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,EAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAuC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,EAA/C;QACI,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,EAAA,EAA2B,CAAC,EAAE;YACxB,CAAN,EAAA,CAAU,CAAV,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAE;gBACtB,CAAR,CAAA,CAAA,CAAA,EAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB;gBACjB,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAC,CAAxB,CAAA,CAAA,CAAA,CAA6B,EAAE,CAA/B,EAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAvB,CAAA,CAAA,CAAA,CAA4B,CAAC,CAAC,CAA9B,CAAA,CAAiC,CAAC,CAAlC,CAAA,CAAA,CAAA,CAAuC,CAAC,CAAxC,CAA0C,CAAC;oBACjC,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAApB,CAAA,CAAA,CAAA,CAAyB,CAAC;gBAClB,CAAC,CAAC;gBACF,CAAR,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBACQ,CAAR,CAAA,CAAA,CAAA,EAAc,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAnC,CAAA,CAAA,CAAuC,CAAC,CAAxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD,CAAC;gBAC1C,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAuB,CAAvB,CAAyB;gBACjB,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAC,CAAC,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,EAAE,CAAxC,EAA2C,CAA3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmD,CAAC,CAApD,CAAA,CAAA,CAAA,CAAyD,CAAC,CAAC;YACrD;QACF;QAAJ,CAAA,CAAA,CAAA,EAAW;YACL,CAAN,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;YACM,CAAN,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;YACM,CAAN,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAtC,CAAwC;YAClC,CAAN,EAAA,CAAU,CAAV,CAAA,CAAA,CAAA,CAAe,EAAE;gBACT,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAoB,CAAC;gBACb,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAA0B,CAAC,CAAC,CAA5B,CAAA,CAA+B,CAAC,CAAhC,CAAkC,CAAC;YAC7B;QACF;QAEA,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAgB;IACd,CAAC;IAED,CAAF,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,EAAE,CAA/B,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAd,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAC;QACvB,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,EAAc,CAAd,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAC,CAAlB,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAyC,EAAE,CAA3C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAX,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAoB,CAAC;QACjB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAjB,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAC,CAAxB,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAgC,CAAC,CAAjC,CAAmC,CAAC;QAChC,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAa;IACX,CAAC,CAAC;IAEF,CAAF,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAC,CAApB,CAAA,CAAA,CAAA,CAAyB,EAAE,CAA3B,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAA2C,CAAC,CAA5C,CAAA,CAAA,CAAA,CAAiD,CAAC;IAEhD,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAW;AACX;AAQA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAnB,CAAA,CAAA,CAAA,CAAA,EAAA;IACE,CAAF,EAAA,CAAM,CAAN,CAAA,CAAA,CAAA,CAAW,CAAC,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAE;QAC1B,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAA1B,CAA4B;IAC1B;AACF;"}
1
+ {"version":3,"file":"reactiveVars.js","sources":["../../../src/cache/inmemory/reactiveVars.ts"],"sourcesContent":["import type { OptimisticDependencyFunction } from \"optimism\";\nimport { dep, Slot } from \"optimism\";\n\nimport type { ApolloCache } from \"@apollo/client\";\n\nimport type { InMemoryCache } from \"./inMemoryCache.js\";\n\nexport interface ReactiveVar<T> {\n (newValue?: T): T;\n onNextChange(listener: ReactiveListener<T>): () => void;\n attachCache(cache: ApolloCache): this;\n forgetCache(cache: ApolloCache): boolean;\n}\n\ntype ReactiveListener<T> = (value: T) => any;\n\n// Contextual Slot that acquires its value when custom read functions are\n// called in Policies#readField.\nexport const cacheSlot = new Slot<ApolloCache>();\n\nconst cacheInfoMap = new WeakMap<\n ApolloCache,\n {\n vars: Set<ReactiveVar<any>>;\n dep: OptimisticDependencyFunction<ReactiveVar<any>>;\n }\n>();\n\nfunction getCacheInfo(cache: ApolloCache) {\n let info = cacheInfoMap.get(cache)!;\n if (!info) {\n cacheInfoMap.set(\n cache,\n (info = {\n vars: new Set(),\n dep: dep(),\n })\n );\n }\n return info;\n}\n\nexport function forgetCache(cache: ApolloCache) {\n getCacheInfo(cache).vars.forEach((rv) => rv.forgetCache(cache));\n}\n\n// Calling forgetCache(cache) serves to silence broadcasts and allows the\n// cache to be garbage collected. However, the varsByCache WeakMap\n// preserves the set of reactive variables that were previously associated\n// with this cache, which makes it possible to \"recall\" the cache at a\n// later time, by reattaching it to those variables. If the cache has been\n// garbage collected in the meantime, because it is no longer reachable,\n// you won't be able to call recallCache(cache), and the cache will\n// automatically disappear from the varsByCache WeakMap.\nexport function recallCache(cache: ApolloCache) {\n getCacheInfo(cache).vars.forEach((rv) => rv.attachCache(cache));\n}\n\nexport function makeVar<T>(value: T): ReactiveVar<T> {\n const caches = new Set<ApolloCache>();\n const listeners = new Set<ReactiveListener<T>>();\n\n const rv: ReactiveVar<T> = function (newValue) {\n if (arguments.length > 0) {\n if (value !== newValue) {\n value = newValue!;\n caches.forEach((cache) => {\n // Invalidate any fields with custom read functions that\n // consumed this variable, so query results involving those\n // fields will be recomputed the next time we read them.\n getCacheInfo(cache).dep.dirty(rv);\n // Broadcast changes to any caches that have previously read\n // from this variable.\n broadcast(cache);\n });\n // Finally, notify any listeners added via rv.onNextChange.\n const oldListeners = Array.from(listeners);\n listeners.clear();\n oldListeners.forEach((listener) => listener(value));\n }\n } else {\n // When reading from the variable, obtain the current cache from\n // context via cacheSlot. This isn't entirely foolproof, but it's\n // the same system that powers varDep.\n const cache = cacheSlot.getValue();\n if (cache) {\n attach(cache);\n getCacheInfo(cache).dep(rv);\n }\n }\n\n return value;\n };\n\n rv.onNextChange = (listener) => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n };\n\n const attach = (rv.attachCache = (cache) => {\n caches.add(cache);\n getCacheInfo(cache).vars.add(rv);\n return rv;\n });\n\n rv.forgetCache = (cache) => caches.delete(cache);\n\n return rv;\n}\n\ntype Broadcastable = ApolloCache & {\n // This method is protected in InMemoryCache, which we are ignoring, but\n // we still want some semblance of type safety when we call it.\n broadcastWatches?: InMemoryCache[\"broadcastWatches\"];\n};\n\nfunction broadcast(cache: Broadcastable) {\n if (cache.broadcastWatches) {\n cache.broadcastWatches();\n }\n}\n"],"names":[],"mappings":"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A,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAA8C,EAA9C;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAoB,CAAC,CAAC,CAAtB,CAAA,CAAA,CAA0B,CAAC,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAC,CAApC,CAAsC,EAAE,CAAxC,EAA2C,CAA3C,CAA6C,CAAC,CAA9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC,CAA1D,CAAA,CAAA,CAAA,CAA+D,CAAC,CAAC;AACjE;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAI,CAA3B,CAAA,CAAA,CAAA,CAAmC,EAAnC;IACE,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,EAAqB,CAArB,CAAA,CAAwB,CAAxB,CAAuC;IACrC,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,EAAwB,CAAxB,CAAA,CAA2B,CAA3B,CAAkD;IAEhD,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,EAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAuC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,EAA/C;QACI,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,EAAA,EAA2B,CAAC,EAAE;YACxB,CAAN,EAAA,CAAU,CAAV,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAE;gBACtB,CAAR,CAAA,CAAA,CAAA,EAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB;gBACjB,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAC,CAAxB,CAAA,CAAA,CAAA,CAA6B,EAAE,CAA/B,EAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAvB,CAAA,CAAA,CAAA,CAA4B,CAAC,CAAC,CAA9B,CAAA,CAAiC,CAAC,CAAlC,CAAA,CAAA,CAAA,CAAuC,CAAC,CAAxC,CAA0C,CAAC;oBACjC,CAAV,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;oBACU,CAAV,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;oBACU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAApB,CAAA,CAAA,CAAA,CAAyB,CAAC;gBAClB,CAAC,CAAC;gBACF,CAAR,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;gBACQ,CAAR,CAAA,CAAA,CAAA,EAAc,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAnC,CAAA,CAAA,CAAuC,CAAC,CAAxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD,CAAC;gBAC1C,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAuB,CAAvB,CAAyB;gBACjB,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAC,CAAC,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,EAAE,CAAxC,EAA2C,CAA3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmD,CAAC,CAApD,CAAA,CAAA,CAAA,CAAyD,CAAC,CAAC;YACrD;QACF;QAAJ,CAAA,CAAA,CAAA,EAAW;YACL,CAAN,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;YACM,CAAN,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;YACM,CAAN,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAtC,CAAwC;YAClC,CAAN,EAAA,CAAU,CAAV,CAAA,CAAA,CAAA,CAAe,EAAE;gBACT,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAoB,CAAC;gBACb,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAA0B,CAAC,CAAC,CAA5B,CAAA,CAA+B,CAAC,CAAhC,CAAkC,CAAC;YAC7B;QACF;QAEA,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAgB;IACd,CAAC;IAED,CAAF,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,EAAE,CAA/B,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAd,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAC;QACvB,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,EAAc,CAAd,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAC,CAAlB,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAyC,EAAE,CAA3C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAX,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAoB,CAAC;QACjB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAjB,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAC,CAAxB,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAgC,CAAC,CAAjC,CAAmC,CAAC;QAChC,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAa;IACX,CAAC,CAAC;IAEF,CAAF,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAC,CAApB,CAAA,CAAA,CAAA,CAAyB,EAAE,CAA3B,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAA2C,CAAC,CAA5C,CAAA,CAAA,CAAA,CAAiD,CAAC;IAEhD,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAW;AACX;AAQA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAnB,CAAA,CAAA,CAAA,CAAA,EAAA;IACE,CAAF,EAAA,CAAM,CAAN,CAAA,CAAA,CAAA,CAAW,CAAC,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAE;QAC1B,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,CAA1B,CAA4B;IAC1B;AACF;"}
@@ -2,13 +2,10 @@ import type { SelectionSetNode } from "graphql";
2
2
  import type { Reference, StoreObject } from "@apollo/client/utilities";
3
3
  import type { Cache } from "../core/types/Cache.js";
4
4
  import type { InMemoryCache } from "./inMemoryCache.js";
5
- import { ObjectCanon } from "./object-canon.js";
6
5
  import type { DiffQueryAgainstStoreOptions, InMemoryCacheConfig, ReadMergeModifyContext } from "./types.js";
7
6
  interface StoreReaderConfig {
8
7
  cache: InMemoryCache;
9
8
  resultCacheMaxSize?: number;
10
- canonizeResults?: boolean;
11
- canon?: ObjectCanon;
12
9
  fragments?: InMemoryCacheConfig["fragments"];
13
10
  }
14
11
  export declare class StoreReader {
@@ -16,14 +13,12 @@ export declare class StoreReader {
16
13
  private executeSubSelectedArray;
17
14
  private config;
18
15
  private knownResults;
19
- canon: ObjectCanon;
20
- resetCanon(): void;
21
16
  constructor(config: StoreReaderConfig);
22
17
  /**
23
18
  * Given a store and a query, return as much of the result as possible and
24
19
  * identify if any data was missing from the store.
25
20
  */
26
- diffQueryAgainstStore<T>({ store, query, rootId, variables, returnPartialData, canonizeResults, }: DiffQueryAgainstStoreOptions): Cache.DiffResult<T>;
21
+ diffQueryAgainstStore<T>({ store, query, rootId, variables, returnPartialData, }: DiffQueryAgainstStoreOptions): Cache.DiffResult<T>;
27
22
  isFresh(result: Record<string, any>, parent: StoreObject | Reference, selectionSet: SelectionSetNode, context: ReadMergeModifyContext): boolean;
28
23
  private execSelectionSetImpl;
29
24
  private execSubSelectedArrayImpl;
@@ -1,21 +1,13 @@
1
1
  import { Kind } from "graphql";
2
2
  import { wrap } from "optimism";
3
- import { addTypenameToDocument, cacheSizes, canonicalStringify, compact, DeepMerger, getDefaultValues, getFragmentFromSelection, getMainDefinition, getQueryDefinition, isField, isNonNullObject, isReference, makeReference, maybeDeepFreeze, mergeDeepArray, resultKeyNameFromField, shouldInclude, } from "@apollo/client/utilities";
3
+ import { addTypenameToDocument, cacheSizes, canonicalStringify, DeepMerger, getDefaultValues, getFragmentFromSelection, getMainDefinition, getQueryDefinition, isField, isNonNullObject, isReference, makeReference, maybeDeepFreeze, mergeDeepArray, resultKeyNameFromField, shouldInclude, } from "@apollo/client/utilities";
4
4
  import { __DEV__ } from "@apollo/client/utilities/environment";
5
5
  import { invariant, newInvariantError, } from "@apollo/client/utilities/invariant";
6
6
  import { MissingFieldError } from "../core/types/common.js";
7
7
  import { maybeDependOnExistenceOfEntity, supportsResultCaching, } from "./entityStore.js";
8
- import { extractFragmentContext, getTypenameFromStoreObject, isArray, shouldCanonizeResults, } from "./helpers.js";
9
- import { ObjectCanon } from "./object-canon.js";
8
+ import { extractFragmentContext, getTypenameFromStoreObject, isArray, } from "./helpers.js";
10
9
  function execSelectionSetKeyArgs(options) {
11
- return [
12
- options.selectionSet,
13
- options.objectOrReference,
14
- options.context,
15
- // We split out this property so we can pass different values
16
- // independently without modifying options.context itself.
17
- options.context.canonizeResults,
18
- ];
10
+ return [options.selectionSet, options.objectOrReference, options.context];
19
11
  }
20
12
  export class StoreReader {
21
13
  // cached version of executeSelectionSet
@@ -24,35 +16,16 @@ export class StoreReader {
24
16
  executeSubSelectedArray;
25
17
  config;
26
18
  knownResults = new WeakMap();
27
- canon;
28
- resetCanon() {
29
- this.canon = new ObjectCanon();
30
- }
31
19
  constructor(config) {
32
- this.config = compact(config, {
33
- canonizeResults: shouldCanonizeResults(config),
34
- });
35
- this.canon = config.canon || new ObjectCanon();
20
+ this.config = config;
36
21
  // memoized functions in this class will be "garbage-collected"
37
22
  // by recreating the whole `StoreReader` in
38
23
  // `InMemoryCache.resetResultsCache`
39
24
  // (triggered from `InMemoryCache.gc` with `resetResultCache: true`)
40
25
  this.executeSelectionSet = wrap((options) => {
41
- const { canonizeResults } = options.context;
42
26
  const peekArgs = execSelectionSetKeyArgs(options);
43
- // Negate this boolean option so we can find out if we've already read
44
- // this result using the other boolean value.
45
- peekArgs[3] = !canonizeResults;
46
27
  const other = this.executeSelectionSet.peek(...peekArgs);
47
28
  if (other) {
48
- if (canonizeResults) {
49
- return {
50
- ...other,
51
- // If we previously read this result without canonizing it, we can
52
- // reuse that result simply by canonizing it now.
53
- result: this.canon.admit(other.result),
54
- };
55
- }
56
29
  // If we previously read this result with canonization enabled, we can
57
30
  // return that canonized result as-is.
58
31
  return other;
@@ -68,9 +41,9 @@ export class StoreReader {
68
41
  keyArgs: execSelectionSetKeyArgs,
69
42
  // Note that the parameters of makeCacheKey are determined by the
70
43
  // array returned by keyArgs.
71
- makeCacheKey(selectionSet, parent, context, canonizeResults) {
44
+ makeCacheKey(selectionSet, parent, context) {
72
45
  if (supportsResultCaching(context.store)) {
73
- return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString, canonizeResults);
46
+ return context.store.makeCacheKey(selectionSet, isReference(parent) ? parent.__ref : parent, context.varString);
74
47
  }
75
48
  },
76
49
  });
@@ -92,7 +65,7 @@ export class StoreReader {
92
65
  * Given a store and a query, return as much of the result as possible and
93
66
  * identify if any data was missing from the store.
94
67
  */
95
- diffQueryAgainstStore({ store, query, rootId = "ROOT_QUERY", variables, returnPartialData = true, canonizeResults = this.config.canonizeResults, }) {
68
+ diffQueryAgainstStore({ store, query, rootId = "ROOT_QUERY", variables, returnPartialData = true, }) {
96
69
  const policies = this.config.cache.policies;
97
70
  variables = {
98
71
  ...getDefaultValues(getQueryDefinition(query)),
@@ -109,7 +82,6 @@ export class StoreReader {
109
82
  policies,
110
83
  variables,
111
84
  varString: canonicalStringify(variables),
112
- canonizeResults,
113
85
  ...extractFragmentContext(query, this.config.fragments),
114
86
  },
115
87
  });
@@ -132,11 +104,7 @@ export class StoreReader {
132
104
  isFresh(result, parent, selectionSet, context) {
133
105
  if (supportsResultCaching(context.store) &&
134
106
  this.knownResults.get(result) === selectionSet) {
135
- const latest = this.executeSelectionSet.peek(selectionSet, parent, context,
136
- // If result is canonical, then it could only have been previously
137
- // cached by the canonizing version of executeSelectionSet, so we can
138
- // avoid checking both possibilities here.
139
- this.canon.isKnown(result));
107
+ const latest = this.executeSelectionSet.peek(selectionSet, parent, context);
140
108
  if (latest && result === latest.result) {
141
109
  return true;
142
110
  }
@@ -149,7 +117,7 @@ export class StoreReader {
149
117
  !context.policies.rootTypenamesById[objectOrReference.__ref] &&
150
118
  !context.store.has(objectOrReference.__ref)) {
151
119
  return {
152
- result: this.canon.empty,
120
+ result: {},
153
121
  missing: `Dangling reference to missing ${objectOrReference.__ref} object`,
154
122
  };
155
123
  }
@@ -206,13 +174,7 @@ export class StoreReader {
206
174
  }
207
175
  }
208
176
  else if (!selection.selectionSet) {
209
- // If the field does not have a selection set, then we handle it
210
- // as a scalar value. To keep this.canon from canonicalizing
211
- // this value, we use this.canon.pass to wrap fieldValue in a
212
- // Pass object that this.canon.admit will later unwrap as-is.
213
- if (context.canonizeResults) {
214
- fieldValue = this.canon.pass(fieldValue);
215
- }
177
+ // do nothing
216
178
  }
217
179
  else if (fieldValue != null) {
218
180
  // In this case, because we know the field has a selection set,
@@ -241,11 +203,7 @@ export class StoreReader {
241
203
  });
242
204
  const result = mergeDeepArray(objectsToMerge);
243
205
  const finalResult = { result, missing };
244
- const frozen = context.canonizeResults ?
245
- this.canon.admit(finalResult)
246
- // Since this.canon is normally responsible for freezing results (only in
247
- // development), freeze them manually if canonization is disabled.
248
- : maybeDeepFreeze(finalResult);
206
+ const frozen = maybeDeepFreeze(finalResult);
249
207
  // Store this result with its selection set so that we can quickly
250
208
  // recognize it again in the StoreReader#isFresh method.
251
209
  if (frozen.result) {
@@ -295,7 +253,7 @@ export class StoreReader {
295
253
  return item;
296
254
  });
297
255
  return {
298
- result: context.canonizeResults ? this.canon.admit(array) : array,
256
+ result: array,
299
257
  missing,
300
258
  };
301
259
  }
@@ -1 +1 @@
1
- {"version":3,"file":"readFromStore.js","sources":["../../../src/cache/inmemory/readFromStore.ts"],"sourcesContent":["import type { DocumentNode, FieldNode, SelectionSetNode } from \"graphql\";\nimport { Kind } from \"graphql\";\nimport type { OptimisticWrapperFunction } from \"optimism\";\nimport { wrap } from \"optimism\";\n\nimport type {\n FragmentMap,\n FragmentMapFunction,\n Reference,\n StoreObject,\n} from \"@apollo/client/utilities\";\nimport {\n addTypenameToDocument,\n cacheSizes,\n canonicalStringify,\n compact,\n DeepMerger,\n defaultCacheSizes,\n getDefaultValues,\n getFragmentFromSelection,\n getMainDefinition,\n getQueryDefinition,\n isField,\n isNonNullObject,\n isReference,\n makeReference,\n maybeDeepFreeze,\n mergeDeepArray,\n resultKeyNameFromField,\n shouldInclude,\n} from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport {\n invariant,\n newInvariantError,\n} from \"@apollo/client/utilities/invariant\";\n\nimport type { Cache } from \"../core/types/Cache.js\";\nimport type { MissingTree } from \"../core/types/common.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\n\nimport {\n maybeDependOnExistenceOfEntity,\n supportsResultCaching,\n} from \"./entityStore.js\";\nimport {\n extractFragmentContext,\n getTypenameFromStoreObject,\n isArray,\n shouldCanonizeResults,\n} from \"./helpers.js\";\nimport type { InMemoryCache } from \"./inMemoryCache.js\";\nimport { ObjectCanon } from \"./object-canon.js\";\nimport type { Policies } from \"./policies.js\";\nimport type {\n DiffQueryAgainstStoreOptions,\n InMemoryCacheConfig,\n NormalizedCache,\n ReadMergeModifyContext,\n} from \"./types.js\";\n\ninterface ReadContext extends ReadMergeModifyContext {\n query: DocumentNode;\n policies: Policies;\n canonizeResults: boolean;\n fragmentMap: FragmentMap;\n lookupFragment: FragmentMapFunction;\n}\n\ntype ExecResult<R = any> = {\n result: R;\n missing?: MissingTree;\n};\n\ntype ExecSelectionSetOptions = {\n selectionSet: SelectionSetNode;\n objectOrReference: StoreObject | Reference;\n enclosingRef: Reference;\n context: ReadContext;\n};\n\ntype ExecSubSelectedArrayOptions = {\n field: FieldNode;\n array: readonly any[];\n enclosingRef: Reference;\n context: ReadContext;\n};\n\ninterface StoreReaderConfig {\n cache: InMemoryCache;\n resultCacheMaxSize?: number;\n canonizeResults?: boolean;\n canon?: ObjectCanon;\n fragments?: InMemoryCacheConfig[\"fragments\"];\n}\n\n// Arguments type after keyArgs translation.\ntype ExecSelectionSetKeyArgs = [\n SelectionSetNode,\n StoreObject | Reference,\n ReadMergeModifyContext,\n boolean,\n];\n\nfunction execSelectionSetKeyArgs(\n options: ExecSelectionSetOptions\n): ExecSelectionSetKeyArgs {\n return [\n options.selectionSet,\n options.objectOrReference,\n options.context,\n // We split out this property so we can pass different values\n // independently without modifying options.context itself.\n options.context.canonizeResults,\n ];\n}\n\nexport class StoreReader {\n // cached version of executeSelectionSet\n private executeSelectionSet: OptimisticWrapperFunction<\n [ExecSelectionSetOptions], // Actual arguments tuple type.\n ExecResult, // Actual return type.\n ExecSelectionSetKeyArgs\n >;\n\n // cached version of executeSubSelectedArray\n private executeSubSelectedArray: OptimisticWrapperFunction<\n [ExecSubSelectedArrayOptions],\n ExecResult<any>,\n [ExecSubSelectedArrayOptions]\n >;\n\n private config: {\n cache: InMemoryCache;\n resultCacheMaxSize?: number;\n canonizeResults: boolean;\n fragments?: InMemoryCacheConfig[\"fragments\"];\n };\n\n private knownResults = new WeakMap<Record<string, any>, SelectionSetNode>();\n\n public canon: ObjectCanon;\n public resetCanon() {\n this.canon = new ObjectCanon();\n }\n\n constructor(config: StoreReaderConfig) {\n this.config = compact(config, {\n canonizeResults: shouldCanonizeResults(config),\n });\n\n this.canon = config.canon || new ObjectCanon();\n\n // memoized functions in this class will be \"garbage-collected\"\n // by recreating the whole `StoreReader` in\n // `InMemoryCache.resetResultsCache`\n // (triggered from `InMemoryCache.gc` with `resetResultCache: true`)\n this.executeSelectionSet = wrap(\n (options) => {\n const { canonizeResults } = options.context;\n\n const peekArgs = execSelectionSetKeyArgs(options);\n\n // Negate this boolean option so we can find out if we've already read\n // this result using the other boolean value.\n peekArgs[3] = !canonizeResults;\n\n const other = this.executeSelectionSet.peek(...peekArgs);\n\n if (other) {\n if (canonizeResults) {\n return {\n ...other,\n // If we previously read this result without canonizing it, we can\n // reuse that result simply by canonizing it now.\n result: this.canon.admit(other.result),\n };\n }\n // If we previously read this result with canonization enabled, we can\n // return that canonized result as-is.\n return other;\n }\n\n maybeDependOnExistenceOfEntity(\n options.context.store,\n options.enclosingRef.__ref\n );\n\n // Finally, if we didn't find any useful previous results, run the real\n // execSelectionSetImpl method with the given options.\n return this.execSelectionSetImpl(options);\n },\n {\n max:\n this.config.resultCacheMaxSize ||\n cacheSizes[\"inMemoryCache.executeSelectionSet\"] ||\n defaultCacheSizes[\"inMemoryCache.executeSelectionSet\"],\n keyArgs: execSelectionSetKeyArgs,\n // Note that the parameters of makeCacheKey are determined by the\n // array returned by keyArgs.\n makeCacheKey(selectionSet, parent, context, canonizeResults) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(\n selectionSet,\n isReference(parent) ? parent.__ref : parent,\n context.varString,\n canonizeResults\n );\n }\n },\n }\n );\n\n this.executeSubSelectedArray = wrap(\n (options: ExecSubSelectedArrayOptions) => {\n maybeDependOnExistenceOfEntity(\n options.context.store,\n options.enclosingRef.__ref\n );\n return this.execSubSelectedArrayImpl(options);\n },\n {\n max:\n this.config.resultCacheMaxSize ||\n cacheSizes[\"inMemoryCache.executeSubSelectedArray\"] ||\n defaultCacheSizes[\"inMemoryCache.executeSubSelectedArray\"],\n makeCacheKey({ field, array, context }) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n },\n }\n );\n }\n\n /**\n * Given a store and a query, return as much of the result as possible and\n * identify if any data was missing from the store.\n */\n public diffQueryAgainstStore<T>({\n store,\n query,\n rootId = \"ROOT_QUERY\",\n variables,\n returnPartialData = true,\n canonizeResults = this.config.canonizeResults,\n }: DiffQueryAgainstStoreOptions): Cache.DiffResult<T> {\n const policies = this.config.cache.policies;\n\n variables = {\n ...getDefaultValues(getQueryDefinition(query)),\n ...variables!,\n };\n\n const rootRef = makeReference(rootId);\n const execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: rootRef,\n enclosingRef: rootRef,\n context: {\n store,\n query,\n policies,\n variables,\n varString: canonicalStringify(variables),\n canonizeResults,\n ...extractFragmentContext(query, this.config.fragments),\n },\n });\n\n let missing: MissingFieldError | undefined;\n if (execResult.missing) {\n missing = new MissingFieldError(\n firstMissing(execResult.missing)!,\n execResult.missing,\n query,\n variables\n );\n }\n\n const complete = !missing;\n const { result } = execResult;\n\n return {\n result:\n complete || returnPartialData ?\n Object.keys(result).length === 0 ?\n null\n : result\n : null,\n complete,\n missing,\n } as Cache.DiffResult<T>;\n }\n\n public isFresh(\n result: Record<string, any>,\n parent: StoreObject | Reference,\n selectionSet: SelectionSetNode,\n context: ReadMergeModifyContext\n ): boolean {\n if (\n supportsResultCaching(context.store) &&\n this.knownResults.get(result) === selectionSet\n ) {\n const latest = this.executeSelectionSet.peek(\n selectionSet,\n parent,\n context,\n // If result is canonical, then it could only have been previously\n // cached by the canonizing version of executeSelectionSet, so we can\n // avoid checking both possibilities here.\n this.canon.isKnown(result)\n );\n if (latest && result === latest.result) {\n return true;\n }\n }\n return false;\n }\n\n // Uncached version of executeSelectionSet.\n private execSelectionSetImpl({\n selectionSet,\n objectOrReference,\n enclosingRef,\n context,\n }: ExecSelectionSetOptions): ExecResult {\n if (\n isReference(objectOrReference) &&\n !context.policies.rootTypenamesById[objectOrReference.__ref] &&\n !context.store.has(objectOrReference.__ref)\n ) {\n return {\n result: this.canon.empty,\n missing: `Dangling reference to missing ${objectOrReference.__ref} object`,\n };\n }\n\n const { variables, policies, store } = context;\n const typename = store.getFieldValue<string>(\n objectOrReference,\n \"__typename\"\n );\n\n const objectsToMerge: Record<string, any>[] = [];\n let missing: MissingTree | undefined;\n const missingMerger = new DeepMerger();\n\n if (typeof typename === \"string\" && !policies.rootIdsByTypename[typename]) {\n // Ensure we always include a default value for the __typename\n // field, if we have one. Note that this field can be overridden by other\n // merged objects.\n objectsToMerge.push({ __typename: typename });\n }\n\n function handleMissing<T>(result: ExecResult<T>, resultName: string): T {\n if (result.missing) {\n missing = missingMerger.merge(missing, {\n [resultName]: result.missing,\n });\n }\n return result.result;\n }\n\n const workSet = new Set(selectionSet.selections);\n\n workSet.forEach((selection) => {\n // Omit fields with directives @skip(if: <truthy value>) or\n // @include(if: <falsy value>).\n if (!shouldInclude(selection, variables)) return;\n\n if (isField(selection)) {\n let fieldValue = policies.readField(\n {\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference,\n },\n context\n );\n\n const resultName = resultKeyNameFromField(selection);\n\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n missing = missingMerger.merge(missing, {\n [resultName]: `Can't find field '${selection.name.value}' on ${\n isReference(objectOrReference) ?\n objectOrReference.__ref + \" object\"\n : \"object \" + JSON.stringify(objectOrReference, null, 2)\n }`,\n });\n }\n } else if (isArray(fieldValue)) {\n if (fieldValue.length > 0) {\n fieldValue = handleMissing(\n this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n enclosingRef,\n context,\n }),\n resultName\n );\n }\n } else if (!selection.selectionSet) {\n // If the field does not have a selection set, then we handle it\n // as a scalar value. To keep this.canon from canonicalizing\n // this value, we use this.canon.pass to wrap fieldValue in a\n // Pass object that this.canon.admit will later unwrap as-is.\n if (context.canonizeResults) {\n fieldValue = this.canon.pass(fieldValue);\n }\n } else if (fieldValue != null) {\n // In this case, because we know the field has a selection set,\n // it must be trying to query a GraphQLObjectType, which is why\n // fieldValue must be != null.\n fieldValue = handleMissing(\n this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue as StoreObject | Reference,\n enclosingRef: isReference(fieldValue) ? fieldValue : enclosingRef,\n context,\n }),\n resultName\n );\n }\n\n if (fieldValue !== void 0) {\n objectsToMerge.push({ [resultName]: fieldValue });\n }\n } else {\n const fragment = getFragmentFromSelection(\n selection,\n context.lookupFragment\n );\n\n if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {\n throw newInvariantError(`No fragment named %s`, selection.name.value);\n }\n\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n\n const result = mergeDeepArray(objectsToMerge);\n const finalResult: ExecResult = { result, missing };\n const frozen =\n context.canonizeResults ?\n this.canon.admit(finalResult)\n // Since this.canon is normally responsible for freezing results (only in\n // development), freeze them manually if canonization is disabled.\n : maybeDeepFreeze(finalResult);\n\n // Store this result with its selection set so that we can quickly\n // recognize it again in the StoreReader#isFresh method.\n if (frozen.result) {\n this.knownResults.set(frozen.result, selectionSet);\n }\n\n return frozen;\n }\n\n // Uncached version of executeSubSelectedArray.\n private execSubSelectedArrayImpl({\n field,\n array,\n enclosingRef,\n context,\n }: ExecSubSelectedArrayOptions): ExecResult {\n let missing: MissingTree | undefined;\n let missingMerger = new DeepMerger<MissingTree[]>();\n\n function handleMissing<T>(childResult: ExecResult<T>, i: number): T {\n if (childResult.missing) {\n missing = missingMerger.merge(missing, { [i]: childResult.missing });\n }\n return childResult.result;\n }\n\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n\n array = array.map((item, i) => {\n // null value in array\n if (item === null) {\n return null;\n }\n\n // This is a nested array, recurse\n if (isArray(item)) {\n return handleMissing(\n this.executeSubSelectedArray({\n field,\n array: item,\n enclosingRef,\n context,\n }),\n i\n );\n }\n\n // This is an object, run the selection set on it\n if (field.selectionSet) {\n return handleMissing(\n this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n enclosingRef: isReference(item) ? item : enclosingRef,\n context,\n }),\n i\n );\n }\n\n if (__DEV__) {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n\n return item;\n });\n\n return {\n result: context.canonizeResults ? this.canon.admit(array) : array,\n missing,\n };\n }\n}\n\nfunction firstMissing(tree: MissingTree): string | undefined {\n try {\n JSON.stringify(tree, (_, value) => {\n if (typeof value === \"string\") throw value;\n return value;\n });\n } catch (result) {\n return result as string;\n }\n}\n\nfunction assertSelectionSetForIdValue(\n store: NormalizedCache,\n field: FieldNode,\n fieldValue: any\n) {\n if (!field.selectionSet) {\n const workSet = new Set([fieldValue]);\n workSet.forEach((value) => {\n if (isNonNullObject(value)) {\n invariant(\n !isReference(value),\n `Missing selection set for object of type %s returned for query field %s`,\n getTypenameFromStoreObject(store, value),\n field.name.value\n );\n Object.values(value).forEach(workSet.add, workSet);\n }\n });\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"readFromStore.js","sources":["../../../src/cache/inmemory/readFromStore.ts"],"sourcesContent":["import type { DocumentNode, FieldNode, SelectionSetNode } from \"graphql\";\nimport { Kind } from \"graphql\";\nimport type { OptimisticWrapperFunction } from \"optimism\";\nimport { wrap } from \"optimism\";\n\nimport type {\n FragmentMap,\n FragmentMapFunction,\n Reference,\n StoreObject,\n} from \"@apollo/client/utilities\";\nimport {\n addTypenameToDocument,\n cacheSizes,\n canonicalStringify,\n DeepMerger,\n getDefaultValues,\n getFragmentFromSelection,\n getMainDefinition,\n getQueryDefinition,\n isField,\n isNonNullObject,\n isReference,\n makeReference,\n maybeDeepFreeze,\n mergeDeepArray,\n resultKeyNameFromField,\n shouldInclude,\n} from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport {\n invariant,\n newInvariantError,\n} from \"@apollo/client/utilities/invariant\";\n\nimport { defaultCacheSizes } from \"../../utilities/caching/sizes.js\";\nimport type { Cache } from \"../core/types/Cache.js\";\nimport type { MissingTree } from \"../core/types/common.js\";\nimport { MissingFieldError } from \"../core/types/common.js\";\n\nimport {\n maybeDependOnExistenceOfEntity,\n supportsResultCaching,\n} from \"./entityStore.js\";\nimport {\n extractFragmentContext,\n getTypenameFromStoreObject,\n isArray,\n} from \"./helpers.js\";\nimport type { InMemoryCache } from \"./inMemoryCache.js\";\nimport type { Policies } from \"./policies.js\";\nimport type {\n DiffQueryAgainstStoreOptions,\n InMemoryCacheConfig,\n NormalizedCache,\n ReadMergeModifyContext,\n} from \"./types.js\";\n\ninterface ReadContext extends ReadMergeModifyContext {\n query: DocumentNode;\n policies: Policies;\n fragmentMap: FragmentMap;\n lookupFragment: FragmentMapFunction;\n}\n\ntype ExecResult<R = any> = {\n result: R;\n missing?: MissingTree;\n};\n\ntype ExecSelectionSetOptions = {\n selectionSet: SelectionSetNode;\n objectOrReference: StoreObject | Reference;\n enclosingRef: Reference;\n context: ReadContext;\n};\n\ntype ExecSubSelectedArrayOptions = {\n field: FieldNode;\n array: readonly any[];\n enclosingRef: Reference;\n context: ReadContext;\n};\n\ninterface StoreReaderConfig {\n cache: InMemoryCache;\n resultCacheMaxSize?: number;\n fragments?: InMemoryCacheConfig[\"fragments\"];\n}\n\n// Arguments type after keyArgs translation.\ntype ExecSelectionSetKeyArgs = [\n SelectionSetNode,\n StoreObject | Reference,\n ReadMergeModifyContext,\n];\n\nfunction execSelectionSetKeyArgs(\n options: ExecSelectionSetOptions\n): ExecSelectionSetKeyArgs {\n return [options.selectionSet, options.objectOrReference, options.context];\n}\n\nexport class StoreReader {\n // cached version of executeSelectionSet\n private executeSelectionSet: OptimisticWrapperFunction<\n [ExecSelectionSetOptions], // Actual arguments tuple type.\n ExecResult, // Actual return type.\n ExecSelectionSetKeyArgs\n >;\n\n // cached version of executeSubSelectedArray\n private executeSubSelectedArray: OptimisticWrapperFunction<\n [ExecSubSelectedArrayOptions],\n ExecResult<any>,\n [ExecSubSelectedArrayOptions]\n >;\n\n private config: {\n cache: InMemoryCache;\n resultCacheMaxSize?: number;\n fragments?: InMemoryCacheConfig[\"fragments\"];\n };\n\n private knownResults = new WeakMap<Record<string, any>, SelectionSetNode>();\n\n constructor(config: StoreReaderConfig) {\n this.config = config;\n\n // memoized functions in this class will be \"garbage-collected\"\n // by recreating the whole `StoreReader` in\n // `InMemoryCache.resetResultsCache`\n // (triggered from `InMemoryCache.gc` with `resetResultCache: true`)\n this.executeSelectionSet = wrap(\n (options) => {\n const peekArgs = execSelectionSetKeyArgs(options);\n\n const other = this.executeSelectionSet.peek(...peekArgs);\n\n if (other) {\n // If we previously read this result with canonization enabled, we can\n // return that canonized result as-is.\n return other;\n }\n\n maybeDependOnExistenceOfEntity(\n options.context.store,\n options.enclosingRef.__ref\n );\n\n // Finally, if we didn't find any useful previous results, run the real\n // execSelectionSetImpl method with the given options.\n return this.execSelectionSetImpl(options);\n },\n {\n max:\n this.config.resultCacheMaxSize ||\n cacheSizes[\"inMemoryCache.executeSelectionSet\"] ||\n defaultCacheSizes[\"inMemoryCache.executeSelectionSet\"],\n keyArgs: execSelectionSetKeyArgs,\n // Note that the parameters of makeCacheKey are determined by the\n // array returned by keyArgs.\n makeCacheKey(selectionSet, parent, context) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(\n selectionSet,\n isReference(parent) ? parent.__ref : parent,\n context.varString\n );\n }\n },\n }\n );\n\n this.executeSubSelectedArray = wrap(\n (options: ExecSubSelectedArrayOptions) => {\n maybeDependOnExistenceOfEntity(\n options.context.store,\n options.enclosingRef.__ref\n );\n return this.execSubSelectedArrayImpl(options);\n },\n {\n max:\n this.config.resultCacheMaxSize ||\n cacheSizes[\"inMemoryCache.executeSubSelectedArray\"] ||\n defaultCacheSizes[\"inMemoryCache.executeSubSelectedArray\"],\n makeCacheKey({ field, array, context }) {\n if (supportsResultCaching(context.store)) {\n return context.store.makeCacheKey(field, array, context.varString);\n }\n },\n }\n );\n }\n\n /**\n * Given a store and a query, return as much of the result as possible and\n * identify if any data was missing from the store.\n */\n public diffQueryAgainstStore<T>({\n store,\n query,\n rootId = \"ROOT_QUERY\",\n variables,\n returnPartialData = true,\n }: DiffQueryAgainstStoreOptions): Cache.DiffResult<T> {\n const policies = this.config.cache.policies;\n\n variables = {\n ...getDefaultValues(getQueryDefinition(query)),\n ...variables!,\n };\n\n const rootRef = makeReference(rootId);\n const execResult = this.executeSelectionSet({\n selectionSet: getMainDefinition(query).selectionSet,\n objectOrReference: rootRef,\n enclosingRef: rootRef,\n context: {\n store,\n query,\n policies,\n variables,\n varString: canonicalStringify(variables),\n ...extractFragmentContext(query, this.config.fragments),\n },\n });\n\n let missing: MissingFieldError | undefined;\n if (execResult.missing) {\n missing = new MissingFieldError(\n firstMissing(execResult.missing)!,\n execResult.missing,\n query,\n variables\n );\n }\n\n const complete = !missing;\n const { result } = execResult;\n\n return {\n result:\n complete || returnPartialData ?\n Object.keys(result).length === 0 ?\n null\n : result\n : null,\n complete,\n missing,\n } as Cache.DiffResult<T>;\n }\n\n public isFresh(\n result: Record<string, any>,\n parent: StoreObject | Reference,\n selectionSet: SelectionSetNode,\n context: ReadMergeModifyContext\n ): boolean {\n if (\n supportsResultCaching(context.store) &&\n this.knownResults.get(result) === selectionSet\n ) {\n const latest = this.executeSelectionSet.peek(\n selectionSet,\n parent,\n context\n );\n if (latest && result === latest.result) {\n return true;\n }\n }\n return false;\n }\n\n // Uncached version of executeSelectionSet.\n private execSelectionSetImpl({\n selectionSet,\n objectOrReference,\n enclosingRef,\n context,\n }: ExecSelectionSetOptions): ExecResult {\n if (\n isReference(objectOrReference) &&\n !context.policies.rootTypenamesById[objectOrReference.__ref] &&\n !context.store.has(objectOrReference.__ref)\n ) {\n return {\n result: {},\n missing: `Dangling reference to missing ${objectOrReference.__ref} object`,\n };\n }\n\n const { variables, policies, store } = context;\n const typename = store.getFieldValue<string>(\n objectOrReference,\n \"__typename\"\n );\n\n const objectsToMerge: Record<string, any>[] = [];\n let missing: MissingTree | undefined;\n const missingMerger = new DeepMerger();\n\n if (typeof typename === \"string\" && !policies.rootIdsByTypename[typename]) {\n // Ensure we always include a default value for the __typename\n // field, if we have one. Note that this field can be overridden by other\n // merged objects.\n objectsToMerge.push({ __typename: typename });\n }\n\n function handleMissing<T>(result: ExecResult<T>, resultName: string): T {\n if (result.missing) {\n missing = missingMerger.merge(missing, {\n [resultName]: result.missing,\n });\n }\n return result.result;\n }\n\n const workSet = new Set(selectionSet.selections);\n\n workSet.forEach((selection) => {\n // Omit fields with directives @skip(if: <truthy value>) or\n // @include(if: <falsy value>).\n if (!shouldInclude(selection, variables)) return;\n\n if (isField(selection)) {\n let fieldValue = policies.readField(\n {\n fieldName: selection.name.value,\n field: selection,\n variables: context.variables,\n from: objectOrReference,\n },\n context\n );\n\n const resultName = resultKeyNameFromField(selection);\n\n if (fieldValue === void 0) {\n if (!addTypenameToDocument.added(selection)) {\n missing = missingMerger.merge(missing, {\n [resultName]: `Can't find field '${selection.name.value}' on ${\n isReference(objectOrReference) ?\n objectOrReference.__ref + \" object\"\n : \"object \" + JSON.stringify(objectOrReference, null, 2)\n }`,\n });\n }\n } else if (isArray(fieldValue)) {\n if (fieldValue.length > 0) {\n fieldValue = handleMissing(\n this.executeSubSelectedArray({\n field: selection,\n array: fieldValue,\n enclosingRef,\n context,\n }),\n resultName\n );\n }\n } else if (!selection.selectionSet) {\n // do nothing\n } else if (fieldValue != null) {\n // In this case, because we know the field has a selection set,\n // it must be trying to query a GraphQLObjectType, which is why\n // fieldValue must be != null.\n fieldValue = handleMissing(\n this.executeSelectionSet({\n selectionSet: selection.selectionSet,\n objectOrReference: fieldValue as StoreObject | Reference,\n enclosingRef: isReference(fieldValue) ? fieldValue : enclosingRef,\n context,\n }),\n resultName\n );\n }\n\n if (fieldValue !== void 0) {\n objectsToMerge.push({ [resultName]: fieldValue });\n }\n } else {\n const fragment = getFragmentFromSelection(\n selection,\n context.lookupFragment\n );\n\n if (!fragment && selection.kind === Kind.FRAGMENT_SPREAD) {\n throw newInvariantError(`No fragment named %s`, selection.name.value);\n }\n\n if (fragment && policies.fragmentMatches(fragment, typename)) {\n fragment.selectionSet.selections.forEach(workSet.add, workSet);\n }\n }\n });\n\n const result = mergeDeepArray(objectsToMerge);\n const finalResult: ExecResult = { result, missing };\n const frozen = maybeDeepFreeze(finalResult);\n\n // Store this result with its selection set so that we can quickly\n // recognize it again in the StoreReader#isFresh method.\n if (frozen.result) {\n this.knownResults.set(frozen.result, selectionSet);\n }\n\n return frozen;\n }\n\n // Uncached version of executeSubSelectedArray.\n private execSubSelectedArrayImpl({\n field,\n array,\n enclosingRef,\n context,\n }: ExecSubSelectedArrayOptions): ExecResult {\n let missing: MissingTree | undefined;\n let missingMerger = new DeepMerger<MissingTree[]>();\n\n function handleMissing<T>(childResult: ExecResult<T>, i: number): T {\n if (childResult.missing) {\n missing = missingMerger.merge(missing, { [i]: childResult.missing });\n }\n return childResult.result;\n }\n\n if (field.selectionSet) {\n array = array.filter(context.store.canRead);\n }\n\n array = array.map((item, i) => {\n // null value in array\n if (item === null) {\n return null;\n }\n\n // This is a nested array, recurse\n if (isArray(item)) {\n return handleMissing(\n this.executeSubSelectedArray({\n field,\n array: item,\n enclosingRef,\n context,\n }),\n i\n );\n }\n\n // This is an object, run the selection set on it\n if (field.selectionSet) {\n return handleMissing(\n this.executeSelectionSet({\n selectionSet: field.selectionSet,\n objectOrReference: item,\n enclosingRef: isReference(item) ? item : enclosingRef,\n context,\n }),\n i\n );\n }\n\n if (__DEV__) {\n assertSelectionSetForIdValue(context.store, field, item);\n }\n\n return item;\n });\n\n return {\n result: array,\n missing,\n };\n }\n}\n\nfunction firstMissing(tree: MissingTree): string | undefined {\n try {\n JSON.stringify(tree, (_, value) => {\n if (typeof value === \"string\") throw value;\n return value;\n });\n } catch (result) {\n return result as string;\n }\n}\n\nfunction assertSelectionSetForIdValue(\n store: NormalizedCache,\n field: FieldNode,\n fieldValue: any\n) {\n if (!field.selectionSet) {\n const workSet = new Set([fieldValue]);\n workSet.forEach((value) => {\n if (isNonNullObject(value)) {\n invariant(\n !isReference(value),\n `Missing selection set for object of type %s returned for query field %s`,\n getTypenameFromStoreObject(store, value),\n field.name.value\n );\n Object.values(value).forEach(workSet.add, workSet);\n }\n });\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DocumentNode, FieldNode } from "graphql";
2
+ import type { OperationVariables } from "@apollo/client";
2
3
  import type { Reference, StoreObject, StoreValue } from "@apollo/client/utilities";
3
4
  import type { Transaction } from "../core/cache.js";
4
5
  import type { AllFieldsModifier, CanReadFunction, Modifiers, ToReferenceFunction } from "../core/types/common.js";
@@ -60,7 +61,7 @@ export interface NormalizedCacheObject {
60
61
  export type OptimisticStoreItem = {
61
62
  id: string;
62
63
  data: NormalizedCacheObject;
63
- transaction: Transaction<NormalizedCacheObject>;
64
+ transaction: Transaction;
64
65
  };
65
66
  export type ReadQueryOptions = {
66
67
  /**
@@ -73,14 +74,6 @@ export type ReadQueryOptions = {
73
74
  query: DocumentNode;
74
75
  variables?: Object;
75
76
  previousResult?: any;
76
- /**
77
- * @deprecated
78
- * Using `canonizeResults` can result in memory leaks so we generally do not
79
- * recommend using this option anymore.
80
- * A future version of Apollo Client will contain a similar feature without
81
- * the risk of memory leaks.
82
- */
83
- canonizeResults?: boolean;
84
77
  rootId?: string;
85
78
  config?: ApolloReducerConfig;
86
79
  };
@@ -99,13 +92,6 @@ export interface InMemoryCacheConfig extends ApolloReducerConfig {
99
92
  * Please use `cacheSizes` instead.
100
93
  */
101
94
  resultCacheMaxSize?: number;
102
- /**
103
- * @deprecated
104
- * Using `canonizeResults` can result in memory leaks so we generally do not
105
- * recommend using this option anymore.
106
- * A future version of Apollo Client will contain a similar feature.
107
- */
108
- canonizeResults?: boolean;
109
95
  fragments?: FragmentRegistryAPI;
110
96
  }
111
97
  export interface MergeInfo {
@@ -119,7 +105,7 @@ export interface MergeTree {
119
105
  }
120
106
  export interface ReadMergeModifyContext {
121
107
  store: NormalizedCache;
122
- variables?: Record<string, any>;
108
+ variables?: OperationVariables;
123
109
  varString?: string;
124
110
  }
125
111
  //# sourceMappingURL=types.d.ts.map