@apollo/client 4.0.0-alpha.1 → 4.0.0-alpha.11

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 (893) hide show
  1. package/.changeset/afraid-grapes-call.md +5 -0
  2. package/.changeset/afraid-moons-arrive.md +5 -0
  3. package/.changeset/beige-mirrors-talk.md +15 -0
  4. package/.changeset/cool-kiwis-hunt.md +15 -0
  5. package/.changeset/cuddly-spiders-tie.md +5 -0
  6. package/.changeset/dirty-eagles-poke.md +5 -0
  7. package/.changeset/early-eggs-develop.md +22 -0
  8. package/.changeset/eighty-squids-fix.md +15 -0
  9. package/.changeset/eleven-kangaroos-jump.md +5 -0
  10. package/.changeset/forty-shrimps-fry.md +5 -0
  11. package/.changeset/forty-tomatoes-punch.md +5 -0
  12. package/.changeset/four-countries-clean.md +24 -0
  13. package/.changeset/four-ghosts-watch.md +5 -0
  14. package/.changeset/funny-jeans-invent.md +16 -0
  15. package/.changeset/funny-terms-deny.md +5 -0
  16. package/.changeset/fuzzy-tips-sit.md +5 -0
  17. package/.changeset/gentle-badgers-train.md +5 -0
  18. package/.changeset/gentle-waves-cough.md +5 -0
  19. package/.changeset/giant-apes-thank.md +5 -0
  20. package/.changeset/giant-bags-share.md +5 -0
  21. package/.changeset/gorgeous-chefs-tap.md +5 -0
  22. package/.changeset/great-roses-jog.md +15 -0
  23. package/.changeset/grumpy-vans-type.md +5 -0
  24. package/.changeset/hip-vans-act.md +5 -0
  25. package/.changeset/hungry-bikes-cough.md +5 -0
  26. package/.changeset/itchy-chefs-run.md +23 -0
  27. package/.changeset/khaki-keys-deliver.md +5 -0
  28. package/.changeset/khaki-spies-work.md +11 -0
  29. package/.changeset/large-plants-know.md +5 -0
  30. package/.changeset/light-apes-rescue.md +5 -0
  31. package/.changeset/little-spoons-kick.md +7 -0
  32. package/.changeset/loud-cows-raise.md +7 -0
  33. package/.changeset/lucky-sheep-explain.md +34 -0
  34. package/.changeset/many-buses-allow.md +5 -0
  35. package/.changeset/mean-lizards-think.md +5 -0
  36. package/.changeset/nervous-fireants-bow.md +5 -0
  37. package/.changeset/nervous-goats-allow.md +5 -0
  38. package/.changeset/nice-dots-matter.md +5 -0
  39. package/.changeset/ninety-bags-bake.md +17 -0
  40. package/.changeset/odd-chicken-hide.md +17 -0
  41. package/.changeset/odd-lemons-relax.md +5 -0
  42. package/.changeset/orange-suits-laugh.md +5 -0
  43. package/.changeset/perfect-ducks-reflect.md +12 -0
  44. package/.changeset/perfect-vans-give.md +7 -0
  45. package/.changeset/poor-eels-punch.md +5 -0
  46. package/.changeset/pre.json +70 -0
  47. package/.changeset/purple-bears-flash.md +5 -0
  48. package/.changeset/real-teachers-peel.md +5 -0
  49. package/.changeset/serious-moons-juggle.md +5 -0
  50. package/.changeset/seven-dragons-repair.md +14 -0
  51. package/.changeset/seven-schools-carry.md +5 -0
  52. package/.changeset/shaggy-pugs-add.md +52 -0
  53. package/.changeset/short-months-complain.md +5 -0
  54. package/.changeset/slimy-chicken-melt.md +5 -0
  55. package/.changeset/slimy-maps-press.md +5 -0
  56. package/.changeset/small-buttons-rhyme.md +5 -0
  57. package/.changeset/small-poems-rest.md +5 -0
  58. package/.changeset/swift-rivers-share.md +13 -0
  59. package/.changeset/tall-bikes-develop.md +5 -0
  60. package/.changeset/tame-points-work.md +11 -0
  61. package/.changeset/tender-swans-flash.md +16 -0
  62. package/.changeset/thick-books-grin.md +5 -0
  63. package/.changeset/thin-peas-hear.md +16 -0
  64. package/.changeset/tidy-pandas-punch.md +5 -0
  65. package/.changeset/tough-rockets-allow.md +5 -0
  66. package/.changeset/tricky-tables-shave.md +5 -0
  67. package/.changeset/unlucky-kiwis-sell.md +5 -0
  68. package/.changeset/warm-ties-sit.md +7 -0
  69. package/.changeset/wicked-forks-double.md +33 -0
  70. package/.changeset/young-phones-fold.md +5 -0
  71. package/.changeset/young-snails-grin.md +5 -0
  72. package/CHANGELOG.md +535 -0
  73. package/__cjs/cache/core/cache.cjs +2 -2
  74. package/__cjs/cache/core/cache.cjs.map +1 -1
  75. package/__cjs/cache/core/cache.d.cts +18 -18
  76. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  77. package/__cjs/cache/core/types/Cache.d.cts +9 -16
  78. package/__cjs/cache/core/types/DataProxy.d.cts +8 -23
  79. package/__cjs/cache/core/types/common.cjs +1 -0
  80. package/__cjs/cache/core/types/common.cjs.map +1 -1
  81. package/__cjs/cache/index.cjs +4 -4
  82. package/__cjs/cache/index.cjs.map +1 -1
  83. package/__cjs/cache/index.d.cts +3 -3
  84. package/__cjs/cache/inmemory/entityStore.cjs +9 -8
  85. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  86. package/__cjs/cache/inmemory/entityStore.d.cts +3 -2
  87. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -3
  88. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  89. package/__cjs/cache/inmemory/helpers.cjs +0 -8
  90. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  91. package/__cjs/cache/inmemory/helpers.d.cts +3 -4
  92. package/__cjs/cache/inmemory/inMemoryCache.cjs +4 -12
  93. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  94. package/__cjs/cache/inmemory/inMemoryCache.d.cts +8 -9
  95. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  96. package/__cjs/cache/inmemory/policies.cjs +9 -9
  97. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  98. package/__cjs/cache/inmemory/policies.d.cts +1 -1
  99. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  100. package/__cjs/cache/inmemory/reactiveVars.d.cts +7 -7
  101. package/__cjs/cache/inmemory/readFromStore.cjs +14 -56
  102. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  103. package/__cjs/cache/inmemory/readFromStore.d.cts +1 -6
  104. package/__cjs/cache/inmemory/types.d.cts +3 -17
  105. package/__cjs/cache/inmemory/writeToStore.cjs +8 -8
  106. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  107. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -2
  108. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +6 -4
  109. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +1 -1
  110. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +3 -3
  111. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +1 -1
  112. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +2 -3
  113. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +1 -1
  114. package/__cjs/config/jest/areServerErrorsEqual.cjs +22 -0
  115. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +1 -0
  116. package/__cjs/config/jest/areServerErrorsEqual.d.cts +3 -0
  117. package/__cjs/config/jest/resolver.cjs +11 -0
  118. package/__cjs/config/jest/resolver.cjs.map +1 -1
  119. package/__cjs/config/jest/setup.cjs +18 -1
  120. package/__cjs/config/jest/setup.cjs.map +1 -1
  121. package/__cjs/core/ApolloClient.cjs +37 -21
  122. package/__cjs/core/ApolloClient.cjs.map +1 -1
  123. package/__cjs/core/ApolloClient.d.cts +37 -27
  124. package/__cjs/core/LocalState.cjs +2 -3
  125. package/__cjs/core/LocalState.cjs.map +1 -1
  126. package/__cjs/core/LocalState.d.cts +7 -8
  127. package/__cjs/core/ObservableQuery.cjs +267 -103
  128. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  129. package/__cjs/core/ObservableQuery.d.cts +156 -17
  130. package/__cjs/core/QueryInfo.cjs +12 -86
  131. package/__cjs/core/QueryInfo.cjs.map +1 -1
  132. package/__cjs/core/QueryInfo.d.cts +2 -11
  133. package/__cjs/core/QueryManager.cjs +173 -128
  134. package/__cjs/core/QueryManager.cjs.map +1 -1
  135. package/__cjs/core/QueryManager.d.cts +51 -32
  136. package/__cjs/core/index.cjs +42 -21
  137. package/__cjs/core/index.cjs.map +1 -1
  138. package/__cjs/core/index.d.cts +12 -11
  139. package/__cjs/core/types.d.cts +65 -7
  140. package/__cjs/core/watchQueryOptions.d.cts +32 -119
  141. package/__cjs/errors/CombinedGraphQLErrors.cjs +30 -11
  142. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  143. package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
  144. package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
  145. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  146. package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
  147. package/__cjs/errors/LinkError.cjs +20 -0
  148. package/__cjs/errors/LinkError.cjs.map +1 -0
  149. package/__cjs/errors/LinkError.d.cts +14 -0
  150. package/__cjs/errors/ServerError.cjs +6 -0
  151. package/__cjs/errors/ServerError.cjs.map +1 -1
  152. package/__cjs/errors/ServerError.d.cts +2 -0
  153. package/__cjs/errors/ServerParseError.cjs +6 -0
  154. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  155. package/__cjs/errors/ServerParseError.d.cts +2 -0
  156. package/__cjs/errors/UnconventionalError.cjs +6 -0
  157. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  158. package/__cjs/errors/UnconventionalError.d.cts +2 -0
  159. package/__cjs/errors/index.cjs +19 -4
  160. package/__cjs/errors/index.cjs.map +1 -1
  161. package/__cjs/errors/index.d.cts +2 -3
  162. package/__cjs/errors/isErrorLike.cjs +12 -0
  163. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  164. package/__cjs/errors/isErrorLike.d.cts +3 -0
  165. package/__cjs/errors/utils.cjs +18 -0
  166. package/__cjs/errors/utils.cjs.map +1 -0
  167. package/__cjs/errors/utils.d.cts +3 -0
  168. package/__cjs/invariantErrorCodes.cjs +131 -138
  169. package/__cjs/link/batch/index.cjs +4 -2
  170. package/__cjs/link/batch/index.cjs.map +1 -1
  171. package/__cjs/link/batch/index.d.cts +2 -1
  172. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  173. package/__cjs/link/batch-http/batchHttpLink.d.cts +3 -2
  174. package/__cjs/link/batch-http/index.cjs +3 -2
  175. package/__cjs/link/batch-http/index.cjs.map +1 -1
  176. package/__cjs/link/batch-http/index.d.cts +1 -1
  177. package/__cjs/link/context/index.cjs.map +1 -1
  178. package/__cjs/link/context/index.d.cts +2 -3
  179. package/__cjs/link/core/ApolloLink.cjs +4 -22
  180. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  181. package/__cjs/link/core/ApolloLink.d.cts +3 -5
  182. package/__cjs/link/core/index.cjs.map +1 -1
  183. package/__cjs/link/core/index.d.cts +1 -1
  184. package/__cjs/link/core/types.d.cts +15 -4
  185. package/__cjs/link/error/index.cjs +13 -28
  186. package/__cjs/link/error/index.cjs.map +1 -1
  187. package/__cjs/link/error/index.d.cts +4 -15
  188. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  189. package/__cjs/link/http/HttpLink.d.cts +128 -3
  190. package/__cjs/link/http/checkFetcher.cjs +1 -1
  191. package/__cjs/link/http/createHttpLink.cjs +1 -1
  192. package/__cjs/link/http/createHttpLink.cjs.map +1 -1
  193. package/__cjs/link/http/createHttpLink.d.cts +3 -2
  194. package/__cjs/link/http/index.cjs.map +1 -1
  195. package/__cjs/link/http/index.d.cts +0 -1
  196. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +1 -1
  197. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  198. package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
  199. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  200. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +7 -82
  201. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  202. package/__cjs/link/persisted-queries/index.cjs +3 -3
  203. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  204. package/__cjs/link/persisted-queries/index.d.cts +14 -3
  205. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +1 -1
  206. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  207. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +10 -1
  208. package/__cjs/link/retry/index.cjs +3 -2
  209. package/__cjs/link/retry/index.cjs.map +1 -1
  210. package/__cjs/link/retry/index.d.cts +1 -1
  211. package/__cjs/link/subscriptions/index.cjs +3 -1
  212. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  213. package/__cjs/link/utils/createOperation.cjs +5 -1
  214. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  215. package/__cjs/link/utils/createOperation.d.cts +2 -2
  216. package/__cjs/link/utils/validateOperation.cjs +1 -1
  217. package/__cjs/masking/maskDefinition.cjs +2 -2
  218. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  219. package/__cjs/masking/maskDefinition.d.cts +1 -1
  220. package/__cjs/masking/maskFragment.cjs +2 -2
  221. package/__cjs/masking/maskFragment.cjs.map +1 -1
  222. package/__cjs/masking/maskFragment.d.cts +2 -2
  223. package/__cjs/masking/maskOperation.cjs +1 -1
  224. package/__cjs/masking/maskOperation.cjs.map +1 -1
  225. package/__cjs/masking/maskOperation.d.cts +2 -2
  226. package/__cjs/masking/utils.cjs +1 -1
  227. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  228. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -1
  229. package/__cjs/react/context/ApolloConsumer.d.cts +7 -4
  230. package/__cjs/react/context/ApolloContext.cjs +1 -1
  231. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  232. package/__cjs/react/context/ApolloContext.d.cts +4 -4
  233. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  234. package/__cjs/react/context/ApolloProvider.cjs.map +1 -1
  235. package/__cjs/react/context/ApolloProvider.d.cts +7 -5
  236. package/__cjs/react/hooks/internal/__use.d.cts +3 -1
  237. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.d.cts +1 -1
  238. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  239. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  240. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  241. package/__cjs/react/hooks/internal/wrapHook.cjs +26 -5
  242. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  243. package/__cjs/react/hooks/internal/wrapHook.d.cts +7 -5
  244. package/__cjs/react/hooks/useApolloClient.cjs +2 -2
  245. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  246. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  247. package/__cjs/react/hooks/useBackgroundQuery.cjs +2 -2
  248. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  249. package/__cjs/react/hooks/useBackgroundQuery.d.cts +143 -46
  250. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  251. package/__cjs/react/hooks/useFragment.d.cts +51 -26
  252. package/__cjs/react/hooks/useLazyQuery.cjs +31 -32
  253. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  254. package/__cjs/react/hooks/useLazyQuery.d.cts +278 -276
  255. package/__cjs/react/hooks/useLoadableQuery.cjs +21 -2
  256. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  257. package/__cjs/react/hooks/useLoadableQuery.d.cts +106 -34
  258. package/__cjs/react/hooks/useMutation.cjs +14 -21
  259. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  260. package/__cjs/react/hooks/useMutation.d.cts +231 -4
  261. package/__cjs/react/hooks/useQuery.cjs +87 -206
  262. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  263. package/__cjs/react/hooks/useQuery.d.cts +274 -4
  264. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  265. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +23 -22
  266. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  267. package/__cjs/react/hooks/useReactiveVar.d.cts +1 -1
  268. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  269. package/__cjs/react/hooks/useReadQuery.d.cts +27 -25
  270. package/__cjs/react/hooks/useSubscription.cjs +9 -60
  271. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  272. package/__cjs/react/hooks/useSubscription.d.cts +94 -3
  273. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  274. package/__cjs/react/hooks/useSuspenseFragment.d.cts +40 -38
  275. package/__cjs/react/hooks/useSuspenseQuery.cjs +7 -32
  276. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  277. package/__cjs/react/hooks/useSuspenseQuery.d.cts +199 -38
  278. package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
  279. package/__cjs/react/index.cjs +37 -11
  280. package/__cjs/react/index.cjs.map +1 -1
  281. package/__cjs/react/index.d.cts +22 -6
  282. package/__cjs/react/index.react-server.cjs +1 -5
  283. package/__cjs/react/index.react-server.cjs.map +1 -1
  284. package/__cjs/react/index.react-server.d.cts +0 -1
  285. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  286. package/__cjs/react/internal/cache/FragmentReference.d.cts +3 -3
  287. package/__cjs/react/internal/cache/QueryReference.cjs +3 -14
  288. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  289. package/__cjs/react/internal/cache/QueryReference.d.cts +7 -7
  290. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  291. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  292. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  293. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +4 -4
  294. package/__cjs/react/internal/index.cjs +3 -1
  295. package/__cjs/react/internal/index.cjs.map +1 -1
  296. package/__cjs/react/internal/index.d.cts +2 -0
  297. package/__cjs/react/internal/types.d.cts +9 -0
  298. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -0
  299. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  300. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +6 -45
  301. package/__cjs/react/ssr/getDataFromTree.cjs +24 -30
  302. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  303. package/__cjs/react/ssr/getDataFromTree.d.cts +12 -1
  304. package/__cjs/react/ssr/index.cjs +3 -3
  305. package/__cjs/react/ssr/index.cjs.map +1 -1
  306. package/__cjs/react/ssr/index.d.cts +1 -1
  307. package/__cjs/react/ssr/prerenderStatic.cjs +151 -0
  308. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -0
  309. package/__cjs/react/ssr/prerenderStatic.d.cts +122 -0
  310. package/__cjs/react/ssr/renderToStringWithData.cjs +11 -5
  311. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  312. package/__cjs/react/ssr/renderToStringWithData.d.cts +5 -0
  313. package/__cjs/react/ssr/useSSRQuery.cjs +60 -0
  314. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  315. package/__cjs/react/ssr/useSSRQuery.d.cts +5 -0
  316. package/__cjs/{utilities/types/TODO.cjs → react/types/deprecated.cjs} +1 -1
  317. package/__cjs/react/types/deprecated.cjs.map +1 -0
  318. package/__cjs/react/types/deprecated.d.cts +75 -0
  319. package/__cjs/react/types/types.documentation.d.cts +6 -34
  320. package/__cjs/testing/core/index.cjs +6 -3
  321. package/__cjs/testing/core/index.cjs.map +1 -1
  322. package/__cjs/testing/core/index.d.cts +3 -3
  323. package/__cjs/testing/core/mocking/mockClient.cjs +3 -4
  324. package/__cjs/testing/core/mocking/mockClient.cjs.map +1 -1
  325. package/__cjs/testing/core/mocking/mockClient.d.cts +2 -3
  326. package/__cjs/testing/core/mocking/mockLink.cjs +118 -112
  327. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  328. package/__cjs/testing/core/mocking/mockLink.d.cts +26 -7
  329. package/__cjs/testing/experimental/createSchemaFetch.cjs +4 -4
  330. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +1 -1
  331. package/__cjs/testing/experimental/createTestSchema.cjs.map +1 -1
  332. package/__cjs/testing/experimental/createTestSchema.d.cts +1 -1
  333. package/__cjs/testing/index.cjs +13 -2
  334. package/__cjs/testing/index.cjs.map +1 -1
  335. package/__cjs/testing/index.d.cts +2 -1
  336. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -1
  337. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +1 -1
  338. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -1
  339. package/__cjs/testing/internal/disposables/withProdMode.d.cts +1 -1
  340. package/__cjs/testing/internal/incremental.cjs.map +1 -1
  341. package/__cjs/testing/internal/incremental.d.cts +4 -3
  342. package/__cjs/testing/internal/index.cjs +17 -8
  343. package/__cjs/testing/internal/index.cjs.map +1 -1
  344. package/__cjs/testing/internal/index.d.cts +5 -3
  345. package/__cjs/testing/internal/link.cjs +16 -0
  346. package/__cjs/testing/internal/link.cjs.map +1 -0
  347. package/__cjs/testing/internal/link.d.cts +5 -0
  348. package/__cjs/testing/internal/renderHelpers.cjs.map +1 -1
  349. package/__cjs/testing/internal/renderHelpers.d.cts +3 -3
  350. package/__cjs/testing/internal/resetApolloContext.cjs +24 -0
  351. package/__cjs/testing/internal/resetApolloContext.cjs.map +1 -0
  352. package/__cjs/testing/internal/resetApolloContext.d.cts +10 -0
  353. package/__cjs/testing/internal/scenarios/index.cjs +9 -7
  354. package/__cjs/testing/internal/scenarios/index.cjs.map +1 -1
  355. package/__cjs/testing/internal/scenarios/index.d.cts +14 -5
  356. package/__cjs/testing/matchers/arrayWithLength.cjs +15 -0
  357. package/__cjs/testing/matchers/arrayWithLength.cjs.map +1 -0
  358. package/__cjs/testing/matchers/arrayWithLength.d.cts +3 -0
  359. package/__cjs/testing/matchers/index.cjs +6 -18
  360. package/__cjs/testing/matchers/index.cjs.map +1 -1
  361. package/__cjs/testing/matchers/isSameClient.cjs +19 -0
  362. package/__cjs/testing/matchers/isSameClient.cjs.map +1 -0
  363. package/__cjs/testing/matchers/isSameClient.d.cts +3 -0
  364. package/__cjs/testing/matchers/isSameObservableQuery.cjs +19 -0
  365. package/__cjs/testing/matchers/isSameObservableQuery.cjs.map +1 -0
  366. package/__cjs/testing/matchers/isSameObservableQuery.d.cts +3 -0
  367. package/__cjs/testing/matchers/toComplete.cjs.map +1 -1
  368. package/__cjs/testing/matchers/toEmitAnything.cjs.map +1 -1
  369. package/__cjs/testing/matchers/toEmitError.cjs.map +1 -1
  370. package/__cjs/testing/matchers/toEmitNext.cjs.map +1 -1
  371. package/__cjs/testing/matchers/{toEmitFetchResult.cjs → toEmitTypedValue.cjs} +9 -7
  372. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +1 -0
  373. package/__cjs/testing/matchers/{toEmitValueStrict.d.cts → toEmitTypedValue.d.cts} +2 -2
  374. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +2 -2
  375. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +1 -1
  376. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +1 -1
  377. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  378. package/__cjs/testing/matchers/toMatchDocument.d.cts +1 -1
  379. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +32 -0
  380. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +1 -0
  381. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +8 -0
  382. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +24 -0
  383. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -0
  384. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +4 -0
  385. package/__cjs/testing/react/MockedProvider.cjs +11 -7
  386. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  387. package/__cjs/testing/react/MockedProvider.d.cts +8 -6
  388. package/__cjs/utilities/caching/sizes.cjs +2 -2
  389. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  390. package/__cjs/utilities/caching/sizes.d.cts +2 -20
  391. package/__cjs/utilities/common/errorHandling.d.cts +1 -1
  392. package/__cjs/utilities/common/mergeOptions.cjs.map +1 -1
  393. package/__cjs/utilities/common/mergeOptions.d.cts +1 -1
  394. package/__cjs/utilities/graphql/getFromAST.cjs +15 -6
  395. package/__cjs/utilities/graphql/getFromAST.cjs.map +1 -1
  396. package/__cjs/utilities/graphql/getFromAST.d.cts +2 -2
  397. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  398. package/__cjs/utilities/graphql/operations.d.cts +1 -1
  399. package/__cjs/utilities/graphql/storeUtils.cjs +1 -1
  400. package/__cjs/utilities/graphql/transform.cjs +2 -2
  401. package/__cjs/utilities/index.cjs +39 -19
  402. package/__cjs/utilities/index.cjs.map +1 -1
  403. package/__cjs/utilities/index.d.cts +16 -15
  404. package/__cjs/utilities/internal/getMemoryInternals.cjs +0 -2
  405. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  406. package/__cjs/utilities/internal/getMemoryInternals.d.cts +1 -2
  407. package/__cjs/utilities/internal/index.cjs +3 -1
  408. package/__cjs/utilities/internal/index.cjs.map +1 -1
  409. package/__cjs/utilities/internal/index.d.cts +1 -0
  410. package/__cjs/utilities/internal/index.production.cjs +1 -0
  411. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  412. package/__cjs/utilities/internal/toQueryResult.cjs +13 -0
  413. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -0
  414. package/__cjs/utilities/internal/toQueryResult.d.cts +3 -0
  415. package/__cjs/utilities/invariant/index.development.cjs +1 -0
  416. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  417. package/__cjs/utilities/subscriptions/relay/index.cjs +2 -2
  418. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  419. package/__cjs/utilities/subscriptions/relay/index.d.cts +1 -1
  420. package/__cjs/utilities/types/NoInfer.d.cts +1 -1
  421. package/__cjs/utilities/types/{OnlyRequiredProperties.cjs → VariablesOption.cjs} +1 -1
  422. package/__cjs/utilities/types/VariablesOption.cjs.map +1 -0
  423. package/__cjs/utilities/types/VariablesOption.d.cts +25 -0
  424. package/__cjs/version.cjs +1 -1
  425. package/__cjs/version.cjs.map +1 -1
  426. package/__cjs/version.d.cts +1 -1
  427. package/cache/core/cache.d.ts +18 -18
  428. package/cache/core/cache.js +1 -1
  429. package/cache/core/cache.js.map +1 -1
  430. package/cache/core/types/Cache.d.ts +9 -16
  431. package/cache/core/types/Cache.js.map +1 -1
  432. package/cache/core/types/DataProxy.d.ts +8 -23
  433. package/cache/core/types/common.js +1 -0
  434. package/cache/core/types/common.js.map +1 -1
  435. package/cache/index.d.ts +3 -3
  436. package/cache/index.js +1 -1
  437. package/cache/index.js.map +1 -1
  438. package/cache/inmemory/entityStore.d.ts +3 -2
  439. package/cache/inmemory/entityStore.js +9 -8
  440. package/cache/inmemory/entityStore.js.map +1 -1
  441. package/cache/inmemory/fragmentRegistry.js +1 -1
  442. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  443. package/cache/inmemory/helpers.d.ts +0 -1
  444. package/cache/inmemory/helpers.js +0 -7
  445. package/cache/inmemory/helpers.js.map +1 -1
  446. package/cache/inmemory/inMemoryCache.d.ts +8 -9
  447. package/cache/inmemory/inMemoryCache.js +4 -12
  448. package/cache/inmemory/inMemoryCache.js.map +1 -1
  449. package/cache/inmemory/key-extractor.js +1 -1
  450. package/cache/inmemory/policies.d.ts +1 -1
  451. package/cache/inmemory/policies.js +9 -9
  452. package/cache/inmemory/policies.js.map +1 -1
  453. package/cache/inmemory/reactiveVars.d.ts +7 -7
  454. package/cache/inmemory/reactiveVars.js.map +1 -1
  455. package/cache/inmemory/readFromStore.d.ts +1 -6
  456. package/cache/inmemory/readFromStore.js +14 -56
  457. package/cache/inmemory/readFromStore.js.map +1 -1
  458. package/cache/inmemory/types.d.ts +3 -17
  459. package/cache/inmemory/writeToStore.d.ts +2 -2
  460. package/cache/inmemory/writeToStore.js +8 -8
  461. package/cache/inmemory/writeToStore.js.map +1 -1
  462. package/config/jest/areCombinedGraphQLErrorsEqual.js +6 -4
  463. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +1 -1
  464. package/config/jest/areCombinedProtocolErrorsEqual.js +3 -3
  465. package/config/jest/areCombinedProtocolErrorsEqual.js.map +1 -1
  466. package/config/jest/areMissingFieldErrorsEqual.js +2 -3
  467. package/config/jest/areMissingFieldErrorsEqual.js.map +1 -1
  468. package/config/jest/areServerErrorsEqual.d.ts +3 -0
  469. package/config/jest/areServerErrorsEqual.js +18 -0
  470. package/config/jest/areServerErrorsEqual.js.map +1 -0
  471. package/config/jest/resolver.js +12 -1
  472. package/config/jest/resolver.js.map +1 -1
  473. package/config/jest/setup.js +19 -2
  474. package/config/jest/setup.js.map +1 -1
  475. package/core/ApolloClient.d.ts +37 -27
  476. package/core/ApolloClient.js +38 -22
  477. package/core/ApolloClient.js.map +1 -1
  478. package/core/LocalState.d.ts +5 -6
  479. package/core/LocalState.js +2 -3
  480. package/core/LocalState.js.map +1 -1
  481. package/core/ObservableQuery.d.ts +156 -17
  482. package/core/ObservableQuery.js +266 -101
  483. package/core/ObservableQuery.js.map +1 -1
  484. package/core/QueryInfo.d.ts +2 -11
  485. package/core/QueryInfo.js +12 -86
  486. package/core/QueryInfo.js.map +1 -1
  487. package/core/QueryManager.d.ts +38 -29
  488. package/core/QueryManager.js +176 -131
  489. package/core/QueryManager.js.map +1 -1
  490. package/core/index.d.ts +12 -11
  491. package/core/index.js +9 -6
  492. package/core/index.js.map +1 -1
  493. package/core/types.d.ts +65 -7
  494. package/core/watchQueryOptions.d.ts +32 -119
  495. package/errors/CombinedGraphQLErrors.d.ts +21 -2
  496. package/errors/CombinedGraphQLErrors.js +30 -11
  497. package/errors/CombinedGraphQLErrors.js.map +1 -1
  498. package/errors/CombinedProtocolErrors.d.ts +9 -0
  499. package/errors/CombinedProtocolErrors.js +13 -6
  500. package/errors/CombinedProtocolErrors.js.map +1 -1
  501. package/errors/LinkError.d.ts +14 -0
  502. package/errors/LinkError.js +16 -0
  503. package/errors/LinkError.js.map +1 -0
  504. package/errors/ServerError.d.ts +2 -0
  505. package/errors/ServerError.js +6 -0
  506. package/errors/ServerError.js.map +1 -1
  507. package/errors/ServerParseError.d.ts +2 -0
  508. package/errors/ServerParseError.js +6 -0
  509. package/errors/ServerParseError.js.map +1 -1
  510. package/errors/UnconventionalError.d.ts +2 -0
  511. package/errors/UnconventionalError.js +6 -0
  512. package/errors/UnconventionalError.js.map +1 -1
  513. package/errors/index.d.ts +2 -3
  514. package/errors/index.js +13 -1
  515. package/errors/index.js.map +1 -1
  516. package/errors/isErrorLike.d.ts +3 -0
  517. package/errors/isErrorLike.js +9 -0
  518. package/errors/isErrorLike.js.map +1 -0
  519. package/errors/utils.d.ts +3 -0
  520. package/errors/utils.js +14 -0
  521. package/errors/utils.js.map +1 -0
  522. package/invariantErrorCodes.js +131 -138
  523. package/legacyEntryPoints/testing/internal/index.d.ts +1 -0
  524. package/legacyEntryPoints/testing/internal/index.js +1 -0
  525. package/legacyEntryPoints/testing/internal/internal.cjs +1 -0
  526. package/legacyEntryPoints/testing/internal/internal.d.cts +1 -0
  527. package/link/batch/index.d.ts +2 -1
  528. package/link/batch/index.js +1 -1
  529. package/link/batch/index.js.map +1 -1
  530. package/link/batch-http/batchHttpLink.d.ts +3 -2
  531. package/link/batch-http/batchHttpLink.js.map +1 -1
  532. package/link/batch-http/index.d.ts +1 -1
  533. package/link/batch-http/index.js +1 -1
  534. package/link/batch-http/index.js.map +1 -1
  535. package/link/context/index.d.ts +2 -3
  536. package/link/context/index.js.map +1 -1
  537. package/link/core/ApolloLink.d.ts +3 -5
  538. package/link/core/ApolloLink.js +4 -22
  539. package/link/core/ApolloLink.js.map +1 -1
  540. package/link/core/index.d.ts +1 -1
  541. package/link/core/index.js.map +1 -1
  542. package/link/core/types.d.ts +15 -4
  543. package/link/error/index.d.ts +4 -15
  544. package/link/error/index.js +14 -29
  545. package/link/error/index.js.map +1 -1
  546. package/link/http/HttpLink.d.ts +128 -3
  547. package/link/http/HttpLink.js.map +1 -1
  548. package/link/http/checkFetcher.js +1 -1
  549. package/link/http/createHttpLink.d.ts +2 -2
  550. package/link/http/createHttpLink.js +1 -1
  551. package/link/http/createHttpLink.js.map +1 -1
  552. package/link/http/index.d.ts +0 -1
  553. package/link/http/index.js.map +1 -1
  554. package/link/http/parseAndCheckHttpResponse.js +1 -1
  555. package/link/http/rewriteURIForGET.d.ts +2 -2
  556. package/link/http/rewriteURIForGET.js.map +1 -1
  557. package/link/http/selectHttpOptionsAndBody.d.ts +7 -82
  558. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  559. package/link/http/serializeFetchParameter.js +1 -1
  560. package/link/persisted-queries/index.d.ts +2 -2
  561. package/link/persisted-queries/index.js +3 -3
  562. package/link/persisted-queries/index.js.map +1 -1
  563. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  564. package/link/retry/index.d.ts +1 -1
  565. package/link/retry/index.js +1 -1
  566. package/link/retry/index.js.map +1 -1
  567. package/link/subscriptions/index.js +3 -1
  568. package/link/subscriptions/index.js.map +1 -1
  569. package/link/utils/createOperation.d.ts +2 -2
  570. package/link/utils/createOperation.js +5 -1
  571. package/link/utils/createOperation.js.map +1 -1
  572. package/link/utils/validateOperation.js +1 -1
  573. package/masking/maskDefinition.d.ts +1 -1
  574. package/masking/maskDefinition.js +2 -2
  575. package/masking/maskDefinition.js.map +1 -1
  576. package/masking/maskFragment.d.ts +2 -2
  577. package/masking/maskFragment.js +2 -2
  578. package/masking/maskFragment.js.map +1 -1
  579. package/masking/maskOperation.d.ts +2 -2
  580. package/masking/maskOperation.js +1 -1
  581. package/masking/maskOperation.js.map +1 -1
  582. package/masking/utils.js +1 -1
  583. package/package.json +20 -40
  584. package/react/context/ApolloConsumer.d.ts +7 -4
  585. package/react/context/ApolloConsumer.js +1 -1
  586. package/react/context/ApolloConsumer.js.map +1 -1
  587. package/react/context/ApolloContext.d.ts +4 -4
  588. package/react/context/ApolloContext.js +1 -1
  589. package/react/context/ApolloContext.js.map +1 -1
  590. package/react/context/ApolloProvider.d.ts +7 -5
  591. package/react/context/ApolloProvider.js +1 -1
  592. package/react/context/ApolloProvider.js.map +1 -1
  593. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  594. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  595. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  596. package/react/hooks/internal/wrapHook.d.ts +7 -5
  597. package/react/hooks/internal/wrapHook.js +24 -5
  598. package/react/hooks/internal/wrapHook.js.map +1 -1
  599. package/react/hooks/useApolloClient.d.ts +2 -2
  600. package/react/hooks/useApolloClient.js +1 -1
  601. package/react/hooks/useApolloClient.js.map +1 -1
  602. package/react/hooks/useBackgroundQuery.d.ts +143 -46
  603. package/react/hooks/useBackgroundQuery.js +2 -2
  604. package/react/hooks/useBackgroundQuery.js.map +1 -1
  605. package/react/hooks/useFragment.d.ts +51 -26
  606. package/react/hooks/useFragment.js.map +1 -1
  607. package/react/hooks/useLazyQuery.d.ts +278 -276
  608. package/react/hooks/useLazyQuery.js +30 -31
  609. package/react/hooks/useLazyQuery.js.map +1 -1
  610. package/react/hooks/useLoadableQuery.d.ts +106 -34
  611. package/react/hooks/useLoadableQuery.js +21 -2
  612. package/react/hooks/useLoadableQuery.js.map +1 -1
  613. package/react/hooks/useMutation.d.ts +231 -4
  614. package/react/hooks/useMutation.js +14 -21
  615. package/react/hooks/useMutation.js.map +1 -1
  616. package/react/hooks/useQuery.d.ts +274 -4
  617. package/react/hooks/useQuery.js +86 -205
  618. package/react/hooks/useQuery.js.map +1 -1
  619. package/react/hooks/useQueryRefHandlers.d.ts +23 -22
  620. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  621. package/react/hooks/useReactiveVar.d.ts +1 -1
  622. package/react/hooks/useReactiveVar.js.map +1 -1
  623. package/react/hooks/useReadQuery.d.ts +27 -25
  624. package/react/hooks/useReadQuery.js.map +1 -1
  625. package/react/hooks/useSubscription.d.ts +94 -9
  626. package/react/hooks/useSubscription.js +8 -56
  627. package/react/hooks/useSubscription.js.map +1 -1
  628. package/react/hooks/useSuspenseFragment.d.ts +40 -38
  629. package/react/hooks/useSuspenseFragment.js.map +1 -1
  630. package/react/hooks/useSuspenseQuery.d.ts +199 -38
  631. package/react/hooks/useSuspenseQuery.js +5 -26
  632. package/react/hooks/useSuspenseQuery.js.map +1 -1
  633. package/react/hooks/useSyncExternalStore.js +1 -1
  634. package/react/index.d.ts +22 -6
  635. package/react/index.js +18 -3
  636. package/react/index.js.map +1 -1
  637. package/react/index.react-server.d.ts +0 -1
  638. package/react/index.react-server.js +0 -1
  639. package/react/index.react-server.js.map +1 -1
  640. package/react/internal/cache/FragmentReference.d.ts +3 -3
  641. package/react/internal/cache/FragmentReference.js.map +1 -1
  642. package/react/internal/cache/QueryReference.d.ts +5 -5
  643. package/react/internal/cache/QueryReference.js +3 -14
  644. package/react/internal/cache/QueryReference.js.map +1 -1
  645. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  646. package/react/internal/cache/SuspenseCache.js.map +1 -1
  647. package/react/internal/cache/getSuspenseCache.d.ts +3 -3
  648. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  649. package/react/internal/index.d.ts +2 -0
  650. package/react/internal/index.js +2 -1
  651. package/react/internal/index.js.map +1 -1
  652. package/react/internal/types.d.ts +9 -0
  653. package/react/query-preloader/createQueryPreloader.d.ts +6 -45
  654. package/react/query-preloader/createQueryPreloader.js +1 -0
  655. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  656. package/react/ssr/getDataFromTree.d.ts +12 -1
  657. package/react/ssr/getDataFromTree.js +24 -29
  658. package/react/ssr/getDataFromTree.js.map +1 -1
  659. package/react/ssr/index.d.ts +1 -1
  660. package/react/ssr/index.js +1 -1
  661. package/react/ssr/index.js.map +1 -1
  662. package/react/ssr/prerenderStatic.d.ts +122 -0
  663. package/react/ssr/prerenderStatic.js +147 -0
  664. package/react/ssr/prerenderStatic.js.map +1 -0
  665. package/react/ssr/renderToStringWithData.d.ts +5 -0
  666. package/react/ssr/renderToStringWithData.js +11 -5
  667. package/react/ssr/renderToStringWithData.js.map +1 -1
  668. package/react/ssr/useSSRQuery.d.ts +5 -0
  669. package/react/ssr/useSSRQuery.js +56 -0
  670. package/react/ssr/useSSRQuery.js.map +1 -0
  671. package/react/types/deprecated.d.ts +75 -0
  672. package/react/types/deprecated.js +2 -0
  673. package/react/types/deprecated.js.map +1 -0
  674. package/react/types/types.documentation.d.ts +6 -34
  675. package/testing/core/index.d.ts +3 -3
  676. package/testing/core/index.js +2 -2
  677. package/testing/core/index.js.map +1 -1
  678. package/testing/core/mocking/mockClient.d.ts +2 -3
  679. package/testing/core/mocking/mockClient.js +2 -3
  680. package/testing/core/mocking/mockClient.js.map +1 -1
  681. package/testing/core/mocking/mockLink.d.ts +26 -7
  682. package/testing/core/mocking/mockLink.js +117 -113
  683. package/testing/core/mocking/mockLink.js.map +1 -1
  684. package/testing/experimental/createSchemaFetch.js +2 -2
  685. package/testing/experimental/createSchemaFetch.js.map +1 -1
  686. package/testing/experimental/createTestSchema.d.ts +1 -1
  687. package/testing/experimental/createTestSchema.js.map +1 -1
  688. package/testing/index.d.ts +2 -1
  689. package/testing/index.js +1 -1
  690. package/testing/index.js.map +1 -1
  691. package/testing/internal/disposables/spyOnConsole.d.ts +0 -1
  692. package/testing/internal/disposables/spyOnConsole.js +0 -1
  693. package/testing/internal/disposables/spyOnConsole.js.map +1 -1
  694. package/testing/internal/incremental.d.ts +1 -1
  695. package/testing/internal/incremental.js.map +1 -1
  696. package/testing/internal/index.d.ts +5 -3
  697. package/testing/internal/index.js +5 -3
  698. package/testing/internal/index.js.map +1 -1
  699. package/testing/internal/link.d.ts +5 -0
  700. package/testing/internal/link.js +12 -0
  701. package/testing/internal/link.js.map +1 -0
  702. package/testing/internal/renderHelpers.d.ts +3 -3
  703. package/testing/internal/renderHelpers.js.map +1 -1
  704. package/testing/internal/resetApolloContext.d.ts +10 -0
  705. package/testing/internal/resetApolloContext.js +20 -0
  706. package/testing/internal/resetApolloContext.js.map +1 -0
  707. package/testing/internal/scenarios/index.d.ts +6 -8
  708. package/testing/internal/scenarios/index.js +4 -2
  709. package/testing/internal/scenarios/index.js.map +1 -1
  710. package/testing/matchers/arrayWithLength.d.ts +3 -0
  711. package/testing/matchers/arrayWithLength.js +11 -0
  712. package/testing/matchers/arrayWithLength.js.map +1 -0
  713. package/testing/matchers/index.js +6 -18
  714. package/testing/matchers/index.js.map +1 -1
  715. package/testing/matchers/isSameClient.d.ts +3 -0
  716. package/testing/matchers/isSameClient.js +15 -0
  717. package/testing/matchers/isSameClient.js.map +1 -0
  718. package/testing/matchers/isSameObservableQuery.d.ts +3 -0
  719. package/testing/matchers/isSameObservableQuery.js +15 -0
  720. package/testing/matchers/isSameObservableQuery.js.map +1 -0
  721. package/testing/matchers/toComplete.js.map +1 -1
  722. package/testing/matchers/toEmitAnything.js.map +1 -1
  723. package/testing/matchers/toEmitError.js.map +1 -1
  724. package/testing/matchers/toEmitNext.js.map +1 -1
  725. package/testing/matchers/{toEmitValueStrict.d.ts → toEmitTypedValue.d.ts} +2 -2
  726. package/testing/matchers/{toEmitFetchResult.js → toEmitTypedValue.js} +7 -5
  727. package/testing/matchers/toEmitTypedValue.js.map +1 -0
  728. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +1 -1
  729. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +1 -1
  730. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +1 -1
  731. package/testing/matchers/toMatchDocument.d.ts +1 -1
  732. package/testing/matchers/toMatchDocument.js.map +1 -1
  733. package/testing/matchers/toStrictEqualTyped.d.ts +8 -0
  734. package/testing/matchers/toStrictEqualTyped.js +28 -0
  735. package/testing/matchers/toStrictEqualTyped.js.map +1 -0
  736. package/testing/matchers/utils/getSerializableProperties.d.ts +4 -0
  737. package/testing/matchers/utils/getSerializableProperties.js +21 -0
  738. package/testing/matchers/utils/getSerializableProperties.js.map +1 -0
  739. package/testing/react/MockedProvider.d.ts +8 -6
  740. package/testing/react/MockedProvider.js +8 -4
  741. package/testing/react/MockedProvider.js.map +1 -1
  742. package/utilities/caching/sizes.d.ts +2 -20
  743. package/utilities/caching/sizes.js +2 -2
  744. package/utilities/caching/sizes.js.map +1 -1
  745. package/utilities/common/mergeOptions.d.ts +1 -1
  746. package/utilities/common/mergeOptions.js.map +1 -1
  747. package/utilities/graphql/getFromAST.d.ts +2 -2
  748. package/utilities/graphql/getFromAST.js +15 -6
  749. package/utilities/graphql/getFromAST.js.map +1 -1
  750. package/utilities/graphql/operations.d.ts +1 -1
  751. package/utilities/graphql/operations.js.map +1 -1
  752. package/utilities/graphql/storeUtils.js +1 -1
  753. package/utilities/graphql/transform.js +2 -2
  754. package/utilities/index.d.ts +16 -15
  755. package/utilities/index.js +12 -12
  756. package/utilities/index.js.map +1 -1
  757. package/utilities/internal/getMemoryInternals.d.ts +0 -1
  758. package/utilities/internal/getMemoryInternals.js +0 -2
  759. package/utilities/internal/getMemoryInternals.js.map +1 -1
  760. package/utilities/internal/index.d.ts +1 -0
  761. package/utilities/internal/index.js +2 -1
  762. package/utilities/internal/index.js.map +1 -1
  763. package/utilities/internal/index.production.js +1 -0
  764. package/utilities/internal/index.production.js.map +1 -1
  765. package/utilities/internal/toQueryResult.d.ts +3 -0
  766. package/utilities/internal/toQueryResult.js +10 -0
  767. package/utilities/internal/toQueryResult.js.map +1 -0
  768. package/utilities/invariant/index.development.js +1 -0
  769. package/utilities/invariant/index.development.js.map +1 -1
  770. package/utilities/subscriptions/relay/index.d.ts +1 -1
  771. package/utilities/subscriptions/relay/index.js +1 -1
  772. package/utilities/subscriptions/relay/index.js.map +1 -1
  773. package/utilities/types/NoInfer.d.ts +1 -1
  774. package/utilities/types/VariablesOption.d.ts +25 -0
  775. package/utilities/types/VariablesOption.js +2 -0
  776. package/utilities/types/VariablesOption.js.map +1 -0
  777. package/version.d.ts +1 -1
  778. package/version.js +1 -1
  779. package/version.js.map +1 -1
  780. package/__cjs/cache/inmemory/object-canon.cjs +0 -180
  781. package/__cjs/cache/inmemory/object-canon.cjs.map +0 -1
  782. package/__cjs/cache/inmemory/object-canon.d.cts +0 -12
  783. package/__cjs/index.cjs +0 -8
  784. package/__cjs/index.cjs.map +0 -1
  785. package/__cjs/index.d.cts +0 -3
  786. package/__cjs/react/context/index.cjs +0 -10
  787. package/__cjs/react/context/index.cjs.map +0 -1
  788. package/__cjs/react/context/index.d.cts +0 -7
  789. package/__cjs/react/hooks/index.cjs +0 -27
  790. package/__cjs/react/hooks/index.cjs.map +0 -1
  791. package/__cjs/react/hooks/index.d.cts +0 -22
  792. package/__cjs/react/parser/index.cjs +0 -115
  793. package/__cjs/react/parser/index.cjs.map +0 -1
  794. package/__cjs/react/parser/index.d.cts +0 -18
  795. package/__cjs/react/ssr/RenderPromises.cjs +0 -104
  796. package/__cjs/react/ssr/RenderPromises.cjs.map +0 -1
  797. package/__cjs/react/ssr/RenderPromises.d.cts +0 -22
  798. package/__cjs/react/types/types.d.cts +0 -689
  799. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs +0 -40
  800. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs.map +0 -1
  801. package/__cjs/testing/matchers/toEmitApolloQueryResult.d.cts +0 -8
  802. package/__cjs/testing/matchers/toEmitFetchResult.cjs.map +0 -1
  803. package/__cjs/testing/matchers/toEmitFetchResult.d.cts +0 -8
  804. package/__cjs/testing/matchers/toEmitMatchedValue.cjs +0 -40
  805. package/__cjs/testing/matchers/toEmitMatchedValue.cjs.map +0 -1
  806. package/__cjs/testing/matchers/toEmitMatchedValue.d.cts +0 -7
  807. package/__cjs/testing/matchers/toEmitValue.cjs +0 -41
  808. package/__cjs/testing/matchers/toEmitValue.cjs.map +0 -1
  809. package/__cjs/testing/matchers/toEmitValue.d.cts +0 -4
  810. package/__cjs/testing/matchers/toEmitValueStrict.cjs +0 -46
  811. package/__cjs/testing/matchers/toEmitValueStrict.cjs.map +0 -1
  812. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs +0 -24
  813. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs.map +0 -1
  814. package/__cjs/testing/matchers/toEqualApolloQueryResult.d.cts +0 -6
  815. package/__cjs/testing/matchers/toEqualFetchResult.cjs +0 -24
  816. package/__cjs/testing/matchers/toEqualFetchResult.cjs.map +0 -1
  817. package/__cjs/testing/matchers/toEqualFetchResult.d.cts +0 -4
  818. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs +0 -40
  819. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs.map +0 -1
  820. package/__cjs/testing/matchers/toEqualLazyQueryResult.d.cts +0 -10
  821. package/__cjs/testing/matchers/toEqualQueryResult.cjs +0 -40
  822. package/__cjs/testing/matchers/toEqualQueryResult.cjs.map +0 -1
  823. package/__cjs/testing/matchers/toEqualQueryResult.d.cts +0 -9
  824. package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
  825. package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
  826. package/__cjs/utilities/types/TODO.cjs.map +0 -1
  827. package/__cjs/utilities/types/TODO.d.cts +0 -3
  828. package/cache/inmemory/object-canon.d.ts +0 -12
  829. package/cache/inmemory/object-canon.js +0 -176
  830. package/cache/inmemory/object-canon.js.map +0 -1
  831. package/index.d.ts +0 -3
  832. package/index.js +0 -3
  833. package/index.js.map +0 -1
  834. package/legacyEntryPoints/react/context/context.cjs +0 -1
  835. package/legacyEntryPoints/react/context/context.d.cts +0 -1
  836. package/legacyEntryPoints/react/context/index.d.ts +0 -1
  837. package/legacyEntryPoints/react/context/index.js +0 -1
  838. package/legacyEntryPoints/react/hooks/hooks.cjs +0 -1
  839. package/legacyEntryPoints/react/hooks/hooks.d.cts +0 -1
  840. package/legacyEntryPoints/react/hooks/index.d.ts +0 -1
  841. package/legacyEntryPoints/react/hooks/index.js +0 -1
  842. package/legacyEntryPoints/react/parser/index.d.ts +0 -1
  843. package/legacyEntryPoints/react/parser/index.js +0 -1
  844. package/legacyEntryPoints/react/parser/parser.cjs +0 -1
  845. package/legacyEntryPoints/react/parser/parser.d.cts +0 -1
  846. package/react/context/index.d.ts +0 -7
  847. package/react/context/index.js +0 -4
  848. package/react/context/index.js.map +0 -1
  849. package/react/hooks/index.d.ts +0 -22
  850. package/react/hooks/index.js +0 -15
  851. package/react/hooks/index.js.map +0 -1
  852. package/react/parser/index.d.ts +0 -18
  853. package/react/parser/index.js +0 -109
  854. package/react/parser/index.js.map +0 -1
  855. package/react/ssr/RenderPromises.d.ts +0 -22
  856. package/react/ssr/RenderPromises.js +0 -100
  857. package/react/ssr/RenderPromises.js.map +0 -1
  858. package/react/types/types.d.ts +0 -689
  859. package/testing/matchers/toEmitApolloQueryResult.d.ts +0 -8
  860. package/testing/matchers/toEmitApolloQueryResult.js +0 -36
  861. package/testing/matchers/toEmitApolloQueryResult.js.map +0 -1
  862. package/testing/matchers/toEmitFetchResult.d.ts +0 -8
  863. package/testing/matchers/toEmitFetchResult.js.map +0 -1
  864. package/testing/matchers/toEmitMatchedValue.d.ts +0 -7
  865. package/testing/matchers/toEmitMatchedValue.js +0 -36
  866. package/testing/matchers/toEmitMatchedValue.js.map +0 -1
  867. package/testing/matchers/toEmitValue.d.ts +0 -4
  868. package/testing/matchers/toEmitValue.js +0 -37
  869. package/testing/matchers/toEmitValue.js.map +0 -1
  870. package/testing/matchers/toEmitValueStrict.js +0 -42
  871. package/testing/matchers/toEmitValueStrict.js.map +0 -1
  872. package/testing/matchers/toEqualApolloQueryResult.d.ts +0 -6
  873. package/testing/matchers/toEqualApolloQueryResult.js +0 -20
  874. package/testing/matchers/toEqualApolloQueryResult.js.map +0 -1
  875. package/testing/matchers/toEqualFetchResult.d.ts +0 -4
  876. package/testing/matchers/toEqualFetchResult.js +0 -20
  877. package/testing/matchers/toEqualFetchResult.js.map +0 -1
  878. package/testing/matchers/toEqualLazyQueryResult.d.ts +0 -10
  879. package/testing/matchers/toEqualLazyQueryResult.js +0 -36
  880. package/testing/matchers/toEqualLazyQueryResult.js.map +0 -1
  881. package/testing/matchers/toEqualQueryResult.d.ts +0 -9
  882. package/testing/matchers/toEqualQueryResult.js +0 -36
  883. package/testing/matchers/toEqualQueryResult.js.map +0 -1
  884. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  885. package/utilities/types/OnlyRequiredProperties.js +0 -2
  886. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  887. package/utilities/types/TODO.d.ts +0 -3
  888. package/utilities/types/TODO.js +0 -2
  889. package/utilities/types/TODO.js.map +0 -1
  890. /package/__cjs/react/{types → internal}/types.cjs +0 -0
  891. /package/__cjs/react/{types → internal}/types.cjs.map +0 -0
  892. /package/react/{types → internal}/types.js +0 -0
  893. /package/react/{types → internal}/types.js.map +0 -0
