@apollo/client 4.0.0-alpha.21 → 4.0.0-alpha.23

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 (379) hide show
  1. package/CHANGELOG.md +341 -2
  2. package/__cjs/cache/core/cache.cjs +1 -1
  3. package/__cjs/cache/inmemory/entityStore.cjs +3 -3
  4. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  5. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  6. package/__cjs/cache/inmemory/policies.cjs +4 -4
  7. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  8. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  9. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  10. package/__cjs/core/ApolloClient.cjs +24 -19
  11. package/__cjs/core/ApolloClient.cjs.map +1 -1
  12. package/__cjs/core/ApolloClient.d.cts +15 -11
  13. package/__cjs/core/ObservableQuery.cjs +52 -48
  14. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  15. package/__cjs/core/ObservableQuery.d.cts +48 -14
  16. package/__cjs/core/QueryInfo.cjs +146 -168
  17. package/__cjs/core/QueryInfo.cjs.map +1 -1
  18. package/__cjs/core/QueryInfo.d.cts +14 -11
  19. package/__cjs/core/QueryManager.cjs +138 -123
  20. package/__cjs/core/QueryManager.cjs.map +1 -1
  21. package/__cjs/core/QueryManager.d.cts +17 -6
  22. package/__cjs/core/index.cjs +2 -1
  23. package/__cjs/core/index.cjs.map +1 -1
  24. package/__cjs/core/index.d.cts +4 -4
  25. package/__cjs/core/types.d.cts +72 -18
  26. package/__cjs/core/watchQueryOptions.d.cts +2 -24
  27. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  28. package/__cjs/errors/CombinedGraphQLErrors.cjs +6 -3
  29. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  30. package/__cjs/errors/CombinedGraphQLErrors.d.cts +7 -2
  31. package/__cjs/errors/index.cjs +1 -1
  32. package/__cjs/errors/index.cjs.map +1 -1
  33. package/__cjs/errors/index.d.cts +1 -3
  34. package/__cjs/incremental/handlers/defer20220824.cjs +102 -0
  35. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
  36. package/__cjs/incremental/handlers/defer20220824.d.cts +55 -0
  37. package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
  38. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
  39. package/__cjs/incremental/handlers/notImplemented.d.cts +9 -0
  40. package/__cjs/incremental/index.cjs +9 -0
  41. package/__cjs/incremental/index.cjs.map +1 -0
  42. package/__cjs/incremental/index.d.cts +4 -0
  43. package/__cjs/incremental/types.cjs +3 -0
  44. package/__cjs/incremental/types.cjs.map +1 -0
  45. package/__cjs/incremental/types.d.cts +24 -0
  46. package/__cjs/invariantErrorCodes.cjs +131 -114
  47. package/__cjs/link/batch-http/batchHttpLink.cjs +14 -14
  48. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  49. package/__cjs/link/batch-http/batchHttpLink.d.cts +4 -0
  50. package/__cjs/link/batch-http/index.cjs +2 -1
  51. package/__cjs/link/batch-http/index.cjs.map +1 -1
  52. package/__cjs/link/batch-http/index.d.cts +1 -1
  53. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +45 -0
  54. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -0
  55. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +62 -0
  56. package/__cjs/link/client-awareness/index.cjs +6 -0
  57. package/__cjs/link/client-awareness/index.cjs.map +1 -0
  58. package/__cjs/link/client-awareness/index.d.cts +2 -0
  59. package/__cjs/link/context/index.cjs +36 -25
  60. package/__cjs/link/context/index.cjs.map +1 -1
  61. package/__cjs/link/context/index.d.cts +8 -1
  62. package/__cjs/link/core/types.d.cts +5 -38
  63. package/__cjs/link/error/index.cjs +68 -65
  64. package/__cjs/link/error/index.cjs.map +1 -1
  65. package/__cjs/link/error/index.d.cts +15 -14
  66. package/__cjs/link/http/BaseHttpLink.cjs +111 -0
  67. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -0
  68. package/__cjs/link/http/BaseHttpLink.d.cts +6 -0
  69. package/__cjs/link/http/HttpLink.cjs +12 -5
  70. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  71. package/__cjs/link/http/HttpLink.d.cts +20 -4
  72. package/__cjs/link/http/checkFetcher.cjs +1 -1
  73. package/__cjs/link/http/index.cjs +4 -3
  74. package/__cjs/link/http/index.cjs.map +1 -1
  75. package/__cjs/link/http/index.d.cts +2 -2
  76. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +45 -57
  77. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  78. package/__cjs/link/http/selectHttpOptionsAndBody.cjs +6 -5
  79. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  80. package/__cjs/link/index.cjs.map +1 -1
  81. package/__cjs/link/index.d.cts +1 -1
  82. package/__cjs/link/persisted-queries/index.cjs +159 -141
  83. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  84. package/__cjs/link/persisted-queries/index.d.cts +19 -19
  85. package/__cjs/link/remove-typename/index.cjs +2 -1
  86. package/__cjs/link/remove-typename/index.cjs.map +1 -1
  87. package/__cjs/link/remove-typename/index.d.cts +1 -1
  88. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +34 -23
  89. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  90. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +8 -9
  91. package/__cjs/link/utils/validateOperation.cjs +1 -1
  92. package/__cjs/local-state/LocalState.cjs +10 -18
  93. package/__cjs/local-state/LocalState.cjs.map +1 -1
  94. package/__cjs/local-state/LocalState.d.cts +3 -4
  95. package/__cjs/masking/maskDefinition.cjs +2 -2
  96. package/__cjs/masking/maskFragment.cjs +2 -2
  97. package/__cjs/masking/maskOperation.cjs +1 -1
  98. package/__cjs/masking/types.d.cts +6 -5
  99. package/__cjs/masking/utils.cjs +3 -3
  100. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  101. package/__cjs/react/context/ApolloContext.cjs +1 -1
  102. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  103. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +2 -2
  104. package/__cjs/react/hooks/useApolloClient.cjs +1 -1
  105. package/__cjs/react/hooks/useBackgroundQuery.cjs +1 -0
  106. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  107. package/__cjs/react/hooks/useFragment.cjs +1 -0
  108. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  109. package/__cjs/react/hooks/useLazyQuery.cjs +4 -4
  110. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  111. package/__cjs/react/hooks/useLazyQuery.d.cts +2 -7
  112. package/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
  113. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  114. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  115. package/__cjs/react/hooks/useMutation.d.cts +2 -2
  116. package/__cjs/react/hooks/useQuery.cjs +23 -21
  117. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  118. package/__cjs/react/hooks/useQuery.d.cts +3 -8
  119. package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -0
  120. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  121. package/__cjs/react/hooks/useReadQuery.cjs +1 -0
  122. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  123. package/__cjs/react/hooks/useSubscription.cjs +1 -1
  124. package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -0
  125. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  126. package/__cjs/react/hooks/useSuspenseQuery.cjs +1 -0
  127. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  128. package/__cjs/react/hooks/useSyncExternalStore.cjs +1 -1
  129. package/__cjs/react/internal/cache/QueryReference.cjs +5 -5
  130. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  131. package/__cjs/react/internal/cache/QueryReference.d.cts +2 -3
  132. package/__cjs/react/internal/types.d.cts +2 -7
  133. package/__cjs/react/ssr/prerenderStatic.cjs +2 -2
  134. package/__cjs/testing/core/mocking/mockLink.cjs +4 -4
  135. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  136. package/__cjs/utilities/caching/sizes.d.cts +6 -0
  137. package/__cjs/utilities/graphql/DocumentTransform.cjs +1 -1
  138. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +9 -0
  139. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
  140. package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +3 -0
  141. package/__cjs/utilities/index.cjs +3 -1
  142. package/__cjs/utilities/index.cjs.map +1 -1
  143. package/__cjs/utilities/index.d.cts +1 -0
  144. package/__cjs/utilities/internal/checkDocument.cjs +47 -13
  145. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  146. package/__cjs/utilities/internal/checkDocument.d.cts +1 -1
  147. package/__cjs/utilities/internal/getFragmentDefinition.cjs +3 -3
  148. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +1 -1
  149. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +2 -2
  150. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +1 -12
  151. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -1
  152. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +4 -2
  153. package/__cjs/utilities/internal/getMainDefinition.cjs +1 -1
  154. package/__cjs/utilities/internal/getMemoryInternals.cjs +1 -0
  155. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  156. package/__cjs/utilities/internal/getMemoryInternals.d.cts +0 -1
  157. package/__cjs/utilities/internal/getQueryDefinition.cjs +1 -1
  158. package/__cjs/utilities/internal/graphQLResultHasError.cjs +1 -4
  159. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -1
  160. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +2 -2
  161. package/__cjs/utilities/internal/index.cjs +2 -10
  162. package/__cjs/utilities/internal/index.cjs.map +1 -1
  163. package/__cjs/utilities/internal/index.d.cts +0 -4
  164. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +1 -1
  165. package/__cjs/utilities/internal/shouldInclude.cjs +4 -4
  166. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +1 -1
  167. package/__cjs/version.cjs +3 -2
  168. package/__cjs/version.cjs.map +1 -1
  169. package/__cjs/version.d.cts +1 -0
  170. package/cache/core/cache.js +1 -1
  171. package/cache/inmemory/entityStore.js +3 -3
  172. package/cache/inmemory/key-extractor.js +1 -1
  173. package/cache/inmemory/key-extractor.js.map +1 -1
  174. package/cache/inmemory/policies.js +4 -4
  175. package/cache/inmemory/policies.js.map +1 -1
  176. package/cache/inmemory/readFromStore.js +2 -2
  177. package/cache/inmemory/writeToStore.js +4 -4
  178. package/core/ApolloClient.d.ts +15 -11
  179. package/core/ApolloClient.js +25 -20
  180. package/core/ApolloClient.js.map +1 -1
  181. package/core/ObservableQuery.d.ts +48 -14
  182. package/core/ObservableQuery.js +53 -49
  183. package/core/ObservableQuery.js.map +1 -1
  184. package/core/QueryInfo.d.ts +14 -11
  185. package/core/QueryInfo.js +147 -169
  186. package/core/QueryInfo.js.map +1 -1
  187. package/core/QueryManager.d.ts +17 -6
  188. package/core/QueryManager.js +140 -125
  189. package/core/QueryManager.js.map +1 -1
  190. package/core/index.d.ts +4 -4
  191. package/core/index.js +1 -1
  192. package/core/index.js.map +1 -1
  193. package/core/types.d.ts +72 -18
  194. package/core/watchQueryOptions.d.ts +2 -24
  195. package/dev/setErrorMessageHandler.js.map +1 -1
  196. package/errors/CombinedGraphQLErrors.d.ts +7 -2
  197. package/errors/CombinedGraphQLErrors.js +6 -3
  198. package/errors/CombinedGraphQLErrors.js.map +1 -1
  199. package/errors/index.d.ts +1 -3
  200. package/errors/index.js +1 -1
  201. package/errors/index.js.map +1 -1
  202. package/incremental/handlers/defer20220824.d.ts +55 -0
  203. package/incremental/handlers/defer20220824.js +97 -0
  204. package/incremental/handlers/defer20220824.js.map +1 -0
  205. package/incremental/handlers/notImplemented.d.ts +9 -0
  206. package/incremental/handlers/notImplemented.js +15 -0
  207. package/incremental/handlers/notImplemented.js.map +1 -0
  208. package/incremental/index.d.ts +4 -0
  209. package/incremental/index.js +3 -0
  210. package/incremental/index.js.map +1 -0
  211. package/incremental/types.d.ts +24 -0
  212. package/incremental/types.js +2 -0
  213. package/incremental/types.js.map +1 -0
  214. package/invariantErrorCodes.js +132 -118
  215. package/legacyEntryPoints/incremental/incremental.cjs +1 -0
  216. package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
  217. package/legacyEntryPoints/incremental/index.d.ts +1 -0
  218. package/legacyEntryPoints/incremental/index.js +1 -0
  219. package/legacyEntryPoints/link/client-awareness/client-awareness.cjs +1 -0
  220. package/legacyEntryPoints/link/client-awareness/client-awareness.d.cts +1 -0
  221. package/legacyEntryPoints/link/client-awareness/index.d.ts +1 -0
  222. package/legacyEntryPoints/link/client-awareness/index.js +1 -0
  223. package/link/batch-http/batchHttpLink.d.ts +4 -0
  224. package/link/batch-http/batchHttpLink.js +11 -12
  225. package/link/batch-http/batchHttpLink.js.map +1 -1
  226. package/link/batch-http/index.d.ts +1 -1
  227. package/link/batch-http/index.js +1 -1
  228. package/link/batch-http/index.js.map +1 -1
  229. package/link/client-awareness/ClientAwarenessLink.d.ts +62 -0
  230. package/link/client-awareness/ClientAwarenessLink.js +41 -0
  231. package/link/client-awareness/ClientAwarenessLink.js.map +1 -0
  232. package/link/client-awareness/index.d.ts +2 -0
  233. package/link/client-awareness/index.js +2 -0
  234. package/link/client-awareness/index.js.map +1 -0
  235. package/link/context/index.d.ts +8 -1
  236. package/link/context/index.js +34 -25
  237. package/link/context/index.js.map +1 -1
  238. package/link/core/types.d.ts +5 -38
  239. package/link/error/index.d.ts +15 -14
  240. package/link/error/index.js +68 -65
  241. package/link/error/index.js.map +1 -1
  242. package/link/http/BaseHttpLink.d.ts +6 -0
  243. package/link/http/BaseHttpLink.js +107 -0
  244. package/link/http/BaseHttpLink.js.map +1 -0
  245. package/link/http/HttpLink.d.ts +20 -4
  246. package/link/http/HttpLink.js +10 -4
  247. package/link/http/HttpLink.js.map +1 -1
  248. package/link/http/checkFetcher.js +1 -1
  249. package/link/http/index.d.ts +2 -2
  250. package/link/http/index.js +2 -2
  251. package/link/http/index.js.map +1 -1
  252. package/link/http/parseAndCheckHttpResponse.js +45 -57
  253. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  254. package/link/http/selectHttpOptionsAndBody.js +6 -5
  255. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  256. package/link/index.d.ts +1 -1
  257. package/link/index.js.map +1 -1
  258. package/link/persisted-queries/index.d.ts +19 -19
  259. package/link/persisted-queries/index.js +157 -140
  260. package/link/persisted-queries/index.js.map +1 -1
  261. package/link/remove-typename/index.d.ts +1 -1
  262. package/link/remove-typename/index.js +1 -1
  263. package/link/remove-typename/index.js.map +1 -1
  264. package/link/remove-typename/removeTypenameFromVariables.d.ts +8 -9
  265. package/link/remove-typename/removeTypenameFromVariables.js +32 -22
  266. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  267. package/link/utils/validateOperation.js +1 -1
  268. package/local-state/LocalState.d.ts +3 -4
  269. package/local-state/LocalState.js +10 -18
  270. package/local-state/LocalState.js.map +1 -1
  271. package/masking/maskDefinition.js +2 -2
  272. package/masking/maskFragment.js +2 -2
  273. package/masking/maskOperation.js +1 -1
  274. package/masking/types.d.ts +6 -5
  275. package/masking/utils.js +3 -3
  276. package/package.json +15 -2
  277. package/react/context/ApolloConsumer.js +1 -1
  278. package/react/context/ApolloContext.js +1 -1
  279. package/react/context/ApolloProvider.js +1 -1
  280. package/react/hooks/internal/validateSuspenseHookOptions.js +2 -2
  281. package/react/hooks/useApolloClient.js +15 -2
  282. package/react/hooks/useApolloClient.js.map +1 -1
  283. package/react/hooks/useBackgroundQuery.js +7 -6
  284. package/react/hooks/useBackgroundQuery.js.map +1 -1
  285. package/react/hooks/useFragment.js +12 -11
  286. package/react/hooks/useFragment.js.map +1 -1
  287. package/react/hooks/useLazyQuery.d.ts +2 -7
  288. package/react/hooks/useLazyQuery.js +17 -17
  289. package/react/hooks/useLazyQuery.js.map +1 -1
  290. package/react/hooks/useLoadableQuery.js +229 -69
  291. package/react/hooks/useLoadableQuery.js.map +1 -1
  292. package/react/hooks/useMutation.d.ts +2 -2
  293. package/react/hooks/useMutation.js +191 -81
  294. package/react/hooks/useMutation.js.map +1 -1
  295. package/react/hooks/useQuery.d.ts +3 -8
  296. package/react/hooks/useQuery.js +243 -70
  297. package/react/hooks/useQuery.js.map +1 -1
  298. package/react/hooks/useQueryRefHandlers.js +64 -23
  299. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  300. package/react/hooks/useReadQuery.js +3 -2
  301. package/react/hooks/useReadQuery.js.map +1 -1
  302. package/react/hooks/useSubscription.js +5 -5
  303. package/react/hooks/useSubscription.js.map +1 -1
  304. package/react/hooks/useSuspenseFragment.js +1 -0
  305. package/react/hooks/useSuspenseFragment.js.map +1 -1
  306. package/react/hooks/useSuspenseQuery.js +59 -33
  307. package/react/hooks/useSuspenseQuery.js.map +1 -1
  308. package/react/hooks/useSyncExternalStore.js +1 -1
  309. package/react/internal/cache/QueryReference.d.ts +2 -3
  310. package/react/internal/cache/QueryReference.js +5 -5
  311. package/react/internal/cache/QueryReference.js.map +1 -1
  312. package/react/internal/types.d.ts +2 -7
  313. package/react/ssr/prerenderStatic.js +2 -2
  314. package/testing/core/mocking/mockLink.js +4 -4
  315. package/utilities/caching/sizes.d.ts +6 -0
  316. package/utilities/caching/sizes.js.map +1 -1
  317. package/utilities/graphql/DocumentTransform.js +1 -1
  318. package/utilities/graphql/isFormattedExecutionResult.d.ts +3 -0
  319. package/utilities/graphql/isFormattedExecutionResult.js +6 -0
  320. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
  321. package/utilities/index.d.ts +1 -0
  322. package/utilities/index.js +1 -0
  323. package/utilities/index.js.map +1 -1
  324. package/utilities/internal/checkDocument.d.ts +1 -1
  325. package/utilities/internal/checkDocument.js +46 -12
  326. package/utilities/internal/checkDocument.js.map +1 -1
  327. package/utilities/internal/getFragmentDefinition.js +3 -3
  328. package/utilities/internal/getFragmentFromSelection.js +1 -1
  329. package/utilities/internal/getFragmentQueryDocument.js +2 -2
  330. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +4 -2
  331. package/utilities/internal/getGraphQLErrorsFromResult.js +1 -12
  332. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -1
  333. package/utilities/internal/getMainDefinition.js +1 -1
  334. package/utilities/internal/getMemoryInternals.d.ts +0 -1
  335. package/utilities/internal/getMemoryInternals.js +1 -0
  336. package/utilities/internal/getMemoryInternals.js.map +1 -1
  337. package/utilities/internal/getQueryDefinition.js +1 -1
  338. package/utilities/internal/graphQLResultHasError.d.ts +2 -2
  339. package/utilities/internal/graphQLResultHasError.js +1 -4
  340. package/utilities/internal/graphQLResultHasError.js.map +1 -1
  341. package/utilities/internal/index.d.ts +0 -4
  342. package/utilities/internal/index.js +0 -4
  343. package/utilities/internal/index.js.map +1 -1
  344. package/utilities/internal/removeDirectivesFromDocument.js +1 -1
  345. package/utilities/internal/shouldInclude.js +4 -4
  346. package/utilities/internal/valueToObjectRepresentation.js +1 -1
  347. package/version.d.ts +1 -0
  348. package/version.js +2 -1
  349. package/version.js.map +1 -1
  350. package/__cjs/link/http/createHttpLink.cjs +0 -151
  351. package/__cjs/link/http/createHttpLink.cjs.map +0 -1
  352. package/__cjs/link/http/createHttpLink.d.cts +0 -4
  353. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs +0 -12
  354. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs.map +0 -1
  355. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.d.cts +0 -8
  356. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs +0 -12
  357. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs.map +0 -1
  358. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.d.cts +0 -8
  359. package/__cjs/utilities/internal/isExecutionPatchResult.cjs +0 -15
  360. package/__cjs/utilities/internal/isExecutionPatchResult.cjs.map +0 -1
  361. package/__cjs/utilities/internal/isExecutionPatchResult.d.cts +0 -8
  362. package/__cjs/utilities/internal/mergeIncrementalData.cjs +0 -30
  363. package/__cjs/utilities/internal/mergeIncrementalData.cjs.map +0 -1
  364. package/__cjs/utilities/internal/mergeIncrementalData.d.cts +0 -8
  365. package/link/http/createHttpLink.d.ts +0 -4
  366. package/link/http/createHttpLink.js +0 -143
  367. package/link/http/createHttpLink.js.map +0 -1
  368. package/utilities/internal/isExecutionPatchIncrementalResult.d.ts +0 -8
  369. package/utilities/internal/isExecutionPatchIncrementalResult.js +0 -9
  370. package/utilities/internal/isExecutionPatchIncrementalResult.js.map +0 -1
  371. package/utilities/internal/isExecutionPatchIninitialResult.d.ts +0 -8
  372. package/utilities/internal/isExecutionPatchIninitialResult.js +0 -9
  373. package/utilities/internal/isExecutionPatchIninitialResult.js.map +0 -1
  374. package/utilities/internal/isExecutionPatchResult.d.ts +0 -8
  375. package/utilities/internal/isExecutionPatchResult.js +0 -12
  376. package/utilities/internal/isExecutionPatchResult.js.map +0 -1
  377. package/utilities/internal/mergeIncrementalData.d.ts +0 -8
  378. package/utilities/internal/mergeIncrementalData.js +0 -27
  379. package/utilities/internal/mergeIncrementalData.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import { c as _c } from "react-compiler-runtime";
