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

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 (803) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/__cjs/cache/core/cache.cjs.map +1 -1
  3. package/__cjs/cache/index.cjs.map +1 -1
  4. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  5. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  6. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  7. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  8. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  9. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  10. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  11. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  12. package/__cjs/core/ApolloClient.cjs +20 -4
  13. package/__cjs/core/ApolloClient.cjs.map +1 -1
  14. package/__cjs/core/ApolloClient.d.cts +17 -2
  15. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  16. package/__cjs/core/QueryInfo.cjs.map +1 -1
  17. package/__cjs/core/QueryManager.cjs.map +1 -1
  18. package/__cjs/core/equalByQuery.cjs.map +1 -1
  19. package/__cjs/core/index.cjs.map +1 -1
  20. package/__cjs/core/networkStatus.cjs.map +1 -1
  21. package/__cjs/dev/index.cjs.map +1 -1
  22. package/__cjs/dev/loadDevMessages.cjs.map +1 -1
  23. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  24. package/__cjs/dev/loadErrorMessages.cjs.map +1 -1
  25. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  26. package/__cjs/dev/symbol.cjs.map +1 -1
  27. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  28. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  29. package/__cjs/errors/LinkError.cjs.map +1 -1
  30. package/__cjs/errors/LocalStateError.cjs.map +1 -1
  31. package/__cjs/errors/ServerError.cjs.map +1 -1
  32. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  33. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  34. package/__cjs/errors/index.cjs.map +1 -1
  35. package/__cjs/errors/isErrorLike.cjs.map +1 -1
  36. package/__cjs/errors/utils.cjs.map +1 -1
  37. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  38. package/__cjs/incremental/index.cjs.map +1 -1
  39. package/__cjs/invariantErrorCodes.cjs.map +1 -1
  40. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  41. package/__cjs/link/batch/index.cjs.map +1 -1
  42. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  43. package/__cjs/link/batch-http/index.cjs.map +1 -1
  44. package/__cjs/link/client-awareness/index.cjs.map +1 -1
  45. package/__cjs/link/core/concat.cjs.map +1 -1
  46. package/__cjs/link/core/empty.cjs.map +1 -1
  47. package/__cjs/link/core/execute.cjs.map +1 -1
  48. package/__cjs/link/core/from.cjs.map +1 -1
  49. package/__cjs/link/core/split.cjs.map +1 -1
  50. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -1
  51. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  52. package/__cjs/link/http/index.cjs.map +1 -1
  53. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  54. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  55. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  56. package/__cjs/link/index.cjs.map +1 -1
  57. package/__cjs/link/remove-typename/index.cjs.map +1 -1
  58. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  59. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  60. package/__cjs/link/retry/index.cjs.map +1 -1
  61. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  62. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  63. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  64. package/__cjs/link/utils/filterOperationVariables.cjs.map +1 -1
  65. package/__cjs/link/utils/index.cjs.map +1 -1
  66. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  67. package/__cjs/link/utils/validateOperation.cjs.map +1 -1
  68. package/__cjs/local-state/LocalState.cjs.map +1 -1
  69. package/__cjs/local-state/index.cjs.map +1 -1
  70. package/__cjs/masking/index.cjs.map +1 -1
  71. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  72. package/__cjs/masking/maskFragment.cjs.map +1 -1
  73. package/__cjs/masking/maskOperation.cjs.map +1 -1
  74. package/__cjs/masking/utils.cjs.map +1 -1
  75. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  76. package/__cjs/react/hooks/constants.cjs.map +1 -1
  77. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  78. package/__cjs/react/hooks/internal/index.cjs.map +1 -1
  79. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  80. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  81. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -1
  82. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
  83. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  84. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  85. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  86. package/__cjs/react/hooks/useFragment.cjs +8 -4
  87. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  88. package/__cjs/react/hooks/useFragment.d.cts +4 -7
  89. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  90. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  91. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  92. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  93. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  94. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  95. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  96. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  97. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  98. package/__cjs/react/hooks/useSuspenseFragment.d.cts +2 -2
  99. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  100. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  101. package/__cjs/react/index.cjs +2 -1
  102. package/__cjs/react/index.cjs.map +1 -1
  103. package/__cjs/react/index.d.cts +1 -0
  104. package/__cjs/react/index.react-server.cjs.map +1 -1
  105. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  106. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  107. package/__cjs/react/internal/compiler-runtime/index.cjs +32 -0
  108. package/__cjs/react/internal/compiler-runtime/index.cjs.map +1 -0
  109. package/__cjs/react/internal/compiler-runtime/index.d.cts +8 -0
  110. package/__cjs/react/internal/index.cjs.map +1 -1
  111. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  112. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  113. package/__cjs/react/ssr/index.cjs.map +1 -1
  114. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  115. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  116. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  117. package/__cjs/testing/index.cjs.map +1 -1
  118. package/__cjs/testing/react/index.cjs.map +1 -1
  119. package/__cjs/utilities/caching/index.cjs.map +1 -1
  120. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  121. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  122. package/__cjs/utilities/environment/index.cjs.map +1 -1
  123. package/__cjs/utilities/environment/index.development.cjs.map +1 -1
  124. package/__cjs/utilities/environment/index.production.cjs.map +1 -1
  125. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -1
  126. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  127. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  128. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  129. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  130. package/__cjs/utilities/index.cjs.map +1 -1
  131. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -1
  132. package/__cjs/utilities/internal/caches.cjs.map +1 -1
  133. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -1
  134. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  135. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -1
  136. package/__cjs/utilities/internal/compact.cjs.map +1 -1
  137. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  138. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -1
  139. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -1
  140. package/__cjs/utilities/internal/dealias.cjs.map +1 -1
  141. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -1
  142. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -1
  143. package/__cjs/utilities/internal/filterMap.cjs.map +1 -1
  144. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -1
  145. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
  146. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -1
  147. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  148. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  149. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -1
  150. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -1
  151. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  152. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -1
  153. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -1
  154. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -1
  155. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  156. package/__cjs/utilities/internal/globals/global.cjs.map +1 -1
  157. package/__cjs/utilities/internal/globals/index.cjs.map +1 -1
  158. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -1
  159. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -1
  160. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -1
  161. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -1
  162. package/__cjs/utilities/internal/index.cjs.map +1 -1
  163. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  164. package/__cjs/utilities/internal/isArray.cjs.map +1 -1
  165. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -1
  166. package/__cjs/utilities/internal/isField.cjs.map +1 -1
  167. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -1
  168. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -1
  169. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -1
  170. package/__cjs/utilities/internal/makeReference.cjs.map +1 -1
  171. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -1
  172. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -1
  173. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -1
  174. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -1
  175. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  176. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -1
  177. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -1
  178. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -1
  179. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -1
  180. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -1
  181. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -1
  182. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -1
  183. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  184. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -1
  185. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  186. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  187. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  188. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -1
  189. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  190. package/__cjs/version.cjs +1 -1
  191. package/__cjs/version.cjs.map +1 -1
  192. package/cache/core/cache.js.map +1 -1
  193. package/cache/core/types/Cache.d.ts +1 -1
  194. package/cache/core/types/Cache.js +1 -1
  195. package/cache/core/types/Cache.js.map +1 -1
  196. package/cache/core/types/DataProxy.d.ts +1 -1
  197. package/cache/core/types/DataProxy.js +1 -1
  198. package/cache/core/types/DataProxy.js.map +1 -1
  199. package/cache/core/types/common.d.ts +1 -1
  200. package/cache/core/types/common.js +1 -1
  201. package/cache/core/types/common.js.map +1 -1
  202. package/cache/index.d.ts +1 -1
  203. package/cache/index.js +1 -1
  204. package/cache/index.js.map +1 -1
  205. package/cache/inmemory/entityStore.d.ts +1 -1
  206. package/cache/inmemory/entityStore.js.map +1 -1
  207. package/cache/inmemory/fragmentRegistry.d.ts +1 -1
  208. package/cache/inmemory/fragmentRegistry.js +1 -1
  209. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  210. package/cache/inmemory/helpers.d.ts +1 -1
  211. package/cache/inmemory/helpers.js +1 -1
  212. package/cache/inmemory/helpers.js.map +1 -1
  213. package/cache/inmemory/key-extractor.d.ts +1 -1
  214. package/cache/inmemory/key-extractor.js.map +1 -1
  215. package/cache/inmemory/policies.d.ts +1 -1
  216. package/cache/inmemory/policies.js.map +1 -1
  217. package/cache/inmemory/reactiveVars.d.ts +1 -1
  218. package/cache/inmemory/reactiveVars.js +1 -1
  219. package/cache/inmemory/reactiveVars.js.map +1 -1
  220. package/cache/inmemory/readFromStore.d.ts +1 -1
  221. package/cache/inmemory/readFromStore.js.map +1 -1
  222. package/cache/inmemory/types.d.ts +1 -1
  223. package/cache/inmemory/types.js +1 -1
  224. package/cache/inmemory/types.js.map +1 -1
  225. package/cache/inmemory/writeToStore.d.ts +1 -1
  226. package/cache/inmemory/writeToStore.js.map +1 -1
  227. package/core/ApolloClient.d.ts +17 -2
  228. package/core/ApolloClient.js +20 -4
  229. package/core/ApolloClient.js.map +1 -1
  230. package/core/QueryInfo.js.map +1 -1
  231. package/core/QueryManager.d.ts +1 -1
  232. package/core/QueryManager.js.map +1 -1
  233. package/core/equalByQuery.d.ts +1 -1
  234. package/core/equalByQuery.js +1 -1
  235. package/core/equalByQuery.js.map +1 -1
  236. package/core/index.d.ts +1 -1
  237. package/core/index.js +1 -1
  238. package/core/index.js.map +1 -1
  239. package/core/networkStatus.d.ts +1 -1
  240. package/core/networkStatus.js +1 -1
  241. package/core/networkStatus.js.map +1 -1
  242. package/core/types.js +1 -1
  243. package/core/types.js.map +1 -1
  244. package/core/watchQueryOptions.js +1 -1
  245. package/core/watchQueryOptions.js.map +1 -1
  246. package/dev/index.d.ts +1 -1
  247. package/dev/index.js +1 -1
  248. package/dev/index.js.map +1 -1
  249. package/dev/loadDevMessages.d.ts +1 -1
  250. package/dev/loadDevMessages.js +1 -1
  251. package/dev/loadDevMessages.js.map +1 -1
  252. package/dev/loadErrorMessageHandler.d.ts +1 -1
  253. package/dev/loadErrorMessageHandler.js +1 -1
  254. package/dev/loadErrorMessageHandler.js.map +1 -1
  255. package/dev/loadErrorMessages.d.ts +1 -1
  256. package/dev/loadErrorMessages.js +1 -1
  257. package/dev/loadErrorMessages.js.map +1 -1
  258. package/dev/setErrorMessageHandler.d.ts +1 -1
  259. package/dev/setErrorMessageHandler.js +1 -1
  260. package/dev/setErrorMessageHandler.js.map +1 -1
  261. package/dev/symbol.d.ts +1 -1
  262. package/dev/symbol.js +1 -1
  263. package/dev/symbol.js.map +1 -1
  264. package/errors/CombinedGraphQLErrors.d.ts +1 -1
  265. package/errors/CombinedGraphQLErrors.js +1 -1
  266. package/errors/CombinedGraphQLErrors.js.map +1 -1
  267. package/errors/CombinedProtocolErrors.d.ts +1 -1
  268. package/errors/CombinedProtocolErrors.js +1 -1
  269. package/errors/CombinedProtocolErrors.js.map +1 -1
  270. package/errors/LinkError.js.map +1 -1
  271. package/errors/LocalStateError.d.ts +1 -1
  272. package/errors/LocalStateError.js +1 -1
  273. package/errors/LocalStateError.js.map +1 -1
  274. package/errors/ServerError.d.ts +1 -1
  275. package/errors/ServerError.js +1 -1
  276. package/errors/ServerError.js.map +1 -1
  277. package/errors/ServerParseError.d.ts +1 -1
  278. package/errors/ServerParseError.js +1 -1
  279. package/errors/ServerParseError.js.map +1 -1
  280. package/errors/UnconventionalError.d.ts +1 -1
  281. package/errors/UnconventionalError.js +1 -1
  282. package/errors/UnconventionalError.js.map +1 -1
  283. package/errors/index.d.ts +1 -1
  284. package/errors/index.js +1 -1
  285. package/errors/index.js.map +1 -1
  286. package/errors/isErrorLike.d.ts +1 -1
  287. package/errors/isErrorLike.js +1 -1
  288. package/errors/isErrorLike.js.map +1 -1
  289. package/errors/utils.d.ts +1 -1
  290. package/errors/utils.js +1 -1
  291. package/errors/utils.js.map +1 -1
  292. package/incremental/handlers/defer20220824.d.ts +1 -1
  293. package/incremental/handlers/defer20220824.js +1 -1
  294. package/incremental/handlers/defer20220824.js.map +1 -1
  295. package/incremental/handlers/notImplemented.d.ts +1 -1
  296. package/incremental/index.d.ts +1 -1
  297. package/incremental/index.js.map +1 -1
  298. package/incremental/types.js +1 -1
  299. package/incremental/types.js.map +1 -1
  300. package/invariantErrorCodes.d.ts +1 -1
  301. package/invariantErrorCodes.js +4 -1
  302. package/invariantErrorCodes.js.map +1 -1
  303. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.cjs +1 -0
  304. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.d.cts +1 -0
  305. package/legacyEntryPoints/react/internal/compiler-runtime/index.d.ts +1 -0
  306. package/legacyEntryPoints/react/internal/compiler-runtime/index.js +1 -0
  307. package/link/batch/batchLink.d.ts +1 -1
  308. package/link/batch/batchLink.js +1 -1
  309. package/link/batch/batchLink.js.map +1 -1
  310. package/link/batch/batching.d.ts +1 -1
  311. package/link/batch/batching.js +1 -1
  312. package/link/batch/batching.js.map +1 -1
  313. package/link/batch/index.d.ts +1 -1
  314. package/link/batch/index.js +1 -1
  315. package/link/batch/index.js.map +1 -1
  316. package/link/batch-http/batchHttpLink.d.ts +1 -1
  317. package/link/batch-http/batchHttpLink.js +1 -1
  318. package/link/batch-http/batchHttpLink.js.map +1 -1
  319. package/link/batch-http/index.d.ts +1 -1
  320. package/link/batch-http/index.js +1 -1
  321. package/link/batch-http/index.js.map +1 -1
  322. package/link/client-awareness/ClientAwarenessLink.d.ts +1 -1
  323. package/link/client-awareness/ClientAwarenessLink.js +1 -1
  324. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  325. package/link/client-awareness/index.d.ts +1 -1
  326. package/link/client-awareness/index.js +1 -1
  327. package/link/client-awareness/index.js.map +1 -1
  328. package/link/context/index.d.ts +1 -1
  329. package/link/context/index.js +1 -1
  330. package/link/context/index.js.map +1 -1
  331. package/link/core/concat.d.ts +1 -1
  332. package/link/core/concat.js +1 -1
  333. package/link/core/concat.js.map +1 -1
  334. package/link/core/empty.d.ts +1 -1
  335. package/link/core/empty.js +1 -1
  336. package/link/core/empty.js.map +1 -1
  337. package/link/core/execute.d.ts +1 -1
  338. package/link/core/execute.js +1 -1
  339. package/link/core/execute.js.map +1 -1
  340. package/link/core/from.d.ts +1 -1
  341. package/link/core/from.js +1 -1
  342. package/link/core/from.js.map +1 -1
  343. package/link/core/split.d.ts +1 -1
  344. package/link/core/split.js +1 -1
  345. package/link/core/split.js.map +1 -1
  346. package/link/core/types.d.ts +1 -1
  347. package/link/core/types.js +1 -1
  348. package/link/core/types.js.map +1 -1
  349. package/link/error/index.d.ts +1 -1
  350. package/link/error/index.js +1 -1
  351. package/link/error/index.js.map +1 -1
  352. package/link/http/BaseHttpLink.d.ts +1 -1
  353. package/link/http/BaseHttpLink.js +1 -1
  354. package/link/http/BaseHttpLink.js.map +1 -1
  355. package/link/http/HttpLink.d.ts +1 -1
  356. package/link/http/HttpLink.js +1 -1
  357. package/link/http/HttpLink.js.map +1 -1
  358. package/link/http/checkFetcher.d.ts +1 -1
  359. package/link/http/checkFetcher.js.map +1 -1
  360. package/link/http/createSignalIfSupported.d.ts +1 -1
  361. package/link/http/createSignalIfSupported.js +1 -1
  362. package/link/http/createSignalIfSupported.js.map +1 -1
  363. package/link/http/index.d.ts +1 -1
  364. package/link/http/index.js +1 -1
  365. package/link/http/index.js.map +1 -1
  366. package/link/http/parseAndCheckHttpResponse.d.ts +1 -1
  367. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  368. package/link/http/rewriteURIForGET.d.ts +1 -1
  369. package/link/http/rewriteURIForGET.js +1 -1
  370. package/link/http/rewriteURIForGET.js.map +1 -1
  371. package/link/http/selectHttpOptionsAndBody.d.ts +1 -1
  372. package/link/http/selectHttpOptionsAndBody.js +1 -1
  373. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  374. package/link/http/selectURI.d.ts +1 -1
  375. package/link/http/selectURI.js +1 -1
  376. package/link/http/selectURI.js.map +1 -1
  377. package/link/http/serializeFetchParameter.d.ts +1 -1
  378. package/link/http/serializeFetchParameter.js.map +1 -1
  379. package/link/index.d.ts +1 -1
  380. package/link/index.js +1 -1
  381. package/link/index.js.map +1 -1
  382. package/link/persisted-queries/index.d.ts +1 -1
  383. package/link/remove-typename/index.d.ts +1 -1
  384. package/link/remove-typename/index.js.map +1 -1
  385. package/link/remove-typename/removeTypenameFromVariables.d.ts +1 -1
  386. package/link/remove-typename/removeTypenameFromVariables.js +1 -1
  387. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  388. package/link/retry/delayFunction.d.ts +1 -1
  389. package/link/retry/delayFunction.js +1 -1
  390. package/link/retry/delayFunction.js.map +1 -1
  391. package/link/retry/index.d.ts +1 -1
  392. package/link/retry/index.js +1 -1
  393. package/link/retry/index.js.map +1 -1
  394. package/link/retry/retryFunction.d.ts +1 -1
  395. package/link/retry/retryFunction.js +1 -1
  396. package/link/retry/retryFunction.js.map +1 -1
  397. package/link/retry/retryLink.d.ts +1 -1
  398. package/link/retry/retryLink.js +1 -1
  399. package/link/retry/retryLink.js.map +1 -1
  400. package/link/schema/index.d.ts +1 -1
  401. package/link/schema/index.js +1 -1
  402. package/link/schema/index.js.map +1 -1
  403. package/link/subscriptions/index.d.ts +1 -1
  404. package/link/subscriptions/index.js +1 -1
  405. package/link/subscriptions/index.js.map +1 -1
  406. package/link/utils/createOperation.d.ts +1 -1
  407. package/link/utils/createOperation.js +1 -1
  408. package/link/utils/createOperation.js.map +1 -1
  409. package/link/utils/filterOperationVariables.d.ts +1 -1
  410. package/link/utils/filterOperationVariables.js +1 -1
  411. package/link/utils/filterOperationVariables.js.map +1 -1
  412. package/link/utils/index.d.ts +1 -1
  413. package/link/utils/index.js +1 -1
  414. package/link/utils/index.js.map +1 -1
  415. package/link/utils/transformOperation.d.ts +1 -1
  416. package/link/utils/transformOperation.js +1 -1
  417. package/link/utils/transformOperation.js.map +1 -1
  418. package/link/utils/validateOperation.d.ts +1 -1
  419. package/link/utils/validateOperation.js.map +1 -1
  420. package/link/ws/index.d.ts +1 -1
  421. package/link/ws/index.js +1 -1
  422. package/link/ws/index.js.map +1 -1
  423. package/local-state/LocalState.d.ts +1 -1
  424. package/local-state/LocalState.js.map +1 -1
  425. package/local-state/index.d.ts +1 -1
  426. package/local-state/index.js +1 -1
  427. package/local-state/index.js.map +1 -1
  428. package/masking/GraphQLCodegenDataMasking.d.ts +1 -1
  429. package/masking/GraphQLCodegenDataMasking.js +1 -1
  430. package/masking/GraphQLCodegenDataMasking.js.map +1 -1
  431. package/masking/index.d.ts +1 -1
  432. package/masking/index.js +1 -1
  433. package/masking/index.js.map +1 -1
  434. package/masking/internal/types.d.ts +1 -1
  435. package/masking/internal/types.js +1 -1
  436. package/masking/internal/types.js.map +1 -1
  437. package/masking/maskDefinition.d.ts +1 -1
  438. package/masking/maskDefinition.js.map +1 -1
  439. package/masking/maskFragment.js.map +1 -1
  440. package/masking/maskOperation.js.map +1 -1
  441. package/masking/types.d.ts +1 -1
  442. package/masking/types.js +1 -1
  443. package/masking/types.js.map +1 -1
  444. package/masking/utils.js.map +1 -1
  445. package/package.json +10 -4
  446. package/react/compiled/index.d.ts +2 -0
  447. package/react/compiled/index.js +2 -0
  448. package/react/compiled/index.js.map +1 -0
  449. package/react/context/ApolloConsumer.d.ts +1 -1
  450. package/react/context/ApolloConsumer.js.map +1 -1
  451. package/react/context/ApolloContext.d.ts +1 -1
  452. package/react/context/ApolloContext.js.map +1 -1
  453. package/react/context/ApolloProvider.d.ts +1 -1
  454. package/react/context/ApolloProvider.js.map +1 -1
  455. package/react/hooks/constants.d.ts +1 -1
  456. package/react/hooks/constants.js +1 -1
  457. package/react/hooks/constants.js.map +1 -1
  458. package/react/hooks/internal/__use.d.ts +1 -1
  459. package/react/hooks/internal/__use.js +1 -1
  460. package/react/hooks/internal/__use.js.map +1 -1
  461. package/react/hooks/internal/index.d.ts +1 -1
  462. package/react/hooks/internal/index.js +1 -1
  463. package/react/hooks/internal/index.js.map +1 -1
  464. package/react/hooks/internal/useDeepMemo.d.ts +1 -1
  465. package/react/hooks/internal/useDeepMemo.js +1 -1
  466. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  467. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  468. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  469. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  470. package/react/hooks/internal/useRenderGuard.d.ts +1 -1
  471. package/react/hooks/internal/useRenderGuard.js +1 -1
  472. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  473. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +1 -1
  474. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
  475. package/react/hooks/internal/wrapHook.js.map +1 -1
  476. package/react/hooks/useApolloClient.d.ts +1 -1
  477. package/react/hooks/useApolloClient.js +1 -14
  478. package/react/hooks/useApolloClient.js.map +1 -1
  479. package/react/hooks/useBackgroundQuery.js +7 -7
  480. package/react/hooks/useBackgroundQuery.js.map +1 -1
  481. package/react/hooks/useFragment.d.ts +5 -8
  482. package/react/hooks/useFragment.js +18 -14
  483. package/react/hooks/useFragment.js.map +1 -1
  484. package/react/hooks/useLazyQuery.js +14 -14
  485. package/react/hooks/useLazyQuery.js.map +1 -1
  486. package/react/hooks/useLoadableQuery.js +69 -229
  487. package/react/hooks/useLoadableQuery.js.map +1 -1
  488. package/react/hooks/useMutation.js +82 -192
  489. package/react/hooks/useMutation.js.map +1 -1
  490. package/react/hooks/useQuery.js +54 -225
  491. package/react/hooks/useQuery.js.map +1 -1
  492. package/react/hooks/useQueryRefHandlers.js +24 -64
  493. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  494. package/react/hooks/useReactiveVar.d.ts +1 -1
  495. package/react/hooks/useReactiveVar.js +1 -1
  496. package/react/hooks/useReactiveVar.js.map +1 -1
  497. package/react/hooks/useReadQuery.d.ts +1 -1
  498. package/react/hooks/useReadQuery.js +3 -3
  499. package/react/hooks/useReadQuery.js.map +1 -1
  500. package/react/hooks/useSubscription.js +4 -4
  501. package/react/hooks/useSubscription.js.map +1 -1
  502. package/react/hooks/useSuspenseFragment.d.ts +3 -3
  503. package/react/hooks/useSuspenseFragment.js +1 -1
  504. package/react/hooks/useSuspenseFragment.js.map +1 -1
  505. package/react/hooks/useSuspenseQuery.js +34 -59
  506. package/react/hooks/useSuspenseQuery.js.map +1 -1
  507. package/react/hooks/useSyncExternalStore.d.ts +1 -1
  508. package/react/hooks/useSyncExternalStore.js.map +1 -1
  509. package/react/hooks-compiled/constants.d.ts +3 -0
  510. package/react/hooks-compiled/constants.js +2 -0
  511. package/react/hooks-compiled/constants.js.map +1 -0
  512. package/react/hooks-compiled/internal/__use.d.ts +4 -0
  513. package/react/hooks-compiled/internal/__use.js +22 -0
  514. package/react/hooks-compiled/internal/__use.js.map +1 -0
  515. package/react/hooks-compiled/internal/index.d.ts +5 -0
  516. package/react/hooks-compiled/internal/index.js +6 -0
  517. package/react/hooks-compiled/internal/index.js.map +1 -0
  518. package/react/hooks-compiled/internal/useDeepMemo.d.ts +3 -0
  519. package/react/hooks-compiled/internal/useDeepMemo.js +13 -0
  520. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -0
  521. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.d.ts +3 -0
  522. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js +9 -0
  523. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js.map +1 -0
  524. package/react/hooks-compiled/internal/useRenderGuard.d.ts +2 -0
  525. package/react/hooks-compiled/internal/useRenderGuard.js +42 -0
  526. package/react/hooks-compiled/internal/useRenderGuard.js.map +1 -0
  527. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +3 -0
  528. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js +22 -0
  529. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -0
  530. package/react/hooks-compiled/internal/wrapHook.d.ts +66 -0
  531. package/react/hooks-compiled/internal/wrapHook.js +64 -0
  532. package/react/hooks-compiled/internal/wrapHook.js.map +1 -0
  533. package/react/hooks-compiled/useApolloClient.d.ts +18 -0
  534. package/react/hooks-compiled/useApolloClient.js +36 -0
  535. package/react/hooks-compiled/useApolloClient.js.map +1 -0
  536. package/react/hooks-compiled/useBackgroundQuery.d.ts +210 -0
  537. package/react/hooks-compiled/useBackgroundQuery.js +80 -0
  538. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -0
  539. package/react/hooks-compiled/useFragment.d.ts +52 -0
  540. package/react/hooks-compiled/useFragment.js +101 -0
  541. package/react/hooks-compiled/useFragment.js.map +1 -0
  542. package/react/hooks-compiled/useLazyQuery.d.ts +280 -0
  543. package/react/hooks-compiled/useLazyQuery.js +181 -0
  544. package/react/hooks-compiled/useLazyQuery.js.map +1 -0
  545. package/react/hooks-compiled/useLoadableQuery.d.ts +175 -0
  546. package/react/hooks-compiled/useLoadableQuery.js +247 -0
  547. package/react/hooks-compiled/useLoadableQuery.js.map +1 -0
  548. package/react/hooks-compiled/useMutation.d.ts +280 -0
  549. package/react/hooks-compiled/useMutation.js +263 -0
  550. package/react/hooks-compiled/useMutation.js.map +1 -0
  551. package/react/hooks-compiled/useQuery.d.ts +265 -0
  552. package/react/hooks-compiled/useQuery.js +395 -0
  553. package/react/hooks-compiled/useQuery.js.map +1 -0
  554. package/react/hooks-compiled/useQueryRefHandlers.d.ts +44 -0
  555. package/react/hooks-compiled/useQueryRefHandlers.js +109 -0
  556. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -0
  557. package/react/hooks-compiled/useReactiveVar.d.ts +20 -0
  558. package/react/hooks-compiled/useReactiveVar.js +33 -0
  559. package/react/hooks-compiled/useReactiveVar.js.map +1 -0
  560. package/react/hooks-compiled/useReadQuery.d.ts +24 -0
  561. package/react/hooks-compiled/useReadQuery.js +43 -0
  562. package/react/hooks-compiled/useReadQuery.js.map +1 -0
  563. package/react/hooks-compiled/useSubscription.d.ts +178 -0
  564. package/react/hooks-compiled/useSubscription.js +223 -0
  565. package/react/hooks-compiled/useSubscription.js.map +1 -0
  566. package/react/hooks-compiled/useSuspenseFragment.d.ts +47 -0
  567. package/react/hooks-compiled/useSuspenseFragment.js +47 -0
  568. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -0
  569. package/react/hooks-compiled/useSuspenseQuery.d.ts +204 -0
  570. package/react/hooks-compiled/useSuspenseQuery.js +144 -0
  571. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -0
  572. package/react/hooks-compiled/useSyncExternalStore.d.ts +4 -0
  573. package/react/hooks-compiled/useSyncExternalStore.js +126 -0
  574. package/react/hooks-compiled/useSyncExternalStore.js.map +1 -0
  575. package/react/index.compiled.d.ts +26 -0
  576. package/react/index.compiled.js +21 -0
  577. package/react/index.compiled.js.map +1 -0
  578. package/react/index.d.ts +2 -1
  579. package/react/index.js +2 -1
  580. package/react/index.js.map +1 -1
  581. package/react/index.react-server.d.ts +1 -1
  582. package/react/index.react-server.js +1 -1
  583. package/react/index.react-server.js.map +1 -1
  584. package/react/internal/cache/FragmentReference.d.ts +1 -1
  585. package/react/internal/cache/FragmentReference.js +1 -1
  586. package/react/internal/cache/FragmentReference.js.map +1 -1
  587. package/react/internal/cache/SuspenseCache.d.ts +1 -1
  588. package/react/internal/cache/SuspenseCache.js +1 -1
  589. package/react/internal/cache/SuspenseCache.js.map +1 -1
  590. package/react/internal/cache/getSuspenseCache.d.ts +1 -1
  591. package/react/internal/cache/getSuspenseCache.js +1 -1
  592. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  593. package/react/internal/cache/types.d.ts +1 -1
  594. package/react/internal/cache/types.js +1 -1
  595. package/react/internal/cache/types.js.map +1 -1
  596. package/react/internal/compiler-runtime/index.d.ts +8 -0
  597. package/react/internal/compiler-runtime/index.js +28 -0
  598. package/react/internal/compiler-runtime/index.js.map +1 -0
  599. package/react/internal/index.d.ts +1 -1
  600. package/react/internal/index.js +1 -1
  601. package/react/internal/index.js.map +1 -1
  602. package/react/internal/types.d.ts +1 -1
  603. package/react/internal/types.js +1 -1
  604. package/react/internal/types.js.map +1 -1
  605. package/react/query-preloader/createQueryPreloader.js +1 -1
  606. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  607. package/react/ssr/getDataFromTree.d.ts +1 -1
  608. package/react/ssr/getDataFromTree.js.map +1 -1
  609. package/react/ssr/index.d.ts +1 -1
  610. package/react/ssr/index.js +1 -1
  611. package/react/ssr/index.js.map +1 -1
  612. package/react/ssr/prerenderStatic.d.ts +1 -1
  613. package/react/ssr/renderToStringWithData.d.ts +1 -1
  614. package/react/ssr/renderToStringWithData.js +1 -1
  615. package/react/ssr/renderToStringWithData.js.map +1 -1
  616. package/react/ssr/useSSRQuery.d.ts +1 -1
  617. package/react/ssr/useSSRQuery.js +1 -1
  618. package/react/ssr/useSSRQuery.js.map +1 -1
  619. package/react/types/deprecated.d.ts +1 -1
  620. package/react/types/deprecated.js +1 -1
  621. package/react/types/deprecated.js.map +1 -1
  622. package/react/types/types.documentation.js +1 -1
  623. package/react/types/types.documentation.js.map +1 -1
  624. package/testing/core/mocking/mockLink.js.map +1 -1
  625. package/testing/core/mocking/mockSubscriptionLink.d.ts +1 -1
  626. package/testing/core/mocking/mockSubscriptionLink.js +1 -1
  627. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  628. package/testing/core/types/deprecated.d.ts +1 -1
  629. package/testing/core/types/deprecated.js +1 -1
  630. package/testing/core/types/deprecated.js.map +1 -1
  631. package/testing/index.d.ts +1 -1
  632. package/testing/index.js +1 -1
  633. package/testing/index.js.map +1 -1
  634. package/testing/react/MockedProvider.d.ts +1 -1
  635. package/testing/react/MockedProvider.js +1 -1
  636. package/testing/react/MockedProvider.js.map +1 -1
  637. package/testing/react/index.d.ts +1 -1
  638. package/testing/react/index.js +1 -1
  639. package/testing/react/index.js.map +1 -1
  640. package/utilities/DeepPartial.d.ts +1 -1
  641. package/utilities/DeepPartial.js +1 -1
  642. package/utilities/DeepPartial.js.map +1 -1
  643. package/utilities/HKT.d.ts +1 -1
  644. package/utilities/HKT.js +1 -1
  645. package/utilities/HKT.js.map +1 -1
  646. package/utilities/caching/index.d.ts +1 -1
  647. package/utilities/caching/index.js +1 -1
  648. package/utilities/caching/index.js.map +1 -1
  649. package/utilities/caching/sizes.d.ts +1 -1
  650. package/utilities/caching/sizes.js +1 -1
  651. package/utilities/caching/sizes.js.map +1 -1
  652. package/utilities/common/stripTypename.d.ts +1 -1
  653. package/utilities/common/stripTypename.js +1 -1
  654. package/utilities/common/stripTypename.js.map +1 -1
  655. package/utilities/environment/index.d.ts +1 -1
  656. package/utilities/environment/index.development.d.ts +1 -1
  657. package/utilities/environment/index.development.js +1 -1
  658. package/utilities/environment/index.development.js.map +1 -1
  659. package/utilities/environment/index.js +1 -1
  660. package/utilities/environment/index.js.map +1 -1
  661. package/utilities/environment/index.production.d.ts +1 -1
  662. package/utilities/environment/index.production.js +1 -1
  663. package/utilities/environment/index.production.js.map +1 -1
  664. package/utilities/graphql/isFormattedExecutionResult.d.ts +1 -1
  665. package/utilities/graphql/isFormattedExecutionResult.js +1 -1
  666. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -1
  667. package/utilities/graphql/operations.d.ts +1 -1
  668. package/utilities/graphql/operations.js +1 -1
  669. package/utilities/graphql/operations.js.map +1 -1
  670. package/utilities/graphql/print.d.ts +1 -1
  671. package/utilities/graphql/print.js +1 -1
  672. package/utilities/graphql/print.js.map +1 -1
  673. package/utilities/graphql/storeUtils.d.ts +1 -1
  674. package/utilities/graphql/storeUtils.js +1 -1
  675. package/utilities/graphql/storeUtils.js.map +1 -1
  676. package/utilities/graphql/transform.d.ts +1 -1
  677. package/utilities/graphql/transform.js +1 -1
  678. package/utilities/graphql/transform.js.map +1 -1
  679. package/utilities/index.d.ts +1 -1
  680. package/utilities/index.js +1 -1
  681. package/utilities/index.js.map +1 -1
  682. package/utilities/internal/argumentsObjectFromField.js.map +1 -1
  683. package/utilities/internal/caches.js.map +1 -1
  684. package/utilities/internal/canUseDOM.js.map +1 -1
  685. package/utilities/internal/checkDocument.js.map +1 -1
  686. package/utilities/internal/cloneDeep.js.map +1 -1
  687. package/utilities/internal/compact.js.map +1 -1
  688. package/utilities/internal/createFragmentMap.js.map +1 -1
  689. package/utilities/internal/createFulfilledPromise.js.map +1 -1
  690. package/utilities/internal/createRejectedPromise.js.map +1 -1
  691. package/utilities/internal/dealias.d.ts +1 -1
  692. package/utilities/internal/dealias.js +1 -1
  693. package/utilities/internal/dealias.js.map +1 -1
  694. package/utilities/internal/decoratePromise.js.map +1 -1
  695. package/utilities/internal/deepFreeze.js.map +1 -1
  696. package/utilities/internal/filterMap.d.ts +1 -1
  697. package/utilities/internal/filterMap.js +1 -1
  698. package/utilities/internal/filterMap.js.map +1 -1
  699. package/utilities/internal/getDefaultValues.js.map +1 -1
  700. package/utilities/internal/getFragmentDefinition.js.map +1 -1
  701. package/utilities/internal/getFragmentDefinitions.js.map +1 -1
  702. package/utilities/internal/getFragmentFromSelection.js.map +1 -1
  703. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  704. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -1
  705. package/utilities/internal/getMainDefinition.js.map +1 -1
  706. package/utilities/internal/getMemoryInternals.js.map +1 -1
  707. package/utilities/internal/getOperationDefinition.js.map +1 -1
  708. package/utilities/internal/getOperationName.js.map +1 -1
  709. package/utilities/internal/getQueryDefinition.js.map +1 -1
  710. package/utilities/internal/getStoreKeyName.js.map +1 -1
  711. package/utilities/internal/globals/global.d.ts +1 -1
  712. package/utilities/internal/globals/index.d.ts +1 -1
  713. package/utilities/internal/globals/index.js +1 -1
  714. package/utilities/internal/globals/index.js.map +1 -1
  715. package/utilities/internal/globals/maybe.d.ts +1 -1
  716. package/utilities/internal/globals/maybe.js +1 -1
  717. package/utilities/internal/globals/maybe.js.map +1 -1
  718. package/utilities/internal/graphQLResultHasError.js.map +1 -1
  719. package/utilities/internal/hasDirectives.js.map +1 -1
  720. package/utilities/internal/hasForcedResolvers.d.ts +1 -1
  721. package/utilities/internal/hasForcedResolvers.js +1 -1
  722. package/utilities/internal/hasForcedResolvers.js.map +1 -1
  723. package/utilities/internal/index.d.ts +1 -1
  724. package/utilities/internal/index.js +1 -1
  725. package/utilities/internal/index.js.map +1 -1
  726. package/utilities/internal/index.production.d.ts +1 -1
  727. package/utilities/internal/index.production.js +1 -1
  728. package/utilities/internal/index.production.js.map +1 -1
  729. package/utilities/internal/isArray.js.map +1 -1
  730. package/utilities/internal/isDocumentNode.js.map +1 -1
  731. package/utilities/internal/isField.js.map +1 -1
  732. package/utilities/internal/isNonEmptyArray.js.map +1 -1
  733. package/utilities/internal/isNonNullObject.js.map +1 -1
  734. package/utilities/internal/isPlainObject.js.map +1 -1
  735. package/utilities/internal/makeReference.js.map +1 -1
  736. package/utilities/internal/makeUniqueId.js.map +1 -1
  737. package/utilities/internal/maybeDeepFreeze.js.map +1 -1
  738. package/utilities/internal/mergeDeep.js.map +1 -1
  739. package/utilities/internal/mergeDeepArray.js.map +1 -1
  740. package/utilities/internal/mergeOptions.js.map +1 -1
  741. package/utilities/internal/omitDeep.js.map +1 -1
  742. package/utilities/internal/preventUnhandledRejection.d.ts +1 -1
  743. package/utilities/internal/preventUnhandledRejection.js +1 -1
  744. package/utilities/internal/preventUnhandledRejection.js.map +1 -1
  745. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -1
  746. package/utilities/internal/resultKeyNameFromField.js.map +1 -1
  747. package/utilities/internal/shouldInclude.js.map +1 -1
  748. package/utilities/internal/storeKeyNameFromField.js.map +1 -1
  749. package/utilities/internal/stringifyForDisplay.js.map +1 -1
  750. package/utilities/internal/toQueryResult.js.map +1 -1
  751. package/utilities/internal/types/ApplyHKT.js +1 -1
  752. package/utilities/internal/types/ApplyHKT.js.map +1 -1
  753. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +1 -1
  754. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -1
  755. package/utilities/internal/types/DecoratedPromise.js +1 -1
  756. package/utilities/internal/types/DecoratedPromise.js.map +1 -1
  757. package/utilities/internal/types/DeepOmit.js +1 -1
  758. package/utilities/internal/types/DeepOmit.js.map +1 -1
  759. package/utilities/internal/types/FragmentMap.js +1 -1
  760. package/utilities/internal/types/FragmentMap.js.map +1 -1
  761. package/utilities/internal/types/FragmentMapFunction.js +1 -1
  762. package/utilities/internal/types/FragmentMapFunction.js.map +1 -1
  763. package/utilities/internal/types/FulfilledPromise.js +1 -1
  764. package/utilities/internal/types/FulfilledPromise.js.map +1 -1
  765. package/utilities/internal/types/IsAny.js +1 -1
  766. package/utilities/internal/types/IsAny.js.map +1 -1
  767. package/utilities/internal/types/NoInfer.d.ts +1 -1
  768. package/utilities/internal/types/NoInfer.js +1 -1
  769. package/utilities/internal/types/NoInfer.js.map +1 -1
  770. package/utilities/internal/types/PendingPromise.js +1 -1
  771. package/utilities/internal/types/PendingPromise.js.map +1 -1
  772. package/utilities/internal/types/Prettify.js +1 -1
  773. package/utilities/internal/types/Prettify.js.map +1 -1
  774. package/utilities/internal/types/Primitive.js +1 -1
  775. package/utilities/internal/types/Primitive.js.map +1 -1
  776. package/utilities/internal/types/RejectedPromise.js +1 -1
  777. package/utilities/internal/types/RejectedPromise.js.map +1 -1
  778. package/utilities/internal/types/RemoveIndexSignature.js +1 -1
  779. package/utilities/internal/types/RemoveIndexSignature.js.map +1 -1
  780. package/utilities/internal/types/TupleToIntersection.d.ts +1 -1
  781. package/utilities/internal/types/TupleToIntersection.js +1 -1
  782. package/utilities/internal/types/TupleToIntersection.js.map +1 -1
  783. package/utilities/internal/types/VariablesOption.js +1 -1
  784. package/utilities/internal/types/VariablesOption.js.map +1 -1
  785. package/utilities/internal/valueToObjectRepresentation.js.map +1 -1
  786. package/utilities/invariant/index.d.ts +1 -1
  787. package/utilities/invariant/index.development.d.ts +1 -1
  788. package/utilities/invariant/index.development.js +1 -1
  789. package/utilities/invariant/index.development.js.map +1 -1
  790. package/utilities/invariant/index.js +1 -1
  791. package/utilities/invariant/index.js.map +1 -1
  792. package/utilities/policies/pagination.d.ts +1 -1
  793. package/utilities/policies/pagination.js +1 -1
  794. package/utilities/policies/pagination.js.map +1 -1
  795. package/utilities/shared/canonicalStringify.d.ts +1 -1
  796. package/utilities/shared/canonicalStringify.js +1 -1
  797. package/utilities/shared/canonicalStringify.js.map +1 -1
  798. package/utilities/subscriptions/relay/index.d.ts +1 -1
  799. package/utilities/subscriptions/relay/index.js +1 -1
  800. package/utilities/subscriptions/relay/index.js.map +1 -1
  801. package/version.d.ts +1 -1
  802. package/version.js +1 -1
  803. package/version.js.map +1 -1