@@ -1,7 +1,231 @@
1
1
  import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
- import type { DocumentNode } from "graphql";
3
- import type { ApolloCache, DefaultContext, OperationVariables } from "@apollo/client/core";
4
- import type { MutationHookOptions, MutationTuple, NoInfer } from "@apollo/client/react";
2
+ import type { ApolloCache, ApolloClient, DefaultContext, DocumentNode, ErrorLike, ErrorPolicy, FetchResult, InternalRefetchQueriesInclude, MaybeMasked, MutateResult, MutationFetchPolicy, MutationQueryReducersMap, MutationUpdaterFunction, OnQueryUpdated, OperationVariables, Unmasked } from "@apollo/client";
3
+ import type { NoInfer, Prettify } from "@apollo/client/utilities";
4
+ import type { IgnoreModifier } from "../../cache/core/types/common.js";
5
+ type MakeRequiredVariablesOptional<TVariables extends OperationVariables, TConfiguredVariables extends Partial<TVariables>> = Prettify<{
6
+ [K in keyof TVariables as K extends keyof TConfiguredVariables ? K : never]?: TVariables[K];
7
+ } & Omit<TVariables, keyof TConfiguredVariables>>;
8
+ export declare namespace useMutation {
9
+ interface Options<TData = unknown, TVariables extends OperationVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache, TConfiguredVariables extends Partial<TVariables> = Partial<TVariables>> {
10
+ /**
11
+ * By providing either an object or a callback function that, when invoked after a mutation, allows you to return optimistic data and optionally skip updates via the `IGNORE` sentinel object, Apollo Client caches this temporary (and potentially incorrect) response until the mutation completes, enabling more responsive UI updates.
12
+ *
13
+ * For more information, see [Optimistic mutation results](https://www.apollographql.com/docs/react/performance/optimistic-ui/).
14
+ *
15
+ * @docGroup
16
+ *
17
+ * 3. Caching options
18
+ */
19
+ optimisticResponse?: Unmasked<NoInfer<TData>> | ((vars: TVariables, { IGNORE }: {
20
+ IGNORE: IgnoreModifier;
21
+ }) => Unmasked<NoInfer<TData>> | IgnoreModifier);
22
+ /**
23
+ * A `MutationQueryReducersMap`, which is map from query names to mutation query reducers. Briefly, this map defines how to incorporate the results of the mutation into the results of queries that are currently being watched by your application.
24
+ */
25
+ updateQueries?: MutationQueryReducersMap<TData>;
26
+ /**
27
+ * An array (or a function that _returns_ an array) that specifies which queries you want to refetch after the mutation occurs.
28
+ *
29
+ * Each array value can be either:
30
+ *
31
+ * - An object containing the `query` to execute, along with any `variables`
32
+ *
33
+ * - A string indicating the operation name of the query to refetch
34
+ *
35
+ * @docGroup
36
+ *
37
+ * 1. Operation options
38
+ */
39
+ refetchQueries?: ((result: FetchResult<Unmasked<TData>>) => InternalRefetchQueriesInclude) | InternalRefetchQueriesInclude;
40
+ /**
41
+ * If `true`, makes sure all queries included in `refetchQueries` are completed before the mutation is considered complete.
42
+ *
43
+ * The default value is `false` (queries are refetched asynchronously).
44
+ *
45
+ * @docGroup
46
+ *
47
+ * 1. Operation options
48
+ */
49
+ awaitRefetchQueries?: boolean;
50
+ /**
51
+ * A function used to update the Apollo Client cache after the mutation completes.
52
+ *
53
+ * For more information, see [Updating the cache after a mutation](https://www.apollographql.com/docs/react/data/mutations#updating-the-cache-after-a-mutation).
54
+ *
55
+ * @docGroup
56
+ *
57
+ * 3. Caching options
58
+ */
59
+ update?: MutationUpdaterFunction<TData, TVariables, TContext, TCache>;
60
+ /**
61
+ * Optional callback for intercepting queries whose cache data has been updated by the mutation, as well as any queries specified in the `refetchQueries: [...]` list passed to `client.mutate`.
62
+ *
63
+ * Returning a `Promise` from `onQueryUpdated` will cause the final mutation `Promise` to await the returned `Promise`. Returning `false` causes the query to be ignored.
64
+ *
65
+ * @docGroup
66
+ *
67
+ * 1. Operation options
68
+ */
69
+ onQueryUpdated?: OnQueryUpdated<any>;
70
+ /**
71
+ * Specifies how the mutation handles a response that returns both GraphQL errors and partial results.
72
+ *
73
+ * For details, see [GraphQL error policies](https://www.apollographql.com/docs/react/data/error-handling/#graphql-error-policies).
74
+ *
75
+ * The default value is `none`, meaning that the mutation result includes error details but _not_ partial results.
76
+ *
77
+ * @docGroup
78
+ *
79
+ * 1. Operation options
80
+ */
81
+ errorPolicy?: ErrorPolicy;
82
+ /**
83
+ * An object containing all of the GraphQL variables your mutation requires to execute.
84
+ *
85
+ * Each key in the object corresponds to a variable name, and that key's value corresponds to the variable value.
86
+ *
87
+ * @docGroup
88
+ *
89
+ * 1. Operation options
90
+ */
91
+ variables?: TConfiguredVariables;
92
+ /**
93
+ * If you're using [Apollo Link](https://www.apollographql.com/docs/react/api/link/introduction/), this object is the initial value of the `context` object that's passed along your link chain.
94
+ *
95
+ * @docGroup
96
+ *
97
+ * 2. Networking options
98
+ */
99
+ context?: TContext;
100
+ /**
101
+ * Provide `no-cache` if the mutation's result should _not_ be written to the Apollo Client cache.
102
+ *
103
+ * The default value is `network-only` (which means the result _is_ written to the cache).
104
+ *
105
+ * Unlike queries, mutations _do not_ support [fetch policies](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy) besides `network-only` and `no-cache`.
106
+ *
107
+ * @docGroup
108
+ *
109
+ * 3. Caching options
110
+ */
111
+ fetchPolicy?: MutationFetchPolicy;
112
+ /**
113
+ * To avoid retaining sensitive information from mutation root field arguments, Apollo Client v3.4+ automatically clears any `ROOT_MUTATION` fields from the cache after each mutation finishes. If you need this information to remain in the cache, you can prevent the removal by passing `keepRootFields: true` to the mutation. `ROOT_MUTATION` result data are also passed to the mutation `update` function, so we recommend obtaining the results that way, rather than using this option, if possible.
114
+ */
115
+ keepRootFields?: boolean;
116
+ /**
117
+ * The instance of `ApolloClient` to use to execute the mutation.
118
+ *
119
+ * By default, the instance that's passed down via context is used, but you can provide a different instance here.
120
+ *
121
+ * @docGroup
122
+ *
123
+ * 2. Networking options
124
+ */
125
+ client?: ApolloClient;
126
+ /**
127
+ * If `true`, the in-progress mutation's associated component re-renders whenever the network status changes or a network error occurs.
128
+ *
129
+ * The default value is `true`.
130
+ *
131
+ * @docGroup
132
+ *
133
+ * 2. Networking options
134
+ */
135
+ notifyOnNetworkStatusChange?: boolean;
136
+ /**
137
+ * A callback function that's called when your mutation successfully completes with zero errors (or if `errorPolicy` is `ignore` and partial data is returned).
138
+ *
139
+ * This function is passed the mutation's result `data` and any options passed to the mutation.
140
+ *
141
+ * @docGroup
142
+ *
143
+ * 1. Operation options
144
+ */
145
+ onCompleted?: (data: MaybeMasked<TData>, clientOptions?: Options<TData, TVariables, TContext, TCache>) => void;
146
+ /**
147
+ * A callback function that's called when the mutation encounters one or more errors (unless `errorPolicy` is `ignore`).
148
+ *
149
+ * This function is passed an [`ApolloError`](https://github.com/apollographql/apollo-client/blob/d96f4578f89b933c281bb775a39503f6cdb59ee8/src/errors/index.ts#L36-L39) object that contains either a `networkError` object or a `graphQLErrors` array, depending on the error(s) that occurred, as well as any options passed the mutation.
150
+ *
151
+ * @docGroup
152
+ *
153
+ * 1. Operation options
154
+ */
155
+ onError?: (error: ErrorLike, clientOptions?: Options<TData, TVariables, TContext, TCache>) => void;
156
+ }
157
+ interface Result<TData = unknown> {
158
+ /**
159
+ * The data returned from your mutation. Can be `undefined` if `ignoreResults` is `true`.
160
+ */
161
+ data: MaybeMasked<TData> | null | undefined;
162
+ /**
163
+ * If the mutation produces one or more errors, this object contains either an array of `graphQLErrors` or a single `networkError`. Otherwise, this value is `undefined`.
164
+ *
165
+ * For more information, see [Handling operation errors](https://www.apollographql.com/docs/react/data/error-handling/).
166
+ */
167
+ error: ErrorLike | undefined;
168
+ /**
169
+ * If `true`, the mutation is currently in flight.
170
+ */
171
+ loading: boolean;
172
+ /**
173
+ * If `true`, the mutation's mutate function has been called.
174
+ */
175
+ called: boolean;
176
+ /**
177
+ * The instance of Apollo Client that executed the mutation.
178
+ *
179
+ * Can be useful for manually executing followup operations or writing data to the cache.
180
+ */
181
+ client: ApolloClient;
182
+ /**
183
+ * A function that you can call to reset the mutation's result to its initial, uncalled state.
184
+ */
185
+ reset: () => void;
186
+ }
187
+ type ResultTuple<TData, TVariables extends OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache> = [
188
+ mutate: MutationFunction<TData, TVariables, TContext, TCache>,
189
+ result: Result<TData>
190
+ ];
191
+ type MutationFunction<TData, TVariables extends OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache> = (...[options]: {} extends TVariables ? [
192
+ options?: MutationFunctionOptions<TData, TVariables, TContext, TCache> & {
193
+ /**
194
+ * An object containing all of the GraphQL variables your mutation requires to execute.
195
+ *
196
+ * Each key in the object corresponds to a variable name, and that key's value corresponds to the variable value.
197
+ *
198
+ * @docGroup
199
+ *
200
+ * 1. Operation options
201
+ */
202
+ variables?: TVariables;
203
+ }
204
+ ] : [
205
+ options: MutationFunctionOptions<TData, TVariables, TContext, TCache> & {
206
+ /**
207
+ * An object containing all of the GraphQL variables your mutation requires to execute.
208
+ *
209
+ * Each key in the object corresponds to a variable name, and that key's value corresponds to the variable value.
210
+ *
211
+ * @docGroup
212
+ *
213
+ * 1. Operation options
214
+ */
215
+ variables: TVariables;
216
+ }
217
+ ]) => Promise<MutateResult<MaybeMasked<TData>>>;
218
+ type MutationFunctionOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache> = Options<TData, TVariables, TContext, TCache> & {
219
+ /**
220
+ * A GraphQL document, often created with `gql` from the `graphql-tag` package, that contains a single mutation inside of it.
221
+ *
222
+ * @docGroup
223
+ *
224
+ * 1. Operation options
225
+ */
226
+ mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;
227
+ };
228
+ }
5
229
  /**
6
230
  *
7
231
  *
@@ -49,5 +273,8 @@ import type { MutationHookOptions, MutationTuple, NoInfer } from "@apollo/client
49
273
  * @param options - Options to control how the mutation is executed.
50
274
  * @returns A tuple in the form of `[mutate, result]`
51
275
  */
