@apollo/client 4.0.0-alpha.6 → 4.0.0-alpha.8

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 (609) hide show
  1. package/.changeset/afraid-moons-arrive.md +5 -0
  2. package/.changeset/beige-mirrors-talk.md +15 -0
  3. package/.changeset/dirty-eagles-poke.md +5 -0
  4. package/.changeset/early-eggs-develop.md +22 -0
  5. package/.changeset/giant-apes-thank.md +5 -0
  6. package/.changeset/nice-dots-matter.md +5 -0
  7. package/.changeset/ninety-bags-bake.md +17 -0
  8. package/.changeset/perfect-vans-give.md +7 -0
  9. package/.changeset/pre.json +13 -0
  10. package/.changeset/purple-bears-flash.md +5 -0
  11. package/.changeset/shaggy-pugs-add.md +52 -0
  12. package/.changeset/short-months-complain.md +5 -0
  13. package/.changeset/swift-rivers-share.md +13 -0
  14. package/.changeset/wicked-forks-double.md +33 -0
  15. package/CHANGELOG.md +178 -0
  16. package/__cjs/cache/core/cache.cjs +1 -1
  17. package/__cjs/cache/core/cache.cjs.map +1 -1
  18. package/__cjs/cache/core/cache.d.cts +1 -1
  19. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  20. package/__cjs/cache/core/types/Cache.d.cts +1 -1
  21. package/__cjs/cache/core/types/DataProxy.d.cts +1 -1
  22. package/__cjs/cache/core/types/common.cjs +1 -0
  23. package/__cjs/cache/core/types/common.cjs.map +1 -1
  24. package/__cjs/cache/index.cjs +4 -4
  25. package/__cjs/cache/index.cjs.map +1 -1
  26. package/__cjs/cache/index.d.cts +3 -3
  27. package/__cjs/cache/inmemory/entityStore.cjs +7 -4
  28. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  29. package/__cjs/cache/inmemory/entityStore.d.cts +1 -0
  30. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  31. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  32. package/__cjs/cache/inmemory/inMemoryCache.d.cts +1 -1
  33. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  34. package/__cjs/cache/inmemory/policies.cjs +4 -4
  35. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  36. package/__cjs/cache/inmemory/reactiveVars.d.cts +1 -1
  37. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  38. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  39. package/__cjs/cache/inmemory/types.d.cts +1 -1
  40. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  41. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  42. package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
  43. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +2 -3
  44. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +1 -1
  45. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +2 -3
  46. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +1 -1
  47. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +2 -3
  48. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +1 -1
  49. package/__cjs/config/jest/areServerErrorsEqual.cjs +21 -0
  50. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +1 -0
  51. package/__cjs/config/jest/areServerErrorsEqual.d.cts +3 -0
  52. package/__cjs/config/jest/resolver.cjs +11 -0
  53. package/__cjs/config/jest/resolver.cjs.map +1 -1
  54. package/__cjs/config/jest/setup.cjs +12 -1
  55. package/__cjs/config/jest/setup.cjs.map +1 -1
  56. package/__cjs/core/ApolloClient.cjs +7 -9
  57. package/__cjs/core/ApolloClient.cjs.map +1 -1
  58. package/__cjs/core/ApolloClient.d.cts +0 -2
  59. package/__cjs/core/LocalState.cjs +2 -2
  60. package/__cjs/core/ObservableQuery.cjs +105 -38
  61. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  62. package/__cjs/core/ObservableQuery.d.cts +18 -1
  63. package/__cjs/core/QueryInfo.cjs +4 -78
  64. package/__cjs/core/QueryInfo.cjs.map +1 -1
  65. package/__cjs/core/QueryInfo.d.cts +0 -10
  66. package/__cjs/core/QueryManager.cjs +34 -53
  67. package/__cjs/core/QueryManager.cjs.map +1 -1
  68. package/__cjs/core/QueryManager.d.cts +3 -3
  69. package/__cjs/core/index.cjs +41 -21
  70. package/__cjs/core/index.cjs.map +1 -1
  71. package/__cjs/core/index.d.cts +13 -11
  72. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  73. package/__cjs/errors/CombinedGraphQLErrors.d.cts +1 -1
  74. package/__cjs/errors/index.cjs +21 -2
  75. package/__cjs/errors/index.cjs.map +1 -1
  76. package/__cjs/errors/index.d.cts +2 -0
  77. package/__cjs/invariantErrorCodes.cjs +95 -119
  78. package/__cjs/link/batch/index.cjs +4 -2
  79. package/__cjs/link/batch/index.cjs.map +1 -1
  80. package/__cjs/link/batch/index.d.cts +2 -1
  81. package/__cjs/link/batch-http/index.cjs +3 -2
  82. package/__cjs/link/batch-http/index.cjs.map +1 -1
  83. package/__cjs/link/batch-http/index.d.cts +1 -1
  84. package/__cjs/link/context/index.cjs.map +1 -1
  85. package/__cjs/link/context/index.d.cts +1 -1
  86. package/__cjs/link/core/ApolloLink.cjs +2 -20
  87. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  88. package/__cjs/link/core/ApolloLink.d.cts +1 -3
  89. package/__cjs/link/core/index.cjs.map +1 -1
  90. package/__cjs/link/core/index.d.cts +1 -1
  91. package/__cjs/link/core/types.d.cts +1 -1
  92. package/__cjs/link/error/index.cjs +13 -28
  93. package/__cjs/link/error/index.cjs.map +1 -1
  94. package/__cjs/link/error/index.d.cts +4 -15
  95. package/__cjs/link/http/checkFetcher.cjs +1 -1
  96. package/__cjs/link/http/createHttpLink.cjs +1 -1
  97. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  98. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  99. package/__cjs/link/persisted-queries/index.cjs +2 -2
  100. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  101. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  102. package/__cjs/link/retry/index.cjs +3 -2
  103. package/__cjs/link/retry/index.cjs.map +1 -1
  104. package/__cjs/link/retry/index.d.cts +1 -1
  105. package/__cjs/link/utils/validateOperation.cjs +1 -1
  106. package/__cjs/masking/maskDefinition.cjs +2 -2
  107. package/__cjs/masking/maskFragment.cjs +2 -2
  108. package/__cjs/masking/maskFragment.cjs.map +1 -1
  109. package/__cjs/masking/maskFragment.d.cts +1 -1
  110. package/__cjs/masking/maskOperation.cjs +1 -1
  111. package/__cjs/masking/maskOperation.cjs.map +1 -1
  112. package/__cjs/masking/maskOperation.d.cts +1 -1
  113. package/__cjs/masking/utils.cjs +1 -1
  114. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  115. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -1
  116. package/__cjs/react/context/ApolloConsumer.d.cts +7 -4
  117. package/__cjs/react/context/ApolloContext.cjs +1 -1
  118. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  119. package/__cjs/react/context/ApolloContext.d.cts +1 -1
  120. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  121. package/__cjs/react/context/ApolloProvider.cjs.map +1 -1
  122. package/__cjs/react/context/ApolloProvider.d.cts +7 -5
  123. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  124. package/__cjs/react/hooks/internal/wrapHook.d.cts +3 -3
  125. package/__cjs/react/hooks/useApolloClient.cjs +3 -3
  126. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  127. package/__cjs/react/hooks/useApolloClient.d.cts +1 -1
  128. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  129. package/__cjs/react/hooks/useBackgroundQuery.d.cts +2 -2
  130. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  131. package/__cjs/react/hooks/useFragment.d.cts +1 -1
  132. package/__cjs/react/hooks/useLazyQuery.cjs +4 -4
  133. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  134. package/__cjs/react/hooks/useLazyQuery.d.cts +2 -2
  135. package/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
  136. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  137. package/__cjs/react/hooks/useLoadableQuery.d.cts +2 -2
  138. package/__cjs/react/hooks/useMutation.cjs +0 -2
  139. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  140. package/__cjs/react/hooks/useMutation.d.cts +1 -2
  141. package/__cjs/react/hooks/useQuery.cjs +4 -6
  142. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  143. package/__cjs/react/hooks/useQuery.d.cts +2 -3
  144. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  145. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
  146. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  147. package/__cjs/react/hooks/useReactiveVar.d.cts +1 -1
  148. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  149. package/__cjs/react/hooks/useReadQuery.d.cts +1 -1
  150. package/__cjs/react/hooks/useSubscription.cjs +1 -3
  151. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  152. package/__cjs/react/hooks/useSubscription.d.cts +1 -1
  153. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  154. package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -1
  155. package/__cjs/react/hooks/useSuspenseQuery.cjs +5 -7
  156. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  157. package/__cjs/react/hooks/useSuspenseQuery.d.cts +3 -3
  158. package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
  159. package/__cjs/react/index.cjs +35 -11
  160. package/__cjs/react/index.cjs.map +1 -1
  161. package/__cjs/react/index.d.cts +21 -7
  162. package/__cjs/react/index.react-server.cjs +1 -5
  163. package/__cjs/react/index.react-server.cjs.map +1 -1
  164. package/__cjs/react/index.react-server.d.cts +0 -1
  165. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  166. package/__cjs/react/internal/cache/FragmentReference.d.cts +1 -1
  167. package/__cjs/react/internal/cache/QueryReference.cjs +1 -1
  168. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  169. package/__cjs/react/internal/cache/QueryReference.d.cts +1 -1
  170. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  171. package/__cjs/react/internal/cache/SuspenseCache.d.cts +1 -1
  172. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  173. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +2 -2
  174. package/__cjs/react/internal/types.d.cts +1 -1
  175. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  176. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +1 -1
  177. package/__cjs/react/ssr/prerenderStatic.cjs +4 -4
  178. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  179. package/__cjs/react/ssr/prerenderStatic.d.cts +1 -1
  180. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  181. package/__cjs/react/types/deprecated.d.cts +12 -2
  182. package/__cjs/testing/core/index.cjs +6 -3
  183. package/__cjs/testing/core/index.cjs.map +1 -1
  184. package/__cjs/testing/core/index.d.cts +3 -3
  185. package/__cjs/testing/core/mocking/mockClient.cjs +3 -4
  186. package/__cjs/testing/core/mocking/mockClient.cjs.map +1 -1
  187. package/__cjs/testing/core/mocking/mockClient.d.cts +1 -1
  188. package/__cjs/testing/core/mocking/mockLink.cjs +118 -112
  189. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  190. package/__cjs/testing/core/mocking/mockLink.d.cts +26 -7
  191. package/__cjs/testing/experimental/createSchemaFetch.cjs +4 -4
  192. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +1 -1
  193. package/__cjs/testing/experimental/createTestSchema.cjs.map +1 -1
  194. package/__cjs/testing/experimental/createTestSchema.d.cts +1 -1
  195. package/__cjs/testing/index.cjs +13 -2
  196. package/__cjs/testing/index.cjs.map +1 -1
  197. package/__cjs/testing/index.d.cts +2 -1
  198. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -1
  199. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +1 -1
  200. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -1
  201. package/__cjs/testing/internal/incremental.cjs.map +1 -1
  202. package/__cjs/testing/internal/incremental.d.cts +1 -1
  203. package/__cjs/testing/internal/index.cjs +12 -8
  204. package/__cjs/testing/internal/index.cjs.map +1 -1
  205. package/__cjs/testing/internal/index.d.cts +3 -3
  206. package/__cjs/testing/internal/renderHelpers.cjs.map +1 -1
  207. package/__cjs/testing/internal/renderHelpers.d.cts +1 -1
  208. package/__cjs/testing/internal/scenarios/index.cjs +9 -7
  209. package/__cjs/testing/internal/scenarios/index.cjs.map +1 -1
  210. package/__cjs/testing/internal/scenarios/index.d.cts +6 -8
  211. package/__cjs/testing/matchers/index.cjs +4 -22
  212. package/__cjs/testing/matchers/index.cjs.map +1 -1
  213. package/__cjs/testing/matchers/toComplete.cjs.map +1 -1
  214. package/__cjs/testing/matchers/toEmitAnything.cjs.map +1 -1
  215. package/__cjs/testing/matchers/toEmitError.cjs.map +1 -1
  216. package/__cjs/testing/matchers/toEmitNext.cjs.map +1 -1
  217. package/__cjs/testing/matchers/{toEmitStrictTyped.cjs → toEmitTypedValue.cjs} +5 -5
  218. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +1 -0
  219. package/__cjs/testing/matchers/{toEmitValueStrict.d.cts → toEmitTypedValue.d.cts} +2 -2
  220. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +2 -2
  221. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +1 -1
  222. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +1 -1
  223. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  224. package/__cjs/testing/matchers/toMatchDocument.d.cts +1 -1
  225. package/__cjs/testing/matchers/{toEqualStrictTyped.cjs → toStrictEqualTyped.cjs} +5 -5
  226. package/__cjs/testing/matchers/{toEqualStrictTyped.cjs.map → toStrictEqualTyped.cjs.map} +1 -1
  227. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +3 -0
  228. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +2 -2
  229. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -1
  230. package/__cjs/testing/react/MockedProvider.cjs +11 -7
  231. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  232. package/__cjs/testing/react/MockedProvider.d.cts +5 -3
  233. package/__cjs/utilities/caching/sizes.cjs +2 -2
  234. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  235. package/__cjs/utilities/caching/sizes.d.cts +2 -20
  236. package/__cjs/utilities/common/mergeOptions.cjs.map +1 -1
  237. package/__cjs/utilities/common/mergeOptions.d.cts +1 -1
  238. package/__cjs/utilities/graphql/getFromAST.cjs +15 -6
  239. package/__cjs/utilities/graphql/getFromAST.cjs.map +1 -1
  240. package/__cjs/utilities/graphql/getFromAST.d.cts +2 -2
  241. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  242. package/__cjs/utilities/graphql/operations.d.cts +1 -1
  243. package/__cjs/utilities/graphql/storeUtils.cjs +1 -1
  244. package/__cjs/utilities/graphql/transform.cjs +2 -2
  245. package/__cjs/utilities/index.cjs +39 -19
  246. package/__cjs/utilities/index.cjs.map +1 -1
  247. package/__cjs/utilities/index.d.cts +15 -14
  248. package/__cjs/utilities/internal/getMemoryInternals.cjs +0 -2
  249. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  250. package/__cjs/utilities/internal/getMemoryInternals.d.cts +0 -1
  251. package/__cjs/utilities/internal/index.production.cjs +1 -0
  252. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  253. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  254. package/__cjs/utilities/internal/toQueryResult.d.cts +1 -1
  255. package/__cjs/utilities/invariant/index.development.cjs +1 -0
  256. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  257. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -2
  258. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  259. package/__cjs/utilities/subscriptions/relay/index.d.cts +1 -1
  260. package/__cjs/version.cjs +1 -1
  261. package/__cjs/version.cjs.map +1 -1
  262. package/__cjs/version.d.cts +1 -1
  263. package/cache/core/cache.d.ts +1 -1
  264. package/cache/core/cache.js +1 -1
  265. package/cache/core/cache.js.map +1 -1
  266. package/cache/core/types/Cache.d.ts +1 -1
  267. package/cache/core/types/Cache.js.map +1 -1
  268. package/cache/core/types/DataProxy.d.ts +1 -1
  269. package/cache/core/types/common.js +1 -0
  270. package/cache/core/types/common.js.map +1 -1
  271. package/cache/index.d.ts +3 -3
  272. package/cache/index.js +1 -1
  273. package/cache/index.js.map +1 -1
  274. package/cache/inmemory/entityStore.d.ts +1 -0
  275. package/cache/inmemory/entityStore.js +7 -4
  276. package/cache/inmemory/entityStore.js.map +1 -1
  277. package/cache/inmemory/fragmentRegistry.js +1 -1
  278. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  279. package/cache/inmemory/inMemoryCache.d.ts +1 -1
  280. package/cache/inmemory/inMemoryCache.js.map +1 -1
  281. package/cache/inmemory/key-extractor.js +1 -1
  282. package/cache/inmemory/policies.js +4 -4
  283. package/cache/inmemory/reactiveVars.d.ts +1 -1
  284. package/cache/inmemory/reactiveVars.js.map +1 -1
  285. package/cache/inmemory/readFromStore.js +2 -2
  286. package/cache/inmemory/readFromStore.js.map +1 -1
  287. package/cache/inmemory/types.d.ts +1 -1
  288. package/cache/inmemory/writeToStore.d.ts +1 -1
  289. package/cache/inmemory/writeToStore.js +4 -4
  290. package/cache/inmemory/writeToStore.js.map +1 -1
  291. package/config/jest/areCombinedGraphQLErrorsEqual.js +2 -3
  292. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +1 -1
  293. package/config/jest/areCombinedProtocolErrorsEqual.js +2 -3
  294. package/config/jest/areCombinedProtocolErrorsEqual.js.map +1 -1
  295. package/config/jest/areMissingFieldErrorsEqual.js +2 -3
  296. package/config/jest/areMissingFieldErrorsEqual.js.map +1 -1
  297. package/config/jest/areServerErrorsEqual.d.ts +3 -0
  298. package/config/jest/areServerErrorsEqual.js +17 -0
  299. package/config/jest/areServerErrorsEqual.js.map +1 -0
  300. package/config/jest/resolver.js +12 -1
  301. package/config/jest/resolver.js.map +1 -1
  302. package/config/jest/setup.js +13 -2
  303. package/config/jest/setup.js.map +1 -1
  304. package/core/ApolloClient.d.ts +0 -2
  305. package/core/ApolloClient.js +7 -9
  306. package/core/ApolloClient.js.map +1 -1
  307. package/core/LocalState.js +2 -2
  308. package/core/ObservableQuery.d.ts +18 -1
  309. package/core/ObservableQuery.js +104 -36
  310. package/core/ObservableQuery.js.map +1 -1
  311. package/core/QueryInfo.d.ts +0 -10
  312. package/core/QueryInfo.js +4 -78
  313. package/core/QueryInfo.js.map +1 -1
  314. package/core/QueryManager.d.ts +3 -3
  315. package/core/QueryManager.js +36 -55
  316. package/core/QueryManager.js.map +1 -1
  317. package/core/index.d.ts +13 -11
  318. package/core/index.js +9 -6
  319. package/core/index.js.map +1 -1
  320. package/errors/CombinedGraphQLErrors.d.ts +1 -1
  321. package/errors/CombinedGraphQLErrors.js.map +1 -1
  322. package/errors/index.d.ts +2 -0
  323. package/errors/index.js +18 -0
  324. package/errors/index.js.map +1 -1
  325. package/invariantErrorCodes.js +95 -119
  326. package/legacyEntryPoints/testing/internal/index.d.ts +1 -0
  327. package/legacyEntryPoints/testing/internal/index.js +1 -0
  328. package/legacyEntryPoints/testing/internal/internal.cjs +1 -0
  329. package/legacyEntryPoints/testing/internal/internal.d.cts +1 -0
  330. package/link/batch/index.d.ts +2 -1
  331. package/link/batch/index.js +1 -1
  332. package/link/batch/index.js.map +1 -1
  333. package/link/batch-http/index.d.ts +1 -1
  334. package/link/batch-http/index.js +1 -1
  335. package/link/batch-http/index.js.map +1 -1
  336. package/link/context/index.d.ts +1 -1
  337. package/link/context/index.js.map +1 -1
  338. package/link/core/ApolloLink.d.ts +1 -3
  339. package/link/core/ApolloLink.js +2 -20
  340. package/link/core/ApolloLink.js.map +1 -1
  341. package/link/core/index.d.ts +1 -1
  342. package/link/core/index.js.map +1 -1
  343. package/link/core/types.d.ts +1 -1
  344. package/link/error/index.d.ts +4 -15
  345. package/link/error/index.js +14 -29
  346. package/link/error/index.js.map +1 -1
  347. package/link/http/checkFetcher.js +1 -1
  348. package/link/http/createHttpLink.js +1 -1
  349. package/link/http/parseAndCheckHttpResponse.js +1 -1
  350. package/link/http/serializeFetchParameter.js +1 -1
  351. package/link/persisted-queries/index.js +3 -3
  352. package/link/persisted-queries/index.js.map +1 -1
  353. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  354. package/link/retry/index.d.ts +1 -1
  355. package/link/retry/index.js +1 -1
  356. package/link/retry/index.js.map +1 -1
  357. package/link/utils/validateOperation.js +1 -1
  358. package/masking/maskDefinition.js +2 -2
  359. package/masking/maskFragment.d.ts +1 -1
  360. package/masking/maskFragment.js +2 -2
  361. package/masking/maskFragment.js.map +1 -1
  362. package/masking/maskOperation.d.ts +1 -1
  363. package/masking/maskOperation.js +1 -1
  364. package/masking/maskOperation.js.map +1 -1
  365. package/masking/utils.js +1 -1
  366. package/package.json +20 -40
  367. package/react/context/ApolloConsumer.d.ts +7 -4
  368. package/react/context/ApolloConsumer.js +1 -1
  369. package/react/context/ApolloConsumer.js.map +1 -1
  370. package/react/context/ApolloContext.d.ts +1 -1
  371. package/react/context/ApolloContext.js +1 -1
  372. package/react/context/ApolloContext.js.map +1 -1
  373. package/react/context/ApolloProvider.d.ts +7 -5
  374. package/react/context/ApolloProvider.js +1 -1
  375. package/react/context/ApolloProvider.js.map +1 -1
  376. package/react/hooks/internal/wrapHook.d.ts +3 -3
  377. package/react/hooks/internal/wrapHook.js.map +1 -1
  378. package/react/hooks/useApolloClient.d.ts +1 -1
  379. package/react/hooks/useApolloClient.js +2 -2
  380. package/react/hooks/useApolloClient.js.map +1 -1
  381. package/react/hooks/useBackgroundQuery.d.ts +2 -2
  382. package/react/hooks/useBackgroundQuery.js.map +1 -1
  383. package/react/hooks/useFragment.d.ts +1 -1
  384. package/react/hooks/useFragment.js.map +1 -1
  385. package/react/hooks/useLazyQuery.d.ts +2 -2
  386. package/react/hooks/useLazyQuery.js +3 -3
  387. package/react/hooks/useLazyQuery.js.map +1 -1
  388. package/react/hooks/useLoadableQuery.d.ts +2 -2
  389. package/react/hooks/useLoadableQuery.js +2 -2
  390. package/react/hooks/useLoadableQuery.js.map +1 -1
  391. package/react/hooks/useMutation.d.ts +1 -2
  392. package/react/hooks/useMutation.js +0 -2
  393. package/react/hooks/useMutation.js.map +1 -1
  394. package/react/hooks/useQuery.d.ts +2 -3
  395. package/react/hooks/useQuery.js +2 -4
  396. package/react/hooks/useQuery.js.map +1 -1
  397. package/react/hooks/useQueryRefHandlers.d.ts +2 -2
  398. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  399. package/react/hooks/useReactiveVar.d.ts +1 -1
  400. package/react/hooks/useReactiveVar.js.map +1 -1
  401. package/react/hooks/useReadQuery.d.ts +1 -1
  402. package/react/hooks/useReadQuery.js.map +1 -1
  403. package/react/hooks/useSubscription.d.ts +1 -1
  404. package/react/hooks/useSubscription.js +1 -3
  405. package/react/hooks/useSubscription.js.map +1 -1
  406. package/react/hooks/useSuspenseFragment.d.ts +1 -1
  407. package/react/hooks/useSuspenseFragment.js.map +1 -1
  408. package/react/hooks/useSuspenseQuery.d.ts +3 -3
  409. package/react/hooks/useSuspenseQuery.js +4 -6
  410. package/react/hooks/useSuspenseQuery.js.map +1 -1
  411. package/react/hooks/useSyncExternalStore.js +1 -1
  412. package/react/index.d.ts +21 -7
  413. package/react/index.js +17 -3
  414. package/react/index.js.map +1 -1
  415. package/react/index.react-server.d.ts +0 -1
  416. package/react/index.react-server.js +0 -1
  417. package/react/index.react-server.js.map +1 -1
  418. package/react/internal/cache/FragmentReference.d.ts +1 -1
  419. package/react/internal/cache/FragmentReference.js.map +1 -1
  420. package/react/internal/cache/QueryReference.d.ts +1 -1
  421. package/react/internal/cache/QueryReference.js +1 -1
  422. package/react/internal/cache/QueryReference.js.map +1 -1
  423. package/react/internal/cache/SuspenseCache.d.ts +1 -1
  424. package/react/internal/cache/SuspenseCache.js.map +1 -1
  425. package/react/internal/cache/getSuspenseCache.d.ts +2 -2
  426. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  427. package/react/internal/types.d.ts +1 -1
  428. package/react/query-preloader/createQueryPreloader.d.ts +1 -1
  429. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  430. package/react/ssr/prerenderStatic.d.ts +1 -1
  431. package/react/ssr/prerenderStatic.js +3 -3
  432. package/react/ssr/prerenderStatic.js.map +1 -1
  433. package/react/ssr/useSSRQuery.js.map +1 -1
  434. package/react/types/deprecated.d.ts +12 -2
  435. package/testing/core/index.d.ts +3 -3
  436. package/testing/core/index.js +2 -2
  437. package/testing/core/index.js.map +1 -1
  438. package/testing/core/mocking/mockClient.d.ts +1 -1
  439. package/testing/core/mocking/mockClient.js +2 -3
  440. package/testing/core/mocking/mockClient.js.map +1 -1
  441. package/testing/core/mocking/mockLink.d.ts +26 -7
  442. package/testing/core/mocking/mockLink.js +117 -113
  443. package/testing/core/mocking/mockLink.js.map +1 -1
  444. package/testing/experimental/createSchemaFetch.js +2 -2
  445. package/testing/experimental/createSchemaFetch.js.map +1 -1
  446. package/testing/experimental/createTestSchema.d.ts +1 -1
  447. package/testing/experimental/createTestSchema.js.map +1 -1
  448. package/testing/index.d.ts +2 -1
  449. package/testing/index.js +1 -1
  450. package/testing/index.js.map +1 -1
  451. package/testing/internal/disposables/spyOnConsole.d.ts +0 -1
  452. package/testing/internal/disposables/spyOnConsole.js +0 -1
  453. package/testing/internal/disposables/spyOnConsole.js.map +1 -1
  454. package/testing/internal/incremental.d.ts +1 -1
  455. package/testing/internal/incremental.js.map +1 -1
  456. package/testing/internal/index.d.ts +3 -3
  457. package/testing/internal/index.js +2 -2
  458. package/testing/internal/index.js.map +1 -1
  459. package/testing/internal/renderHelpers.d.ts +1 -1
  460. package/testing/internal/renderHelpers.js.map +1 -1
  461. package/testing/internal/scenarios/index.d.ts +6 -8
  462. package/testing/internal/scenarios/index.js +4 -2
  463. package/testing/internal/scenarios/index.js.map +1 -1
  464. package/testing/matchers/index.js +4 -22
  465. package/testing/matchers/index.js.map +1 -1
  466. package/testing/matchers/toComplete.js.map +1 -1
  467. package/testing/matchers/toEmitAnything.js.map +1 -1
  468. package/testing/matchers/toEmitError.js.map +1 -1
  469. package/testing/matchers/toEmitNext.js.map +1 -1
  470. package/testing/matchers/{toEmitValueStrict.d.ts → toEmitTypedValue.d.ts} +2 -2
  471. package/testing/matchers/{toEmitStrictTyped.js → toEmitTypedValue.js} +3 -3
  472. package/testing/matchers/toEmitTypedValue.js.map +1 -0
  473. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +1 -1
  474. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
  475. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  476. package/testing/matchers/toMatchDocument.d.ts +1 -1
  477. package/testing/matchers/toMatchDocument.js.map +1 -1
  478. package/testing/matchers/toStrictEqualTyped.d.ts +3 -0
  479. package/testing/matchers/{toEqualStrictTyped.js → toStrictEqualTyped.js} +3 -3
  480. package/testing/matchers/{toEqualStrictTyped.js.map → toStrictEqualTyped.js.map} +1 -1
  481. package/testing/matchers/utils/getSerializableProperties.js +1 -1
  482. package/testing/matchers/utils/getSerializableProperties.js.map +1 -1
  483. package/testing/react/MockedProvider.d.ts +5 -3
  484. package/testing/react/MockedProvider.js +8 -4
  485. package/testing/react/MockedProvider.js.map +1 -1
  486. package/utilities/caching/sizes.d.ts +2 -20
  487. package/utilities/caching/sizes.js +2 -2
  488. package/utilities/caching/sizes.js.map +1 -1
  489. package/utilities/common/mergeOptions.d.ts +1 -1
  490. package/utilities/common/mergeOptions.js.map +1 -1
  491. package/utilities/graphql/getFromAST.d.ts +2 -2
  492. package/utilities/graphql/getFromAST.js +15 -6
  493. package/utilities/graphql/getFromAST.js.map +1 -1
  494. package/utilities/graphql/operations.d.ts +1 -1
  495. package/utilities/graphql/operations.js.map +1 -1
  496. package/utilities/graphql/storeUtils.js +1 -1
  497. package/utilities/graphql/transform.js +2 -2
  498. package/utilities/index.d.ts +15 -14
  499. package/utilities/index.js +12 -12
  500. package/utilities/index.js.map +1 -1
  501. package/utilities/internal/getMemoryInternals.d.ts +0 -1
  502. package/utilities/internal/getMemoryInternals.js +0 -2
  503. package/utilities/internal/getMemoryInternals.js.map +1 -1
  504. package/utilities/internal/index.production.js +1 -0
  505. package/utilities/internal/index.production.js.map +1 -1
  506. package/utilities/internal/toQueryResult.d.ts +1 -1
  507. package/utilities/internal/toQueryResult.js.map +1 -1
  508. package/utilities/invariant/index.development.js +1 -0
  509. package/utilities/invariant/index.development.js.map +1 -1
  510. package/utilities/subscriptions/relay/index.d.ts +1 -1
  511. package/utilities/subscriptions/relay/index.js +1 -1
  512. package/utilities/subscriptions/relay/index.js.map +1 -1
  513. package/version.d.ts +1 -1
  514. package/version.js +1 -1
  515. package/version.js.map +1 -1
  516. package/__cjs/index.cjs +0 -8
  517. package/__cjs/index.cjs.map +0 -1
  518. package/__cjs/index.d.cts +0 -3
  519. package/__cjs/react/context/index.cjs +0 -10
  520. package/__cjs/react/context/index.cjs.map +0 -1
  521. package/__cjs/react/context/index.d.cts +0 -7
  522. package/__cjs/react/hooks/index.cjs +0 -32
  523. package/__cjs/react/hooks/index.cjs.map +0 -1
  524. package/__cjs/react/hooks/index.d.cts +0 -16
  525. package/__cjs/react/parser/index.cjs +0 -115
  526. package/__cjs/react/parser/index.cjs.map +0 -1
  527. package/__cjs/react/parser/index.d.cts +0 -18
  528. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs +0 -40
  529. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs.map +0 -1
  530. package/__cjs/testing/matchers/toEmitApolloQueryResult.d.cts +0 -8
  531. package/__cjs/testing/matchers/toEmitFetchResult.cjs +0 -40
  532. package/__cjs/testing/matchers/toEmitFetchResult.cjs.map +0 -1
  533. package/__cjs/testing/matchers/toEmitFetchResult.d.cts +0 -8
  534. package/__cjs/testing/matchers/toEmitMatchedValue.cjs +0 -40
  535. package/__cjs/testing/matchers/toEmitMatchedValue.cjs.map +0 -1
  536. package/__cjs/testing/matchers/toEmitMatchedValue.d.cts +0 -7
  537. package/__cjs/testing/matchers/toEmitStrictTyped.cjs.map +0 -1
  538. package/__cjs/testing/matchers/toEmitStrictTyped.d.cts +0 -7
  539. package/__cjs/testing/matchers/toEmitValue.cjs +0 -41
  540. package/__cjs/testing/matchers/toEmitValue.cjs.map +0 -1
  541. package/__cjs/testing/matchers/toEmitValue.d.cts +0 -4
  542. package/__cjs/testing/matchers/toEmitValueStrict.cjs +0 -46
  543. package/__cjs/testing/matchers/toEmitValueStrict.cjs.map +0 -1
  544. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs +0 -24
  545. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs.map +0 -1
  546. package/__cjs/testing/matchers/toEqualApolloQueryResult.d.cts +0 -6
  547. package/__cjs/testing/matchers/toEqualFetchResult.cjs +0 -24
  548. package/__cjs/testing/matchers/toEqualFetchResult.cjs.map +0 -1
  549. package/__cjs/testing/matchers/toEqualFetchResult.d.cts +0 -4
  550. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs +0 -40
  551. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs.map +0 -1
  552. package/__cjs/testing/matchers/toEqualLazyQueryResult.d.cts +0 -10
  553. package/__cjs/testing/matchers/toEqualQueryResult.cjs +0 -39
  554. package/__cjs/testing/matchers/toEqualQueryResult.cjs.map +0 -1
  555. package/__cjs/testing/matchers/toEqualQueryResult.d.cts +0 -9
  556. package/__cjs/testing/matchers/toEqualStrictTyped.d.cts +0 -3
  557. package/index.d.ts +0 -3
  558. package/index.js +0 -3
  559. package/index.js.map +0 -1
  560. package/legacyEntryPoints/react/context/context.cjs +0 -1
  561. package/legacyEntryPoints/react/context/context.d.cts +0 -1
  562. package/legacyEntryPoints/react/context/index.d.ts +0 -1
  563. package/legacyEntryPoints/react/context/index.js +0 -1
  564. package/legacyEntryPoints/react/hooks/hooks.cjs +0 -1
  565. package/legacyEntryPoints/react/hooks/hooks.d.cts +0 -1
  566. package/legacyEntryPoints/react/hooks/index.d.ts +0 -1
  567. package/legacyEntryPoints/react/hooks/index.js +0 -1
  568. package/legacyEntryPoints/react/parser/index.d.ts +0 -1
  569. package/legacyEntryPoints/react/parser/index.js +0 -1
  570. package/legacyEntryPoints/react/parser/parser.cjs +0 -1
  571. package/legacyEntryPoints/react/parser/parser.d.cts +0 -1
  572. package/react/context/index.d.ts +0 -7
  573. package/react/context/index.js +0 -4
  574. package/react/context/index.js.map +0 -1
  575. package/react/hooks/index.d.ts +0 -16
  576. package/react/hooks/index.js +0 -15
  577. package/react/hooks/index.js.map +0 -1
  578. package/react/parser/index.d.ts +0 -18
  579. package/react/parser/index.js +0 -109
  580. package/react/parser/index.js.map +0 -1
  581. package/testing/matchers/toEmitApolloQueryResult.d.ts +0 -8
  582. package/testing/matchers/toEmitApolloQueryResult.js +0 -36
  583. package/testing/matchers/toEmitApolloQueryResult.js.map +0 -1
  584. package/testing/matchers/toEmitFetchResult.d.ts +0 -8
  585. package/testing/matchers/toEmitFetchResult.js +0 -36
  586. package/testing/matchers/toEmitFetchResult.js.map +0 -1
  587. package/testing/matchers/toEmitMatchedValue.d.ts +0 -7
  588. package/testing/matchers/toEmitMatchedValue.js +0 -36
  589. package/testing/matchers/toEmitMatchedValue.js.map +0 -1
  590. package/testing/matchers/toEmitStrictTyped.d.ts +0 -7
  591. package/testing/matchers/toEmitStrictTyped.js.map +0 -1
  592. package/testing/matchers/toEmitValue.d.ts +0 -4
  593. package/testing/matchers/toEmitValue.js +0 -37
  594. package/testing/matchers/toEmitValue.js.map +0 -1
  595. package/testing/matchers/toEmitValueStrict.js +0 -42
  596. package/testing/matchers/toEmitValueStrict.js.map +0 -1
  597. package/testing/matchers/toEqualApolloQueryResult.d.ts +0 -6
  598. package/testing/matchers/toEqualApolloQueryResult.js +0 -20
  599. package/testing/matchers/toEqualApolloQueryResult.js.map +0 -1
  600. package/testing/matchers/toEqualFetchResult.d.ts +0 -4
  601. package/testing/matchers/toEqualFetchResult.js +0 -20
  602. package/testing/matchers/toEqualFetchResult.js.map +0 -1
  603. package/testing/matchers/toEqualLazyQueryResult.d.ts +0 -10
  604. package/testing/matchers/toEqualLazyQueryResult.js +0 -36
  605. package/testing/matchers/toEqualLazyQueryResult.js.map +0 -1
  606. package/testing/matchers/toEqualQueryResult.d.ts +0 -9
  607. package/testing/matchers/toEqualQueryResult.js +0 -35
  608. package/testing/matchers/toEqualQueryResult.js.map +0 -1
  609. package/testing/matchers/toEqualStrictTyped.d.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"createQueryPreloader.js","sources":["../../../src/react/query-preloader/createQueryPreloader.ts"],"sourcesContent":["import type {\n ApolloClient,\n DefaultContext,\n DocumentNode,\n ErrorPolicy,\n OperationVariables,\n RefetchWritePolicy,\n TypedDocumentNode,\n WatchQueryFetchPolicy,\n WatchQueryOptions,\n} from \"@apollo/client/core\";\nimport type {\n PreloadedQueryRef,\n VariablesOption,\n} from \"@apollo/client/react/internal\";\nimport {\n InternalQueryReference,\n wrapQueryRef,\n} from \"@apollo/client/react/internal\";\nimport type {\n DeepPartial,\n NoInfer,\n OnlyRequiredProperties,\n} from \"@apollo/client/utilities\";\n\nimport { wrapHook } from \"../hooks/internal/index.js\";\n\nexport type PreloadQueryFetchPolicy = Extract<\n WatchQueryFetchPolicy,\n \"cache-first\" | \"network-only\" | \"no-cache\" | \"cache-and-network\"\n>;\n\nexport type PreloadQueryOptions<\n TVariables extends OperationVariables = OperationVariables,\n> = {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#context:member} */\n context?: DefaultContext;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: PreloadQueryFetchPolicy;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#returnPartialData:member} */\n returnPartialData?: boolean;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#refetchWritePolicy:member} */\n refetchWritePolicy?: RefetchWritePolicy;\n} & VariablesOption<TVariables>;\n\ntype PreloadQueryOptionsArg<\n TVariables extends OperationVariables,\n TOptions = unknown,\n> = [TVariables] extends [never] ?\n [options?: PreloadQueryOptions<never> & TOptions]\n: {} extends OnlyRequiredProperties<TVariables> ?\n [\n options?: PreloadQueryOptions<NoInfer<TVariables>> &\n Omit<TOptions, \"variables\">,\n ]\n: [\n options: PreloadQueryOptions<NoInfer<TVariables>> &\n Omit<TOptions, \"variables\">,\n ];\n\n/**\n * A function that will begin loading a query when called. It's result can be\n * read by `useReadQuery` which will suspend until the query is loaded.\n * This is useful when you want to start loading a query as early as possible\n * outside of a React component.\n *\n * @example\n * ```js\n * const preloadQuery = createQueryPreloader(client);\n * const queryRef = preloadQuery(query, { variables, ...otherOptions });\n *\n * function App() {\n * return (\n * <Suspense fallback={<div>Loading</div>}>\n * <MyQuery />\n * </Suspense>\n * );\n * }\n *\n * function MyQuery() {\n * const { data } = useReadQuery(queryRef);\n *\n * // do something with `data`\n * }\n * ```\n */\nexport interface PreloadQueryFunction {\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <\n TData,\n TVariables extends OperationVariables,\n TOptions extends Omit<PreloadQueryOptions, \"variables\">,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: PreloadQueryOptionsArg<NoInfer<TVariables>, TOptions>\n ): PreloadedQueryRef<\n TOptions[\"errorPolicy\"] extends \"ignore\" | \"all\" ?\n TOptions[\"returnPartialData\"] extends true ?\n DeepPartial<TData> | undefined\n : TData | undefined\n : TOptions[\"returnPartialData\"] extends true ? DeepPartial<TData>\n : TData,\n TVariables\n >;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy: \"ignore\" | \"all\";\n }\n ): PreloadedQueryRef<DeepPartial<TData> | undefined, TVariables>;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> & {\n errorPolicy: \"ignore\" | \"all\";\n }\n ): PreloadedQueryRef<TData | undefined, TVariables>;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> & {\n returnPartialData: true;\n }\n ): PreloadedQueryRef<DeepPartial<TData>, TVariables>;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: PreloadQueryOptionsArg<NoInfer<TVariables>>\n ): PreloadedQueryRef<TData, TVariables>;\n}\n\n/**\n * A higher order function that returns a `preloadQuery` function which\n * can be used to begin loading a query with the given `client`. This is useful\n * when you want to start loading a query as early as possible outside of a\n * React component.\n *\n * > Refer to the [Suspense - Initiating queries outside React](https://www.apollographql.com/docs/react/data/suspense#initiating-queries-outside-react) section for a more in-depth overview.\n *\n * @param client - The `ApolloClient` instance that will be used to load queries\n * from the returned `preloadQuery` function.\n * @returns The `preloadQuery` function.\n *\n * @example\n * ```js\n * const preloadQuery = createQueryPreloader(client);\n * ```\n * @since 3.9.0\n */\nexport function createQueryPreloader(\n client: ApolloClient\n): PreloadQueryFunction {\n return wrapHook(\n \"createQueryPreloader\",\n _createQueryPreloader,\n client\n )(client);\n}\n\nconst _createQueryPreloader: typeof createQueryPreloader = (client) => {\n return function preloadQuery<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> &\n VariablesOption<TVariables> = {} as any\n ): PreloadedQueryRef<TData, TVariables> {\n const queryRef = new InternalQueryReference(\n client.watchQuery({\n ...options,\n query,\n } as WatchQueryOptions<any, any>),\n {\n autoDisposeTimeoutMs:\n client.defaultOptions.react?.suspense?.autoDisposeTimeoutMs,\n }\n );\n\n return wrapQueryRef(queryRef) as PreloadedQueryRef<TData, TVariables>;\n };\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createQueryPreloader.js","sources":["../../../src/react/query-preloader/createQueryPreloader.ts"],"sourcesContent":["import type {\n ApolloClient,\n DefaultContext,\n DocumentNode,\n ErrorPolicy,\n OperationVariables,\n RefetchWritePolicy,\n TypedDocumentNode,\n WatchQueryFetchPolicy,\n WatchQueryOptions,\n} from \"@apollo/client\";\nimport type {\n PreloadedQueryRef,\n VariablesOption,\n} from \"@apollo/client/react/internal\";\nimport {\n InternalQueryReference,\n wrapQueryRef,\n} from \"@apollo/client/react/internal\";\nimport type {\n DeepPartial,\n NoInfer,\n OnlyRequiredProperties,\n} from \"@apollo/client/utilities\";\n\nimport { wrapHook } from \"../hooks/internal/index.js\";\n\nexport type PreloadQueryFetchPolicy = Extract<\n WatchQueryFetchPolicy,\n \"cache-first\" | \"network-only\" | \"no-cache\" | \"cache-and-network\"\n>;\n\nexport type PreloadQueryOptions<\n TVariables extends OperationVariables = OperationVariables,\n> = {\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#context:member} */\n context?: DefaultContext;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: PreloadQueryFetchPolicy;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#returnPartialData:member} */\n returnPartialData?: boolean;\n /** {@inheritDoc @apollo/client!QueryOptionsDocumentation#refetchWritePolicy:member} */\n refetchWritePolicy?: RefetchWritePolicy;\n} & VariablesOption<TVariables>;\n\ntype PreloadQueryOptionsArg<\n TVariables extends OperationVariables,\n TOptions = unknown,\n> = [TVariables] extends [never] ?\n [options?: PreloadQueryOptions<never> & TOptions]\n: {} extends OnlyRequiredProperties<TVariables> ?\n [\n options?: PreloadQueryOptions<NoInfer<TVariables>> &\n Omit<TOptions, \"variables\">,\n ]\n: [\n options: PreloadQueryOptions<NoInfer<TVariables>> &\n Omit<TOptions, \"variables\">,\n ];\n\n/**\n * A function that will begin loading a query when called. It's result can be\n * read by `useReadQuery` which will suspend until the query is loaded.\n * This is useful when you want to start loading a query as early as possible\n * outside of a React component.\n *\n * @example\n * ```js\n * const preloadQuery = createQueryPreloader(client);\n * const queryRef = preloadQuery(query, { variables, ...otherOptions });\n *\n * function App() {\n * return (\n * <Suspense fallback={<div>Loading</div>}>\n * <MyQuery />\n * </Suspense>\n * );\n * }\n *\n * function MyQuery() {\n * const { data } = useReadQuery(queryRef);\n *\n * // do something with `data`\n * }\n * ```\n */\nexport interface PreloadQueryFunction {\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <\n TData,\n TVariables extends OperationVariables,\n TOptions extends Omit<PreloadQueryOptions, \"variables\">,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: PreloadQueryOptionsArg<NoInfer<TVariables>, TOptions>\n ): PreloadedQueryRef<\n TOptions[\"errorPolicy\"] extends \"ignore\" | \"all\" ?\n TOptions[\"returnPartialData\"] extends true ?\n DeepPartial<TData> | undefined\n : TData | undefined\n : TOptions[\"returnPartialData\"] extends true ? DeepPartial<TData>\n : TData,\n TVariables\n >;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> & {\n returnPartialData: true;\n errorPolicy: \"ignore\" | \"all\";\n }\n ): PreloadedQueryRef<DeepPartial<TData> | undefined, TVariables>;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> & {\n errorPolicy: \"ignore\" | \"all\";\n }\n ): PreloadedQueryRef<TData | undefined, TVariables>;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> & {\n returnPartialData: true;\n }\n ): PreloadedQueryRef<DeepPartial<TData>, TVariables>;\n\n /** {@inheritDoc @apollo/client!PreloadQueryFunction:interface} */\n <TData = unknown, TVariables extends OperationVariables = OperationVariables>(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options]: PreloadQueryOptionsArg<NoInfer<TVariables>>\n ): PreloadedQueryRef<TData, TVariables>;\n}\n\n/**\n * A higher order function that returns a `preloadQuery` function which\n * can be used to begin loading a query with the given `client`. This is useful\n * when you want to start loading a query as early as possible outside of a\n * React component.\n *\n * > Refer to the [Suspense - Initiating queries outside React](https://www.apollographql.com/docs/react/data/suspense#initiating-queries-outside-react) section for a more in-depth overview.\n *\n * @param client - The `ApolloClient` instance that will be used to load queries\n * from the returned `preloadQuery` function.\n * @returns The `preloadQuery` function.\n *\n * @example\n * ```js\n * const preloadQuery = createQueryPreloader(client);\n * ```\n * @since 3.9.0\n */\nexport function createQueryPreloader(\n client: ApolloClient\n): PreloadQueryFunction {\n return wrapHook(\n \"createQueryPreloader\",\n _createQueryPreloader,\n client\n )(client);\n}\n\nconst _createQueryPreloader: typeof createQueryPreloader = (client) => {\n return function preloadQuery<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n >(\n query: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options: PreloadQueryOptions<NoInfer<TVariables>> &\n VariablesOption<TVariables> = {} as any\n ): PreloadedQueryRef<TData, TVariables> {\n const queryRef = new InternalQueryReference(\n client.watchQuery({\n ...options,\n query,\n } as WatchQueryOptions<any, any>),\n {\n autoDisposeTimeoutMs:\n client.defaultOptions.react?.suspense?.autoDisposeTimeoutMs,\n }\n );\n\n return wrapQueryRef(queryRef) as PreloadedQueryRef<TData, TVariables>;\n };\n};\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type * as ReactTypes from "react";
2
- import type { ApolloClient, DocumentNode, ObservableQuery, OperationVariables } from "@apollo/client/core";
2
+ import type { ApolloClient, DocumentNode, ObservableQuery, OperationVariables } from "@apollo/client";
3
3
  export interface PrerenderStaticInternalContext {
4
4
  getObservableQuery(query: DocumentNode, variables?: Record<string, any>): ObservableQuery | undefined;
5
5
  onCreatedObservableQuery: (observable: ObservableQuery, query: DocumentNode, variables: OperationVariables) => void;
@@ -1,7 +1,7 @@
1
1
  import { print } from "graphql";
2
2
  import * as React from "react";
3
3
  import { filter, firstValueFrom } from "rxjs";
4
- import { getApolloContext } from "@apollo/client/react/context";
4
+ import { getApolloContext } from "@apollo/client/react";
5
5
  import { wrapperSymbol } from "@apollo/client/react/internal";
6
6
  import { canonicalStringify } from "@apollo/client/utilities";
7
7
  import { invariant } from "@apollo/client/utilities/invariant";
@@ -48,8 +48,8 @@ export function prerenderStatic(
48
48
  };
49
49
  async function process() {
50
50
  renderCount++;
51
- invariant(renderCount <= maxRerenders, 25, maxRerenders);
52
- invariant(!signal?.aborted, 26);
51
+ invariant(renderCount <= maxRerenders, 28, maxRerenders);
52
+ invariant(!signal?.aborted, 29);
53
53
  // Always re-render from the rootElement, even though it might seem
54
54
  // better to render the children of the component responsible for the
55
55
  // promise, because it is not possible to reconstruct the full context
@@ -1 +1 @@
1
- {"version":3,"file":"prerenderStatic.js","sources":["../../../src/react/ssr/prerenderStatic.tsx"],"sourcesContent":["import { print } from \"graphql\";\nimport type * as ReactTypes from \"react\";\nimport * as React from \"react\";\nimport { filter, firstValueFrom } from \"rxjs\";\n\nimport type {\n ApolloClient,\n DocumentNode,\n ObservableQuery,\n OperationVariables,\n} from \"@apollo/client/core\";\nimport { getApolloContext } from \"@apollo/client/react/context\";\nimport { wrapperSymbol } from \"@apollo/client/react/internal\";\nimport { canonicalStringify } from \"@apollo/client/utilities\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { useSSRQuery } from \"./useSSRQuery.js\";\n\ntype ObservableQueryKey = `${string}|${string}`;\nfunction getObservableQueryKey(\n query: DocumentNode,\n variables: Record<string, any> = {}\n): ObservableQueryKey {\n const queryKey = print(query);\n const variablesKey = canonicalStringify(variables);\n return `${queryKey}|${variablesKey}`;\n}\nexport interface PrerenderStaticInternalContext {\n getObservableQuery(\n query: DocumentNode,\n variables?: Record<string, any>\n ): ObservableQuery | undefined;\n onCreatedObservableQuery: (\n observable: ObservableQuery,\n query: DocumentNode,\n variables: OperationVariables\n ) => void;\n}\n\nexport declare namespace prerenderStatic {\n export interface Options {\n /**\n * The React component tree to prerender\n */\n tree: ReactTypes.ReactNode;\n /**\n * If your app is not wrapped in an `ApolloProvider`, you can pass a `client` instance in here.\n */\n context?: { client?: ApolloClient };\n /**\n * An `AbortSignal` that indicates you want to stop the re-render loop, even if not all data is fetched yet.\n *\n * Note that if you use an api like `prerender` or `prerenderToNodeStream` that supports `AbortSignal` as an option,\n * you will still have to pass that `signal` option to that function by wrapping the `renderFunction`, and if that api\n * throws an exception if the signal is aborted, so will `prerenderStatic`.\n *\n * @example\n * ```ts\n * const result = await prerenderStatic({\n * tree: <App/>,\n * signal,\n * renderFunction: (tree) => prerender(tree, { signal }),\n * })\n * ```\n */\n signal?: AbortSignal;\n /**\n * If this is set, this method will return `\"\"` as the `result` property.\n * Setting this can save CPU time that would otherwise be spent on converting\n * `Uint8Array` or `Buffer` instances to strings for the result.\n */\n ignoreResults?: boolean;\n /**\n * The rendering function to use.\n * These functions are currently supported:\n * * `prerender` from `react-dom/static` (https://react.dev/reference/react-dom/static/prerender)\n * * recommended if you use Deno or a modern edge runtime with Web Streams\n * * `prerenderToNodeStream` from `react-dom/static` (https://react.dev/reference/react-dom/static/prerenderToNodeStream)\n * * recommended if you use Node.js\n * * `renderToString` from `react-dom/server` (https://react.dev/reference/react-dom/server/renderToString)\n * * this API has no suspense support and will not work with hooks like `useSuspenseQuery`\n * * `renderToStaticMarkup` from `react-dom/server` (https://react.dev/reference/react-dom/server/renderToStaticMarkup)\n * * slightly faster than `renderToString`, but the result cannot be hydrated\n * * this API has no suspense support and will not work with hooks like `useSuspenseQuery`\n */\n renderFunction:\n | RenderToString\n | RenderToStringPromise\n | PrerenderToWebStream\n | PrerenderToNodeStream\n | ((\n reactNode: ReactTypes.ReactNode\n ) =>\n | ReturnType<RenderToString>\n | ReturnType<RenderToStringPromise>\n | ReturnType<PrerenderToWebStream>\n | ReturnType<PrerenderToNodeStream>);\n /**\n * If this is set to `true`, the result will contain a `diagnostics` property that can help you e.g. detect `useQuery` waterfalls in your application.\n * @defaultValue false\n */\n diagnostics?: boolean;\n\n /**\n * The maximum number of times the tree will be rerendered until no more network requests are made.\n * This is useful to prevent infinite loops in case of a bug in your application.\n * If you have a lot of waterfalls in your application, you might need to increase this number.\n *\n * @defaultValue 50\n */\n maxRerenders?: number;\n }\n\n export interface Result {\n /**\n * The result of the last render, or an empty string if `ignoreResults` was set to `true`.\n */\n result: string;\n /**\n * If the render was aborted early because the `AbortSignal` was cancelled,\n * this will be `true`.\n * If you used a hydratable render function (everything except `renderToStaticMarkup`),\n * the result will still be able to hydrate in the browser, but it might still\n * contain `loading` states and need additional data fetches in the browser.\n */\n aborted: boolean;\n /**\n * If `diagnostics` was set to `true`, this will contain an object with diagnostics that can be used to\n * detect ineffective rendering structures in your app.\n */\n diagnostics?: Diagnostics;\n }\n\n export interface Diagnostics {\n /**\n * The number of times the tree had to be rerendered until no more network requests\n * were made.\n * A high number here might indicate that you have a waterfall of `useQuery` calls\n * in your application and shows potential for optimization, e.g. via fragment colocation.\n */\n renderCount: number;\n }\n\n export type RenderToString = (element: ReactTypes.ReactNode) => string;\n export type RenderToStringPromise = (\n element: ReactTypes.ReactNode\n ) => PromiseLike<string>;\n\n export type PrerenderToWebStream = (\n reactNode: ReactTypes.ReactNode\n ) => Promise<{\n prelude: ReadableStream<Uint8Array>; // AsyncIterable<Uint8Array>;\n }>;\n\n export type PrerenderToNodeStream = (\n reactNode: ReactTypes.ReactNode\n ) => Promise<{\n prelude: AsyncIterable<string | Buffer>;\n }>;\n}\n\n/**\n * This function will rerender your React tree until no more network requests need\n * to be made.\n * If you only use suspenseful hooks (and a suspense-ready `renderFunction`), this\n * means that the tree will be rendered once.\n * If you use non-suspenseful hooks like `useQuery`, this function will render all\n * components, wait for all requests started by your rendered\n * hooks to finish, and then render the tree again, until no more requests are made.\n *\n * After executing this function, you can use `client.extract()` to get a full set\n * of the data that was fetched during these renders.\n * You can then transport that data and hydrate your cache via `client.restore(extractedData)`\n * before hydrating your React tree in the browser.\n */\nexport function prerenderStatic({\n tree,\n context = {},\n // The rendering function is configurable! We use renderToStaticMarkup as\n // the default, because it's a little less expensive than renderToString,\n // and legacy usage of getDataFromTree ignores the return value anyway.\n renderFunction,\n signal,\n ignoreResults,\n diagnostics,\n maxRerenders = 50,\n}: prerenderStatic.Options): Promise<prerenderStatic.Result> {\n const availableObservableQueries = new Map<\n ObservableQueryKey,\n ObservableQuery\n >();\n let recentlyCreatedObservableQueries = new Set<ObservableQuery>();\n let renderCount = 0;\n\n const internalContext: PrerenderStaticInternalContext = {\n getObservableQuery(query, variables) {\n return availableObservableQueries.get(\n getObservableQueryKey(query, variables)\n );\n },\n onCreatedObservableQuery: (\n observable: ObservableQuery,\n query: DocumentNode,\n variables: OperationVariables\n ) => {\n availableObservableQueries.set(\n getObservableQueryKey(query, variables),\n observable\n );\n if (observable.options.fetchPolicy !== \"cache-only\") {\n recentlyCreatedObservableQueries.add(observable);\n }\n },\n };\n\n async function process(): Promise<prerenderStatic.Result> {\n renderCount++;\n invariant(\n renderCount <= maxRerenders,\n `Exceeded maximum rerender count of %d.\nThis either means you have very deep \\`useQuery\\` waterfalls in your application\nand need to increase the \\`maxRerender\\` option to \\`prerenderStatic\\`, or that\nyou have an infinite render loop in your application.`,\n maxRerenders\n );\n\n invariant(\n !signal?.aborted,\n \"The operation was aborted before it could be attempted.\"\n );\n\n // Always re-render from the rootElement, even though it might seem\n // better to render the children of the component responsible for the\n // promise, because it is not possible to reconstruct the full context\n // of the original rendering (including all unknown context provider\n // elements) for a subtree of the original component tree.\n const ApolloContext = getApolloContext();\n\n const element = (\n <ApolloContext.Provider\n value={{\n ...context,\n [wrapperSymbol]: {\n useQuery: () => useSSRQuery.bind(internalContext),\n },\n }}\n >\n {tree}\n </ApolloContext.Provider>\n );\n const result = await consume(await renderFunction(element));\n\n if (recentlyCreatedObservableQueries.size == 0) {\n return { result, aborted: false };\n }\n if (signal?.aborted) {\n return { result, aborted: true };\n }\n\n const dataPromise = Promise.all(\n Array.from(recentlyCreatedObservableQueries).map(async (observable) => {\n await firstValueFrom(\n observable.pipe(filter((result) => result.loading === false))\n );\n\n recentlyCreatedObservableQueries.delete(observable);\n })\n );\n\n let resolveAbortPromise!: () => void;\n const abortPromise = new Promise<void>((resolve) => {\n resolveAbortPromise = resolve;\n });\n signal?.addEventListener(\"abort\", resolveAbortPromise);\n await Promise.race([abortPromise, dataPromise]);\n signal?.removeEventListener(\"abort\", resolveAbortPromise);\n\n if (signal?.aborted) {\n return { result, aborted: true };\n }\n return process();\n }\n\n return Promise.resolve()\n .then(process)\n .then((result) =>\n diagnostics ?\n {\n ...result,\n diagnostics: {\n renderCount,\n },\n }\n : result\n )\n .finally(() => {\n availableObservableQueries.clear();\n recentlyCreatedObservableQueries.clear();\n });\n\n async function consume(\n value:\n | string\n | {\n prelude: ReadableStream<Uint8Array>;\n }\n | {\n prelude: AsyncIterable<string | Buffer>;\n }\n ): Promise<string> {\n if (typeof value === \"string\") {\n return ignoreResults ? \"\" : value;\n }\n if (!value.prelude) {\n throw new Error(\n \"`getMarkupFromTree` was called with an incompatible render method.\\n\" +\n 'It is compatible with `renderToStaticMarkup` and `renderToString` from `\"react-dom/server\"`\\n' +\n 'as well as `prerender` and `prerenderToNodeStream` from \"react-dom/static\"'\n );\n }\n const prelude = value.prelude;\n let result = \"\";\n if (\"getReader\" in prelude) {\n /**\n * The \"web\" `ReadableStream` consuming path.\n * This could also be done with the `AsyncIterable` branch, but we add this\n * code for two reasons:\n * 1. potential performance benefits if we don't need to create an `AsyncIterator` on top\n * 2. some browsers (looking at Safari) don't support `AsyncIterable` for `ReadableStream` yet\n * and we're not 100% sure how good this is covered on edge runtimes\n *\n * The extra code here doesn't really matter, since *usually* this would not\n * be run in a browser, so we don't have to shave every single byte.\n */\n const reader = prelude.getReader();\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n if (!ignoreResults) {\n result += Buffer.from(value).toString(\"utf8\");\n }\n }\n } else {\n for await (const chunk of prelude) {\n if (!ignoreResults) {\n result +=\n typeof chunk === \"string\" ? chunk : (\n Buffer.from(chunk).toString(\"utf8\")\n );\n }\n }\n }\n return result;\n }\n}\n"],"names":[],"mappings":"AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B;AAE/B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAP,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAuC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAA6C;AAQ7C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAiC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+D;AAC/D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6D;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAmC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6D;AAC7D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA0B,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8D;AAE9D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA4B,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8C;AAG9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAC5B,CADF,CAAA,CAAA,CAAA,CACqB,EACnB,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAEmC,CAFnC,CAEqC,EAFrC;IAIE,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAzB,CAAA,CAAA,CAAA,CAA8B,CAAC;IAC7B,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAC,CAA1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmD,CAAC;IAClD,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAApB,CAAA,CAAA,CAAwB,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAApC,CAAsC;AACtC;AAuIA,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,CAAA,CAAA,CAAA,CAAA,CAAA;IAAgC,EAC9B,CADF,CAAA,CAAA,CACM,EACJ,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAEY,CAFZ,CAEc;IACZ,CAAF,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACE,CAAF,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EACd,CADF,CAAA,CAAA,CAAA,CAAA,CACQ,EACN,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEe,EACb,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGa,EACX,CAJF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAIiB,CAJjB,CAImB,EAJnB;AAAA,EAAA;IAME,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAqC,CAArC,CAAA,EAAyC,CAAzC,CAAA,CAA4C,CAA5C,CAGK;IACH,CAAF,CAAA,EAAM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAyC,CAAzC,CAAA,EAA6C,CAA7C,CAAA,CAAgD,CAAhD,CAAmE;IACjE,CAAF,CAAA,EAAM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAAC;IAEnB,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0D;QACtD,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAvB,CAAA,CAAA,CAAA,CAA4B,EAAE,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,EAAvC;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,CAAC,CAAxC,CAAA,CAA2C,CACnC,CADR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC6B,CAAC,CAD9B,CAAA,CAAA,CAAA,CACmC,EAAE,CADrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC8C,CAAC,CACxC;QACH,CAAC;QACD,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAE,CACxB,CADN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACiC,EAC3B,CAFN,CAAA,CAAA,CAAA,CAEyB,EACnB,CAHN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGmC,EAC7B,CAJN,EAAA;YAKM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAA,CAAoC,CAC5B,CADR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC6B,CAAC,CAD9B,CAAA,CAAA,CAAA,CACmC,EAAE,CADrC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC8C,CAAC,EACvC,CAFR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEkB,CACX;YACD,CAAN,EAAA,CAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAA6C,CAA7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,EAAE;gBACnD,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAC,CAAzC,CAAA,CAA4C,CAAC,CAA7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuD,CAAC;YAClD;QACF,CAAC;IACL,CAAG;IAED,CAAF,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAxB,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAf,CAAiB;QACb,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACM,CADN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EACqB,CADrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,OAMM,CADN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAEK;QAED,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACM,CAAC,CADP,CAAA,CAAA,CAAA,CAAA,CACa,CADb,CACe,CADf,CAAA,CAAA,CAAA,CAAA,CAAA,MAGK;QAED,CAAJ,EAAA,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,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,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,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0B,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C,CAA1C,CAA4C;QAExC,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CACd,CADN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACO,CADP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACoB,CAAC,CADrB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC6B,EAD7B,EAEQ,CAFR,CAAA,CAAA,CAAA,CAEa,EAAE;gBACL,CAAV,CAAA,CAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB;gBACV,CAAC,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC,EAAE;oBACf,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB,EAAE,CAAtB,EAAyB,CAAzB,EAA4B,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,CAAC,CAAxC,CAAA,CAAA,CAA4C,CAAC,CAA7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4D,CAAC;gBAC7D,CAAW;YACX,EAAA,CAAA,EAES,CAFT,CAAA,CAAA,CAEa,CACkB,CAC1B;QACD,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,EAAyB,CAAzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAA,CAAA,CAAA,EAAuC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,CAAC,CAAtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6D,CAAC,CAAC;QAE3D,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAC,CAAzC,CAAA,CAAA,EAAA,CAAA,EAAiD,CAAC,EAAE;YAC9C,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAqB,EAAE,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,EAAE,CAAhC,CAAA,CAAA,CAAA,EAAA,CAAuC;QACnC;QACA,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc,CAAd,CAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,EAAE;YACnB,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAqB,EAAE,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,EAAE,CAAhC,CAAA,CAAA,EAAA,CAAsC;QAClC;QAEA,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAwB,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAhC,CAAA,CAAmC,CAC7B,CADN,CAAA,CAAA,CAAA,CACW,CAAC,CADZ,CAAA,CAAA,CACgB,CAAC,CADjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACiD,CAAC,CAAC,CADnD,CAAA,CACsD,CAAC,CADvD,CAAA,CAAA,CAAA,EAAA,CAC8D,CAD9D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACwE,EAAE,CAD1E,EAAA;YAEQ,CAAR,CAAA,CAAA,CAAA,EAAc,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAClB,CADV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACoB,CAAC,CADrB,CAAA,CAAA,CACyB,CAAC,CAD1B,CAAA,CAAA,CAAA,CAAA,CACgC,CAAC,CAAC,CADlC,CAAA,CAAA,CAAA,CAAA,CACwC,EAAE,CAD1C,EAC6C,CAD7C,CAAA,CAAA,CAAA,CAAA,CACmD,CAAC,CADpD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EACgE,CADhE,CAAA,CAAA,CAAA,CACqE,CAAC,CAAC,CAC9D;YAED,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC,CAAhD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0D,CAAC;QACrD,CAAC,CAAC,CACH;QAED,CAAJ,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC;QACpC,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAyB,CAAzB,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAO,CAAC,CAA5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmD,EAAE,CAArD,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA4B,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC;QAC/B,CAAC,CAAC;QACF,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,EAAE,CAAtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC;QACtD,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAsB,CAAC,CAAC,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,EAAE,CAAtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD,CAAC,CAAC;QAC/C,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,EAAE,CAAzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4D,CAAC;QAEzD,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc,CAAd,CAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,EAAE;YACnB,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAqB,EAAE,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,EAAE,CAAhC,CAAA,CAAA,EAAA,CAAsC;QAClC;QACA,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAlB,CAAoB;IAClB;IAEA,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAxB;QACA,CAAK,CAAL,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB;QACjB,CAAK,CAAL,CAAA,CAAA,CAAS,CAAC,CAAC,CAAX,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,EACM,CADN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACkB;QACV;YACE,CAAV,CAAA,CAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAmB;YACT,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,EAAE;gBACX,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB;YACvB,CAAW;QACX;QACM,EAAE,CAAR,CAAA,CAAA,CAAA,CAAA,CAAc;QAEd,CAAK,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAb,EAAgB,CAAhB,EAAA;QACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAA,CAAA,CAAA,CAAsC,CAAtC,CAAwC;QAClC,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,CAAvC,CAAA,CAAA,CAAA,CAA4C,CAA5C,CAA8C;IAC1C,CAAC,CAAC;IAEJ,CAAF,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CACpB,CADJ,CAAA,CAAA,CAAA,CAQS,EART;QAUI,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAe,CAAf,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAyB,CAAzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE;YAC7B,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAA2B,EAAE,CAA7B,EAAgC,EAAE,CAAlC,CAAA,CAAA,CAAA,CAAuC;QACnC;QACA,CAAJ,EAAA,CAAQ,CAAC,CAAT,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,EAAE;YAClB,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAqB,CACb,CADR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;gBAEU,CAAV,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;gBACU,CAAV,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsF,CAC/E;QACH;QACA,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAyB,CAAC,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC;QAC7B,CAAJ,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAmB;QACf,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,EAAE;YAC1B,CAAN,CAAA;;;;;;;;;;aAUA,CAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,EAAA,EAAqB,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAtC,CAAwC;YAClC,CAAN,CAAA,CAAA,CAAA,EAAA,CAAa,CAAb,CAAA,CAAA,CAAiB,EAAE;gBACX,CAAR,CAAA,CAAA,CAAA,EAAc,EAAE,CAAhB,CAAA,CAAA,CAAoB,EAAE,CAAtB,CAAA,CAAA,CAAA,EAAA,EAAA,EAAgC,CAAhC,CAAA,CAAA,CAAA,EAAsC,CAAtC,CAAA,CAAA,CAAA,CAAA,CAA4C,CAAC,CAA7C,CAAA,CAAA,CAAiD,CAAjD,CAAmD;gBAC3C,CAAR,EAAA,CAAY,CAAZ,CAAA,CAAA,CAAgB,EAAE;oBACR,CAAV,CAAA,CAAA,CAAA,CAAA;gBACQ;gBACA,CAAR,EAAA,CAAY,CAAC,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,EAAE;oBAClB,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAC,CAA3B,CAAA,CAAA,CAA+B,CAAC,CAAhC,CAAA,CAAA,CAAA,CAAqC,CAAC,CAAC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC,CAAhD,CAAA,CAAA,CAAA,CAAA,CAAsD,CAAC;gBAC/C;YACF;QACF;QAAJ,CAAA,CAAA,CAAA,EAAW;YACL,CAAN,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,EAAA,CAAiB,CAAjB,CAAA,CAAA,CAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,EAAA,CAAA,EAAgC,CAAhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,EAAE;gBACjC,CAAR,EAAA,CAAY,CAAC,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,EAAE;oBAClB,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,CAAA,CAAA,CAAA,CAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAsC,EAAE,CAAxC,CAAA,CAAA,CAAA,EAA8C,EAAE,CAClC,CADd,CAAA,CAAA,CAAA,CAAA,CACoB,CAAC,CADrB,CAAA,CAAA,CACyB,CAAC,CAD1B,CAAA,CAAA,CAAA,CAC+B,CAAC,CAAC,CADjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACyC,CAAC,CAD1C,CAAA,CAAA,CAAA,CAAA,CACgD,CAAC,CACpC;gBACL;YACF;QACF;QACA,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAiB;IACf;AACF;"}
1
+ {"version":3,"file":"prerenderStatic.js","sources":["../../../src/react/ssr/prerenderStatic.tsx"],"sourcesContent":["import { print } from \"graphql\";\nimport type * as ReactTypes from \"react\";\nimport * as React from \"react\";\nimport { filter, firstValueFrom } from \"rxjs\";\n\nimport type {\n ApolloClient,\n DocumentNode,\n ObservableQuery,\n OperationVariables,\n} from \"@apollo/client\";\nimport { getApolloContext } from \"@apollo/client/react\";\nimport { wrapperSymbol } from \"@apollo/client/react/internal\";\nimport { canonicalStringify } from \"@apollo/client/utilities\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { useSSRQuery } from \"./useSSRQuery.js\";\n\ntype ObservableQueryKey = `${string}|${string}`;\nfunction getObservableQueryKey(\n query: DocumentNode,\n variables: Record<string, any> = {}\n): ObservableQueryKey {\n const queryKey = print(query);\n const variablesKey = canonicalStringify(variables);\n return `${queryKey}|${variablesKey}`;\n}\nexport interface PrerenderStaticInternalContext {\n getObservableQuery(\n query: DocumentNode,\n variables?: Record<string, any>\n ): ObservableQuery | undefined;\n onCreatedObservableQuery: (\n observable: ObservableQuery,\n query: DocumentNode,\n variables: OperationVariables\n ) => void;\n}\n\nexport declare namespace prerenderStatic {\n export interface Options {\n /**\n * The React component tree to prerender\n */\n tree: ReactTypes.ReactNode;\n /**\n * If your app is not wrapped in an `ApolloProvider`, you can pass a `client` instance in here.\n */\n context?: { client?: ApolloClient };\n /**\n * An `AbortSignal` that indicates you want to stop the re-render loop, even if not all data is fetched yet.\n *\n * Note that if you use an api like `prerender` or `prerenderToNodeStream` that supports `AbortSignal` as an option,\n * you will still have to pass that `signal` option to that function by wrapping the `renderFunction`, and if that api\n * throws an exception if the signal is aborted, so will `prerenderStatic`.\n *\n * @example\n * ```ts\n * const result = await prerenderStatic({\n * tree: <App/>,\n * signal,\n * renderFunction: (tree) => prerender(tree, { signal }),\n * })\n * ```\n */\n signal?: AbortSignal;\n /**\n * If this is set, this method will return `\"\"` as the `result` property.\n * Setting this can save CPU time that would otherwise be spent on converting\n * `Uint8Array` or `Buffer` instances to strings for the result.\n */\n ignoreResults?: boolean;\n /**\n * The rendering function to use.\n * These functions are currently supported:\n * * `prerender` from `react-dom/static` (https://react.dev/reference/react-dom/static/prerender)\n * * recommended if you use Deno or a modern edge runtime with Web Streams\n * * `prerenderToNodeStream` from `react-dom/static` (https://react.dev/reference/react-dom/static/prerenderToNodeStream)\n * * recommended if you use Node.js\n * * `renderToString` from `react-dom/server` (https://react.dev/reference/react-dom/server/renderToString)\n * * this API has no suspense support and will not work with hooks like `useSuspenseQuery`\n * * `renderToStaticMarkup` from `react-dom/server` (https://react.dev/reference/react-dom/server/renderToStaticMarkup)\n * * slightly faster than `renderToString`, but the result cannot be hydrated\n * * this API has no suspense support and will not work with hooks like `useSuspenseQuery`\n */\n renderFunction:\n | RenderToString\n | RenderToStringPromise\n | PrerenderToWebStream\n | PrerenderToNodeStream\n | ((\n reactNode: ReactTypes.ReactNode\n ) =>\n | ReturnType<RenderToString>\n | ReturnType<RenderToStringPromise>\n | ReturnType<PrerenderToWebStream>\n | ReturnType<PrerenderToNodeStream>);\n /**\n * If this is set to `true`, the result will contain a `diagnostics` property that can help you e.g. detect `useQuery` waterfalls in your application.\n * @defaultValue false\n */\n diagnostics?: boolean;\n\n /**\n * The maximum number of times the tree will be rerendered until no more network requests are made.\n * This is useful to prevent infinite loops in case of a bug in your application.\n * If you have a lot of waterfalls in your application, you might need to increase this number.\n *\n * @defaultValue 50\n */\n maxRerenders?: number;\n }\n\n export interface Result {\n /**\n * The result of the last render, or an empty string if `ignoreResults` was set to `true`.\n */\n result: string;\n /**\n * If the render was aborted early because the `AbortSignal` was cancelled,\n * this will be `true`.\n * If you used a hydratable render function (everything except `renderToStaticMarkup`),\n * the result will still be able to hydrate in the browser, but it might still\n * contain `loading` states and need additional data fetches in the browser.\n */\n aborted: boolean;\n /**\n * If `diagnostics` was set to `true`, this will contain an object with diagnostics that can be used to\n * detect ineffective rendering structures in your app.\n */\n diagnostics?: Diagnostics;\n }\n\n export interface Diagnostics {\n /**\n * The number of times the tree had to be rerendered until no more network requests\n * were made.\n * A high number here might indicate that you have a waterfall of `useQuery` calls\n * in your application and shows potential for optimization, e.g. via fragment colocation.\n */\n renderCount: number;\n }\n\n export type RenderToString = (element: ReactTypes.ReactNode) => string;\n export type RenderToStringPromise = (\n element: ReactTypes.ReactNode\n ) => PromiseLike<string>;\n\n export type PrerenderToWebStream = (\n reactNode: ReactTypes.ReactNode\n ) => Promise<{\n prelude: ReadableStream<Uint8Array>; // AsyncIterable<Uint8Array>;\n }>;\n\n export type PrerenderToNodeStream = (\n reactNode: ReactTypes.ReactNode\n ) => Promise<{\n prelude: AsyncIterable<string | Buffer>;\n }>;\n}\n\n/**\n * This function will rerender your React tree until no more network requests need\n * to be made.\n * If you only use suspenseful hooks (and a suspense-ready `renderFunction`), this\n * means that the tree will be rendered once.\n * If you use non-suspenseful hooks like `useQuery`, this function will render all\n * components, wait for all requests started by your rendered\n * hooks to finish, and then render the tree again, until no more requests are made.\n *\n * After executing this function, you can use `client.extract()` to get a full set\n * of the data that was fetched during these renders.\n * You can then transport that data and hydrate your cache via `client.restore(extractedData)`\n * before hydrating your React tree in the browser.\n */\nexport function prerenderStatic({\n tree,\n context = {},\n // The rendering function is configurable! We use renderToStaticMarkup as\n // the default, because it's a little less expensive than renderToString,\n // and legacy usage of getDataFromTree ignores the return value anyway.\n renderFunction,\n signal,\n ignoreResults,\n diagnostics,\n maxRerenders = 50,\n}: prerenderStatic.Options): Promise<prerenderStatic.Result> {\n const availableObservableQueries = new Map<\n ObservableQueryKey,\n ObservableQuery\n >();\n let recentlyCreatedObservableQueries = new Set<ObservableQuery>();\n let renderCount = 0;\n\n const internalContext: PrerenderStaticInternalContext = {\n getObservableQuery(query, variables) {\n return availableObservableQueries.get(\n getObservableQueryKey(query, variables)\n );\n },\n onCreatedObservableQuery: (\n observable: ObservableQuery,\n query: DocumentNode,\n variables: OperationVariables\n ) => {\n availableObservableQueries.set(\n getObservableQueryKey(query, variables),\n observable\n );\n if (observable.options.fetchPolicy !== \"cache-only\") {\n recentlyCreatedObservableQueries.add(observable);\n }\n },\n };\n\n async function process(): Promise<prerenderStatic.Result> {\n renderCount++;\n invariant(\n renderCount <= maxRerenders,\n `Exceeded maximum rerender count of %d.\nThis either means you have very deep \\`useQuery\\` waterfalls in your application\nand need to increase the \\`maxRerender\\` option to \\`prerenderStatic\\`, or that\nyou have an infinite render loop in your application.`,\n maxRerenders\n );\n\n invariant(\n !signal?.aborted,\n \"The operation was aborted before it could be attempted.\"\n );\n\n // Always re-render from the rootElement, even though it might seem\n // better to render the children of the component responsible for the\n // promise, because it is not possible to reconstruct the full context\n // of the original rendering (including all unknown context provider\n // elements) for a subtree of the original component tree.\n const ApolloContext = getApolloContext();\n\n const element = (\n <ApolloContext.Provider\n value={{\n ...context,\n [wrapperSymbol]: {\n useQuery: () => useSSRQuery.bind(internalContext),\n },\n }}\n >\n {tree}\n </ApolloContext.Provider>\n );\n const result = await consume(await renderFunction(element));\n\n if (recentlyCreatedObservableQueries.size == 0) {\n return { result, aborted: false };\n }\n if (signal?.aborted) {\n return { result, aborted: true };\n }\n\n const dataPromise = Promise.all(\n Array.from(recentlyCreatedObservableQueries).map(async (observable) => {\n await firstValueFrom(\n observable.pipe(filter((result) => result.loading === false))\n );\n\n recentlyCreatedObservableQueries.delete(observable);\n })\n );\n\n let resolveAbortPromise!: () => void;\n const abortPromise = new Promise<void>((resolve) => {\n resolveAbortPromise = resolve;\n });\n signal?.addEventListener(\"abort\", resolveAbortPromise);\n await Promise.race([abortPromise, dataPromise]);\n signal?.removeEventListener(\"abort\", resolveAbortPromise);\n\n if (signal?.aborted) {\n return { result, aborted: true };\n }\n return process();\n }\n\n return Promise.resolve()\n .then(process)\n .then((result) =>\n diagnostics ?\n {\n ...result,\n diagnostics: {\n renderCount,\n },\n }\n : result\n )\n .finally(() => {\n availableObservableQueries.clear();\n recentlyCreatedObservableQueries.clear();\n });\n\n async function consume(\n value:\n | string\n | {\n prelude: ReadableStream<Uint8Array>;\n }\n | {\n prelude: AsyncIterable<string | Buffer>;\n }\n ): Promise<string> {\n if (typeof value === \"string\") {\n return ignoreResults ? \"\" : value;\n }\n if (!value.prelude) {\n throw new Error(\n \"`getMarkupFromTree` was called with an incompatible render method.\\n\" +\n 'It is compatible with `renderToStaticMarkup` and `renderToString` from `\"react-dom/server\"`\\n' +\n 'as well as `prerender` and `prerenderToNodeStream` from \"react-dom/static\"'\n );\n }\n const prelude = value.prelude;\n let result = \"\";\n if (\"getReader\" in prelude) {\n /**\n * The \"web\" `ReadableStream` consuming path.\n * This could also be done with the `AsyncIterable` branch, but we add this\n * code for two reasons:\n * 1. potential performance benefits if we don't need to create an `AsyncIterator` on top\n * 2. some browsers (looking at Safari) don't support `AsyncIterable` for `ReadableStream` yet\n * and we're not 100% sure how good this is covered on edge runtimes\n *\n * The extra code here doesn't really matter, since *usually* this would not\n * be run in a browser, so we don't have to shave every single byte.\n */\n const reader = prelude.getReader();\n while (true) {\n const { done, value } = await reader.read();\n if (done) {\n break;\n }\n if (!ignoreResults) {\n result += Buffer.from(value).toString(\"utf8\");\n }\n }\n } else {\n for await (const chunk of prelude) {\n if (!ignoreResults) {\n result +=\n typeof chunk === \"string\" ? chunk : (\n Buffer.from(chunk).toString(\"utf8\")\n );\n }\n }\n }\n return result;\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSSRQuery.js","sources":["../../../src/react/ssr/useSSRQuery.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport type { ObservableQuery } from \"@apollo/client/core\";\nimport { useApolloClient, useQuery } from \"@apollo/client/react\";\n\nimport type { PrerenderStaticInternalContext } from \"./prerenderStatic.js\";\n\nexport const useSSRQuery = function (\n this: PrerenderStaticInternalContext,\n query: DocumentNode,\n options: useQuery.Options<any, any> = {}\n): useQuery.Result<any, any> {\n function notAllowed(): never {\n throw new Error(\"This method cannot be called during SSR.\");\n }\n const client = useApolloClient(options.client);\n\n const baseResult: Omit<\n useQuery.Result,\n \"observable\" | \"data\" | \"error\" | \"loading\" | \"networkStatus\"\n > = {\n client,\n refetch: notAllowed,\n fetchMore: notAllowed,\n subscribeToMore: notAllowed,\n updateQuery: notAllowed,\n startPolling: notAllowed,\n stopPolling: notAllowed,\n variables: options?.variables,\n previousData: undefined,\n };\n\n if (options.skip) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.skipStandbyResult,\n });\n }\n if (options.ssr === false) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.ssrDisabledResult,\n });\n }\n\n let observable = this.getObservableQuery(query, options.variables);\n if (!observable) {\n observable = client.watchQuery({\n query,\n ...options,\n fetchPolicy:\n (\n options.fetchPolicy === \"network-only\" ||\n options.fetchPolicy === \"cache-and-network\"\n ) ?\n \"cache-first\"\n : options.fetchPolicy,\n });\n this.onCreatedObservableQuery(observable, query, options.variables);\n }\n return {\n observable,\n ...observable.getCurrentResult(),\n ...baseResult,\n };\n};\n\nfunction withoutObservableAccess<T>(\n value: T\n): T & { observable: ObservableQuery<any, any> } {\n Object.defineProperty(value, \"observable\", {\n get() {\n throw new Error(\n '\"observable\" property is not accessible on skipped hooks or hook calls with `ssr: false` during SSR'\n );\n },\n });\n return value as any;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useSSRQuery.js","sources":["../../../src/react/ssr/useSSRQuery.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport type { ObservableQuery } from \"@apollo/client\";\nimport { useApolloClient, useQuery } from \"@apollo/client/react\";\n\nimport type { PrerenderStaticInternalContext } from \"./prerenderStatic.js\";\n\nexport const useSSRQuery = function (\n this: PrerenderStaticInternalContext,\n query: DocumentNode,\n options: useQuery.Options<any, any> = {}\n): useQuery.Result<any, any> {\n function notAllowed(): never {\n throw new Error(\"This method cannot be called during SSR.\");\n }\n const client = useApolloClient(options.client);\n\n const baseResult: Omit<\n useQuery.Result,\n \"observable\" | \"data\" | \"error\" | \"loading\" | \"networkStatus\"\n > = {\n client,\n refetch: notAllowed,\n fetchMore: notAllowed,\n subscribeToMore: notAllowed,\n updateQuery: notAllowed,\n startPolling: notAllowed,\n stopPolling: notAllowed,\n variables: options?.variables,\n previousData: undefined,\n };\n\n if (options.skip) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.skipStandbyResult,\n });\n }\n if (options.ssr === false) {\n return withoutObservableAccess({\n ...baseResult,\n ...useQuery.ssrDisabledResult,\n });\n }\n\n let observable = this.getObservableQuery(query, options.variables);\n if (!observable) {\n observable = client.watchQuery({\n query,\n ...options,\n fetchPolicy:\n (\n options.fetchPolicy === \"network-only\" ||\n options.fetchPolicy === \"cache-and-network\"\n ) ?\n \"cache-first\"\n : options.fetchPolicy,\n });\n this.onCreatedObservableQuery(observable, query, options.variables);\n }\n return {\n observable,\n ...observable.getCurrentResult(),\n ...baseResult,\n };\n};\n\nfunction withoutObservableAccess<T>(\n value: T\n): T & { observable: ObservableQuery<any, any> } {\n Object.defineProperty(value, \"observable\", {\n get() {\n throw new Error(\n '\"observable\" property is not accessible on skipped hooks or hook calls with `ssr: false` during SSR'\n );\n },\n });\n return value as any;\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
- import type { ApolloCache, DefaultContext, OperationVariables } from "@apollo/client/core";
2
- import type { useBackgroundQuery, useFragment, useLazyQuery, useLoadableQuery, useMutation, useQuery, useQueryRefHandlers, useReadQuery, useSubscription, useSuspenseFragment, useSuspenseQuery } from "@apollo/client/react/hooks";
1
+ import type { ApolloCache, DefaultContext, OperationVariables } from "@apollo/client";
2
+ import type { useBackgroundQuery } from "../hooks/useBackgroundQuery.js";
3
+ import type { useFragment } from "../hooks/useFragment.js";
4
+ import type { useLazyQuery } from "../hooks/useLazyQuery.js";
5
+ import type { useLoadableQuery } from "../hooks/useLoadableQuery.js";
6
+ import type { useMutation } from "../hooks/useMutation.js";
7
+ import type { useQuery } from "../hooks/useQuery.js";
8
+ import type { useQueryRefHandlers } from "../hooks/useQueryRefHandlers.js";
9
+ import type { useReadQuery } from "../hooks/useReadQuery.js";
10
+ import type { useSubscription } from "../hooks/useSubscription.js";
11
+ import type { useSuspenseFragment } from "../hooks/useSuspenseFragment.js";
12
+ import type { useSuspenseQuery } from "../hooks/useSuspenseQuery.js";
3
13
  /** @deprecated Use `useQuery.Options` instead */
4
14
  export type QueryHookOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables> = useQuery.Options<TData, TVariables>;
5
15
  /** @deprecated Use `useQuery.Result` instead */
@@ -1,7 +1,7 @@
1
- export type { MockedResponse, MockLinkOptions, ResultFunction, } from "./mocking/mockLink.js";
2
- export { MockLink, mockSingleLink } from "./mocking/mockLink.js";
1
+ export type { MockedRequest, MockedResponse, MockLinkOptions, ResultFunction, } from "./mocking/mockLink.js";
2
+ export { MockLink, mockSingleLink, realisticDelay, } from "./mocking/mockLink.js";
3
3
  export { mockObservableLink, MockSubscriptionLink, } from "./mocking/mockSubscriptionLink.js";
4
4
  export { createMockClient } from "./mocking/mockClient.js";
5
5
  export { tick, wait } from "./wait.js";
6
- export * from "./withConsoleSpy.js";
6
+ export { withErrorSpy, withLogSpy, withWarningSpy } from "./withConsoleSpy.js";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1,6 +1,6 @@
1
- export { MockLink, mockSingleLink } from "./mocking/mockLink.js";
1
+ export { MockLink, mockSingleLink, realisticDelay, } from "./mocking/mockLink.js";
2
2
  export { mockObservableLink, MockSubscriptionLink, } from "./mocking/mockSubscriptionLink.js";
3
3
  export { createMockClient } from "./mocking/mockClient.js";
4
4
  export { tick, wait } from "./wait.js";
5
- export * from "./withConsoleSpy.js";
5
+ export { withErrorSpy, withLogSpy, withWarningSpy } from "./withConsoleSpy.js";
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/testing/core/index.ts"],"sourcesContent":["export type {\n MockedResponse,\n MockLinkOptions,\n ResultFunction,\n} from \"./mocking/mockLink.js\";\nexport { MockLink, mockSingleLink } from \"./mocking/mockLink.js\";\nexport {\n mockObservableLink,\n MockSubscriptionLink,\n} from \"./mocking/mockSubscriptionLink.js\";\nexport { createMockClient } from \"./mocking/mockClient.js\";\nexport { tick, wait } from \"./wait.js\";\nexport * from \"./withConsoleSpy.js\";\n"],"names":[],"mappings":"AAKA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAyC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgE;AAChE,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EACL,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACoB,EAClB,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEsB,EAFtB,EAAA,CAAA,CAAA,CAAA,EAGO,CAHP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAG0C;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAiC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0D;AAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA2B,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAc,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/testing/core/index.ts"],"sourcesContent":["export type {\n MockedRequest,\n MockedResponse,\n MockLinkOptions,\n ResultFunction,\n} from \"./mocking/mockLink.js\";\nexport {\n MockLink,\n mockSingleLink,\n realisticDelay,\n} from \"./mocking/mockLink.js\";\nexport {\n mockObservableLink,\n MockSubscriptionLink,\n} from \"./mocking/mockSubscriptionLink.js\";\nexport { createMockClient } from \"./mocking/mockClient.js\";\nexport { tick, wait } from \"./wait.js\";\nexport { withErrorSpy, withLogSpy, withWarningSpy } from \"./withConsoleSpy.js\";\n"],"names":[],"mappings":"AAMA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EACL,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACU,EACR,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEgB,EACd,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGgB,EAHhB,EAAA,CAAA,CAAA,CAAA,EAIO,CAJP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAI8B;AAC9B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EACL,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACoB,EAClB,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEsB,EAFtB,EAAA,CAAA,CAAA,CAAA,EAGO,CAHP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAG0C;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAiC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0D;AAC1D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA2B,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC;AACtC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAmC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAyD,CAAzD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;"}
@@ -1,4 +1,4 @@
1
1
  import type { DocumentNode } from "graphql";
2
- import { ApolloClient } from "@apollo/client/core";
2
+ import { ApolloClient } from "@apollo/client";
3
3
  export declare function createMockClient<TData>(data: TData, query: DocumentNode, variables?: {}): ApolloClient;
4
4
  //# sourceMappingURL=mockClient.d.ts.map
@@ -1,13 +1,12 @@
1
+ import { ApolloClient } from "@apollo/client";
1
2
  import { InMemoryCache } from "@apollo/client/cache";
2
- import { ApolloClient } from "@apollo/client/core";
3
3
  import { mockSingleLink } from "./mockLink.js";
4
+ // TODO: Deprecate this function
4
5
  export function createMockClient(data, query, variables = {}) {
5
6
  return new ApolloClient({
6
7
  link: mockSingleLink({
7
8
  request: { query, variables },
8
9
  result: { data },
9
- }).setOnError((error) => {
10
- throw error;
11
10
  }),
12
11
  cache: new InMemoryCache(),
13
12
  });
@@ -1 +1 @@
1
- {"version":3,"file":"mockClient.js","sources":["../../../../src/testing/core/mocking/mockClient.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport { InMemoryCache } from \"@apollo/client/cache\";\nimport { ApolloClient } from \"@apollo/client/core\";\n\nimport { mockSingleLink } from \"./mockLink.js\";\n\nexport function createMockClient<TData>(\n data: TData,\n query: DocumentNode,\n variables = {}\n): ApolloClient {\n return new ApolloClient({\n link: mockSingleLink({\n request: { query, variables },\n result: { data },\n }).setOnError((error) => {\n throw error;\n }),\n cache: new InMemoryCache(),\n });\n}\n"],"names":[],"mappings":"AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkD;AAElD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA+B,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8C;AAE9C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,EAEE,CAFF,CAAA,CAAA,CAAA,CAAA,EAGE,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAGc,CAHd,CAAA,EAAA;IAKE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC;QACtB,CAAJ,CAAA,CAAA,CAAQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC;YACnB,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAsB,EAAE,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAmC;YAC7B,CAAN,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,EAAE,CAAhB,CAAA,CAAA,EAAA,CAAsB;QACtB,CAAK,CAAC,CAAC,CAAP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAC,CAAnB,CAAA,CAAA,CAAA,CAAwB,EAAE,CAA1B,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAiB;QACb,CAAC,CAAC;QACF,CAAJ,CAAA,CAAA,CAAA,CAAS,EAAE,CAAX,CAAA,EAAe,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAA5B,CAA8B;IAC9B,CAAG,CAAC;AACJ;"}
1
+ {"version":3,"file":"mockClient.js","sources":["../../../../src/testing/core/mocking/mockClient.ts"],"sourcesContent":["import type { DocumentNode } from \"graphql\";\n\nimport { ApolloClient } from \"@apollo/client\";\nimport { InMemoryCache } from \"@apollo/client/cache\";\n\nimport { mockSingleLink } from \"./mockLink.js\";\n\n// TODO: Deprecate this function\nexport function createMockClient<TData>(\n data: TData,\n query: DocumentNode,\n variables = {}\n): ApolloClient {\n return new ApolloClient({\n link: mockSingleLink({\n request: { query, variables },\n result: { data },\n }),\n cache: new InMemoryCache(),\n });\n}\n"],"names":[],"mappings":"AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C;AAC7C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD;AAEpD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA+B,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8C;AAE9C,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,EAEE,CAFF,CAAA,CAAA,CAAA,CAAA,EAGE,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAGc,CAHd,CAAA,EAAA;IAKE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC;QACtB,CAAJ,CAAA,CAAA,CAAQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,CAAC;YACnB,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAsB,EAAE,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAmC;YAC7B,CAAN,CAAA,CAAA,CAAA,CAAA,CAAY,EAAE,EAAE,CAAhB,CAAA,CAAA,EAAA,CAAsB;QACtB,CAAK,CAAC;QACF,CAAJ,CAAA,CAAA,CAAA,CAAS,EAAE,CAAX,CAAA,EAAe,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAA5B,CAA8B;IAC9B,CAAG,CAAC;AACJ;"}
@@ -1,5 +1,6 @@
1
+ import type { DocumentNode } from "graphql";
1
2
  import { Observable } from "rxjs";
2
- import type { FetchResult, GraphQLRequest, Operation } from "@apollo/client/link/core";
3
+ import type { FetchResult, Operation } from "@apollo/client/link/core";
3
4
  import { ApolloLink } from "@apollo/client/link/core";
4
5
  import type { Unmasked } from "@apollo/client/masking";
5
6
  /** @internal */
@@ -8,28 +9,46 @@ type CovariantUnaryFunction<out Arg, out Ret> = {
8
9
  }["fn"];
9
10
  export type ResultFunction<T, V = Record<string, any>> = CovariantUnaryFunction<V, T>;
10
11
  type VariableMatcher<V = Record<string, any>> = CovariantUnaryFunction<V, boolean>;
12
+ export interface MockedRequest<TVariables = Record<string, any>> {
13
+ query: DocumentNode;
14
+ variables?: TVariables | VariableMatcher<TVariables>;
15
+ }
11
16
  export interface MockedResponse<out TData = Record<string, any>, out TVariables = Record<string, any>> {
12
- request: GraphQLRequest<TVariables>;
17
+ request: MockedRequest<TVariables>;
13
18
  maxUsageCount?: number;
14
19
  result?: FetchResult<Unmasked<TData>> | ResultFunction<FetchResult<Unmasked<TData>>, TVariables>;
15
20
  error?: Error;
16
- delay?: number;
17
- variableMatcher?: VariableMatcher<TVariables>;
18
- newData?: ResultFunction<FetchResult<Unmasked<TData>>, TVariables>;
21
+ delay?: number | MockLink.DelayFunction;
19
22
  }
20
23
  export interface MockLinkOptions {
21
24
  showWarnings?: boolean;
25
+ defaultOptions?: MockLink.DefaultOptions;
26
+ }
27
+ export declare namespace MockLink {
28
+ type DelayFunction = (operation: Operation) => number;
29
+ type Delay = number | DelayFunction;
30
+ interface DefaultOptions {
31
+ delay?: MockLink.Delay;
32
+ }
22
33
  }
34
+ export declare function realisticDelay({ min, max, }?: {
35
+ min?: number;
36
+ max?: number;
37
+ }): MockLink.DelayFunction;
23
38
  export declare class MockLink extends ApolloLink {
24
39
  operation: Operation;
25
40
  showWarnings: boolean;
41
+ private defaultDelay;
26
42
  private mockedResponsesByKey;
27
- constructor(mockedResponses: ReadonlyArray<MockedResponse<any, any>>, options?: MockLinkOptions);
43
+ static defaultOptions: MockLink.DefaultOptions;
44
+ constructor(mockedResponses: ReadonlyArray<MockedResponse<Record<string, any>, Record<string, any>>>, options?: MockLinkOptions);
28
45
  addMockedResponse(mockedResponse: MockedResponse): void;
29
46
  request(operation: Operation): Observable<FetchResult> | null;
47
+ private getMockedResponses;
30
48
  private normalizeMockedResponse;
31
- private normalizeVariableMatching;
32
49
  }
50
+ /** @internal */
51
+ export declare function stringifyMockedResponse(mockedResponse: MockedResponse): string;
33
52
  export interface MockApolloLink extends ApolloLink {
34
53
  operation?: Operation;
35
54
  }