@@ -0,0 +1,20 @@
1
+ import type { ReactiveVar } from "@apollo/client";
2
+ /**
3
+ * Reads the value of a [reactive variable](https://www.apollographql.com/docs/react/local-state/reactive-variables/) and re-renders the containing component whenever that variable's value changes. This enables a reactive variable to trigger changes _without_ relying on the `useQuery` hook.
4
+ *
5
+ * @example
6
+ * ```jsx
7
+ * import { makeVar, useReactiveVar } from "@apollo/client";
8
+ * export const cartItemsVar = makeVar([]);
9
+ *
10
+ * export function Cart() {
11
+ * const cartItems = useReactiveVar(cartItemsVar);
12
+ * // ...
13
+ * }
14
+ * ```
15
+ * @since 3.2.0
16
+ * @param rv - A reactive variable.
17
+ * @returns The current value of the reactive variable.
18
+ */
19
+ export declare function useReactiveVar<T>(rv: ReactiveVar<T>): T;
20
+ //# sourceMappingURL=useReactiveVar.d.ts.map
@@ -0,0 +1,33 @@
1
+ import * as React from "react";
2
+ import { useSyncExternalStore } from "./useSyncExternalStore.js";
3
+ /**
4
+ * Reads the value of a [reactive variable](https://www.apollographql.com/docs/react/local-state/reactive-variables/) and re-renders the containing component whenever that variable's value changes. This enables a reactive variable to trigger changes _without_ relying on the `useQuery` hook.
5
+ *
6
+ * @example
7
+ * ```jsx
8
+ * import { makeVar, useReactiveVar } from "@apollo/client";
9
+ * export const cartItemsVar = makeVar([]);
10
+ *
11
+ * export function Cart() {
12
+ * const cartItems = useReactiveVar(cartItemsVar);
13
+ * // ...
14
+ * }
15
+ * ```
16
+ * @since 3.2.0
17
+ * @param rv - A reactive variable.
18
+ * @returns The current value of the reactive variable.
19
+ */
20
+ export function useReactiveVar(rv) {
21
+ return useSyncExternalStore(React.useCallback((update) => {
22
+ // By reusing the same onNext function in the nested call to
23
+ // rv.onNextChange(onNext), we can keep using the initial clean-up function
24
+ // returned by rv.onNextChange(function onNext(v){...}), without having to
25
+ // register the new clean-up function (returned by the nested
26
+ // rv.onNextChange(onNext)) with yet another callback.
27
+ return rv.onNextChange(function onNext() {
28
+ update();
29
+ rv.onNextChange(onNext);
30
+ });
31
+ }, [rv]), rv, rv);
32
+ }
33
+ //# sourceMappingURL=useReactiveVar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReactiveVar.js","sourceRoot":"","sources":["../../../src/react/hooks/useReactiveVar.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAAI,EAAkB;IAClD,OAAO,oBAAoB,CACzB,KAAK,CAAC,WAAW,CACf,CAAC,MAAM,EAAE,EAAE;QACT,4DAA4D;QAC5D,2EAA2E;QAC3E,0EAA0E;QAC1E,6DAA6D;QAC7D,sDAAsD;QACtD,OAAO,EAAE,CAAC,YAAY,CAAC,SAAS,MAAM;YACpC,MAAM,EAAE,CAAC;YACT,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC,EACD,CAAC,EAAE,CAAC,CACL,EACD,EAAE,EACF,EAAE,CACH,CAAC;AACJ,CAAC","sourcesContent":["import * as React from \"react\";\n\nimport type { ReactiveVar } from \"@apollo/client\";\n\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\n\n/**\n * Reads the value of a [reactive variable](https://www.apollographql.com/docs/react/local-state/reactive-variables/) and re-renders the containing component whenever that variable's value changes. This enables a reactive variable to trigger changes _without_ relying on the `useQuery` hook.\n *\n * @example\n * ```jsx\n * import { makeVar, useReactiveVar } from \"@apollo/client\";\n * export const cartItemsVar = makeVar([]);\n *\n * export function Cart() {\n * const cartItems = useReactiveVar(cartItemsVar);\n * // ...\n * }\n * ```\n * @since 3.2.0\n * @param rv - A reactive variable.\n * @returns The current value of the reactive variable.\n */\nexport function useReactiveVar<T>(rv: ReactiveVar<T>): T {\n return useSyncExternalStore(\n React.useCallback(\n (update) => {\n // By reusing the same onNext function in the nested call to\n // rv.onNextChange(onNext), we can keep using the initial clean-up function\n // returned by rv.onNextChange(function onNext(v){...}), without having to\n // register the new clean-up function (returned by the nested\n // rv.onNextChange(onNext)) with yet another callback.\n return rv.onNextChange(function onNext() {\n update();\n rv.onNextChange(onNext);\n });\n },\n [rv]\n ),\n rv,\n rv\n );\n}\n"]}
@@ -0,0 +1,24 @@
1
+ import type { DataState, ErrorLike, GetDataState, NetworkStatus } from "@apollo/client";
2
+ import type { MaybeMasked } from "@apollo/client/masking";
3
+ import type { QueryRef } from "@apollo/client/react/internal";
4
+ export declare namespace useReadQuery {
5
+ type Result<TData = unknown, TStates extends DataState<TData>["dataState"] = DataState<TData>["dataState"]> = {
6
+ /**
7
+ * If the query produces one or more errors, this object contains either an
8
+ * array of `graphQLErrors` or a single `networkError`. Otherwise, this value
9
+ * is `undefined`.
10
+ *
11
+ * This property can be ignored when using the default `errorPolicy` or an
12
+ * `errorPolicy` of `none`. The hook will throw the error instead of setting
13
+ * this property.
14
+ */
15
+ error: ErrorLike | undefined;
16
+ /**
17
+ * A number indicating the current network state of the query's associated
18
+ * request. {@link https://github.com/apollographql/apollo-client/blob/d96f4578f89b933c281bb775a39503f6cdb59ee8/src/core/networkStatus.ts#L4 | See possible values}.
19
+ */
20
+ networkStatus: NetworkStatus;
21
+ } & GetDataState<MaybeMasked<TData>, TStates>;
22
+ }
23
+ export declare function useReadQuery<TData, TStates extends DataState<TData>["dataState"]>(queryRef: QueryRef<TData, any, TStates>): useReadQuery.Result<TData, TStates>;
24
+ //# sourceMappingURL=useReadQuery.d.ts.map
@@ -0,0 +1,43 @@
1
+ import * as React from "react";
2
+ import { assertWrappedQueryRef, getWrappedPromise, unwrapQueryRef, updateWrappedQueryRef, } from "@apollo/client/react/internal";
3
+ import { __use, wrapHook } from "./internal/index.js";
4
+ import { useApolloClient } from "./useApolloClient.js";
5
+ import { useSyncExternalStore } from "./useSyncExternalStore.js";
6
+ export function useReadQuery(queryRef) {
7
+ "use no memo";
8
+ const unwrapped = unwrapQueryRef(queryRef);
9
+ const clientOrObsQuery = useApolloClient(unwrapped ?
10
+ // passing an `ObservableQuery` is not supported by the types, but it will
11
+ // return any truthy value that is passed in as an override so we cast the result
12
+ unwrapped["observable"]
13
+ : undefined);
14
+ return wrapHook("useReadQuery",
15
+ // eslint-disable-next-line react-compiler/react-compiler
16
+ useReadQuery_, clientOrObsQuery)(queryRef);
17
+ }
18
+ function useReadQuery_(queryRef) {
19
+ assertWrappedQueryRef(queryRef);
20
+ const internalQueryRef = React.useMemo(() => unwrapQueryRef(queryRef), [queryRef]);
21
+ const getPromise = React.useCallback(() => getWrappedPromise(queryRef), [queryRef]);
22
+ if (internalQueryRef.disposed) {
23
+ internalQueryRef.reinitialize();
24
+ updateWrappedQueryRef(queryRef, internalQueryRef.promise);
25
+ }
26
+ React.useEffect(() => internalQueryRef.retain(), [internalQueryRef]);
27
+ const promise_0 = useSyncExternalStore(React.useCallback((forceUpdate) => {
28
+ return internalQueryRef.listen((promise) => {
29
+ updateWrappedQueryRef(queryRef, promise);
30
+ forceUpdate();
31
+ });
32
+ }, [internalQueryRef, queryRef]), getPromise, getPromise);
33
+ const result = __use(promise_0);
34
+ return React.useMemo(() => {
35
+ return {
36
+ data: result.data,
37
+ dataState: result.dataState,
38
+ networkStatus: result.networkStatus,
39
+ error: result.error,
40
+ };
41
+ }, [result]);
42
+ }
43
+ //# sourceMappingURL=useReadQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useReadQuery.js","sources":["../../../src/react/hooks/useReadQuery.ts"],"sourcesContent":["import * as React from \"react\";\n\nimport type {\n ApolloClient,\n DataState,\n ErrorLike,\n GetDataState,\n NetworkStatus,\n ObservableQuery,\n} from \"@apollo/client\";\nimport type { MaybeMasked } from \"@apollo/client/masking\";\nimport type { QueryRef } from \"@apollo/client/react/internal\";\nimport {\n assertWrappedQueryRef,\n getWrappedPromise,\n unwrapQueryRef,\n updateWrappedQueryRef,\n} from \"@apollo/client/react/internal\";\n\nimport { __use, wrapHook } from \"./internal/index.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\n\nexport declare namespace useReadQuery {\n export type Result<\n TData = unknown,\n TStates extends\n DataState<TData>[\"dataState\"] = DataState<TData>[\"dataState\"],\n > = {\n /**\n * If the query produces one or more errors, this object contains either an\n * array of `graphQLErrors` or a single `networkError`. Otherwise, this value\n * is `undefined`.\n *\n * This property can be ignored when using the default `errorPolicy` or an\n * `errorPolicy` of `none`. The hook will throw the error instead of setting\n * this property.\n */\n error: ErrorLike | undefined;\n /**\n * A number indicating the current network state of the query's associated\n * request. {@link https://github.com/apollographql/apollo-client/blob/d96f4578f89b933c281bb775a39503f6cdb59ee8/src/core/networkStatus.ts#L4 | See possible values}.\n */\n networkStatus: NetworkStatus;\n } & GetDataState<MaybeMasked<TData>, TStates>;\n}\n\nexport function useReadQuery<\n TData,\n TStates extends DataState<TData>[\"dataState\"],\n>(\n queryRef: QueryRef<TData, any, TStates>\n): useReadQuery.Result<TData, TStates> {\n \"use no memo\";\n const unwrapped = unwrapQueryRef(queryRef);\n const clientOrObsQuery = useApolloClient(\n unwrapped ?\n // passing an `ObservableQuery` is not supported by the types, but it will\n // return any truthy value that is passed in as an override so we cast the result\n (unwrapped[\"observable\"] as any)\n : undefined\n ) as ApolloClient | ObservableQuery<TData>;\n\n return wrapHook(\n \"useReadQuery\",\n // eslint-disable-next-line react-compiler/react-compiler\n useReadQuery_,\n clientOrObsQuery\n )(queryRef);\n}\n\nfunction useReadQuery_<TData, TStates extends DataState<TData>[\"dataState\"]>(\n queryRef: QueryRef<TData, any, TStates>\n): useReadQuery.Result<TData, TStates> {\n assertWrappedQueryRef(queryRef);\n const internalQueryRef = React.useMemo(\n () => unwrapQueryRef(queryRef),\n [queryRef]\n );\n\n const getPromise = React.useCallback(\n () => getWrappedPromise(queryRef),\n [queryRef]\n );\n\n if (internalQueryRef.disposed) {\n internalQueryRef.reinitialize();\n updateWrappedQueryRef(queryRef, internalQueryRef.promise);\n }\n\n React.useEffect(() => internalQueryRef.retain(), [internalQueryRef]);\n\n const promise = useSyncExternalStore(\n React.useCallback(\n (forceUpdate) => {\n return internalQueryRef.listen((promise) => {\n updateWrappedQueryRef(queryRef, promise);\n forceUpdate();\n });\n },\n [internalQueryRef, queryRef]\n ),\n getPromise,\n getPromise\n );\n\n const result = __use(promise);\n\n return React.useMemo(() => {\n return {\n data: result.data,\n dataState: result.dataState,\n networkStatus: result.networkStatus,\n error: result.error,\n } as useReadQuery.Result<TData, TStates>;\n }, [result]);\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,178 @@
1
+ import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
+ import type { DocumentNode } from "graphql";
3
+ import type { ApolloClient, DefaultContext, ErrorLike, ErrorPolicy, FetchPolicy, OperationVariables } from "@apollo/client";
4
+ import type { MaybeMasked } from "@apollo/client/masking";
5
+ import type { NoInfer, VariablesOption } from "@apollo/client/utilities/internal";
6
+ export declare namespace useSubscription {
7
+ type Options<TData = unknown, TVariables extends OperationVariables = OperationVariables> = {
8
+ /**
9
+ * How you want your component to interact with the Apollo cache. For details, see [Setting a fetch policy](https://www.apollographql.com/docs/react/data/queries/#setting-a-fetch-policy).
10
+ */
11
+ fetchPolicy?: FetchPolicy;
12
+ /**
13
+ * Specifies the `ErrorPolicy` to be used for this operation
14
+ */
15
+ errorPolicy?: ErrorPolicy;
16
+ /**
17
+ * Determines if your subscription should be unsubscribed and subscribed again when an input to the hook (such as `subscription` or `variables`) changes.
18
+ */
19
+ shouldResubscribe?: boolean | ((options: Options<TData, TVariables>) => boolean);
20
+ /**
21
+ * An `ApolloClient` instance. By default `useSubscription` / `Subscription` uses the client passed down via context, but a different client can be passed in.
22
+ */
23
+ client?: ApolloClient;
24
+ /**
25
+ * Determines if the current subscription should be skipped. Useful if, for example, variables depend on previous queries and are not ready yet.
26
+ */
27
+ skip?: boolean;
28
+ /**
29
+ * Shared context between your component and your network interface (Apollo Link).
30
+ */
31
+ context?: DefaultContext;
32
+ /**
33
+ * Shared context between your component and your network interface (Apollo Link).
34
+ */
35
+ extensions?: Record<string, any>;
36
+ /**
37
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component completes the subscription.
38
+ *
39
+ * @since
40
+ *
41
+ * 3.7.0
42
+ */
43
+ onComplete?: () => void;
44
+ /**
45
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component receives data. The callback `options` object param consists of the current Apollo Client instance in `client`, and the received subscription data in `data`.
46
+ *
47
+ * @since
48
+ *
49
+ * 3.7.0
50
+ */
51
+ onData?: (options: OnDataOptions<TData>) => any;
52
+ /**
53
+ * Allows the registration of a callback function that will be triggered each time the `useSubscription` Hook / `Subscription` component receives an error.
54
+ *
55
+ * @since
56
+ *
57
+ * 3.7.0
58
+ */
59
+ onError?: (error: ErrorLike) => void;
60
+ /**
61
+ * If `true`, the hook will not cause the component to rerender. This is useful when you want to control the rendering of your component yourself with logic in the `onData` and `onError` callbacks.
62
+ *
63
+ * Changing this to `true` when the hook already has `data` will reset the `data` to `undefined`.
64
+ *
65
+ * @defaultValue `false`
66
+ */
67
+ ignoreResults?: boolean;
68
+ } & VariablesOption<TVariables>;
69
+ interface Result<TData = unknown> {
70
+ /**
71
+ * A boolean that indicates whether any initial data has been returned
72
+ */
73
+ loading: boolean;
74
+ /**
75
+ * An object containing the result of your GraphQL subscription. Defaults to an empty object.
76
+ */
77
+ data?: MaybeMasked<TData>;
78
+ /**
79
+ * A runtime error with `graphQLErrors` and `networkError` properties
80
+ */
81
+ error?: ErrorLike;
82
+ restart: () => void;
83
+ }
84
+ type OnDataResult<TData = unknown> = Omit<Result<TData>, "restart">;
85
+ interface OnDataOptions<TData = unknown> {
86
+ client: ApolloClient;
87
+ data: OnDataResult<TData>;
88
+ }
89
+ interface OnSubscriptionDataOptions<TData = unknown> {
90
+ client: ApolloClient;
91
+ subscriptionData: OnDataResult<TData>;
92
+ }
93
+ }
94
+ /**
95
+ * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.
96
+ *
97
+ * @example
98
+ * ```jsx
99
+ * const COMMENTS_SUBSCRIPTION = gql`
100
+ * subscription OnCommentAdded($repoFullName: String!) {
101
+ * commentAdded(repoFullName: $repoFullName) {
102
+ * id
103
+ * content
104
+ * }
105
+ * }
106
+ * `;
107
+ *
108
+ * function DontReadTheComments({ repoFullName }) {
109
+ * const {
110
+ * data: { commentAdded },
111
+ * loading,
112
+ * } = useSubscription(COMMENTS_SUBSCRIPTION, { variables: { repoFullName } });
113
+ * return <h4>New comment: {!loading && commentAdded.content}</h4>;
114
+ * }
115
+ * ```
116
+ * @remarks
117
+ * #### Consider using `onData` instead of `useEffect`
118
+ *
119
+ * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.
120
+ * State updates you make inside a `useEffect` hook might cause additional rerenders, and `useEffect` is mostly meant for side effects of rendering, not as an event handler.
121
+ * State updates made in an event handler like `onData` might - depending on the React version - be batched and cause only a single rerender.
122
+ *
123
+ * Consider the following component:
124
+ *
125
+ * ```jsx
126
+ * export function Subscriptions() {
127
+ * const { data, error, loading } = useSubscription(query);
128
+ * const [accumulatedData, setAccumulatedData] = useState([]);
129
+ *
130
+ * useEffect(() => {
131
+ * setAccumulatedData((prev) => [...prev, data]);
132
+ * }, [data]);
133
+ *
134
+ * return (
135
+ * <>
136
+ * {loading && <p>Loading...</p>}
137
+ * {JSON.stringify(accumulatedData, undefined, 2)}
138
+ * </>
139
+ * );
140
+ * }
141
+ * ```
142
+ *
143
+ * Instead of using `useEffect` here, we can re-write this component to use the `onData` callback function accepted in `useSubscription`'s `options` object:
144
+ *
145
+ * ```jsx
146
+ * export function Subscriptions() {
147
+ * const [accumulatedData, setAccumulatedData] = useState([]);
148
+ * const { data, error, loading } = useSubscription(
149
+ * query,
150
+ * {
151
+ * onData({ data }) {
152
+ * setAccumulatedData((prev) => [...prev, data])
153
+ * }
154
+ * }
155
+ * );
156
+ *
157
+ * return (
158
+ * <>
159
+ * {loading && <p>Loading...</p>}
160
+ * {JSON.stringify(accumulatedData, undefined, 2)}
161
+ * </>
162
+ * );
163
+ * }
164
+ * ```
165
+ *
166
+ * > ⚠️ **Note:** The `useSubscription` option `onData` is available in Apollo Client >= 3.7. In previous versions, the equivalent option is named `onSubscriptionData`.
167
+ *
168
+ * Now, the first message will be added to the `accumulatedData` array since `onData` is called _before_ the component re-renders. React 18 automatic batching is still in effect and results in a single re-render, but with `onData` we can guarantee each message received after the component mounts is added to `accumulatedData`.
169
+ *
170
+ * @since 3.0.0
171
+ * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.
172
+ * @param options - Options to control how the subscription is executed.
173
+ * @returns Query result object
174
+ */
175
+ export declare function useSubscription<TData = unknown, TVariables extends OperationVariables = OperationVariables>(subscription: DocumentNode | TypedDocumentNode<TData, TVariables>, ...[options]: {} extends (TVariables) ? [
176
+ options?: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>
177
+ ] : [options: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>]): useSubscription.Result<TData>;
178
+ //# sourceMappingURL=useSubscription.d.ts.map
@@ -0,0 +1,223 @@
1
+ import { equal } from "@wry/equality";
2
+ import * as React from "react";
3
+ import { invariant } from "@apollo/client/utilities/invariant";
4
+ import { useDeepMemo } from "./internal/useDeepMemo.js";
5
+ import { useIsomorphicLayoutEffect } from "./internal/useIsomorphicLayoutEffect.js";
6
+ import { useApolloClient } from "./useApolloClient.js";
7
+ import { useSyncExternalStore } from "./useSyncExternalStore.js";
8
+ /**
9
+ * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.
10
+ *
11
+ * @example
12
+ * ```jsx
13
+ * const COMMENTS_SUBSCRIPTION = gql`
14
+ * subscription OnCommentAdded($repoFullName: String!) {
15
+ * commentAdded(repoFullName: $repoFullName) {
16
+ * id
17
+ * content
18
+ * }
19
+ * }
20
+ * `;
21
+ *
22
+ * function DontReadTheComments({ repoFullName }) {
23
+ * const {
24
+ * data: { commentAdded },
25
+ * loading,
26
+ * } = useSubscription(COMMENTS_SUBSCRIPTION, { variables: { repoFullName } });
27
+ * return <h4>New comment: {!loading && commentAdded.content}</h4>;
28
+ * }
29
+ * ```
30
+ * @remarks
31
+ * #### Consider using `onData` instead of `useEffect`
32
+ *
33
+ * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.
34
+ * State updates you make inside a `useEffect` hook might cause additional rerenders, and `useEffect` is mostly meant for side effects of rendering, not as an event handler.
35
+ * State updates made in an event handler like `onData` might - depending on the React version - be batched and cause only a single rerender.
36
+ *
37
+ * Consider the following component:
38
+ *
39
+ * ```jsx
40
+ * export function Subscriptions() {
41
+ * const { data, error, loading } = useSubscription(query);
42
+ * const [accumulatedData, setAccumulatedData] = useState([]);
43
+ *
44
+ * useEffect(() => {
45
+ * setAccumulatedData((prev) => [...prev, data]);
46
+ * }, [data]);
47
+ *
48
+ * return (
49
+ * <>
50
+ * {loading && <p>Loading...</p>}
51
+ * {JSON.stringify(accumulatedData, undefined, 2)}
52
+ * </>
53
+ * );
54
+ * }
55
+ * ```
56
+ *
57
+ * Instead of using `useEffect` here, we can re-write this component to use the `onData` callback function accepted in `useSubscription`'s `options` object:
58
+ *
59
+ * ```jsx
60
+ * export function Subscriptions() {
61
+ * const [accumulatedData, setAccumulatedData] = useState([]);
62
+ * const { data, error, loading } = useSubscription(
63
+ * query,
64
+ * {
65
+ * onData({ data }) {
66
+ * setAccumulatedData((prev) => [...prev, data])
67
+ * }
68
+ * }
69
+ * );
70
+ *
71
+ * return (
72
+ * <>
73
+ * {loading && <p>Loading...</p>}
74
+ * {JSON.stringify(accumulatedData, undefined, 2)}
75
+ * </>
76
+ * );
77
+ * }
78
+ * ```
79
+ *
80
+ * > ⚠️ **Note:** The `useSubscription` option `onData` is available in Apollo Client >= 3.7. In previous versions, the equivalent option is named `onSubscriptionData`.
81
+ *
82
+ * Now, the first message will be added to the `accumulatedData` array since `onData` is called _before_ the component re-renders. React 18 automatic batching is still in effect and results in a single re-render, but with `onData` we can guarantee each message received after the component mounts is added to `accumulatedData`.
83
+ *
84
+ * @since 3.0.0
85
+ * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.
86
+ * @param options - Options to control how the subscription is executed.
87
+ * @returns Query result object
88
+ */
89
+ export function useSubscription(subscription, ...[options = {}]) {
90
+ const client = useApolloClient(options.client);
91
+ const { skip, fetchPolicy, errorPolicy, shouldResubscribe, context, extensions, ignoreResults, } = options;
92
+ const variables = useDeepMemo(() => options.variables, [options.variables]);
93
+ const recreate = () => createSubscription(client, subscription, variables, fetchPolicy, errorPolicy, context, extensions);
94
+ let [observable, setObservable] = React.useState(options.skip ? null : recreate);
95
+ const recreateRef = React.useRef(recreate);
96
+ useIsomorphicLayoutEffect(() => {
97
+ recreateRef.current = recreate;
98
+ });
99
+ if (skip) {
100
+ if (observable) {
101
+ setObservable((observable = null));
102
+ }
103
+ }
104
+ else if (!observable ||
105
+ ((client !== observable.__.client ||
106
+ subscription !== observable.__.query ||
107
+ fetchPolicy !== observable.__.fetchPolicy ||
108
+ errorPolicy !== observable.__.errorPolicy ||
109
+ !equal(variables, observable.__.variables)) &&
110
+ (typeof shouldResubscribe === "function" ?
111
+ !!shouldResubscribe(options)
112
+ : shouldResubscribe) !== false)) {
113
+ setObservable((observable = recreate()));
114
+ }
115
+ const optionsRef = React.useRef(options);
116
+ React.useEffect(() => {
117
+ optionsRef.current = options;
118
+ });
119
+ const fallbackLoading = !skip && !ignoreResults;
120
+ const fallbackResult = React.useMemo(() => ({
121
+ loading: fallbackLoading,
122
+ error: void 0,
123
+ data: void 0,
124
+ }), [fallbackLoading]);
125
+ const ignoreResultsRef = React.useRef(ignoreResults);
126
+ useIsomorphicLayoutEffect(() => {
127
+ // We cannot reference `ignoreResults` directly in the effect below
128
+ // it would add a dependency to the `useEffect` deps array, which means the
129
+ // subscription would be recreated if `ignoreResults` changes
130
+ // As a result, on resubscription, the last result would be re-delivered,
131
+ // rendering the component one additional time, and re-triggering `onData`.
132
+ // The same applies to `fetchPolicy`, which results in a new `observable`
133
+ // being created. We cannot really avoid it in that case, but we can at least
134
+ // avoid it for `ignoreResults`.
135
+ ignoreResultsRef.current = ignoreResults;
136
+ });
137
+ const ret = useSyncExternalStore(React.useCallback((update) => {
138
+ if (!observable) {
139
+ return () => { };
140
+ }
141
+ let subscriptionStopped = false;
142
+ const client_0 = observable.__.client;
143
+ const subscription_0 = observable.subscribe({
144
+ next(value) {
145
+ if (subscriptionStopped) {
146
+ return;
147
+ }
148
+ const result = {
149
+ loading: false,
150
+ data: value.data,
151
+ error: value.error,
152
+ };
153
+ observable.__.setResult(result);
154
+ if (!ignoreResultsRef.current)
155
+ update();
156
+ if (result.error) {
157
+ optionsRef.current.onError?.(result.error);
158
+ }
159
+ else if (optionsRef.current.onData) {
160
+ optionsRef.current.onData({
161
+ client: client_0,
162
+ data: result,
163
+ });
164
+ }
165
+ },
166
+ complete() {
167
+ observable.__.completed = true;
168
+ if (!subscriptionStopped && optionsRef.current.onComplete) {
169
+ optionsRef.current.onComplete();
170
+ }
171
+ },
172
+ });
173
+ return () => {
174
+ // immediately stop receiving subscription values, but do not unsubscribe
175
+ // until after a short delay in case another useSubscription hook is
176
+ // reusing the same underlying observable and is about to subscribe
177
+ subscriptionStopped = true;
178
+ setTimeout(() => subscription_0.unsubscribe());
179
+ };
180
+ }, [observable]), () => observable && !skip && !ignoreResults ?
181
+ observable.__.result
182
+ : fallbackResult, () => fallbackResult);
183
+ const restart = React.useCallback(() => {
184
+ invariant(!optionsRef.current.skip, 33);
185
+ if (observable?.__.completed) {
186
+ setObservable(recreateRef.current());
187
+ }
188
+ else {
189
+ observable?.restart();
190
+ }
191
+ }, [optionsRef, recreateRef, observable]);
192
+ return React.useMemo(() => ({ ...ret, restart }), [ret, restart]);
193
+ }
194
+ function createSubscription(client, query, variables, fetchPolicy, errorPolicy, context, extensions) {
195
+ const options = {
196
+ query,
197
+ variables,
198
+ fetchPolicy,
199
+ errorPolicy,
200
+ context,
201
+ extensions,
202
+ };
203
+ const __ = {
204
+ ...options,
205
+ client,
206
+ completed: false,
207
+ result: {
208
+ loading: true,
209
+ data: void 0,
210
+ error: void 0,
211
+ },
212
+ setResult(result) {
213
+ __.result = result;
214
+ },
215
+ };
216
+ return Object.assign(client.subscribe(options), {
217
+ /**
218
+ * A tracking object to store details about the observable and the latest result of the subscription.
219
+ */
220
+ __,
221
+ });
222
+ }
223
+ //# sourceMappingURL=useSubscription.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSubscription.js","sources":["../../../src/react/hooks/useSubscription.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 ApolloClient,\n DefaultContext,\n ErrorLike,\n ErrorPolicy,\n FetchPolicy,\n OperationVariables,\n SubscriptionOptions,\n} from \"@apollo/client\";\nimport type { MaybeMasked } from \"@apollo/client/masking\";\nimport type {\n NoInfer,\n VariablesOption,\n} from \"@apollo/client/utilities/internal\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { useDeepMemo } from \"./internal/useDeepMemo.js\";\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\nimport { useSyncExternalStore } from \"./useSyncExternalStore.js\";\n\nexport declare namespace useSubscription {\n export type Options<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n > = {\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: FetchPolicy;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#shouldResubscribe:member} */\n shouldResubscribe?:\n | boolean\n | ((options: Options<TData, TVariables>) => boolean);\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#client:member} */\n client?: ApolloClient;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#skip:member} */\n skip?: boolean;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#extensions:member} */\n extensions?: Record<string, any>;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#onComplete:member} */\n onComplete?: () => void;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#onData:member} */\n onData?: (options: OnDataOptions<TData>) => any;\n\n /** {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#onError:member} */\n onError?: (error: ErrorLike) => void;\n\n /**\n * {@inheritDoc @apollo/client!SubscriptionOptionsDocumentation#ignoreResults:member}\n * @defaultValue `false`\n */\n ignoreResults?: boolean;\n } & VariablesOption<TVariables>;\n\n export interface Result<TData = unknown> {\n /** {@inheritDoc @apollo/client!SubscriptionResultDocumentation#loading:member} */\n loading: boolean;\n\n /** {@inheritDoc @apollo/client!SubscriptionResultDocumentation#data:member} */\n data?: MaybeMasked<TData>;\n\n /** {@inheritDoc @apollo/client!SubscriptionResultDocumentation#error:member} */\n error?: ErrorLike;\n\n restart: () => void;\n }\n\n export type OnDataResult<TData = unknown> = Omit<Result<TData>, \"restart\">;\n\n export interface OnDataOptions<TData = unknown> {\n client: ApolloClient;\n data: OnDataResult<TData>;\n }\n\n export interface OnSubscriptionDataOptions<TData = unknown> {\n client: ApolloClient;\n subscriptionData: OnDataResult<TData>;\n }\n}\n\n/**\n * > Refer to the [Subscriptions](https://www.apollographql.com/docs/react/data/subscriptions/) section for a more in-depth overview of `useSubscription`.\n *\n * @example\n * ```jsx\n * const COMMENTS_SUBSCRIPTION = gql`\n * subscription OnCommentAdded($repoFullName: String!) {\n * commentAdded(repoFullName: $repoFullName) {\n * id\n * content\n * }\n * }\n * `;\n *\n * function DontReadTheComments({ repoFullName }) {\n * const {\n * data: { commentAdded },\n * loading,\n * } = useSubscription(COMMENTS_SUBSCRIPTION, { variables: { repoFullName } });\n * return <h4>New comment: {!loading && commentAdded.content}</h4>;\n * }\n * ```\n * @remarks\n * #### Consider using `onData` instead of `useEffect`\n *\n * If you want to react to incoming data, please use the `onData` option instead of `useEffect`.\n * State updates you make inside a `useEffect` hook might cause additional rerenders, and `useEffect` is mostly meant for side effects of rendering, not as an event handler.\n * State updates made in an event handler like `onData` might - depending on the React version - be batched and cause only a single rerender.\n *\n * Consider the following component:\n *\n * ```jsx\n * export function Subscriptions() {\n * const { data, error, loading } = useSubscription(query);\n * const [accumulatedData, setAccumulatedData] = useState([]);\n *\n * useEffect(() => {\n * setAccumulatedData((prev) => [...prev, data]);\n * }, [data]);\n *\n * return (\n * <>\n * {loading && <p>Loading...</p>}\n * {JSON.stringify(accumulatedData, undefined, 2)}\n * </>\n * );\n * }\n * ```\n *\n * Instead of using `useEffect` here, we can re-write this component to use the `onData` callback function accepted in `useSubscription`'s `options` object:\n *\n * ```jsx\n * export function Subscriptions() {\n * const [accumulatedData, setAccumulatedData] = useState([]);\n * const { data, error, loading } = useSubscription(\n * query,\n * {\n * onData({ data }) {\n * setAccumulatedData((prev) => [...prev, data])\n * }\n * }\n * );\n *\n * return (\n * <>\n * {loading && <p>Loading...</p>}\n * {JSON.stringify(accumulatedData, undefined, 2)}\n * </>\n * );\n * }\n * ```\n *\n * > ⚠️ **Note:** The `useSubscription` option `onData` is available in Apollo Client >= 3.7. In previous versions, the equivalent option is named `onSubscriptionData`.\n *\n * Now, the first message will be added to the `accumulatedData` array since `onData` is called _before_ the component re-renders. React 18 automatic batching is still in effect and results in a single re-render, but with `onData` we can guarantee each message received after the component mounts is added to `accumulatedData`.\n *\n * @since 3.0.0\n * @param subscription - A GraphQL subscription document parsed into an AST by `gql`.\n * @param options - Options to control how the subscription is executed.\n * @returns Query result object\n */\nexport function useSubscription<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n subscription: DocumentNode | TypedDocumentNode<TData, TVariables>,\n ...[options = {} as useSubscription.Options<TData, TVariables>]: {} extends (\n TVariables\n ) ?\n [options?: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>]\n : [options: useSubscription.Options<NoInfer<TData>, NoInfer<TVariables>>]\n): useSubscription.Result<TData> {\n const client = useApolloClient(options.client);\n\n const {\n skip,\n fetchPolicy,\n errorPolicy,\n shouldResubscribe,\n context,\n extensions,\n ignoreResults,\n } = options;\n const variables = useDeepMemo(() => options.variables, [options.variables]);\n\n const recreate = () =>\n createSubscription(\n client,\n subscription,\n variables,\n fetchPolicy,\n errorPolicy,\n context,\n extensions\n );\n\n let [observable, setObservable] = React.useState(\n options.skip ? null : recreate\n );\n\n const recreateRef = React.useRef(recreate);\n useIsomorphicLayoutEffect(() => {\n recreateRef.current = recreate;\n });\n\n if (skip) {\n if (observable) {\n setObservable((observable = null));\n }\n } else if (\n !observable ||\n ((client !== observable.__.client ||\n subscription !== observable.__.query ||\n fetchPolicy !== observable.__.fetchPolicy ||\n errorPolicy !== observable.__.errorPolicy ||\n !equal(variables, observable.__.variables)) &&\n (typeof shouldResubscribe === \"function\" ?\n !!shouldResubscribe(options!)\n : shouldResubscribe) !== false)\n ) {\n setObservable((observable = recreate()));\n }\n\n const optionsRef = React.useRef(options);\n React.useEffect(() => {\n optionsRef.current = options;\n });\n\n const fallbackLoading = !skip && !ignoreResults;\n const fallbackResult = React.useMemo(\n () => ({\n loading: fallbackLoading,\n error: void 0,\n data: void 0,\n }),\n [fallbackLoading]\n );\n\n const ignoreResultsRef = React.useRef(ignoreResults);\n useIsomorphicLayoutEffect(() => {\n // We cannot reference `ignoreResults` directly in the effect below\n // it would add a dependency to the `useEffect` deps array, which means the\n // subscription would be recreated if `ignoreResults` changes\n // As a result, on resubscription, the last result would be re-delivered,\n // rendering the component one additional time, and re-triggering `onData`.\n // The same applies to `fetchPolicy`, which results in a new `observable`\n // being created. We cannot really avoid it in that case, but we can at least\n // avoid it for `ignoreResults`.\n ignoreResultsRef.current = ignoreResults;\n });\n\n const ret = useSyncExternalStore(\n React.useCallback(\n (update) => {\n if (!observable) {\n return () => {};\n }\n\n let subscriptionStopped = false;\n const client = observable.__.client;\n const subscription = observable.subscribe({\n next(value) {\n if (subscriptionStopped) {\n return;\n }\n\n const result = {\n loading: false,\n data: value.data,\n error: value.error,\n };\n\n observable.__.setResult(result);\n if (!ignoreResultsRef.current) update();\n\n if (result.error) {\n optionsRef.current.onError?.(result.error);\n } else if (optionsRef.current.onData) {\n optionsRef.current.onData({\n client,\n data: result,\n });\n }\n },\n complete() {\n observable.__.completed = true;\n if (!subscriptionStopped && optionsRef.current.onComplete) {\n optionsRef.current.onComplete();\n }\n },\n });\n\n return () => {\n // immediately stop receiving subscription values, but do not unsubscribe\n // until after a short delay in case another useSubscription hook is\n // reusing the same underlying observable and is about to subscribe\n subscriptionStopped = true;\n\n setTimeout(() => subscription.unsubscribe());\n };\n },\n [observable]\n ),\n () =>\n observable && !skip && !ignoreResults ?\n observable.__.result\n : fallbackResult,\n () => fallbackResult\n );\n\n const restart = React.useCallback(() => {\n invariant(\n !optionsRef.current.skip,\n \"A subscription that is skipped cannot be restarted.\"\n );\n if (observable?.__.completed) {\n setObservable(recreateRef.current());\n } else {\n observable?.restart();\n }\n }, [optionsRef, recreateRef, observable]);\n\n return React.useMemo(() => ({ ...ret, restart }), [ret, restart]);\n}\n\ntype SubscriptionResult<TData> = Omit<useSubscription.Result<TData>, \"restart\">;\n\nfunction createSubscription<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n>(\n client: ApolloClient,\n query: TypedDocumentNode<TData, TVariables>,\n variables: TVariables | undefined,\n fetchPolicy: FetchPolicy | undefined,\n errorPolicy: ErrorPolicy | undefined,\n context: DefaultContext | undefined,\n extensions: Record<string, any> | undefined\n) {\n const options = {\n query,\n variables,\n fetchPolicy,\n errorPolicy,\n context,\n extensions,\n } as SubscriptionOptions<TVariables, TData>;\n const __ = {\n ...options,\n client,\n completed: false,\n result: {\n loading: true,\n data: void 0,\n error: void 0,\n } as SubscriptionResult<TData>,\n setResult(result: SubscriptionResult<TData>) {\n __.result = result;\n },\n };\n\n return Object.assign(client.subscribe(options), {\n /**\n * A tracking object to store details about the observable and the latest result of the subscription.\n */\n __,\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;AAErC,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;AAgB9B,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA0B,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8D;AAE9D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA4B,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuD;AACvD,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;AACtD,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,EAAA,EAAA,CAAA,CAAA,CAAA,EAAqC,CAArC,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,CAAgE;AAwEhE,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAI7B,CAJF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAImE,EACjE,CALF,CAAA,CAKK,CAAC,CALN,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAKgB,CALhB,CAKgE,CAIW,EAT3E;IAWE,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,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC;IAE9C,CAAF,CAAA,CAAA,CAAA,EAAQ,EACJ,CADJ,CAAA,CAAA,CACQ,EACJ,CAFJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEe,EACX,CAHJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGe,EACX,CAJJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIqB,EACjB,CALJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAKW,EACP,CANJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAMc,EACV,CAPJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAOiB,EAPjB,EAAA,EAQM,CARN,CAAA,CAAA,CAAA,CAAA,CAAA,CAQa;IACX,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAhC,EAAmC,CAAnC,EAAsC,CAAtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C,CAAC,CAA9C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuD,EAAE,CAAC,CAA1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiE,CAAC,CAAlE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2E,CAAC,CAAC;IAE3E,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,EAAsB,CAAtB,EACI,CADJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACsB,CAChB,CAFN,CAAA,CAAA,CAAA,CAAA,CAEY,EACN,CAHN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGkB,EACZ,CAJN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAIe,EACT,CALN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAKiB,EACX,CANN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAMiB,EACX,CAPN,CAAA,CAAA,CAAA,CAAA,CAAA,CAOa,EACP,CARN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAQgB,CACX;IAEH,CAAF,CAAA,EAAM,CAAC,CAAP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAhC,EAAoC,CAApC,CAAA,CAAA,CAAA,CAAyC,CAAC,CAA1C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkD,CAC9C,CADJ,CAAA,CAAA,CAAA,CAAA,CAAA,CACW,CAAC,CADZ,CAAA,CAAA,EACiB,EAAE,CADnB,CAAA,CAAA,EACwB,EAAE,CAD1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACkC,CAC/B;IAED,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C,CAAC;IAC1C,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,CAAC,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0B,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC;IAChC,CAAC,CAAC;IAEF,CAAF,EAAA,CAAM,CAAN,CAAA,CAAA,CAAU,EAAE;QACR,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAE;YACd,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAAC,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAkC,CAAlC,CAAA,CAAA,CAAsC,CAAC,CAAC;QACpC;IACF;IAAF,CAAA,CAAA,CAAA,EAAS,CAAT,EAAA,CACI,CAAC,CADL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;QAEI,CAAC,CAAC,CAAN,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAA8B,CAAC,CAA/B,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAuB,CAAvB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAlC,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,EAAA,CAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;YACM,CAAC,CAAP,CAAA,CAAA,CAAA,CAAY,CAAC,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB,EAAE,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAnC,CAAqC,CAAC,CAAtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,CAAC,EAAhD,CAAA;YACM,CAAC,CAAP,CAAA,CAAA,CAAA,CAAA,EAAc,CAAd,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAoC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAA+C;gBACvC,CAAC,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC;gBAC9B,EAAE,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB,EAAzB,CAAA,CAAA,EAA+B,CAA/B,CAAA,CAAA,CAAA,CAAoC,CAAC,EACjC;QACA,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,CAAC,CAAC,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAgC,CAAhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAxC,CAA0C,CAAC,CAAC;IAC1C;IAEA,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAqB,CAArB,CAAA,CAAA,CAAA,CAA0B,CAAC,CAA3B,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAlC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAC;IACxC,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,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAC,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAyB,CAAzB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC;IAC9B,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0B,CAAC,CAA3B,CAAA,CAAA,EAAA,CAAA,EAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD;IAC/C,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAyB,CAAzB,CAAA,CAAA,CAAA,CAA8B,CAAC,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,CAClC,CADJ,EACO,CADP,EACU,CAAC;QACL,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B;QACxB,CAAN,CAAA,CAAA,CAAA,CAAW,EAAE,CAAb,CAAA,CAAA,EAAkB,CAAC;QACb,CAAN,CAAA,CAAA,CAAU,EAAE,CAAZ,CAAA,CAAA,EAAiB,CAAC;IAClB,CAAK,CAAC,EACF,CAAC,CADL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACoB,CAAC,CAClB;IAED,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA2B,CAA3B,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAuC,CAAC,CAAxC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,CAAC;IACpD,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,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA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"}