52
- export declare function useMutation<TData = any, TVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache<any> = ApolloCache<any>>(mutation: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: MutationHookOptions<NoInfer<TData>, NoInfer<TVariables>, TContext, TCache>): MutationTuple<TData, TVariables, TContext, TCache>;
276
+ export declare function useMutation<TData = unknown, TVariables extends OperationVariables = OperationVariables, TContext = DefaultContext, TCache extends ApolloCache = ApolloCache, TConfiguredVariables extends Partial<TVariables> = {}>(mutation: DocumentNode | TypedDocumentNode<TData, TVariables>, options?: useMutation.Options<NoInfer<TData>, NoInfer<TVariables>, TContext, TCache, {
277
+ [K in keyof TConfiguredVariables]: K extends keyof TVariables ? TConfiguredVariables[K] : never;
278
+ }>): useMutation.ResultTuple<TData, MakeRequiredVariablesOptional<TVariables, TConfiguredVariables>, TContext, TCache>;
279
+ export {};
53
280
  //# sourceMappingURL=useMutation.d.ts.map
@@ -1,7 +1,5 @@
1
1
  import { equal } from "@wry/equality";
2
2
  import * as React from "react";
3
- import { CombinedGraphQLErrors } from "@apollo/client/errors";
4
- import { DocumentType, verifyDocumentType } from "@apollo/client/react/parser";
5
3
  import { mergeOptions } from "@apollo/client/utilities";