1
2
  import { equal } from "@wry/equality";
2
3
  import * as React from "react";
3
4
  import { mergeOptions } from "@apollo/client/utilities/internal";
@@ -51,95 +52,204 @@ import { useApolloClient } from "./useApolloClient.js";
51
52
  * @returns A tuple in the form of `[mutate, result]`
52
53
  */
53
54
  export function useMutation(mutation, options) {
55
+ const $ = _c(17);
54
56
  const client = useApolloClient(options?.client);
55
- const [result, setResult] = React.useState(() => createInitialResult(client));
56
- const ref = React.useRef({
57
- result,
58
- mutationId: 0,
59
- isMounted: true,
60
- client,
61
- mutation,
62
- options,
63
- });
64
- useIsomorphicLayoutEffect(() => {
65
- Object.assign(ref.current, { client, options, mutation });
66
- });
67
- const execute = React.useCallback((executeOptions = {}) => {
68
- const { options, mutation } = ref.current;
69
- const baseOptions = { ...options, mutation };
70
- const client = executeOptions.client || ref.current.client;
71
- if (!ref.current.result.loading && ref.current.isMounted) {
72
- setResult((ref.current.result = {
73
- loading: true,
74
- error: undefined,
75
- data: undefined,
76
- called: true,
57
+ let t0;
58
+
59
+ if ($[0] !== client) {
60
+ t0 = () => createInitialResult(client);
61
+ $[0] = client;
62
+ $[1] = t0;
63
+ } else {
64
+ t0 = $[1];
65
+ }
66
+
67
+ const [result, setResult] = React.useState(t0);
68
+ let t1;
69
+
70
+ if ($[2] !== client || $[3] !== mutation || $[4] !== options || $[5] !== result) {
71
+ t1 = {
72
+ result,
73
+ mutationId: 0,
74
+ isMounted: true,
75
+ client,
76
+ mutation,
77
+ options
78
+ };
79
+ $[2] = client;
80
+ $[3] = mutation;
81
+ $[4] = options;
82
+ $[5] = result;
83
+ $[6] = t1;
84
+ } else {
85
+ t1 = $[6];
86
+ }
87
+
88
+ const ref = React.useRef(t1);
89
+ let t2;
90
+
91
+ if ($[7] !== client || $[8] !== mutation || $[9] !== options) {
92
+ t2 = () => {
93
+ Object.assign(ref.current, {
77
94
  client,
78
- }));
79
- }
80
- const mutationId = ++ref.current.mutationId;
81
- const clientOptions = mergeOptions(baseOptions, executeOptions);
82
- return client
83
- .mutate(clientOptions)
84
- .then((response) => {
85
- const { data, error } = response;
86
- const onError = executeOptions.onError || ref.current.options?.onError;
87
- if (error && onError) {
88
- onError(error, clientOptions);
89
- }
90
- if (mutationId === ref.current.mutationId) {
91
- const result = {
95
+ options,
96
+ mutation
97
+ });
98
+ };
99
+ $[7] = client;
100
+ $[8] = mutation;
101
+ $[9] = options;
102
+ $[10] = t2;
103
+ } else {
104
+ t2 = $[10];
105
+ }
106
+
107
+ useIsomorphicLayoutEffect(t2);
108
+ let t3;
109
+
110
+ if ($[11] === Symbol.for("react.memo_cache_sentinel")) {
111
+ t3 = t4 => {
112
+ const executeOptions = t4 === undefined ? {} : t4;
113
+ const {
114
+ options: options_0,
115
+ mutation: mutation_0
116
+ } = ref.current;
117
+ const baseOptions = {
118
+ ...options_0,
119
+ mutation: mutation_0
120
+ };
121
+ const client_0 = executeOptions.client || ref.current.client;
122
+
123
+ if (!ref.current.result.loading && ref.current.isMounted) {
124
+ setResult(ref.current.result = {
125
+ loading: true,
126
+ error: undefined,
127
+ data: undefined,
92
128
  called: true,
93
- loading: false,
129
+ client: client_0
130
+ });
131
+ }
132
+
133
+ const mutationId = ref.current.mutationId = ref.current.mutationId + 1;
134
+ const clientOptions = mergeOptions(baseOptions, executeOptions);
135
+
136
+ return client_0.mutate(clientOptions).then(response => {
137
+ const {
94
138
  data,
95
- error,
96
- client,
97
- };
98
- if (ref.current.isMounted && !equal(ref.current.result, result)) {
99
- setResult((ref.current.result = result));
139
+ error
140
+ } = response;
141
+ const onError = executeOptions.onError || ref.current.options?.onError;
142
+
143
+ if (error && onError) {
144
+ onError(error, clientOptions);
100
145
  }
101
- }
102
- const onCompleted = executeOptions.onCompleted || ref.current.options?.onCompleted;
103
- if (!error) {
104
- onCompleted?.(response.data, clientOptions);
105
- }
106
- return response;
107
- }, (error) => {
108
- if (mutationId === ref.current.mutationId &&
109
- ref.current.isMounted) {
110
- const result = {
111
- loading: false,
112
- error,
113
- data: void 0,
114
- called: true,
115
- client,
116
- };
117
- if (!equal(ref.current.result, result)) {
118
- setResult((ref.current.result = result));
146
+
147
+ if (mutationId === ref.current.mutationId) {
148
+ const result_0 = {
149
+ called: true,
150
+ loading: false,
151
+ data,
152
+ error,
153
+ client: client_0
154
+ };
155
+
156
+ if (ref.current.isMounted && !equal(ref.current.result, result_0)) {
157
+ setResult(ref.current.result = result_0);
158
+ }
119
159
  }
160
+
161
+ const onCompleted = executeOptions.onCompleted || ref.current.options?.onCompleted;
162
+
163
+ if (!error) {
164
+ onCompleted?.(response.data, clientOptions);
165
+ }
166
+
167
+ return response;
168
+ }, error_0 => {
169
+ if (mutationId === ref.current.mutationId && ref.current.isMounted) {
170
+ const result_1 = {
171
+ loading: false,
172
+ error: error_0,
173
+ data: void 0,
174
+ called: true,
175
+ client: client_0
176
+ };
177
+
178
+ if (!equal(ref.current.result, result_1)) {
179
+ setResult(ref.current.result = result_1);
180
+ }
181
+ }
182
+
183
+ const onError_0 = executeOptions.onError || ref.current.options?.onError;
184
+
185
+ if (onError_0) {
186
+ onError_0(error_0, clientOptions);
187
+ }
188
+
189
+ throw error_0;
190
+ });
191
+ };
192
+ $[11] = t3;
193
+ } else {
194
+ t3 = $[11];
195
+ }
196
+
197
+ const execute = t3;
198
+ let t4;
199
+
200
+ if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
201
+ t4 = () => {
202
+ if (ref.current.isMounted) {
203
+ const result_2 = createInitialResult(ref.current.client);
204
+
205
+ Object.assign(ref.current, {
206
+ mutationId: 0,
207
+ result: result_2
208
+ });
209
+
210
+ setResult(result_2);
120
211
  }
121
- const onError = executeOptions.onError || ref.current.options?.onError;
122
- if (onError) {
123
- onError(error, clientOptions);
124
- }
125
- throw error;
126
- });
127
- }, []);
128
- const reset = React.useCallback(() => {
129
- if (ref.current.isMounted) {
130
- const result = createInitialResult(ref.current.client);
131
- Object.assign(ref.current, { mutationId: 0, result });
132
- setResult(result);
133
- }
134
- }, []);
135
- React.useEffect(() => {
136
- const current = ref.current;
137
- current.isMounted = true;
138
- return () => {
139
- current.isMounted = false;
140
212
  };
141
- }, []);
142
- return [execute, { reset, ...result }];
213
+ $[12] = t4;
214
+ } else {
215
+ t4 = $[12];
216
+ }
217
+
218
+ const reset = t4;
219
+ let t5;
220
+ let t6;
221
+
222
+ if ($[13] === Symbol.for("react.memo_cache_sentinel")) {
223
+ t5 = () => {
224
+ const current = ref.current;
225
+ current.isMounted = true;
226
+
227
+ return () => {
228
+ current.isMounted = false;
229
+ };
230
+ };t6 = [];
231
+ $[13] = t5;
232
+ $[14] = t6;
233
+ } else {
234
+ t5 = $[13];
235
+ t6 = $[14];
236
+ }
237
+
238
+ React.useEffect(t5, t6);
239
+ let t7;
240
+
241
+ if ($[15] !== result) {
242
+ t7 = [execute, {
243
+ reset,
244
+ ...result
245
+ }];
246
+ $[15] = result;
247
+ $[16] = t7;
248
+ } else {
249
+ t7 = $[16];
250
+ }
251
+
252
+ return t7;
143
253
  }
144
254
  function createInitialResult(client) {
145
255
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"useMutation.js","sources":["../../../src/react/hooks/useMutation.ts"],"sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { equal } from \"@wry/equality\";\nimport * as React from \"react\";\n\nimport type {\n ApolloCache,\n ApolloClient,\n DefaultContext,\n DocumentNode,\n ErrorLike,\n ErrorPolicy,\n FetchResult,\n InternalRefetchQueriesInclude,\n MaybeMasked,\n MutateResult,\n MutationFetchPolicy,\n MutationOptions,\n MutationQueryReducersMap,\n MutationUpdaterFunction,\n OnQueryUpdated,\n OperationVariables,\n Unmasked,\n} from \"@apollo/client\";\nimport type { NoInfer, Prettify } from \"@apollo/client/utilities/internal\";\nimport { mergeOptions } from \"@apollo/client/utilities/internal\";\n\nimport type { IgnoreModifier } from \"../../cache/core/types/common.js\";\n\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\ntype MakeRequiredVariablesOptional<\n TVariables extends OperationVariables,\n TConfiguredVariables extends Partial<TVariables>,\n> = Prettify<\n {\n [K in keyof TVariables as K extends keyof TConfiguredVariables ? K\n : never]?: TVariables[K];\n } & Omit<TVariables, keyof TConfiguredVariables>\n>;\n\nexport declare namespace useMutation {\n export interface Options<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n TConfiguredVariables extends Partial<TVariables> = Partial<TVariables>,\n > {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#optimisticResponse:member} */\n optimisticResponse?:\n | Unmasked<NoInfer<TData>>\n | ((\n vars: TVariables,\n { IGNORE }: { IGNORE: IgnoreModifier }\n ) => Unmasked<NoInfer<TData>> | IgnoreModifier);\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#updateQueries:member} */\n updateQueries?: MutationQueryReducersMap<TData>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#refetchQueries:member} */\n refetchQueries?:\n | ((\n result: FetchResult<Unmasked<TData>>\n ) => InternalRefetchQueriesInclude)\n | InternalRefetchQueriesInclude;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#awaitRefetchQueries:member} */\n awaitRefetchQueries?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#update:member} */\n update?: MutationUpdaterFunction<TData, TVariables, TCache>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onQueryUpdated:member} */\n onQueryUpdated?: OnQueryUpdated<any>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables?: TConfiguredVariables;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: MutationFetchPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#keepRootFields:member} */\n keepRootFields?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#client:member} */\n client?: ApolloClient;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#notifyOnNetworkStatusChange:member} */\n notifyOnNetworkStatusChange?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onCompleted:member} */\n onCompleted?: (\n data: MaybeMasked<TData>,\n clientOptions?: Options<TData, TVariables, TCache>\n ) => void;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onError:member} */\n onError?: (\n error: ErrorLike,\n clientOptions?: Options<TData, TVariables, TCache>\n ) => void;\n }\n\n export interface Result<TData = unknown> {\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n data: MaybeMasked<TData> | null | undefined;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n error: ErrorLike | undefined;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#loading:member} */\n loading: boolean;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#called:member} */\n called: boolean;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#client:member} */\n client: ApolloClient;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#reset:member} */\n reset: () => void;\n }\n\n export type ResultTuple<\n TData,\n TVariables extends OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n > = [\n mutate: MutationFunction<TData, TVariables, TCache>,\n result: Result<TData>,\n ];\n\n export type MutationFunction<\n TData,\n TVariables extends OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n > = (\n ...[options]: {} extends TVariables ?\n [\n options?: MutationFunctionOptions<TData, TVariables, TCache> & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables?: TVariables;\n },\n ]\n : [\n options: MutationFunctionOptions<TData, TVariables, TCache> & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables: TVariables;\n },\n ]\n ) => Promise<MutateResult<MaybeMasked<TData>>>;\n\n export type MutationFunctionOptions<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n > = Options<TData, TVariables, TCache> & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#mutation:member} */\n // TODO: Remove this option. We shouldn't allow the mutation to be overridden\n // in the mutation function\n mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;\n };\n}\n\n/**\n *\n *\n * > Refer to the [Mutations](https://www.apollographql.com/docs/react/data/mutations/) section for a more in-depth overview of `useMutation`.\n *\n * @example\n * ```jsx\n * import { gql, useMutation } from '@apollo/client';\n *\n * const ADD_TODO = gql`\n * mutation AddTodo($type: String!) {\n * addTodo(type: $type) {\n * id\n * type\n * }\n * }\n * `;\n *\n * function AddTodo() {\n * let input;\n * const [addTodo, { data }] = useMutation(ADD_TODO);\n *\n * return (\n * <div>\n * <form\n * onSubmit={e => {\n * e.preventDefault();\n * addTodo({ variables: { type: input.value } });\n * input.value = '';\n * }}\n * >\n * <input\n * ref={node => {\n * input = node;\n * }}\n * />\n * <button type=\"submit\">Add Todo</button>\n * </form>\n * </div>\n * );\n * }\n * ```\n * @since 3.0.0\n * @param mutation - A GraphQL mutation document parsed into an AST by `gql`.\n * @param options - Options to control how the mutation is executed.\n * @returns A tuple in the form of `[mutate, result]`\n */\nexport function useMutation<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n TConfiguredVariables extends Partial<TVariables> = {},\n>(\n mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: useMutation.Options<\n NoInfer<TData>,\n NoInfer<TVariables>,\n TCache,\n {\n [K in keyof TConfiguredVariables]: K extends keyof TVariables ?\n TConfiguredVariables[K]\n : never;\n }\n >\n): useMutation.ResultTuple<\n TData,\n MakeRequiredVariablesOptional<TVariables, TConfiguredVariables>,\n TCache\n> {\n const client = useApolloClient(options?.client);\n const [result, setResult] = React.useState<\n Omit<useMutation.Result<TData>, \"reset\">\n >(() => createInitialResult(client));\n\n const ref = React.useRef({\n result,\n mutationId: 0,\n isMounted: true,\n client,\n mutation,\n options,\n });\n\n useIsomorphicLayoutEffect(() => {\n Object.assign(ref.current, { client, options, mutation });\n });\n\n const execute = React.useCallback(\n (\n executeOptions: useMutation.MutationFunctionOptions<\n TData,\n TVariables,\n TCache\n > = {} as useMutation.MutationFunctionOptions<TData, TVariables, TCache>\n ) => {\n const { options, mutation } = ref.current;\n const baseOptions = { ...options, mutation };\n const client = executeOptions.client || ref.current.client;\n\n if (!ref.current.result.loading && ref.current.isMounted) {\n setResult(\n (ref.current.result = {\n loading: true,\n error: undefined,\n data: undefined,\n called: true,\n client,\n })\n );\n }\n\n const mutationId = ++ref.current.mutationId;\n const clientOptions = mergeOptions(baseOptions, executeOptions as any);\n\n return client\n .mutate(clientOptions as MutationOptions<TData, OperationVariables>)\n .then(\n (response) => {\n const { data, error } = response;\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (error && onError) {\n onError(error, clientOptions);\n }\n\n if (mutationId === ref.current.mutationId) {\n const result = {\n called: true,\n loading: false,\n data,\n error,\n client,\n };\n\n if (ref.current.isMounted && !equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onCompleted =\n executeOptions.onCompleted || ref.current.options?.onCompleted;\n\n if (!error) {\n onCompleted?.(response.data!, clientOptions);\n }\n\n return response;\n },\n (error) => {\n if (\n mutationId === ref.current.mutationId &&\n ref.current.isMounted\n ) {\n const result = {\n loading: false,\n error,\n data: void 0,\n called: true,\n client,\n };\n\n if (!equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (onError) {\n onError(error, clientOptions);\n }\n\n throw error;\n }\n );\n },\n []\n );\n\n const reset = React.useCallback(() => {\n if (ref.current.isMounted) {\n const result = createInitialResult(ref.current.client);\n Object.assign(ref.current, { mutationId: 0, result });\n setResult(result);\n }\n }, []);\n\n React.useEffect(() => {\n const current = ref.current;\n current.isMounted = true;\n\n return () => {\n current.isMounted = false;\n };\n }, []);\n\n return [execute as any, { reset, ...result }];\n}\n\nfunction createInitialResult(client: ApolloClient) {\n return {\n data: undefined,\n error: undefined,\n called: false,\n loading: false,\n client,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useMutation.js","sources":["../../../src/react/hooks/useMutation.ts"],"sourcesContent":["import type { TypedDocumentNode } from \"@graphql-typed-document-node/core\";\nimport { equal } from \"@wry/equality\";\nimport * as React from \"react\";\n\nimport type {\n ApolloCache,\n ApolloClient,\n DefaultContext,\n DocumentNode,\n ErrorLike,\n ErrorPolicy,\n NormalizedExecutionResult,\n InternalRefetchQueriesInclude,\n MaybeMasked,\n MutateResult,\n MutationFetchPolicy,\n MutationOptions,\n MutationQueryReducersMap,\n MutationUpdaterFunction,\n OnQueryUpdated,\n OperationVariables,\n Unmasked,\n} from \"@apollo/client\";\nimport type { NoInfer, Prettify } from \"@apollo/client/utilities/internal\";\nimport { mergeOptions } from \"@apollo/client/utilities/internal\";\n\nimport type { IgnoreModifier } from \"../../cache/core/types/common.js\";\n\nimport { useIsomorphicLayoutEffect } from \"./internal/useIsomorphicLayoutEffect.js\";\nimport { useApolloClient } from \"./useApolloClient.js\";\n\ntype MakeRequiredVariablesOptional<\n TVariables extends OperationVariables,\n TConfiguredVariables extends Partial<TVariables>,\n> = Prettify<\n {\n [K in keyof TVariables as K extends keyof TConfiguredVariables ? K\n : never]?: TVariables[K];\n } & Omit<TVariables, keyof TConfiguredVariables>\n>;\n\nexport declare namespace useMutation {\n export interface Options<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n TConfiguredVariables extends Partial<TVariables> = Partial<TVariables>,\n > {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#optimisticResponse:member} */\n optimisticResponse?:\n | Unmasked<NoInfer<TData>>\n | ((\n vars: TVariables,\n { IGNORE }: { IGNORE: IgnoreModifier }\n ) => Unmasked<NoInfer<TData>> | IgnoreModifier);\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#updateQueries:member} */\n updateQueries?: MutationQueryReducersMap<TData>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#refetchQueries:member} */\n refetchQueries?:\n | ((\n result: NormalizedExecutionResult<Unmasked<TData>>\n ) => InternalRefetchQueriesInclude)\n | InternalRefetchQueriesInclude;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#awaitRefetchQueries:member} */\n awaitRefetchQueries?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#update:member} */\n update?: MutationUpdaterFunction<TData, TVariables, TCache>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onQueryUpdated:member} */\n onQueryUpdated?: OnQueryUpdated<any>;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#errorPolicy:member} */\n errorPolicy?: ErrorPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables?: TConfiguredVariables;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#context:member} */\n context?: DefaultContext;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#fetchPolicy:member} */\n fetchPolicy?: MutationFetchPolicy;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#keepRootFields:member} */\n keepRootFields?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#client:member} */\n client?: ApolloClient;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#notifyOnNetworkStatusChange:member} */\n notifyOnNetworkStatusChange?: boolean;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onCompleted:member} */\n onCompleted?: (\n data: MaybeMasked<TData>,\n clientOptions?: Options<TData, TVariables, TCache>\n ) => void;\n\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#onError:member} */\n onError?: (\n error: ErrorLike,\n clientOptions?: Options<TData, TVariables, TCache>\n ) => void;\n }\n\n export interface Result<TData = unknown> {\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#data:member} */\n data: MaybeMasked<TData> | null | undefined;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#error:member} */\n error: ErrorLike | undefined;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#loading:member} */\n loading: boolean;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#called:member} */\n called: boolean;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#client:member} */\n client: ApolloClient;\n\n /** {@inheritDoc @apollo/client!MutationResultDocumentation#reset:member} */\n reset: () => void;\n }\n\n export type ResultTuple<\n TData,\n TVariables extends OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n > = [\n mutate: MutationFunction<TData, TVariables, TCache>,\n result: Result<TData>,\n ];\n\n export type MutationFunction<\n TData,\n TVariables extends OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n > = (\n ...[options]: {} extends TVariables ?\n [\n options?: MutationFunctionOptions<TData, TVariables, TCache> & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables?: TVariables;\n },\n ]\n : [\n options: MutationFunctionOptions<TData, TVariables, TCache> & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#variables:member} */\n variables: TVariables;\n },\n ]\n ) => Promise<MutateResult<MaybeMasked<TData>>>;\n\n export type MutationFunctionOptions<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n > = Options<TData, TVariables, TCache> & {\n /** {@inheritDoc @apollo/client!MutationOptionsDocumentation#mutation:member} */\n // TODO: Remove this option. We shouldn't allow the mutation to be overridden\n // in the mutation function\n mutation?: DocumentNode | TypedDocumentNode<TData, TVariables>;\n };\n}\n\n/**\n *\n *\n * > Refer to the [Mutations](https://www.apollographql.com/docs/react/data/mutations/) section for a more in-depth overview of `useMutation`.\n *\n * @example\n * ```jsx\n * import { gql, useMutation } from '@apollo/client';\n *\n * const ADD_TODO = gql`\n * mutation AddTodo($type: String!) {\n * addTodo(type: $type) {\n * id\n * type\n * }\n * }\n * `;\n *\n * function AddTodo() {\n * let input;\n * const [addTodo, { data }] = useMutation(ADD_TODO);\n *\n * return (\n * <div>\n * <form\n * onSubmit={e => {\n * e.preventDefault();\n * addTodo({ variables: { type: input.value } });\n * input.value = '';\n * }}\n * >\n * <input\n * ref={node => {\n * input = node;\n * }}\n * />\n * <button type=\"submit\">Add Todo</button>\n * </form>\n * </div>\n * );\n * }\n * ```\n * @since 3.0.0\n * @param mutation - A GraphQL mutation document parsed into an AST by `gql`.\n * @param options - Options to control how the mutation is executed.\n * @returns A tuple in the form of `[mutate, result]`\n */\nexport function useMutation<\n TData = unknown,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n TConfiguredVariables extends Partial<TVariables> = {},\n>(\n mutation: DocumentNode | TypedDocumentNode<TData, TVariables>,\n options?: useMutation.Options<\n NoInfer<TData>,\n NoInfer<TVariables>,\n TCache,\n {\n [K in keyof TConfiguredVariables]: K extends keyof TVariables ?\n TConfiguredVariables[K]\n : never;\n }\n >\n): useMutation.ResultTuple<\n TData,\n MakeRequiredVariablesOptional<TVariables, TConfiguredVariables>,\n TCache\n> {\n const client = useApolloClient(options?.client);\n const [result, setResult] = React.useState<\n Omit<useMutation.Result<TData>, \"reset\">\n >(() => createInitialResult(client));\n\n const ref = React.useRef({\n result,\n mutationId: 0,\n isMounted: true,\n client,\n mutation,\n options,\n });\n\n useIsomorphicLayoutEffect(() => {\n Object.assign(ref.current, { client, options, mutation });\n });\n\n const execute = React.useCallback(\n (\n executeOptions: useMutation.MutationFunctionOptions<\n TData,\n TVariables,\n TCache\n > = {} as useMutation.MutationFunctionOptions<TData, TVariables, TCache>\n ) => {\n const { options, mutation } = ref.current;\n const baseOptions = { ...options, mutation };\n const client = executeOptions.client || ref.current.client;\n\n if (!ref.current.result.loading && ref.current.isMounted) {\n setResult(\n (ref.current.result = {\n loading: true,\n error: undefined,\n data: undefined,\n called: true,\n client,\n })\n );\n }\n\n const mutationId = ++ref.current.mutationId;\n const clientOptions = mergeOptions(baseOptions, executeOptions as any);\n\n return client\n .mutate(clientOptions as MutationOptions<TData, OperationVariables>)\n .then(\n (response) => {\n const { data, error } = response;\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (error && onError) {\n onError(error, clientOptions);\n }\n\n if (mutationId === ref.current.mutationId) {\n const result = {\n called: true,\n loading: false,\n data,\n error,\n client,\n };\n\n if (ref.current.isMounted && !equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onCompleted =\n executeOptions.onCompleted || ref.current.options?.onCompleted;\n\n if (!error) {\n onCompleted?.(response.data!, clientOptions);\n }\n\n return response;\n },\n (error) => {\n if (\n mutationId === ref.current.mutationId &&\n ref.current.isMounted\n ) {\n const result = {\n loading: false,\n error,\n data: void 0,\n called: true,\n client,\n };\n\n if (!equal(ref.current.result, result)) {\n setResult((ref.current.result = result));\n }\n }\n\n const onError =\n executeOptions.onError || ref.current.options?.onError;\n\n if (onError) {\n onError(error, clientOptions);\n }\n\n throw error;\n }\n );\n },\n []\n );\n\n const reset = React.useCallback(() => {\n if (ref.current.isMounted) {\n const result = createInitialResult(ref.current.client);\n Object.assign(ref.current, { mutationId: 0, result });\n setResult(result);\n }\n }, []);\n\n React.useEffect(() => {\n const current = ref.current;\n current.isMounted = true;\n\n return () => {\n current.isMounted = false;\n };\n }, []);\n\n return [execute as any, { reset, ...result }];\n}\n\nfunction createInitialResult(client: ApolloClient) {\n return {\n data: undefined,\n error: undefined,\n called: false,\n loading: false,\n client,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import type { ApolloClient, ApolloQueryResult, DataState, DefaultContext, DocumentNode, ErrorLike, ErrorPolicy, FetchMoreQueryOptions, GetDataState, ObservableQuery, OperationVariables, QueryResult, RefetchWritePolicy, SubscribeToMoreFunction, TypedDocumentNode, UpdateQueryMapFn, WatchQueryFetchPolicy, WatchQueryOptions } from "@apollo/client";
1
+ import type { ApolloClient, ApolloQueryResult, DataState, DefaultContext, DocumentNode, ErrorLike, ErrorPolicy, FetchMoreOptions, GetDataState, ObservableQuery, OperationVariables, QueryResult, RefetchWritePolicy, SubscribeToMoreFunction, TypedDocumentNode, UpdateQueryMapFn, WatchQueryFetchPolicy, WatchQueryOptions } from "@apollo/client";
2
2
  import { NetworkStatus } from "@apollo/client";
3
- import type { MaybeMasked, Unmasked } from "@apollo/client/masking";
3
+ import type { MaybeMasked } from "@apollo/client/masking";
4
4
  import type { NoInfer, VariablesOption } from "@apollo/client/utilities/internal";
5
5
  import type { NextFetchPolicyContext } from "../../core/watchQueryOptions.js";
6
6
  export declare namespace useQuery {
@@ -247,12 +247,7 @@ export declare namespace useQuery {
247
247
  *
248
248
  * 3. Helper functions
249
249
  */
250
- fetchMore: <TFetchData = TData, TFetchVars extends OperationVariables = TVariables>(fetchMoreOptions: FetchMoreQueryOptions<TFetchVars, TFetchData> & {
251
- updateQuery?: (previousQueryResult: Unmasked<TData>, options: {
252
- fetchMoreResult: Unmasked<TFetchData>;
253
- variables: TFetchVars;
254
- }) => Unmasked<TData>;
255
- }) => Promise<QueryResult<MaybeMasked<TFetchData>>>;
250
+ fetchMore: <TFetchData = TData, TFetchVars extends OperationVariables = TVariables>(fetchMoreOptions: FetchMoreOptions<TData, TVariables, TFetchData, TFetchVars>) => Promise<QueryResult<MaybeMasked<TFetchData>>>;
256
251
  } & GetDataState<MaybeMasked<TData>, TStates>;
257
252
  }
258
253
  export declare function useQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables>(query: DocumentNode | TypedDocumentNode<TData, TVariables>, options: useQuery.Options<NoInfer<TData>, NoInfer<TVariables>> & {