6
4
  import { useIsomorphicLayoutEffect } from "./internal/useIsomorphicLayoutEffect.js";
7
5
  import { useApolloClient } from "./useApolloClient.js";
@@ -54,12 +52,7 @@ import { useApolloClient } from "./useApolloClient.js";
54
52
  */
55
53
  export function useMutation(mutation, options) {
56
54
  const client = useApolloClient(options?.client);
57
- verifyDocumentType(mutation, DocumentType.Mutation);
58
- const [result, setResult] = React.useState({
59
- called: false,
60
- loading: false,
61
- client,
62
- });
55
+ const [result, setResult] = React.useState(() => createInitialResult(client));
63
56
  const ref = React.useRef({
64
57
  result,
65
58
  mutationId: 0,
@@ -78,8 +71,8 @@ export function useMutation(mutation, options) {
78
71
  if (!ref.current.result.loading && ref.current.isMounted) {
79
72
  setResult((ref.current.result = {
80
73
  loading: true,
81
- error: void 0,
82
- data: void 0,
74
+ error: undefined,
75
+ data: undefined,
83
76
  called: true,
84
77
  client,
85
78
  }));
@@ -89,10 +82,7 @@ export function useMutation(mutation, options) {
89
82
  return client
90
83
  .mutate(clientOptions)
91
84
  .then((response) => {
92
- const { data, errors } = response;
93
- const error = errors && errors.length > 0 ?
94
- new CombinedGraphQLErrors(errors)
95
- : void 0;
85
+ const { data, error } = response;
96
86
  const onError = executeOptions.onError || ref.current.options?.onError;
97
87
  if (error && onError) {
98
88
  onError(error, clientOptions);
@@ -131,19 +121,13 @@ export function useMutation(mutation, options) {
131
121
  const onError = executeOptions.onError || ref.current.options?.onError;
132
122
  if (onError) {
133
123
  onError(error, clientOptions);
134
- // TODO(brian): why are we returning this here???
135
- return { data: void 0, errors: error };
136
124
  }
137
125
  throw error;
138
126
  });
139
127
  }, []);
140
128
  const reset = React.useCallback(() => {
141
129
  if (ref.current.isMounted) {
142
- const result = {
143
- called: false,
144
- loading: false,
145
- client: ref.current.client,
146
- };
130
+ const result = createInitialResult(ref.current.client);
147
131
  Object.assign(ref.current, { mutationId: 0, result });
148
132
  setResult(result);
149
133
  }
@@ -157,4 +141,13 @@ export function useMutation(mutation, options) {
157
141
  }, []);
158
142
  return [execute, { reset, ...result }];
159
143
  }
144
+ function createInitialResult(client) {
145
+ return {
146
+ data: undefined,
147
+ error: undefined,
148
+ called: false,
149
+ loading: false,
150
+ client,
151
+ };
152
+ }
160
153
  //# sourceMappingURL=useMutation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../../src/react/hooks/useMutation.ts"],"sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { equal } from \"@wry/equality\";\nimport type { DocumentNode } from \"graphql\";\nimport * as React from \"react\";\n\nimport type {\n ApolloCache,\n DefaultContext,\n MutationOptions,\n OperationVariables,\n} from \"@apollo/client/core\";\nimport { CombinedGraphQLErrors } from \"@apollo/client/errors\";\nimport type {\n MutationFunctionOptions,\n MutationHookOptions,\n MutationResult,\n MutationTuple,\n NoInfer,\n} from \"@apollo/client/react\";\nimport { DocumentType, verifyDocumentType } from \"@apollo/client/react/parser\";\nimport { mergeOptions } from \"@apollo/client/utilities\";\n\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\n/**\n *\n *\n * > Refer to the [Mutations](https://www.apollographql.com/docs/react/data/mutations/) section for a more in-depth overview of `useMutation`.\n *\n * @example\n * ```jsx\n * import { gql, useMutation } from '@apollo/client';\n *\n * const ADD_TODO = gql`\n * mutation AddTodo($type: String!) {\n * addTodo(type: $type) {\n * id\n * type\n * }\n * }\n * `;\n *\n * function AddTodo() {\n * let input;\n * const [addTodo, { data }] = useMutation(ADD_TODO);\n *\n * return (\n * <div>\n * <form\n * onSubmit={e => {\n * e.preventDefault();\n * addTodo({ variables: { type: input.value } });\n * input.value = '';\n * }}\n * >\n * <input\n * ref={node => {\n * input = node;\n * }}\n * />\n * <button type=\"submit\">Add Todo</button>\n * </form>\n * </div>\n * );\n * }\n * ```\n * @since 3.0.0\n * @param mutation - A GraphQL mutation document parsed into an AST by `gql`.\n * @param options - Options to control how the mutation is executed.\n * @returns A tuple in the form of `[mutate, result]`\n */\nexport function useMutation<\n TData = any,\n TVariables = OperationVariables,\n TContext = DefaultContext,\n TCache extends ApolloCache<any> = ApolloCache<any>,\n>(\n mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: MutationHookOptions<\n NoInfer<TData>,\n NoInfer<TVariables>,\n TContext,\n TCache\n >\n): MutationTuple<TData, TVariables, TContext, TCache> {\n const client = useApolloClient(options?.client);\n verifyDocumentType(mutation, DocumentType.Mutation);\n const [result, setResult] = React.useState<Omit<MutationResult, \"reset\">>({\n called: false,\n loading: false,\n client,\n });\n\n const ref = React.useRef({\n result,\n mutationId: 0,\n isMounted: true,\n client,\n mutation,\n options,\n });\n\n useIsomorphicLayoutEffect(() => {\n Object.assign(ref.current, { client, options, mutation });\n });\n\n const execute = React.useCallback(\n (\n executeOptions: MutationFunctionOptions<\n TData,\n TVariables,\n TContext,\n TCache\n > = {}\n ) => {\n const { options, mutation } = ref.current;\n const baseOptions = { ...options, mutation };\n const client = executeOptions.client || ref.current.client;\n\n if (!ref.current.result.loading && ref.current.isMounted) {\n setResult(\n (ref.current.result = {\n loading: true,\n error: void 0,\n data: void 0,\n called: true,\n client,\n })\n );\n }\n\n const mutationId = ++ref.current.mutationId;\n const clientOptions = mergeOptions(baseOptions, executeOptions);\n\n return client\n .mutate(clientOptions as MutationOptions<TData, OperationVariables>)\n .then(\n (response) => {\n const { data, errors } = response;\n const error =\n errors && errors.length > 0 ?\n new CombinedGraphQLErrors(errors)\n : void 0;\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (error && onError) {\n onError(\n error,\n clientOptions as MutationOptions<TData, OperationVariables>\n );\n }\n\n if (mutationId === ref.current.mutationId) {\n const result = {\n called: true,\n loading: false,\n data,\n error,\n client,\n };\n\n if (ref.current.isMounted && !equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onCompleted =\n executeOptions.onCompleted || ref.current.options?.onCompleted;\n\n if (!error) {\n onCompleted?.(\n response.data!,\n clientOptions as MutationOptions<TData, OperationVariables>\n );\n }\n\n return response;\n },\n (error) => {\n if (\n mutationId === ref.current.mutationId &&\n ref.current.isMounted\n ) {\n const result = {\n loading: false,\n error,\n data: void 0,\n called: true,\n client,\n };\n\n if (!equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (onError) {\n onError(\n error,\n clientOptions as MutationOptions<TData, OperationVariables>\n );\n\n // TODO(brian): why are we returning this here???\n return { data: void 0, errors: error };\n }\n\n throw error;\n }\n );\n },\n []\n );\n\n const reset = React.useCallback(() => {\n if (ref.current.isMounted) {\n const result = {\n called: false,\n loading: false,\n client: ref.current.client,\n };\n Object.assign(ref.current, { mutationId: 0, result });\n setResult(result);\n }\n }, []);\n\n React.useEffect(() => {\n const current = ref.current;\n current.isMounted = true;\n\n return () => {\n current.isMounted = false;\n };\n }, []);\n\n return [execute, { reset, ...result }];\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMutation.js","sources":["../../../src/react/hooks/useMutation.ts"],"sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { equal } from \"@wry/equality\";\nimport * as React from \"react\";\n\nimport type {\n ApolloCache,\n ApolloClient,\n DefaultContext,\n DocumentNode,\n ErrorLike,\n ErrorPolicy,\n FetchResult,\n InternalRefetchQueriesInclude,\n MaybeMasked,\n MutateResult,\n MutationFetchPolicy,\n MutationOptions,\n MutationQueryReducersMap,\n MutationUpdaterFunction,\n OnQueryUpdated,\n OperationVariables,\n Unmasked,\n} from \"@apollo/client\";\nimport type { NoInfer, Prettify } from \"@apollo/client/utilities\";\nimport { mergeOptions } from \"@apollo/client/utilities\";\n\nimport type { IgnoreModifier } from \"../../cache/core/types/common.js\";\n\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\ntype MakeRequiredVariablesOptional<\n TVariables extends OperationVariables,\n TConfiguredVariables extends Partial<TVariables>,\n> = Prettify<\n {\n [K in keyof TVariables as K extends keyof TConfiguredVariables ? K\n : never]?: TVariables[K];\n } & Omit<TVariables, keyof TConfiguredVariables>\n>;\n\nexport declare namespace useMutation {\n export interface Options<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TContext = DefaultContext,\n TCache extends ApolloCache = ApolloCache,\n TConfiguredVariables extends Partial<TVariables> = Partial<TVariables>,\n > {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#optimisticResponse:member} */\n optimisticResponse?:\n | Unmasked<NoInfer<TData>>\n | ((\n vars: TVariables,\n { IGNORE }: { IGNORE: IgnoreModifier }\n ) => Unmasked<NoInfer<TData>> | IgnoreModifier);\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#updateQueries:member} */\n updateQueries?: MutationQueryReducersMap<TData>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#refetchQueries:member} */\n refetchQueries?:\n | ((\n result: FetchResult<Unmasked<TData>>\n ) => InternalRefetchQueriesInclude)\n | InternalRefetchQueriesInclude;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#awaitRefetchQueries:member} */\n awaitRefetchQueries?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#update:member} */\n update?: MutationUpdaterFunction<TData, TVariables, TContext, TCache>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onQueryUpdated:member} */\n onQueryUpdated?: OnQueryUpdated<any>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables?: TConfiguredVariables;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#context:member} */\n context?: TContext;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: MutationFetchPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#keepRootFields:member} */\n keepRootFields?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#client:member} */\n client?: ApolloClient;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#notifyOnNetworkStatusChange:member} */\n notifyOnNetworkStatusChange?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onCompleted:member} */\n onCompleted?: (\n data: MaybeMasked<TData>,\n clientOptions?: Options<TData, TVariables, TContext, TCache>\n ) => void;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onError:member} */\n onError?: (\n error: ErrorLike,\n clientOptions?: Options<TData, TVariables, TContext, TCache>\n ) => void;\n }\n\n export interface Result<TData = unknown> {\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n data: MaybeMasked<TData> | null | undefined;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n error: ErrorLike | undefined;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#loading:member} */\n loading: boolean;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#called:member} */\n called: boolean;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#client:member} */\n client: ApolloClient;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#reset:member} */\n reset: () => void;\n }\n\n export type ResultTuple<\n TData,\n TVariables extends OperationVariables,\n TContext = DefaultContext,\n TCache extends ApolloCache = ApolloCache,\n > = [\n mutate: MutationFunction<TData, TVariables, TContext, TCache>,\n result: Result<TData>,\n ];\n\n export type MutationFunction<\n TData,\n TVariables extends OperationVariables,\n TContext = DefaultContext,\n TCache extends ApolloCache = ApolloCache,\n > = (\n ...[options]: {} extends TVariables ?\n [\n options?: MutationFunctionOptions<\n TData,\n TVariables,\n TContext,\n TCache\n > & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables?: TVariables;\n },\n ]\n : [\n options: MutationFunctionOptions<\n TData,\n TVariables,\n TContext,\n TCache\n > & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables: TVariables;\n },\n ]\n ) => Promise<MutateResult<MaybeMasked<TData>>>;\n\n export type MutationFunctionOptions<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TContext = DefaultContext,\n TCache extends ApolloCache = ApolloCache,\n > = Options<TData, TVariables, TContext, TCache> & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#mutation:member} */\n // TODO: Remove this option. We shouldn't allow the mutation to be overridden\n // in the mutation function\n mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;\n };\n}\n\n/**\n *\n *\n * > Refer to the [Mutations](https://www.apollographql.com/docs/react/data/mutations/) section for a more in-depth overview of `useMutation`.\n *\n * @example\n * ```jsx\n * import { gql, useMutation } from '@apollo/client';\n *\n * const ADD_TODO = gql`\n * mutation AddTodo($type: String!) {\n * addTodo(type: $type) {\n * id\n * type\n * }\n * }\n * `;\n *\n * function AddTodo() {\n * let input;\n * const [addTodo, { data }] = useMutation(ADD_TODO);\n *\n * return (\n * <div>\n * <form\n * onSubmit={e => {\n * e.preventDefault();\n * addTodo({ variables: { type: input.value } });\n * input.value = '';\n * }}\n * >\n * <input\n * ref={node => {\n * input = node;\n * }}\n * />\n * <button type=\"submit\">Add Todo</button>\n * </form>\n * </div>\n * );\n * }\n * ```\n * @since 3.0.0\n * @param mutation - A GraphQL mutation document parsed into an AST by `gql`.\n * @param options - Options to control how the mutation is executed.\n * @returns A tuple in the form of `[mutate, result]`\n */\nexport function useMutation<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TContext = DefaultContext,\n TCache extends ApolloCache = ApolloCache,\n TConfiguredVariables extends Partial<TVariables> = {},\n>(\n mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: useMutation.Options<\n NoInfer<TData>,\n NoInfer<TVariables>,\n TContext,\n TCache,\n {\n [K in keyof TConfiguredVariables]: K extends keyof TVariables ?\n TConfiguredVariables[K]\n : never;\n }\n >\n): useMutation.ResultTuple<\n TData,\n MakeRequiredVariablesOptional<TVariables, TConfiguredVariables>,\n TContext,\n TCache\n> {\n const client = useApolloClient(options?.client);\n const [result, setResult] = React.useState<\n Omit<useMutation.Result<TData>, \"reset\">\n >(() => createInitialResult(client));\n\n const ref = React.useRef({\n result,\n mutationId: 0,\n isMounted: true,\n client,\n mutation,\n options,\n });\n\n useIsomorphicLayoutEffect(() => {\n Object.assign(ref.current, { client, options, mutation });\n });\n\n const execute = React.useCallback(\n (\n executeOptions: useMutation.MutationFunctionOptions<\n TData,\n TVariables,\n TContext,\n TCache\n > = {} as useMutation.MutationFunctionOptions<\n TData,\n TVariables,\n TContext,\n TCache\n >\n ) => {\n const { options, mutation } = ref.current;\n const baseOptions = { ...options, mutation };\n const client = executeOptions.client || ref.current.client;\n\n if (!ref.current.result.loading && ref.current.isMounted) {\n setResult(\n (ref.current.result = {\n loading: true,\n error: undefined,\n data: undefined,\n called: true,\n client,\n })\n );\n }\n\n const mutationId = ++ref.current.mutationId;\n const clientOptions = mergeOptions(baseOptions, executeOptions as any);\n\n return client\n .mutate(clientOptions as MutationOptions<TData, OperationVariables>)\n .then(\n (response) => {\n const { data, error } = response;\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (error && onError) {\n onError(error, clientOptions);\n }\n\n if (mutationId === ref.current.mutationId) {\n const result = {\n called: true,\n loading: false,\n data,\n error,\n client,\n };\n\n if (ref.current.isMounted && !equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onCompleted =\n executeOptions.onCompleted || ref.current.options?.onCompleted;\n\n if (!error) {\n onCompleted?.(response.data!, clientOptions);\n }\n\n return response;\n },\n (error) => {\n if (\n mutationId === ref.current.mutationId &&\n ref.current.isMounted\n ) {\n const result = {\n loading: false,\n error,\n data: void 0,\n called: true,\n client,\n };\n\n if (!equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (onError) {\n onError(error, clientOptions);\n }\n\n throw error;\n }\n );\n },\n []\n );\n\n const reset = React.useCallback(() => {\n if (ref.current.isMounted) {\n const result = createInitialResult(ref.current.client);\n Object.assign(ref.current, { mutationId: 0, result });\n setResult(result);\n }\n }, []);\n\n React.useEffect(() => {\n const current = ref.current;\n current.isMounted = true;\n\n return () => {\n current.isMounted = false;\n };\n }, []);\n\n return [execute as any, { reset, ...result }];\n}\n\nfunction createInitialResult(client: ApolloClient) {\n return {\n data: undefined,\n error: undefined,\n called: false,\n loading: false,\n client,\n };\n}\n"],"names":[],"mappings":"AACA,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqC;AACrC,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;AAsB9B,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuD;AAIvD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA0C,CAA1C,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmF;AACnF,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAgC,CAAhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsD;AA2JtD,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8CA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAOzB,CAPF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAO+D,EAC7D,CARF,CAAA,CAAA,CAAA,CAAA,CAAA,CAkBG,EAlBH;IAyBE,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAxC,CAA0C,CAA1C,CAAA,CAAA,CAAA,CAAA,CAAgD,CAAC;IAC/C,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAC,CAAT,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,EAA1B,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,CAExC,CAFJ,EAEO,CAFP,EAEU,CAFV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAE6B,CAAC,CAF9B,CAAA,CAAA,CAAA,CAAA,CAEoC,CAAC,CAAC;IAEpC,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,EAAA,EAAc,CAAd,CAAA,CAAA,CAAA,CAAmB,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAA0B,CAAC;QACvB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU;QACN,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,EAAE,CAAC;QACb,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,CAAmB;QACf,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU;QACN,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAY;QACR,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW;IACX,CAAG,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,EAA+B,CAA/B,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAC,CAAX,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAqB,CAAC,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,EAAE,EAAE,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAuC,EAAE,CAAzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD,EAAE,CAAlD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAA4D,CAAC;IAC3D,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAkB,CAAlB,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC,CAC/B,CACE,CAFN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAOU,CAPV,CAYO,EACD,CAbN,EAAA;QAcM,CAAN,CAAA,CAAA,CAAA,EAAY,EAAE,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,EAAE,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAoC,CAApC,CAAA,CAAuC,CAAC,CAAxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C;QACzC,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0B,EAAE,CAA5B,CAAA,CAA+B,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,EAAE,CAAxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAkD;QAC5C,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,EAAA,EAAqB,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAA8C,CAA9C,CAAA,CAAiD,CAAC,CAAlD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC,CAA1D,CAAA,CAAA,CAAA,CAAA,CAAgE;QAE1D,CAAN,EAAA,CAAU,CAAC,CAAX,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC,CAAvB,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAyC,CAAzC,CAAA,CAA4C,CAAC,CAA7C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,CAAC,CAArD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8D,EAAE;YACxD,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CACP,CAAC,CADX,CAAA,CACc,CAAC,CADf,CAAA,CAAA,CAAA,CAAA,CAAA,CACsB,CAAC,CADvB,CAAA,CAAA,CAAA,CAAA,EAAA,EACgC;gBACpB,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,EAAE,CAArB,CAAA,CAAA,CAAyB;gBACb,CAAZ,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B;gBAChB,CAAZ,CAAA,CAAA,CAAgB,EAAE,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B;gBACf,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAE,CAApB,CAAA,CAAA,CAAwB;gBACZ,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAkB;YAClB,CAAW,CAAC,CACH;QACH;QAEA,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAyB,CAAzB,CAA2B,CAA3B,CAAA,CAA8B,CAAC,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD;QAC3C,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA4B,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,EAAE,CAAtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2E,CAAC;QAEtE,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA;YACA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2E;YAC3E,CAAS,CAAT,CAAA,CAAA,CAAa,CACH,CAAC,CADX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACmB,EAAE,CADrB,EAAA;YAEY,CAAZ,CAAA,CAAA,CAAA,EAAkB,EAAE,CAApB,CAAA,CAAA,CAAwB,EAAE,CAA1B,CAAA,CAAA,CAAA,EAAA,EAAA,EAAoC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C;YAEhC,CAAZ,CAAA,CAAA,CAAA,EAAkB,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EACc,CADd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC4B,CAAC,CAD7B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EACwC,CADxC,CAAA,CAC2C,CAAC,CAD5C,CAAA,CAAA,CAAA,CAAA,CAAA,CACmD,CAAC,CADpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAC2D,CAD3D,CAC6D,CAD7D,CAAA,CAAA,CAAA,CAAA,CAAA,CACoE;YAExD,CAAZ,EAAA,CAAgB,CAAhB,CAAA,CAAA,CAAA,EAAA,CAAA,EAAyB,CAAzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE;gBACpB,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAtB,CAAA,CAAA,CAAA,CAA2B,EAAE,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C,CAAC;YAC/B;YAEA,CAAZ,EAAA,CAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAA+B,CAA/B,CAAA,CAAkC,CAAC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C,CAAC,CAA3C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,EAAE;gBACzC,CAAd,CAAA,CAAA,CAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,EAAA,EAA6B;oBACb,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB,EAAE,CAAxB,CAAA,CAAA,CAA4B;oBACZ,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,EAAE,CAAzB,CAAA,CAAA,CAAA,CAA8B;oBACd,CAAhB,CAAA,CAAA,CAAoB;oBACJ,CAAhB,CAAA,CAAA,CAAA,CAAqB;oBACL,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB;gBACtB,CAAe;gBAED,CAAd,EAAA,CAAkB,CAAlB,CAAA,CAAqB,CAAC,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAA2C,CAAC,CAA5C,CAAA,CAAA,CAAA,CAAiD,CAAC,CAAlD,CAAA,CAAqD,CAAC,CAAtD,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6D,CAAC,CAA9D,CAAA,CAAA,CAAA,CAAA,CAAoE,EAAE,CAAtE,CAAA,CAAA,CAAA,CAAA,CAA4E,CAAC,EAAE;oBAC/D,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC,CAAC,CAA3B,CAAA,CAA8B,CAAC,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,CAAvC,CAAA,CAAA,CAAA,CAAA,EAAA,EAAgD,CAAhD,CAAA,CAAA,CAAA,CAAA,CAAsD,CAAC,CAAC;gBAC1C;YACF;YAEA,CAAZ,CAAA,CAAA,CAAA,EAAkB,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EACc,CADd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC4B,CAAC,CAD7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAC4C,CAD5C,CAAA,CAC+C,CAAC,CADhD,CAAA,CAAA,CAAA,CAAA,CAAA,CACuD,CAAC,CADxD,CAAA,CAAA,CAAA,CAAA,CAAA,CAC+D,CAD/D,CACiE,CADjE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC4E;YAEhE,CAAZ,EAAA,CAAgB,CAAC,CAAjB,CAAA,CAAA,CAAA,CAAsB,EAAE;gBACV,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAzB,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAC,CAArC,CAAA,CAAA,CAA0C,EAAE,CAA5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC;YAC9C;YAEA,CAAZ,CAAA,CAAA,CAAA,CAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B;QACjB,CAAC,EACD,CAAC,CADX,CAAA,CAAA,CAAA,CACgB,EAAE,CADlB,EAAA;YAEY,CAAZ,EAAA,CACc,CADd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAC6B,CAD7B,CAAA,CACgC,CAAC,CADjC,CAAA,CAAA,CAAA,CAAA,CAAA,CACwC,CAAC,CADzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;gBAEc,CAAd,CAAA,CAAiB,CAAC,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC,EACrB;gBACA,CAAd,CAAA,CAAA,CAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,EAAA,EAA6B;oBACb,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,EAAE,CAAzB,CAAA,CAAA,CAAA,CAA8B;oBACd,CAAhB,CAAA,CAAA,CAAA,CAAqB;oBACL,CAAhB,CAAA,CAAA,CAAoB,EAAE,CAAtB,CAAA,CAAA,EAA2B,CAAC;oBACZ,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB,EAAE,CAAxB,CAAA,CAAA,CAA4B;oBACZ,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB;gBACtB,CAAe;gBAED,CAAd,EAAA,CAAkB,CAAC,CAAnB,CAAA,CAAA,CAAA,CAAwB,CAAC,CAAzB,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAA2C,EAAE,CAA7C,CAAA,CAAA,CAAA,CAAA,CAAmD,CAAC,EAAE;oBACtC,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,CAAC,CAAC,CAA3B,CAAA,CAA8B,CAAC,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAAC,CAAvC,CAAA,CAAA,CAAA,CAAA,EAAA,EAAgD,CAAhD,CAAA,CAAA,CAAA,CAAA,CAAsD,CAAC,CAAC;gBAC1C;YACF;YAEA,CAAZ,CAAA,CAAA,CAAA,EAAkB,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EACc,CADd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC4B,CAAC,CAD7B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EACwC,CADxC,CAAA,CAC2C,CAAC,CAD5C,CAAA,CAAA,CAAA,CAAA,CAAA,CACmD,CAAC,CADpD,CAAA,CAAA,CAAA,CAAA,CAAA,CAC2D,CAD3D,CAC6D,CAD7D,CAAA,CAAA,CAAA,CAAA,CAAA,CACoE;YAExD,CAAZ,EAAA,CAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,EAAE;gBACX,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAtB,CAAA,CAAA,CAAA,CAA2B,EAAE,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C,CAAC;YAC/B;YAEA,CAAZ,CAAA,CAAA,CAAA,EAAkB,CAAlB,CAAA,CAAA,CAAA,CAAuB;QACb,CAAC,CACF;IACL,CAAC,EACD,CADJ,CACM,CACH;IAED,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,EAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAW,CAAC,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,EAAE;YACzB,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,EAAA,EAAqB,CAArB,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,CAAoD,CAAC,CAArD,CAAA,CAAA,CAAA,CAAA,CAA2D,CAAC;YACtD,CAAN,CAAA,CAAA,CAAA,CAAA,CAAY,CAAC,CAAb,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAApB,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,EAAE,EAAE,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C,EAAE,CAAC,EAAE,CAAlD,CAAA,CAAA,CAAA,CAAA,EAAA,CAA0D,CAAC;YACrD,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAsB,CAAC;QACnB;IACF,CAAC,EAAE,CAAL,CAAO,CAAC;IAEN,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAlB,EAAqB,CAArB,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B;QAC3B,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,CAAC,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAwB,CAAxB,CAAA,CAAA,CAA4B;QAExB,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,EAAc,CAAd,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAC,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0B,CAA1B,CAAA,CAAA,CAAA,CAA+B;QAC3B,CAAC;IACH,CAAC,EAAE,CAAL,CAAO,CAAC;IAEN,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB,EAAE,EAAE,CAA5B,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,CAAA,CAAsC,CAAtC,CAAA,CAAA,CAAA,CAAA,EAAA,CAA8C,CAAC;AAC/C;AAEA,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,CAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS;QACL,CAAJ,CAAA,CAAA,CAAQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB;QACf,CAAJ,CAAA,CAAA,CAAA,CAAS,EAAE,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoB;QAChB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,EAAE,CAAZ,CAAA,CAAA,CAAA,CAAiB;QACb,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,EAAE,CAAb,CAAA,CAAA,CAAA,CAAkB;QACd,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU;IACV,CAAG;AACH;"}