@apollo/client 4.0.0-rc.1 → 4.0.0-rc.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1153) hide show
  1. package/CHANGELOG.md +347 -0
  2. package/README.md +40 -40
  3. package/__cjs/cache/core/cache.cjs +16 -19
  4. package/__cjs/cache/core/cache.cjs.map +1 -1
  5. package/__cjs/cache/core/cache.d.cts +108 -73
  6. package/__cjs/cache/core/types/Cache.cjs +0 -4
  7. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  8. package/__cjs/cache/core/types/Cache.d.cts +200 -15
  9. package/__cjs/cache/{core/types/DataProxy.cjs → deprecated.cjs} +1 -1
  10. package/__cjs/cache/deprecated.cjs.map +1 -0
  11. package/__cjs/cache/deprecated.d.cts +6 -0
  12. package/__cjs/cache/index.cjs.map +1 -1
  13. package/__cjs/cache/index.d.cts +2 -2
  14. package/__cjs/cache/inmemory/entityStore.cjs +28 -31
  15. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  16. package/__cjs/cache/inmemory/entityStore.d.cts +18 -17
  17. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  18. package/__cjs/cache/inmemory/inMemoryCache.cjs +1 -1
  19. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  20. package/__cjs/cache/inmemory/inMemoryCache.d.cts +4 -4
  21. package/__cjs/cache/inmemory/key-extractor.cjs +1 -1
  22. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  23. package/__cjs/cache/inmemory/policies.cjs +4 -4
  24. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  25. package/__cjs/cache/inmemory/policies.d.cts +3 -2
  26. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  27. package/__cjs/cache/inmemory/readFromStore.cjs +2 -2
  28. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  29. package/__cjs/cache/inmemory/types.d.cts +1 -1
  30. package/__cjs/cache/inmemory/writeToStore.cjs +4 -4
  31. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  32. package/__cjs/cache/inmemory/writeToStore.d.cts +1 -1
  33. package/__cjs/core/ApolloClient.cjs +158 -122
  34. package/__cjs/core/ApolloClient.cjs.map +1 -1
  35. package/__cjs/core/ApolloClient.d.cts +788 -184
  36. package/__cjs/core/ObservableQuery.cjs +50 -20
  37. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  38. package/__cjs/core/ObservableQuery.d.cts +190 -107
  39. package/__cjs/core/QueryInfo.cjs +2 -6
  40. package/__cjs/core/QueryInfo.cjs.map +1 -1
  41. package/__cjs/core/QueryInfo.d.cts +9 -8
  42. package/__cjs/core/QueryManager.cjs +15 -15
  43. package/__cjs/core/QueryManager.cjs.map +1 -1
  44. package/__cjs/core/QueryManager.d.cts +20 -20
  45. package/__cjs/core/deprecated.cjs +3 -0
  46. package/__cjs/core/deprecated.cjs.map +1 -0
  47. package/__cjs/core/deprecated.d.cts +29 -0
  48. package/__cjs/core/index.cjs +1 -2
  49. package/__cjs/core/index.cjs.map +1 -1
  50. package/__cjs/core/index.d.cts +12 -9
  51. package/__cjs/core/networkStatus.cjs.map +1 -1
  52. package/__cjs/core/types.d.cts +186 -145
  53. package/__cjs/core/watchQueryOptions.d.cts +8 -297
  54. package/__cjs/dev/index.cjs.map +1 -1
  55. package/__cjs/dev/loadDevMessages.cjs.map +1 -1
  56. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  57. package/__cjs/dev/loadErrorMessages.cjs.map +1 -1
  58. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  59. package/__cjs/dev/setErrorMessageHandler.d.cts +4 -4
  60. package/__cjs/dev/symbol.cjs.map +1 -1
  61. package/__cjs/errors/CombinedGraphQLErrors.cjs +64 -11
  62. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  63. package/__cjs/errors/CombinedGraphQLErrors.d.cts +168 -14
  64. package/__cjs/errors/CombinedProtocolErrors.cjs +54 -1
  65. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  66. package/__cjs/errors/CombinedProtocolErrors.d.cts +132 -2
  67. package/__cjs/errors/LinkError.cjs +45 -2
  68. package/__cjs/errors/LinkError.cjs.map +1 -1
  69. package/__cjs/errors/LinkError.d.cts +45 -2
  70. package/__cjs/errors/LocalStateError.cjs +35 -5
  71. package/__cjs/errors/LocalStateError.cjs.map +1 -1
  72. package/__cjs/errors/LocalStateError.d.cts +41 -5
  73. package/__cjs/errors/ServerError.cjs +51 -8
  74. package/__cjs/errors/ServerError.cjs.map +1 -1
  75. package/__cjs/errors/ServerError.d.cts +71 -11
  76. package/__cjs/errors/ServerParseError.cjs +46 -8
  77. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  78. package/__cjs/errors/ServerParseError.d.cts +72 -16
  79. package/__cjs/errors/UnconventionalError.cjs +46 -2
  80. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  81. package/__cjs/errors/UnconventionalError.d.cts +46 -2
  82. package/__cjs/errors/index.cjs.map +1 -1
  83. package/__cjs/errors/isErrorLike.cjs.map +1 -1
  84. package/__cjs/errors/utils.cjs.map +1 -1
  85. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -1
  86. package/__cjs/incremental/handlers/defer20220824.d.cts +4 -4
  87. package/__cjs/incremental/handlers/notImplemented.cjs +1 -1
  88. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -1
  89. package/__cjs/incremental/handlers/notImplemented.d.cts +2 -2
  90. package/__cjs/incremental/index.cjs.map +1 -1
  91. package/__cjs/incremental/types.d.cts +4 -4
  92. package/__cjs/invariantErrorCodes.cjs +84 -88
  93. package/__cjs/invariantErrorCodes.cjs.map +1 -1
  94. package/__cjs/link/batch/batchLink.cjs +33 -13
  95. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  96. package/__cjs/link/batch/batchLink.d.cts +103 -28
  97. package/__cjs/link/batch/batching.cjs +1 -1
  98. package/__cjs/link/batch/batching.cjs.map +1 -1
  99. package/__cjs/link/batch/batching.d.cts +8 -8
  100. package/__cjs/link/batch/index.cjs +1 -2
  101. package/__cjs/link/batch/index.cjs.map +1 -1
  102. package/__cjs/link/batch/index.d.cts +1 -2
  103. package/__cjs/link/batch-http/BaseBatchHttpLink.cjs +156 -0
  104. package/__cjs/link/batch-http/BaseBatchHttpLink.cjs.map +1 -0
  105. package/__cjs/link/batch-http/BaseBatchHttpLink.d.cts +68 -0
  106. package/__cjs/link/batch-http/batchHttpLink.cjs +28 -130
  107. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  108. package/__cjs/link/batch-http/batchHttpLink.d.cts +40 -17
  109. package/__cjs/link/batch-http/index.cjs +2 -1
  110. package/__cjs/link/batch-http/index.cjs.map +1 -1
  111. package/__cjs/link/batch-http/index.d.cts +2 -1
  112. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +36 -3
  113. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -1
  114. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +59 -7
  115. package/__cjs/link/client-awareness/index.cjs.map +1 -1
  116. package/__cjs/link/context/index.cjs +37 -14
  117. package/__cjs/link/context/index.cjs.map +1 -1
  118. package/__cjs/link/context/index.d.cts +78 -5
  119. package/__cjs/link/core/ApolloLink.cjs +227 -55
  120. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  121. package/__cjs/link/core/ApolloLink.d.cts +355 -9
  122. package/__cjs/link/core/concat.cjs +4 -0
  123. package/__cjs/link/core/concat.cjs.map +1 -1
  124. package/__cjs/link/core/concat.d.cts +4 -0
  125. package/__cjs/link/core/deprecated.cjs +3 -0
  126. package/__cjs/link/core/deprecated.cjs.map +1 -0
  127. package/__cjs/link/core/deprecated.d.cts +10 -0
  128. package/__cjs/link/core/empty.cjs +4 -0
  129. package/__cjs/link/core/empty.cjs.map +1 -1
  130. package/__cjs/link/core/empty.d.cts +4 -0
  131. package/__cjs/link/core/execute.cjs.map +1 -1
  132. package/__cjs/link/core/from.cjs +4 -0
  133. package/__cjs/link/core/from.cjs.map +1 -1
  134. package/__cjs/link/core/from.d.cts +4 -0
  135. package/__cjs/link/core/split.cjs +4 -0
  136. package/__cjs/link/core/split.cjs.map +1 -1
  137. package/__cjs/link/core/split.d.cts +4 -0
  138. package/__cjs/link/core/types.d.cts +2 -33
  139. package/__cjs/link/error/index.cjs +44 -0
  140. package/__cjs/link/error/index.cjs.map +1 -1
  141. package/__cjs/link/error/index.d.cts +84 -10
  142. package/__cjs/link/http/BaseHttpLink.cjs +62 -12
  143. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -1
  144. package/__cjs/link/http/BaseHttpLink.d.cts +256 -2
  145. package/__cjs/link/http/HttpLink.cjs +27 -2
  146. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  147. package/__cjs/link/http/HttpLink.d.cts +45 -135
  148. package/__cjs/link/http/checkFetcher.cjs +1 -1
  149. package/__cjs/link/http/index.cjs +1 -3
  150. package/__cjs/link/http/index.cjs.map +1 -1
  151. package/__cjs/link/http/index.d.cts +0 -2
  152. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +41 -26
  153. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  154. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +2 -2
  155. package/__cjs/link/http/rewriteURIForGET.cjs +2 -3
  156. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  157. package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
  158. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  159. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +9 -9
  160. package/__cjs/link/http/selectURI.cjs.map +1 -1
  161. package/__cjs/link/http/selectURI.d.cts +2 -2
  162. package/__cjs/link/index.cjs.map +1 -1
  163. package/__cjs/link/index.d.cts +2 -1
  164. package/__cjs/link/persisted-queries/index.cjs +18 -2
  165. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  166. package/__cjs/link/persisted-queries/index.d.cts +207 -28
  167. package/__cjs/link/remove-typename/index.cjs.map +1 -1
  168. package/__cjs/link/remove-typename/index.d.cts +0 -1
  169. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +48 -0
  170. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  171. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +124 -8
  172. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  173. package/__cjs/link/retry/delayFunction.d.cts +2 -39
  174. package/__cjs/link/retry/index.cjs.map +1 -1
  175. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  176. package/__cjs/link/retry/retryFunction.d.cts +2 -29
  177. package/__cjs/link/retry/retryLink.cjs +37 -12
  178. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  179. package/__cjs/link/retry/retryLink.d.cts +130 -6
  180. package/__cjs/link/schema/index.cjs +20 -0
  181. package/__cjs/link/schema/index.cjs.map +1 -1
  182. package/__cjs/link/schema/index.d.cts +130 -9
  183. package/__cjs/link/subscriptions/index.cjs +23 -0
  184. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  185. package/__cjs/link/subscriptions/index.d.cts +24 -2
  186. package/__cjs/link/utils/createOperation.cjs +12 -4
  187. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  188. package/__cjs/link/utils/createOperation.d.cts +2 -2
  189. package/__cjs/link/utils/filterOperationVariables.cjs.map +1 -1
  190. package/__cjs/link/utils/index.cjs +1 -5
  191. package/__cjs/link/utils/index.cjs.map +1 -1
  192. package/__cjs/link/utils/index.d.cts +0 -2
  193. package/__cjs/link/ws/index.cjs +35 -1
  194. package/__cjs/link/ws/index.cjs.map +1 -1
  195. package/__cjs/link/ws/index.d.cts +64 -7
  196. package/__cjs/local-state/LocalState.cjs +55 -9
  197. package/__cjs/local-state/LocalState.cjs.map +1 -1
  198. package/__cjs/local-state/LocalState.d.cts +94 -0
  199. package/__cjs/local-state/index.cjs.map +1 -1
  200. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +11 -44
  201. package/__cjs/masking/PreserveTypes.cjs +3 -0
  202. package/__cjs/masking/PreserveTypes.cjs.map +1 -0
  203. package/__cjs/masking/PreserveTypes.d.cts +26 -0
  204. package/__cjs/masking/index.cjs.map +1 -1
  205. package/__cjs/masking/index.d.cts +1 -1
  206. package/__cjs/masking/internal/types.d.cts +70 -71
  207. package/__cjs/masking/maskDefinition.cjs +2 -2
  208. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  209. package/__cjs/masking/maskFragment.cjs +2 -2
  210. package/__cjs/masking/maskFragment.cjs.map +1 -1
  211. package/__cjs/masking/maskOperation.cjs +1 -1
  212. package/__cjs/masking/maskOperation.cjs.map +1 -1
  213. package/__cjs/masking/types.d.cts +5 -23
  214. package/__cjs/masking/utils.cjs +3 -3
  215. package/__cjs/masking/utils.cjs.map +1 -1
  216. package/__cjs/react/context/ApolloContext.cjs +1 -1
  217. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  218. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  219. package/__cjs/react/hooks/constants.cjs.map +1 -1
  220. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  221. package/__cjs/react/hooks/internal/index.cjs.map +1 -1
  222. package/__cjs/react/hooks/internal/useDeepMemo.cjs +0 -3
  223. package/__cjs/react/hooks/internal/useDeepMemo.cjs.map +1 -1
  224. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  225. package/__cjs/react/hooks/internal/useRenderGuard.cjs.map +1 -1
  226. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -1
  227. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +2 -2
  228. package/__cjs/react/hooks/internal/wrapHook.cjs +1 -0
  229. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  230. package/__cjs/react/hooks/internal/wrapHook.d.cts +8 -7
  231. package/__cjs/react/hooks/useApolloClient.cjs +2 -2
  232. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  233. package/__cjs/react/hooks/useApolloClient.d.cts +2 -2
  234. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  235. package/__cjs/react/hooks/useBackgroundQuery.d.cts +850 -86
  236. package/__cjs/react/hooks/useFragment.cjs +11 -5
  237. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  238. package/__cjs/react/hooks/useFragment.d.cts +56 -8
  239. package/__cjs/react/hooks/useLazyQuery.cjs +0 -38
  240. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  241. package/__cjs/react/hooks/useLazyQuery.d.cts +317 -161
  242. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  243. package/__cjs/react/hooks/useLoadableQuery.d.cts +246 -69
  244. package/__cjs/react/hooks/useMutation.cjs +6 -7
  245. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  246. package/__cjs/react/hooks/useMutation.d.cts +87 -65
  247. package/__cjs/react/hooks/useQuery.cjs +1 -35
  248. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  249. package/__cjs/react/hooks/useQuery.d.cts +367 -239
  250. package/__cjs/react/hooks/useQueryRefHandlers.cjs +2 -1
  251. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  252. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +36 -3
  253. package/__cjs/react/hooks/useReactiveVar.cjs +2 -1
  254. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  255. package/__cjs/react/hooks/useReactiveVar.d.cts +2 -1
  256. package/__cjs/react/hooks/useReadQuery.cjs +29 -0
  257. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  258. package/__cjs/react/hooks/useReadQuery.d.cts +92 -16
  259. package/__cjs/react/hooks/useSubscription.cjs +8 -9
  260. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  261. package/__cjs/react/hooks/useSubscription.d.cts +160 -68
  262. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  263. package/__cjs/react/hooks/useSuspenseFragment.d.cts +62 -30
  264. package/__cjs/react/hooks/useSuspenseQuery.cjs +4 -1
  265. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  266. package/__cjs/react/hooks/useSuspenseQuery.d.cts +585 -159
  267. package/__cjs/react/hooks/useSyncExternalStore.cjs +2 -6
  268. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  269. package/__cjs/react/index.cjs +2 -5
  270. package/__cjs/react/index.cjs.map +1 -1
  271. package/__cjs/react/index.d.cts +1 -2
  272. package/__cjs/react/index.react-server.cjs +1 -3
  273. package/__cjs/react/index.react-server.cjs.map +1 -1
  274. package/__cjs/react/index.react-server.d.cts +0 -1
  275. package/__cjs/react/internal/cache/FragmentReference.cjs +1 -1
  276. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  277. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -3
  278. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  279. package/__cjs/react/internal/cache/QueryReference.d.cts +14 -12
  280. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  281. package/__cjs/react/internal/cache/SuspenseCache.d.cts +2 -2
  282. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  283. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +6 -4
  284. package/__cjs/react/internal/compiler-runtime/index.cjs +32 -0
  285. package/__cjs/react/internal/compiler-runtime/index.cjs.map +1 -0
  286. package/__cjs/react/internal/compiler-runtime/index.d.cts +8 -0
  287. package/__cjs/react/internal/index.cjs +1 -0
  288. package/__cjs/react/internal/index.cjs.map +1 -1
  289. package/__cjs/react/internal/index.d.cts +1 -1
  290. package/__cjs/react/internal/types.d.cts +3 -3
  291. package/__cjs/react/query-preloader/createQueryPreloader.cjs +1 -1
  292. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  293. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +60 -51
  294. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  295. package/__cjs/react/ssr/index.cjs.map +1 -1
  296. package/__cjs/react/ssr/prerenderStatic.cjs +5 -4
  297. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  298. package/__cjs/react/ssr/prerenderStatic.d.cts +11 -9
  299. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  300. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  301. package/__cjs/react/types/deprecated.d.cts +1 -1
  302. package/__cjs/react/types/types.documentation.d.cts +27 -16
  303. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  304. package/__cjs/testing/core/mocking/mockLink.d.cts +8 -8
  305. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
  306. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +3 -4
  307. package/__cjs/testing/core/types/deprecated.d.cts +3 -2
  308. package/__cjs/testing/index.cjs.map +1 -1
  309. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  310. package/__cjs/testing/react/MockedProvider.d.cts +2 -3
  311. package/__cjs/testing/react/index.cjs.map +1 -1
  312. package/__cjs/utilities/HKT.d.cts +8 -7
  313. package/__cjs/utilities/caching/index.cjs.map +1 -1
  314. package/__cjs/utilities/caching/sizes.cjs +3 -3
  315. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  316. package/__cjs/utilities/caching/sizes.d.cts +4 -6
  317. package/__cjs/utilities/common/stripTypename.cjs +11 -0
  318. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  319. package/__cjs/utilities/common/stripTypename.d.cts +11 -0
  320. package/__cjs/utilities/environment/index.cjs.map +1 -1
  321. package/__cjs/utilities/environment/index.development.cjs.map +1 -1
  322. package/__cjs/utilities/environment/index.production.cjs.map +1 -1
  323. package/__cjs/utilities/graphql/DocumentTransform.cjs +86 -3
  324. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  325. package/__cjs/utilities/graphql/DocumentTransform.d.cts +94 -5
  326. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +27 -0
  327. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -1
  328. package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +27 -0
  329. package/__cjs/utilities/graphql/operations.cjs +54 -3
  330. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  331. package/__cjs/utilities/graphql/operations.d.cts +54 -3
  332. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  333. package/__cjs/utilities/graphql/storeUtils.cjs +9 -0
  334. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  335. package/__cjs/utilities/graphql/storeUtils.d.cts +9 -0
  336. package/__cjs/utilities/graphql/transform.cjs +12 -1
  337. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  338. package/__cjs/utilities/graphql/transform.d.cts +12 -1
  339. package/__cjs/utilities/index.cjs +2 -3
  340. package/__cjs/utilities/index.cjs.map +1 -1
  341. package/__cjs/utilities/index.d.cts +1 -2
  342. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -1
  343. package/__cjs/utilities/internal/caches.cjs.map +1 -1
  344. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -1
  345. package/__cjs/utilities/{shared → internal}/canonicalStringify.cjs +35 -14
  346. package/__cjs/utilities/internal/canonicalStringify.cjs.map +1 -0
  347. package/__cjs/utilities/internal/canonicalStringify.d.cts +44 -0
  348. package/__cjs/utilities/internal/checkDocument.cjs +2 -2
  349. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -1
  350. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -1
  351. package/__cjs/utilities/internal/compact.cjs.map +1 -1
  352. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -1
  353. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -1
  354. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -1
  355. package/__cjs/utilities/internal/dealias.cjs.map +1 -1
  356. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -1
  357. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -1
  358. package/__cjs/{core → utilities/internal}/equalByQuery.cjs +13 -7
  359. package/__cjs/utilities/internal/equalByQuery.cjs.map +1 -0
  360. package/__cjs/utilities/internal/equalByQuery.d.cts +5 -0
  361. package/__cjs/utilities/internal/filterMap.cjs.map +1 -1
  362. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -1
  363. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -1
  364. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -1
  365. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -1
  366. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +13 -3
  367. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -1
  368. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +13 -3
  369. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -1
  370. package/__cjs/utilities/internal/getMainDefinition.cjs +36 -8
  371. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -1
  372. package/__cjs/utilities/internal/getMainDefinition.d.cts +36 -8
  373. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  374. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -1
  375. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -1
  376. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -1
  377. package/__cjs/utilities/internal/getStoreKeyName.cjs +9 -7
  378. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -1
  379. package/__cjs/utilities/internal/globals/global.cjs.map +1 -1
  380. package/__cjs/utilities/internal/globals/index.cjs.map +1 -1
  381. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -1
  382. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -1
  383. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -1
  384. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -1
  385. package/__cjs/utilities/internal/index.cjs +8 -2
  386. package/__cjs/utilities/internal/index.cjs.map +1 -1
  387. package/__cjs/utilities/internal/index.d.cts +4 -0
  388. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  389. package/__cjs/utilities/internal/isArray.cjs.map +1 -1
  390. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -1
  391. package/__cjs/utilities/internal/isField.cjs.map +1 -1
  392. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -1
  393. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -1
  394. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -1
  395. package/__cjs/utilities/internal/makeReference.cjs.map +1 -1
  396. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -1
  397. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -1
  398. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -1
  399. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -1
  400. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -1
  401. package/__cjs/utilities/internal/mergeOptions.d.cts +2 -2
  402. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -1
  403. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -1
  404. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +2 -6
  405. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -1
  406. package/__cjs/utilities/internal/removeFragmentSpreads.cjs +14 -0
  407. package/__cjs/utilities/internal/removeFragmentSpreads.cjs.map +1 -0
  408. package/__cjs/utilities/internal/removeFragmentSpreads.d.cts +3 -0
  409. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -1
  410. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -1
  411. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -1
  412. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -1
  413. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  414. package/__cjs/utilities/internal/toQueryResult.d.cts +2 -2
  415. package/__cjs/utilities/internal/types/DocumentationTypes.cjs +3 -0
  416. package/__cjs/utilities/internal/types/DocumentationTypes.cjs.map +1 -0
  417. package/__cjs/utilities/internal/types/DocumentationTypes.d.cts +88 -0
  418. package/__cjs/utilities/internal/types/NoInfer.d.cts +31 -25
  419. package/__cjs/utilities/internal/types/VariablesOption.d.cts +2 -6
  420. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -1
  421. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  422. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  423. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  424. package/__cjs/utilities/subscriptions/relay/index.cjs +3 -2
  425. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  426. package/__cjs/version.cjs +1 -1
  427. package/__cjs/version.cjs.map +1 -1
  428. package/cache/core/cache.d.ts +108 -73
  429. package/cache/core/cache.js +17 -20
  430. package/cache/core/cache.js.map +1 -1
  431. package/cache/core/types/Cache.d.ts +201 -16
  432. package/cache/core/types/Cache.js +2 -4
  433. package/cache/core/types/Cache.js.map +1 -1
  434. package/cache/core/types/common.d.ts +1 -1
  435. package/cache/core/types/common.js +1 -1
  436. package/cache/core/types/common.js.map +1 -1
  437. package/cache/deprecated.d.ts +6 -0
  438. package/cache/deprecated.js +2 -0
  439. package/cache/deprecated.js.map +1 -0
  440. package/cache/index.d.ts +3 -3
  441. package/cache/index.js +1 -1
  442. package/cache/index.js.map +1 -1
  443. package/cache/inmemory/entityStore.d.ts +19 -18
  444. package/cache/inmemory/entityStore.js +28 -31
  445. package/cache/inmemory/entityStore.js.map +1 -1
  446. package/cache/inmemory/fragmentRegistry.d.ts +1 -1
  447. package/cache/inmemory/fragmentRegistry.js +1 -1
  448. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  449. package/cache/inmemory/helpers.d.ts +1 -1
  450. package/cache/inmemory/helpers.js +1 -1
  451. package/cache/inmemory/helpers.js.map +1 -1
  452. package/cache/inmemory/inMemoryCache.d.ts +4 -4
  453. package/cache/inmemory/inMemoryCache.js +1 -1
  454. package/cache/inmemory/inMemoryCache.js.map +1 -1
  455. package/cache/inmemory/key-extractor.d.ts +1 -1
  456. package/cache/inmemory/key-extractor.js +1 -1
  457. package/cache/inmemory/key-extractor.js.map +1 -1
  458. package/cache/inmemory/policies.d.ts +4 -3
  459. package/cache/inmemory/policies.js +4 -4
  460. package/cache/inmemory/policies.js.map +1 -1
  461. package/cache/inmemory/reactiveVars.d.ts +1 -1
  462. package/cache/inmemory/reactiveVars.js +1 -1
  463. package/cache/inmemory/reactiveVars.js.map +1 -1
  464. package/cache/inmemory/readFromStore.d.ts +1 -1
  465. package/cache/inmemory/readFromStore.js +2 -2
  466. package/cache/inmemory/readFromStore.js.map +1 -1
  467. package/cache/inmemory/types.d.ts +2 -2
  468. package/cache/inmemory/types.js +1 -1
  469. package/cache/inmemory/types.js.map +1 -1
  470. package/cache/inmemory/writeToStore.d.ts +2 -2
  471. package/cache/inmemory/writeToStore.js +4 -4
  472. package/cache/inmemory/writeToStore.js.map +1 -1
  473. package/core/ApolloClient.d.ts +788 -184
  474. package/core/ApolloClient.js +159 -123
  475. package/core/ApolloClient.js.map +1 -1
  476. package/core/ObservableQuery.d.ts +190 -107
  477. package/core/ObservableQuery.js +50 -20
  478. package/core/ObservableQuery.js.map +1 -1
  479. package/core/QueryInfo.d.ts +9 -8
  480. package/core/QueryInfo.js +1 -2
  481. package/core/QueryInfo.js.map +1 -1
  482. package/core/QueryManager.d.ts +21 -21
  483. package/core/QueryManager.js +15 -15
  484. package/core/QueryManager.js.map +1 -1
  485. package/core/deprecated.d.ts +29 -0
  486. package/core/deprecated.js +2 -0
  487. package/core/deprecated.js.map +1 -0
  488. package/core/index.d.ts +13 -10
  489. package/core/index.js +2 -2
  490. package/core/index.js.map +1 -1
  491. package/core/networkStatus.d.ts +1 -1
  492. package/core/networkStatus.js +1 -1
  493. package/core/networkStatus.js.map +1 -1
  494. package/core/types.d.ts +186 -145
  495. package/core/types.js +1 -1
  496. package/core/types.js.map +1 -1
  497. package/core/watchQueryOptions.d.ts +9 -298
  498. package/core/watchQueryOptions.js +1 -1
  499. package/core/watchQueryOptions.js.map +1 -1
  500. package/dev/index.d.ts +1 -1
  501. package/dev/index.js +1 -1
  502. package/dev/index.js.map +1 -1
  503. package/dev/loadDevMessages.d.ts +1 -1
  504. package/dev/loadDevMessages.js +1 -1
  505. package/dev/loadDevMessages.js.map +1 -1
  506. package/dev/loadErrorMessageHandler.d.ts +1 -1
  507. package/dev/loadErrorMessageHandler.js +1 -1
  508. package/dev/loadErrorMessageHandler.js.map +1 -1
  509. package/dev/loadErrorMessages.d.ts +1 -1
  510. package/dev/loadErrorMessages.js +1 -1
  511. package/dev/loadErrorMessages.js.map +1 -1
  512. package/dev/setErrorMessageHandler.d.ts +5 -5
  513. package/dev/setErrorMessageHandler.js +1 -1
  514. package/dev/setErrorMessageHandler.js.map +1 -1
  515. package/dev/symbol.d.ts +1 -1
  516. package/dev/symbol.js +1 -1
  517. package/dev/symbol.js.map +1 -1
  518. package/errors/CombinedGraphQLErrors.d.ts +168 -14
  519. package/errors/CombinedGraphQLErrors.js +64 -11
  520. package/errors/CombinedGraphQLErrors.js.map +1 -1
  521. package/errors/CombinedProtocolErrors.d.ts +132 -2
  522. package/errors/CombinedProtocolErrors.js +54 -1
  523. package/errors/CombinedProtocolErrors.js.map +1 -1
  524. package/errors/LinkError.d.ts +45 -2
  525. package/errors/LinkError.js +45 -2
  526. package/errors/LinkError.js.map +1 -1
  527. package/errors/LocalStateError.d.ts +41 -5
  528. package/errors/LocalStateError.js +35 -5
  529. package/errors/LocalStateError.js.map +1 -1
  530. package/errors/ServerError.d.ts +71 -11
  531. package/errors/ServerError.js +51 -8
  532. package/errors/ServerError.js.map +1 -1
  533. package/errors/ServerParseError.d.ts +72 -16
  534. package/errors/ServerParseError.js +46 -8
  535. package/errors/ServerParseError.js.map +1 -1
  536. package/errors/UnconventionalError.d.ts +47 -3
  537. package/errors/UnconventionalError.js +47 -3
  538. package/errors/UnconventionalError.js.map +1 -1
  539. package/errors/index.d.ts +1 -1
  540. package/errors/index.js +1 -1
  541. package/errors/index.js.map +1 -1
  542. package/errors/isErrorLike.d.ts +1 -1
  543. package/errors/isErrorLike.js +1 -1
  544. package/errors/isErrorLike.js.map +1 -1
  545. package/errors/utils.d.ts +1 -1
  546. package/errors/utils.js +1 -1
  547. package/errors/utils.js.map +1 -1
  548. package/incremental/handlers/defer20220824.d.ts +5 -5
  549. package/incremental/handlers/defer20220824.js +1 -1
  550. package/incremental/handlers/defer20220824.js.map +1 -1
  551. package/incremental/handlers/notImplemented.d.ts +3 -3
  552. package/incremental/handlers/notImplemented.js +1 -1
  553. package/incremental/handlers/notImplemented.js.map +1 -1
  554. package/incremental/index.d.ts +1 -1
  555. package/incremental/index.js.map +1 -1
  556. package/incremental/types.d.ts +4 -4
  557. package/incremental/types.js +1 -1
  558. package/incremental/types.js.map +1 -1
  559. package/invariantErrorCodes.d.ts +1 -1
  560. package/invariantErrorCodes.js +88 -89
  561. package/invariantErrorCodes.js.map +1 -1
  562. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.cjs +1 -0
  563. package/legacyEntryPoints/react/internal/compiler-runtime/compiler-runtime.d.cts +1 -0
  564. package/legacyEntryPoints/react/internal/compiler-runtime/index.d.ts +1 -0
  565. package/legacyEntryPoints/react/internal/compiler-runtime/index.js +1 -0
  566. package/link/batch/batchLink.d.ts +103 -28
  567. package/link/batch/batchLink.js +33 -12
  568. package/link/batch/batchLink.js.map +1 -1
  569. package/link/batch/batching.d.ts +9 -9
  570. package/link/batch/batching.js +3 -3
  571. package/link/batch/batching.js.map +1 -1
  572. package/link/batch/index.d.ts +2 -3
  573. package/link/batch/index.js +2 -2
  574. package/link/batch/index.js.map +1 -1
  575. package/link/batch-http/BaseBatchHttpLink.d.ts +68 -0
  576. package/link/batch-http/BaseBatchHttpLink.js +152 -0
  577. package/link/batch-http/BaseBatchHttpLink.js.map +1 -0
  578. package/link/batch-http/batchHttpLink.d.ts +41 -18
  579. package/link/batch-http/batchHttpLink.js +28 -129
  580. package/link/batch-http/batchHttpLink.js.map +1 -1
  581. package/link/batch-http/index.d.ts +3 -2
  582. package/link/batch-http/index.js +3 -2
  583. package/link/batch-http/index.js.map +1 -1
  584. package/link/client-awareness/ClientAwarenessLink.d.ts +59 -7
  585. package/link/client-awareness/ClientAwarenessLink.js +37 -4
  586. package/link/client-awareness/ClientAwarenessLink.js.map +1 -1
  587. package/link/client-awareness/index.d.ts +1 -1
  588. package/link/client-awareness/index.js +1 -1
  589. package/link/client-awareness/index.js.map +1 -1
  590. package/link/context/index.d.ts +78 -5
  591. package/link/context/index.js +38 -15
  592. package/link/context/index.js.map +1 -1
  593. package/link/core/ApolloLink.d.ts +355 -9
  594. package/link/core/ApolloLink.js +228 -57
  595. package/link/core/ApolloLink.js.map +1 -1
  596. package/link/core/concat.d.ts +5 -1
  597. package/link/core/concat.js +5 -1
  598. package/link/core/concat.js.map +1 -1
  599. package/link/core/deprecated.d.ts +10 -0
  600. package/link/core/deprecated.js +2 -0
  601. package/link/core/deprecated.js.map +1 -0
  602. package/link/core/empty.d.ts +5 -1
  603. package/link/core/empty.js +5 -1
  604. package/link/core/empty.js.map +1 -1
  605. package/link/core/execute.d.ts +1 -1
  606. package/link/core/execute.js +1 -1
  607. package/link/core/execute.js.map +1 -1
  608. package/link/core/from.d.ts +5 -1
  609. package/link/core/from.js +5 -1
  610. package/link/core/from.js.map +1 -1
  611. package/link/core/split.d.ts +5 -1
  612. package/link/core/split.js +5 -1
  613. package/link/core/split.js.map +1 -1
  614. package/link/core/types.d.ts +3 -34
  615. package/link/core/types.js +1 -1
  616. package/link/core/types.js.map +1 -1
  617. package/link/error/index.d.ts +84 -10
  618. package/link/error/index.js +45 -1
  619. package/link/error/index.js.map +1 -1
  620. package/link/http/BaseHttpLink.d.ts +256 -2
  621. package/link/http/BaseHttpLink.js +63 -13
  622. package/link/http/BaseHttpLink.js.map +1 -1
  623. package/link/http/HttpLink.d.ts +46 -136
  624. package/link/http/HttpLink.js +28 -3
  625. package/link/http/HttpLink.js.map +1 -1
  626. package/link/http/checkFetcher.d.ts +1 -1
  627. package/link/http/checkFetcher.js +1 -1
  628. package/link/http/checkFetcher.js.map +1 -1
  629. package/link/http/createSignalIfSupported.d.ts +1 -1
  630. package/link/http/createSignalIfSupported.js +1 -1
  631. package/link/http/createSignalIfSupported.js.map +1 -1
  632. package/link/http/index.d.ts +1 -3
  633. package/link/http/index.js +1 -2
  634. package/link/http/index.js.map +1 -1
  635. package/link/http/parseAndCheckHttpResponse.d.ts +3 -3
  636. package/link/http/parseAndCheckHttpResponse.js +41 -26
  637. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  638. package/link/http/rewriteURIForGET.d.ts +3 -3
  639. package/link/http/rewriteURIForGET.js +3 -4
  640. package/link/http/rewriteURIForGET.js.map +1 -1
  641. package/link/http/selectHttpOptionsAndBody.d.ts +10 -10
  642. package/link/http/selectHttpOptionsAndBody.js +1 -1
  643. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  644. package/link/http/selectURI.d.ts +3 -3
  645. package/link/http/selectURI.js +1 -1
  646. package/link/http/selectURI.js.map +1 -1
  647. package/link/index.d.ts +3 -2
  648. package/link/index.js +1 -1
  649. package/link/index.js.map +1 -1
  650. package/link/persisted-queries/index.d.ts +207 -28
  651. package/link/persisted-queries/index.js +18 -2
  652. package/link/persisted-queries/index.js.map +1 -1
  653. package/link/remove-typename/index.d.ts +1 -2
  654. package/link/remove-typename/index.js.map +1 -1
  655. package/link/remove-typename/removeTypenameFromVariables.d.ts +125 -9
  656. package/link/remove-typename/removeTypenameFromVariables.js +49 -1
  657. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  658. package/link/retry/delayFunction.d.ts +3 -40
  659. package/link/retry/delayFunction.js +1 -1
  660. package/link/retry/delayFunction.js.map +1 -1
  661. package/link/retry/index.d.ts +1 -1
  662. package/link/retry/index.js +1 -1
  663. package/link/retry/index.js.map +1 -1
  664. package/link/retry/retryFunction.d.ts +3 -30
  665. package/link/retry/retryFunction.js +1 -1
  666. package/link/retry/retryFunction.js.map +1 -1
  667. package/link/retry/retryLink.d.ts +130 -6
  668. package/link/retry/retryLink.js +39 -14
  669. package/link/retry/retryLink.js.map +1 -1
  670. package/link/schema/index.d.ts +130 -9
  671. package/link/schema/index.js +21 -1
  672. package/link/schema/index.js.map +1 -1
  673. package/link/subscriptions/index.d.ts +25 -3
  674. package/link/subscriptions/index.js +24 -1
  675. package/link/subscriptions/index.js.map +1 -1
  676. package/link/utils/createOperation.d.ts +3 -3
  677. package/link/utils/createOperation.js +13 -5
  678. package/link/utils/createOperation.js.map +1 -1
  679. package/link/utils/filterOperationVariables.d.ts +1 -1
  680. package/link/utils/filterOperationVariables.js +1 -1
  681. package/link/utils/filterOperationVariables.js.map +1 -1
  682. package/link/utils/index.d.ts +1 -3
  683. package/link/utils/index.js +1 -3
  684. package/link/utils/index.js.map +1 -1
  685. package/link/ws/index.d.ts +65 -8
  686. package/link/ws/index.js +30 -0
  687. package/link/ws/index.js.map +1 -1
  688. package/local-state/LocalState.d.ts +95 -1
  689. package/local-state/LocalState.js +55 -9
  690. package/local-state/LocalState.js.map +1 -1
  691. package/local-state/index.d.ts +1 -1
  692. package/local-state/index.js +1 -1
  693. package/local-state/index.js.map +1 -1
  694. package/masking/GraphQLCodegenDataMasking.d.ts +12 -45
  695. package/masking/GraphQLCodegenDataMasking.js +1 -1
  696. package/masking/GraphQLCodegenDataMasking.js.map +1 -1
  697. package/masking/PreserveTypes.d.ts +26 -0
  698. package/masking/PreserveTypes.js +2 -0
  699. package/masking/PreserveTypes.js.map +1 -0
  700. package/masking/index.d.ts +2 -2
  701. package/masking/index.js +1 -1
  702. package/masking/index.js.map +1 -1
  703. package/masking/internal/types.d.ts +71 -72
  704. package/masking/internal/types.js +1 -1
  705. package/masking/internal/types.js.map +1 -1
  706. package/masking/maskDefinition.d.ts +1 -1
  707. package/masking/maskDefinition.js +2 -2
  708. package/masking/maskDefinition.js.map +1 -1
  709. package/masking/maskFragment.js +2 -2
  710. package/masking/maskFragment.js.map +1 -1
  711. package/masking/maskOperation.js +1 -1
  712. package/masking/maskOperation.js.map +1 -1
  713. package/masking/types.d.ts +6 -24
  714. package/masking/types.js +1 -1
  715. package/masking/types.js.map +1 -1
  716. package/masking/utils.js +3 -3
  717. package/masking/utils.js.map +1 -1
  718. package/package.json +12 -5
  719. package/react/compiled/index.d.ts +2 -0
  720. package/react/compiled/index.js +2 -0
  721. package/react/compiled/index.js.map +1 -0
  722. package/react/context/ApolloContext.d.ts +1 -1
  723. package/react/context/ApolloContext.js +1 -1
  724. package/react/context/ApolloContext.js.map +1 -1
  725. package/react/context/ApolloProvider.d.ts +1 -1
  726. package/react/context/ApolloProvider.js +1 -1
  727. package/react/context/ApolloProvider.js.map +1 -1
  728. package/react/hooks/constants.d.ts +1 -1
  729. package/react/hooks/constants.js +1 -1
  730. package/react/hooks/constants.js.map +1 -1
  731. package/react/hooks/internal/__use.d.ts +1 -1
  732. package/react/hooks/internal/__use.js +1 -1
  733. package/react/hooks/internal/__use.js.map +1 -1
  734. package/react/hooks/internal/index.d.ts +1 -1
  735. package/react/hooks/internal/index.js +1 -1
  736. package/react/hooks/internal/index.js.map +1 -1
  737. package/react/hooks/internal/useDeepMemo.d.ts +1 -1
  738. package/react/hooks/internal/useDeepMemo.js +1 -4
  739. package/react/hooks/internal/useDeepMemo.js.map +1 -1
  740. package/react/hooks/internal/useIsomorphicLayoutEffect.d.ts +1 -1
  741. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  742. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  743. package/react/hooks/internal/useRenderGuard.d.ts +1 -1
  744. package/react/hooks/internal/useRenderGuard.js +1 -1
  745. package/react/hooks/internal/useRenderGuard.js.map +1 -1
  746. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -3
  747. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -1
  748. package/react/hooks/internal/wrapHook.d.ts +8 -7
  749. package/react/hooks/internal/wrapHook.js +1 -0
  750. package/react/hooks/internal/wrapHook.js.map +1 -1
  751. package/react/hooks/useApolloClient.d.ts +3 -3
  752. package/react/hooks/useApolloClient.js +3 -16
  753. package/react/hooks/useApolloClient.js.map +1 -1
  754. package/react/hooks/useBackgroundQuery.d.ts +850 -86
  755. package/react/hooks/useBackgroundQuery.js +7 -7
  756. package/react/hooks/useBackgroundQuery.js.map +1 -1
  757. package/react/hooks/useFragment.d.ts +56 -8
  758. package/react/hooks/useFragment.js +22 -16
  759. package/react/hooks/useFragment.js.map +1 -1
  760. package/react/hooks/useLazyQuery.d.ts +317 -161
  761. package/react/hooks/useLazyQuery.js +14 -52
  762. package/react/hooks/useLazyQuery.js.map +1 -1
  763. package/react/hooks/useLoadableQuery.d.ts +246 -69
  764. package/react/hooks/useLoadableQuery.js +69 -229
  765. package/react/hooks/useLoadableQuery.js.map +1 -1
  766. package/react/hooks/useMutation.d.ts +87 -65
  767. package/react/hooks/useMutation.js +88 -199
  768. package/react/hooks/useMutation.js.map +1 -1
  769. package/react/hooks/useQuery.d.ts +367 -239
  770. package/react/hooks/useQuery.js +55 -260
  771. package/react/hooks/useQuery.js.map +1 -1
  772. package/react/hooks/useQueryRefHandlers.d.ts +36 -3
  773. package/react/hooks/useQueryRefHandlers.js +26 -65
  774. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  775. package/react/hooks/useReactiveVar.d.ts +3 -2
  776. package/react/hooks/useReactiveVar.js +3 -2
  777. package/react/hooks/useReactiveVar.js.map +1 -1
  778. package/react/hooks/useReadQuery.d.ts +92 -16
  779. package/react/hooks/useReadQuery.js +32 -3
  780. package/react/hooks/useReadQuery.js.map +1 -1
  781. package/react/hooks/useSubscription.d.ts +160 -68
  782. package/react/hooks/useSubscription.js +12 -13
  783. package/react/hooks/useSubscription.js.map +1 -1
  784. package/react/hooks/useSuspenseFragment.d.ts +62 -30
  785. package/react/hooks/useSuspenseFragment.js +1 -1
  786. package/react/hooks/useSuspenseFragment.js.map +1 -1
  787. package/react/hooks/useSuspenseQuery.d.ts +585 -159
  788. package/react/hooks/useSuspenseQuery.js +35 -57
  789. package/react/hooks/useSuspenseQuery.js.map +1 -1
  790. package/react/hooks/useSyncExternalStore.d.ts +1 -1
  791. package/react/hooks/useSyncExternalStore.js +1 -1
  792. package/react/hooks/useSyncExternalStore.js.map +1 -1
  793. package/react/hooks-compiled/constants.d.ts +3 -0
  794. package/react/hooks-compiled/constants.js +2 -0
  795. package/react/hooks-compiled/constants.js.map +1 -0
  796. package/react/hooks-compiled/internal/__use.d.ts +4 -0
  797. package/react/hooks-compiled/internal/__use.js +22 -0
  798. package/react/hooks-compiled/internal/__use.js.map +1 -0
  799. package/react/hooks-compiled/internal/index.d.ts +5 -0
  800. package/react/hooks-compiled/internal/index.js +6 -0
  801. package/react/hooks-compiled/internal/index.js.map +1 -0
  802. package/react/hooks-compiled/internal/useDeepMemo.d.ts +3 -0
  803. package/react/hooks-compiled/internal/useDeepMemo.js +10 -0
  804. package/react/hooks-compiled/internal/useDeepMemo.js.map +1 -0
  805. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.d.ts +3 -0
  806. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js +9 -0
  807. package/react/hooks-compiled/internal/useIsomorphicLayoutEffect.js.map +1 -0
  808. package/react/hooks-compiled/internal/useRenderGuard.d.ts +2 -0
  809. package/react/hooks-compiled/internal/useRenderGuard.js +42 -0
  810. package/react/hooks-compiled/internal/useRenderGuard.js.map +1 -0
  811. package/react/hooks-compiled/internal/validateSuspenseHookOptions.d.ts +3 -0
  812. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js +22 -0
  813. package/react/hooks-compiled/internal/validateSuspenseHookOptions.js.map +1 -0
  814. package/react/hooks-compiled/internal/wrapHook.d.ts +67 -0
  815. package/react/hooks-compiled/internal/wrapHook.js +65 -0
  816. package/react/hooks-compiled/internal/wrapHook.js.map +1 -0
  817. package/react/hooks-compiled/useApolloClient.d.ts +18 -0
  818. package/react/hooks-compiled/useApolloClient.js +36 -0
  819. package/react/hooks-compiled/useApolloClient.js.map +1 -0
  820. package/react/hooks-compiled/useBackgroundQuery.d.ts +974 -0
  821. package/react/hooks-compiled/useBackgroundQuery.js +80 -0
  822. package/react/hooks-compiled/useBackgroundQuery.js.map +1 -0
  823. package/react/hooks-compiled/useFragment.d.ts +103 -0
  824. package/react/hooks-compiled/useFragment.js +103 -0
  825. package/react/hooks-compiled/useFragment.js.map +1 -0
  826. package/react/hooks-compiled/useLazyQuery.d.ts +436 -0
  827. package/react/hooks-compiled/useLazyQuery.js +143 -0
  828. package/react/hooks-compiled/useLazyQuery.js.map +1 -0
  829. package/react/hooks-compiled/useLoadableQuery.d.ts +352 -0
  830. package/react/hooks-compiled/useLoadableQuery.js +247 -0
  831. package/react/hooks-compiled/useLoadableQuery.js.map +1 -0
  832. package/react/hooks-compiled/useMutation.d.ts +302 -0
  833. package/react/hooks-compiled/useMutation.js +262 -0
  834. package/react/hooks-compiled/useMutation.js.map +1 -0
  835. package/react/hooks-compiled/useQuery.d.ts +393 -0
  836. package/react/hooks-compiled/useQuery.js +361 -0
  837. package/react/hooks-compiled/useQuery.js.map +1 -0
  838. package/react/hooks-compiled/useQueryRefHandlers.d.ts +77 -0
  839. package/react/hooks-compiled/useQueryRefHandlers.js +110 -0
  840. package/react/hooks-compiled/useQueryRefHandlers.js.map +1 -0
  841. package/react/hooks-compiled/useReactiveVar.d.ts +21 -0
  842. package/react/hooks-compiled/useReactiveVar.js +34 -0
  843. package/react/hooks-compiled/useReactiveVar.js.map +1 -0
  844. package/react/hooks-compiled/useReadQuery.d.ts +100 -0
  845. package/react/hooks-compiled/useReadQuery.js +72 -0
  846. package/react/hooks-compiled/useReadQuery.js.map +1 -0
  847. package/react/hooks-compiled/useSubscription.d.ts +270 -0
  848. package/react/hooks-compiled/useSubscription.js +222 -0
  849. package/react/hooks-compiled/useSubscription.js.map +1 -0
  850. package/react/hooks-compiled/useSuspenseFragment.d.ts +79 -0
  851. package/react/hooks-compiled/useSuspenseFragment.js +47 -0
  852. package/react/hooks-compiled/useSuspenseFragment.js.map +1 -0
  853. package/react/hooks-compiled/useSuspenseQuery.d.ts +630 -0
  854. package/react/hooks-compiled/useSuspenseQuery.js +144 -0
  855. package/react/hooks-compiled/useSuspenseQuery.js.map +1 -0
  856. package/react/hooks-compiled/useSyncExternalStore.d.ts +4 -0
  857. package/react/hooks-compiled/useSyncExternalStore.js +126 -0
  858. package/react/hooks-compiled/useSyncExternalStore.js.map +1 -0
  859. package/react/index.compiled.d.ts +24 -0
  860. package/react/index.compiled.js +19 -0
  861. package/react/index.compiled.js.map +1 -0
  862. package/react/index.d.ts +2 -3
  863. package/react/index.js +2 -3
  864. package/react/index.js.map +1 -1
  865. package/react/index.react-server.d.ts +1 -2
  866. package/react/index.react-server.js +1 -3
  867. package/react/index.react-server.js.map +1 -1
  868. package/react/internal/cache/FragmentReference.d.ts +3 -4
  869. package/react/internal/cache/FragmentReference.js +2 -2
  870. package/react/internal/cache/FragmentReference.js.map +1 -1
  871. package/react/internal/cache/QueryReference.d.ts +14 -12
  872. package/react/internal/cache/QueryReference.js.map +1 -1
  873. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  874. package/react/internal/cache/SuspenseCache.js +1 -1
  875. package/react/internal/cache/SuspenseCache.js.map +1 -1
  876. package/react/internal/cache/getSuspenseCache.d.ts +7 -5
  877. package/react/internal/cache/getSuspenseCache.js +1 -1
  878. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  879. package/react/internal/cache/types.d.ts +1 -1
  880. package/react/internal/cache/types.js +1 -1
  881. package/react/internal/cache/types.js.map +1 -1
  882. package/react/internal/compiler-runtime/index.d.ts +8 -0
  883. package/react/internal/compiler-runtime/index.js +28 -0
  884. package/react/internal/compiler-runtime/index.js.map +1 -0
  885. package/react/internal/index.d.ts +2 -2
  886. package/react/internal/index.js +2 -1
  887. package/react/internal/index.js.map +1 -1
  888. package/react/internal/types.d.ts +4 -4
  889. package/react/internal/types.js +1 -1
  890. package/react/internal/types.js.map +1 -1
  891. package/react/query-preloader/createQueryPreloader.d.ts +60 -51
  892. package/react/query-preloader/createQueryPreloader.js +2 -2
  893. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  894. package/react/ssr/getDataFromTree.d.ts +1 -1
  895. package/react/ssr/getDataFromTree.js.map +1 -1
  896. package/react/ssr/index.d.ts +1 -1
  897. package/react/ssr/index.js +1 -1
  898. package/react/ssr/index.js.map +1 -1
  899. package/react/ssr/prerenderStatic.d.ts +12 -10
  900. package/react/ssr/prerenderStatic.js +5 -4
  901. package/react/ssr/prerenderStatic.js.map +1 -1
  902. package/react/ssr/renderToStringWithData.d.ts +1 -1
  903. package/react/ssr/renderToStringWithData.js +1 -1
  904. package/react/ssr/renderToStringWithData.js.map +1 -1
  905. package/react/ssr/useSSRQuery.d.ts +1 -1
  906. package/react/ssr/useSSRQuery.js +1 -1
  907. package/react/ssr/useSSRQuery.js.map +1 -1
  908. package/react/types/deprecated.d.ts +2 -2
  909. package/react/types/deprecated.js +1 -1
  910. package/react/types/deprecated.js.map +1 -1
  911. package/react/types/types.documentation.d.ts +27 -16
  912. package/react/types/types.documentation.js +1 -1
  913. package/react/types/types.documentation.js.map +1 -1
  914. package/testing/core/mocking/mockLink.d.ts +8 -8
  915. package/testing/core/mocking/mockLink.js.map +1 -1
  916. package/testing/core/mocking/mockSubscriptionLink.d.ts +4 -5
  917. package/testing/core/mocking/mockSubscriptionLink.js +1 -1
  918. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  919. package/testing/core/types/deprecated.d.ts +4 -3
  920. package/testing/core/types/deprecated.js +1 -1
  921. package/testing/core/types/deprecated.js.map +1 -1
  922. package/testing/index.d.ts +1 -1
  923. package/testing/index.js +1 -1
  924. package/testing/index.js.map +1 -1
  925. package/testing/react/MockedProvider.d.ts +3 -4
  926. package/testing/react/MockedProvider.js +1 -1
  927. package/testing/react/MockedProvider.js.map +1 -1
  928. package/testing/react/index.d.ts +1 -1
  929. package/testing/react/index.js +1 -1
  930. package/testing/react/index.js.map +1 -1
  931. package/utilities/DeepPartial.d.ts +1 -1
  932. package/utilities/DeepPartial.js +1 -1
  933. package/utilities/DeepPartial.js.map +1 -1
  934. package/utilities/HKT.d.ts +9 -8
  935. package/utilities/HKT.js +1 -1
  936. package/utilities/HKT.js.map +1 -1
  937. package/utilities/caching/index.d.ts +1 -1
  938. package/utilities/caching/index.js +1 -1
  939. package/utilities/caching/index.js.map +1 -1
  940. package/utilities/caching/sizes.d.ts +5 -7
  941. package/utilities/caching/sizes.js +4 -4
  942. package/utilities/caching/sizes.js.map +1 -1
  943. package/utilities/common/stripTypename.d.ts +12 -1
  944. package/utilities/common/stripTypename.js +12 -1
  945. package/utilities/common/stripTypename.js.map +1 -1
  946. package/utilities/environment/index.d.ts +1 -1
  947. package/utilities/environment/index.development.d.ts +1 -1
  948. package/utilities/environment/index.development.js +1 -1
  949. package/utilities/environment/index.development.js.map +1 -1
  950. package/utilities/environment/index.js +1 -1
  951. package/utilities/environment/index.js.map +1 -1
  952. package/utilities/environment/index.production.d.ts +1 -1
  953. package/utilities/environment/index.production.js +1 -1
  954. package/utilities/environment/index.production.js.map +1 -1
  955. package/utilities/graphql/DocumentTransform.d.ts +94 -5
  956. package/utilities/graphql/DocumentTransform.js +85 -2
  957. package/utilities/graphql/DocumentTransform.js.map +1 -1
  958. package/utilities/graphql/isFormattedExecutionResult.d.ts +28 -1
  959. package/utilities/graphql/isFormattedExecutionResult.js +28 -1
  960. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -1
  961. package/utilities/graphql/operations.d.ts +55 -4
  962. package/utilities/graphql/operations.js +55 -4
  963. package/utilities/graphql/operations.js.map +1 -1
  964. package/utilities/graphql/print.d.ts +1 -1
  965. package/utilities/graphql/print.js +1 -1
  966. package/utilities/graphql/print.js.map +1 -1
  967. package/utilities/graphql/storeUtils.d.ts +10 -1
  968. package/utilities/graphql/storeUtils.js +10 -1
  969. package/utilities/graphql/storeUtils.js.map +1 -1
  970. package/utilities/graphql/transform.d.ts +13 -2
  971. package/utilities/graphql/transform.js +13 -2
  972. package/utilities/graphql/transform.js.map +1 -1
  973. package/utilities/index.d.ts +2 -3
  974. package/utilities/index.js +2 -3
  975. package/utilities/index.js.map +1 -1
  976. package/utilities/internal/argumentsObjectFromField.js.map +1 -1
  977. package/utilities/internal/caches.js.map +1 -1
  978. package/utilities/internal/canUseDOM.js.map +1 -1
  979. package/utilities/internal/canonicalStringify.d.ts +44 -0
  980. package/utilities/{shared → internal}/canonicalStringify.js +35 -14
  981. package/utilities/internal/canonicalStringify.js.map +1 -0
  982. package/utilities/internal/checkDocument.js +1 -1
  983. package/utilities/internal/checkDocument.js.map +1 -1
  984. package/utilities/internal/cloneDeep.js.map +1 -1
  985. package/utilities/internal/compact.js.map +1 -1
  986. package/utilities/internal/createFragmentMap.js.map +1 -1
  987. package/utilities/internal/createFulfilledPromise.js.map +1 -1
  988. package/utilities/internal/createRejectedPromise.js.map +1 -1
  989. package/utilities/internal/dealias.d.ts +1 -1
  990. package/utilities/internal/dealias.js +1 -1
  991. package/utilities/internal/dealias.js.map +1 -1
  992. package/utilities/internal/decoratePromise.js.map +1 -1
  993. package/utilities/internal/deepFreeze.js.map +1 -1
  994. package/utilities/internal/equalByQuery.d.ts +5 -0
  995. package/{core → utilities/internal}/equalByQuery.js +8 -2
  996. package/utilities/internal/equalByQuery.js.map +1 -0
  997. package/utilities/internal/filterMap.d.ts +1 -1
  998. package/utilities/internal/filterMap.js +1 -1
  999. package/utilities/internal/filterMap.js.map +1 -1
  1000. package/utilities/internal/getDefaultValues.js.map +1 -1
  1001. package/utilities/internal/getFragmentDefinition.js.map +1 -1
  1002. package/utilities/internal/getFragmentDefinitions.js.map +1 -1
  1003. package/utilities/internal/getFragmentFromSelection.js.map +1 -1
  1004. package/utilities/internal/getFragmentQueryDocument.d.ts +13 -3
  1005. package/utilities/internal/getFragmentQueryDocument.js +13 -3
  1006. package/utilities/internal/getFragmentQueryDocument.js.map +1 -1
  1007. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -1
  1008. package/utilities/internal/getMainDefinition.d.ts +37 -9
  1009. package/utilities/internal/getMainDefinition.js +36 -8
  1010. package/utilities/internal/getMainDefinition.js.map +1 -1
  1011. package/utilities/internal/getMemoryInternals.js.map +1 -1
  1012. package/utilities/internal/getOperationDefinition.js.map +1 -1
  1013. package/utilities/internal/getOperationName.js.map +1 -1
  1014. package/utilities/internal/getQueryDefinition.js.map +1 -1
  1015. package/utilities/internal/getStoreKeyName.js +9 -7
  1016. package/utilities/internal/getStoreKeyName.js.map +1 -1
  1017. package/utilities/internal/globals/global.d.ts +1 -1
  1018. package/utilities/internal/globals/index.d.ts +1 -1
  1019. package/utilities/internal/globals/index.js +1 -1
  1020. package/utilities/internal/globals/index.js.map +1 -1
  1021. package/utilities/internal/globals/maybe.d.ts +1 -1
  1022. package/utilities/internal/globals/maybe.js +1 -1
  1023. package/utilities/internal/globals/maybe.js.map +1 -1
  1024. package/utilities/internal/graphQLResultHasError.js.map +1 -1
  1025. package/utilities/internal/hasDirectives.js.map +1 -1
  1026. package/utilities/internal/hasForcedResolvers.d.ts +1 -1
  1027. package/utilities/internal/hasForcedResolvers.js +1 -1
  1028. package/utilities/internal/hasForcedResolvers.js.map +1 -1
  1029. package/utilities/internal/index.d.ts +5 -1
  1030. package/utilities/internal/index.js +4 -1
  1031. package/utilities/internal/index.js.map +1 -1
  1032. package/utilities/internal/index.production.d.ts +1 -1
  1033. package/utilities/internal/index.production.js +1 -1
  1034. package/utilities/internal/index.production.js.map +1 -1
  1035. package/utilities/internal/isArray.js.map +1 -1
  1036. package/utilities/internal/isDocumentNode.js.map +1 -1
  1037. package/utilities/internal/isField.js.map +1 -1
  1038. package/utilities/internal/isNonEmptyArray.js.map +1 -1
  1039. package/utilities/internal/isNonNullObject.js.map +1 -1
  1040. package/utilities/internal/isPlainObject.js.map +1 -1
  1041. package/utilities/internal/makeReference.js.map +1 -1
  1042. package/utilities/internal/makeUniqueId.js.map +1 -1
  1043. package/utilities/internal/maybeDeepFreeze.js.map +1 -1
  1044. package/utilities/internal/mergeDeep.js.map +1 -1
  1045. package/utilities/internal/mergeDeepArray.js.map +1 -1
  1046. package/utilities/internal/mergeOptions.d.ts +2 -2
  1047. package/utilities/internal/mergeOptions.js.map +1 -1
  1048. package/utilities/internal/omitDeep.js.map +1 -1
  1049. package/utilities/internal/preventUnhandledRejection.d.ts +1 -1
  1050. package/utilities/internal/preventUnhandledRejection.js +1 -1
  1051. package/utilities/internal/preventUnhandledRejection.js.map +1 -1
  1052. package/utilities/internal/removeDirectivesFromDocument.js +1 -2
  1053. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -1
  1054. package/utilities/internal/removeFragmentSpreads.d.ts +3 -0
  1055. package/utilities/internal/removeFragmentSpreads.js +11 -0
  1056. package/utilities/internal/removeFragmentSpreads.js.map +1 -0
  1057. package/utilities/internal/resultKeyNameFromField.js.map +1 -1
  1058. package/utilities/internal/shouldInclude.js.map +1 -1
  1059. package/utilities/internal/storeKeyNameFromField.js.map +1 -1
  1060. package/utilities/internal/stringifyForDisplay.js.map +1 -1
  1061. package/utilities/internal/toQueryResult.d.ts +2 -2
  1062. package/utilities/internal/toQueryResult.js.map +1 -1
  1063. package/utilities/internal/types/ApplyHKT.js +1 -1
  1064. package/utilities/internal/types/ApplyHKT.js.map +1 -1
  1065. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +1 -1
  1066. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -1
  1067. package/utilities/internal/types/DecoratedPromise.js +1 -1
  1068. package/utilities/internal/types/DecoratedPromise.js.map +1 -1
  1069. package/utilities/internal/types/DeepOmit.js +1 -1
  1070. package/utilities/internal/types/DeepOmit.js.map +1 -1
  1071. package/utilities/internal/types/DocumentationTypes.d.ts +88 -0
  1072. package/utilities/internal/types/DocumentationTypes.js +2 -0
  1073. package/utilities/internal/types/DocumentationTypes.js.map +1 -0
  1074. package/utilities/internal/types/FragmentMap.js +1 -1
  1075. package/utilities/internal/types/FragmentMap.js.map +1 -1
  1076. package/utilities/internal/types/FragmentMapFunction.js +1 -1
  1077. package/utilities/internal/types/FragmentMapFunction.js.map +1 -1
  1078. package/utilities/internal/types/FulfilledPromise.js +1 -1
  1079. package/utilities/internal/types/FulfilledPromise.js.map +1 -1
  1080. package/utilities/internal/types/IsAny.js +1 -1
  1081. package/utilities/internal/types/IsAny.js.map +1 -1
  1082. package/utilities/internal/types/NoInfer.d.ts +32 -26
  1083. package/utilities/internal/types/NoInfer.js +1 -1
  1084. package/utilities/internal/types/NoInfer.js.map +1 -1
  1085. package/utilities/internal/types/PendingPromise.js +1 -1
  1086. package/utilities/internal/types/PendingPromise.js.map +1 -1
  1087. package/utilities/internal/types/Prettify.js +1 -1
  1088. package/utilities/internal/types/Prettify.js.map +1 -1
  1089. package/utilities/internal/types/Primitive.js +1 -1
  1090. package/utilities/internal/types/Primitive.js.map +1 -1
  1091. package/utilities/internal/types/RejectedPromise.js +1 -1
  1092. package/utilities/internal/types/RejectedPromise.js.map +1 -1
  1093. package/utilities/internal/types/RemoveIndexSignature.js +1 -1
  1094. package/utilities/internal/types/RemoveIndexSignature.js.map +1 -1
  1095. package/utilities/internal/types/TupleToIntersection.d.ts +1 -1
  1096. package/utilities/internal/types/TupleToIntersection.js +1 -1
  1097. package/utilities/internal/types/TupleToIntersection.js.map +1 -1
  1098. package/utilities/internal/types/VariablesOption.d.ts +2 -6
  1099. package/utilities/internal/types/VariablesOption.js +1 -1
  1100. package/utilities/internal/types/VariablesOption.js.map +1 -1
  1101. package/utilities/internal/valueToObjectRepresentation.js.map +1 -1
  1102. package/utilities/invariant/index.d.ts +1 -1
  1103. package/utilities/invariant/index.development.d.ts +1 -1
  1104. package/utilities/invariant/index.development.js +1 -1
  1105. package/utilities/invariant/index.development.js.map +1 -1
  1106. package/utilities/invariant/index.js +1 -1
  1107. package/utilities/invariant/index.js.map +1 -1
  1108. package/utilities/policies/pagination.d.ts +1 -1
  1109. package/utilities/policies/pagination.js +1 -1
  1110. package/utilities/policies/pagination.js.map +1 -1
  1111. package/utilities/subscriptions/relay/index.d.ts +1 -1
  1112. package/utilities/subscriptions/relay/index.js +4 -3
  1113. package/utilities/subscriptions/relay/index.js.map +1 -1
  1114. package/version.d.ts +1 -1
  1115. package/version.js +1 -1
  1116. package/version.js.map +1 -1
  1117. package/__cjs/cache/core/types/DataProxy.cjs.map +0 -1
  1118. package/__cjs/cache/core/types/DataProxy.d.cts +0 -140
  1119. package/__cjs/core/equalByQuery.cjs.map +0 -1
  1120. package/__cjs/core/equalByQuery.d.cts +0 -4
  1121. package/__cjs/link/http/serializeFetchParameter.cjs +0 -18
  1122. package/__cjs/link/http/serializeFetchParameter.cjs.map +0 -1
  1123. package/__cjs/link/http/serializeFetchParameter.d.cts +0 -6
  1124. package/__cjs/link/utils/transformOperation.cjs +0 -21
  1125. package/__cjs/link/utils/transformOperation.cjs.map +0 -1
  1126. package/__cjs/link/utils/transformOperation.d.cts +0 -3
  1127. package/__cjs/link/utils/validateOperation.cjs +0 -21
  1128. package/__cjs/link/utils/validateOperation.cjs.map +0 -1
  1129. package/__cjs/link/utils/validateOperation.d.cts +0 -3
  1130. package/__cjs/react/context/ApolloConsumer.cjs +0 -16
  1131. package/__cjs/react/context/ApolloConsumer.cjs.map +0 -1
  1132. package/__cjs/react/context/ApolloConsumer.d.cts +0 -10
  1133. package/__cjs/utilities/shared/canonicalStringify.cjs.map +0 -1
  1134. package/__cjs/utilities/shared/canonicalStringify.d.cts +0 -21
  1135. package/cache/core/types/DataProxy.d.ts +0 -140
  1136. package/cache/core/types/DataProxy.js +0 -2
  1137. package/cache/core/types/DataProxy.js.map +0 -1
  1138. package/core/equalByQuery.d.ts +0 -4
  1139. package/core/equalByQuery.js.map +0 -1
  1140. package/link/http/serializeFetchParameter.d.ts +0 -6
  1141. package/link/http/serializeFetchParameter.js +0 -14
  1142. package/link/http/serializeFetchParameter.js.map +0 -1
  1143. package/link/utils/transformOperation.d.ts +0 -3
  1144. package/link/utils/transformOperation.js +0 -18
  1145. package/link/utils/transformOperation.js.map +0 -1
  1146. package/link/utils/validateOperation.d.ts +0 -3
  1147. package/link/utils/validateOperation.js +0 -18
  1148. package/link/utils/validateOperation.js.map +0 -1
  1149. package/react/context/ApolloConsumer.d.ts +0 -10
  1150. package/react/context/ApolloConsumer.js +0 -11
  1151. package/react/context/ApolloConsumer.js.map +0 -1
  1152. package/utilities/shared/canonicalStringify.d.ts +0 -21
  1153. package/utilities/shared/canonicalStringify.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"removeTypenameFromVariables.cjs","sources":["../../../../src/link/remove-typename/removeTypenameFromVariables.ts"],"sourcesContent":["import { WeakCache } from \"@wry/caches\";\nimport type { DocumentNode, TypeNode } from \"graphql\";\nimport { Kind, visit } from \"graphql\";\nimport { wrap } from \"optimism\";\n\nimport type { OperationVariables } from \"@apollo/client\";\nimport { ApolloLink } from \"@apollo/client/link\";\nimport { cacheSizes, stripTypename } from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport { isPlainObject } from \"@apollo/client/utilities/internal\";\n\nimport { defaultCacheSizes } from \"../../utilities/caching/sizes.js\";\n\nexport const KEEP = \"__KEEP\";\n\ninterface KeepTypenameConfig {\n [key: string]: typeof KEEP | KeepTypenameConfig;\n}\n\nexport interface RemoveTypenameFromVariablesOptions {\n except?: KeepTypenameConfig;\n}\n\n/**\n * @deprecated\n * Use `RemoveTypenameFromVariablesLink` from `@apollo/client/link/remove-typename` instead.\n */\nexport function removeTypenameFromVariables(\n options?: RemoveTypenameFromVariablesOptions\n) {\n return new RemoveTypenameFromVariablesLink(options);\n}\n\nexport class RemoveTypenameFromVariablesLink extends ApolloLink {\n constructor(options: RemoveTypenameFromVariablesOptions = {}) {\n super((operation, forward) => {\n const { except } = options;\n const { query, variables } = operation;\n\n if (variables) {\n operation.variables =\n except ?\n maybeStripTypenameUsingConfig(query, variables, except)\n : stripTypename(variables);\n }\n\n return forward(operation);\n });\n return Object.assign(\n this,\n __DEV__ ?\n {\n getMemoryInternals() {\n return {\n removeTypenameFromVariables: {\n getVariableDefinitions: getVariableDefinitions?.size ?? 0,\n },\n };\n },\n }\n : {}\n );\n }\n}\n\nfunction maybeStripTypenameUsingConfig(\n query: DocumentNode,\n variables: OperationVariables,\n config: KeepTypenameConfig\n) {\n const variableDefinitions = getVariableDefinitions(query);\n\n return Object.fromEntries(\n Object.entries(variables).map((keyVal) => {\n const [key, value] = keyVal;\n const typename = variableDefinitions[key];\n const typenameConfig = config[typename];\n\n keyVal[1] =\n typenameConfig ?\n maybeStripTypename(value, typenameConfig)\n : stripTypename(value);\n\n return keyVal;\n })\n );\n}\n\ntype JSONPrimitive = string | number | null | boolean;\ntype JSONValue = JSONPrimitive | JSONValue[] | { [key: string]: JSONValue };\n\nfunction maybeStripTypename(\n value: JSONValue,\n config: KeepTypenameConfig[string]\n): JSONValue {\n if (config === KEEP) {\n return value;\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => maybeStripTypename(item, config));\n }\n\n if (isPlainObject(value)) {\n const modified: Record<string, any> = {};\n\n Object.keys(value).forEach((key) => {\n const child = value[key];\n\n if (key === \"__typename\") {\n return;\n }\n\n const fieldConfig = config[key];\n\n modified[key] =\n fieldConfig ?\n maybeStripTypename(child, fieldConfig)\n : stripTypename(child);\n });\n\n return modified;\n }\n\n return value;\n}\n\nconst getVariableDefinitions = wrap(\n (document: DocumentNode) => {\n const definitions: Record<string, string> = {};\n\n visit(document, {\n VariableDefinition(node) {\n definitions[node.variable.name.value] = unwrapType(node.type);\n },\n });\n\n return definitions;\n },\n {\n max:\n cacheSizes[\"removeTypenameFromVariables.getVariableDefinitions\"] ||\n defaultCacheSizes[\"removeTypenameFromVariables.getVariableDefinitions\"],\n cache: WeakCache,\n }\n);\n\nfunction unwrapType(node: TypeNode): string {\n switch (node.kind) {\n case Kind.NON_NULL_TYPE:\n return unwrapType(node.type);\n case Kind.LIST_TYPE:\n return unwrapType(node.type);\n case Kind.NAMED_TYPE:\n return node.name.value;\n }\n}\n"],"names":[],"mappings":";;;AA2BA,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,EAAA,EAAA,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;AA3BA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,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;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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"}
1
+ {"version":3,"file":"removeTypenameFromVariables.cjs","sources":["../../../../src/link/remove-typename/removeTypenameFromVariables.ts"],"sourcesContent":["import { WeakCache } from \"@wry/caches\";\nimport type { DocumentNode, TypeNode } from \"graphql\";\nimport { Kind, visit } from \"graphql\";\nimport { wrap } from \"optimism\";\n\nimport type { OperationVariables } from \"@apollo/client\";\nimport { ApolloLink } from \"@apollo/client/link\";\nimport { cacheSizes, stripTypename } from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport { isPlainObject } from \"@apollo/client/utilities/internal\";\n\nimport { defaultCacheSizes } from \"../../utilities/caching/sizes.js\";\n\n/**\n * Sentinel value used to indicate that `__typename` fields should be kept\n * for a specific field or input type.\n *\n * @remarks\n * Use this value in the `except` configuration to preserve `__typename`\n * fields in JSON scalar fields or other cases where you need to retain\n * the typename information.\n *\n * @example\n *\n * ```ts\n * import {\n * removeTypenameFromVariables,\n * KEEP,\n * } from \"@apollo/client/link/remove-typename\";\n *\n * const link = removeTypenameFromVariables({\n * except: {\n * JSON: KEEP, // Keep __typename for all JSON scalar variables\n * DashboardInput: {\n * config: KEEP, // Keep __typename only for the config field\n * },\n * },\n * });\n * ```\n */\nexport const KEEP = \"__KEEP\";\n\nexport declare namespace RemoveTypenameFromVariablesLink {\n /**\n * Configuration object that specifies which input types and fields should\n * retain their `__typename` fields.\n *\n * @remarks\n * This is a recursive configuration where:\n *\n * - Keys represent GraphQL input type names or field names\n * - Values can be either the `KEEP` sentinel to preserve all `__typename`\n * fields, or a nested `KeepTypenameConfig` to preserve `__typename` fields on\n * a specific field name.\n *\n * @example\n *\n * ```ts\n * const config: KeepTypenameConfig = {\n * // Keep __typename for all JSON scalar variables\n * JSON: KEEP,\n *\n * // For DashboardInput, only keep __typename on the config field\n * DashboardInput: {\n * config: KEEP,\n * },\n *\n * // Nested configuration for complex input types\n * UserInput: {\n * profile: {\n * settings: KEEP,\n * },\n * },\n * };\n * ```\n */\n export interface KeepTypenameConfig {\n [key: string]:\n | typeof KEEP\n | RemoveTypenameFromVariablesLink.KeepTypenameConfig;\n }\n\n /**\n * Options for configuring the `RemoveTypenameFromVariablesLink`.\n */\n export interface Options {\n /**\n * Configuration that determines which input types should retain `__typename`\n * fields.\n *\n * Maps GraphQL input type names to configurations. Each configuration can\n * either be the `KEEP` sentinel, to preserve all `__typename` fields, or\n * a nested object that specifies which fields should retain `__typename`.\n *\n * @example\n *\n * ```ts\n * {\n * except: {\n * // Keep __typename for all JSON scalar variables\n * JSON: KEEP,\n *\n * // For DashboardInput, remove __typename except for config field\n * DashboardInput: {\n * config: KEEP,\n * },\n *\n * // Complex nested configuration\n * UserProfileInput: {\n * settings: {\n * preferences: KEEP,\n * },\n * },\n * },\n * }\n * ```\n */\n except?: RemoveTypenameFromVariablesLink.KeepTypenameConfig;\n }\n}\n\n/**\n * @deprecated\n * Use `RemoveTypenameFromVariablesLink` from `@apollo/client/link/remove-typename` instead.\n */\nexport function removeTypenameFromVariables(\n options?: RemoveTypenameFromVariablesLink.Options\n) {\n return new RemoveTypenameFromVariablesLink(options);\n}\n\n/**\n * `RemoveTypenameFromVariablesLink` is a non-terminating link that automatically\n * removes `__typename` fields from operation variables to prevent GraphQL\n * validation errors.\n *\n * @remarks\n *\n * When reusing data from a query as input to another GraphQL operation,\n * `__typename` fields can cause server-side validation errors because input\n * types don't accept fields that start with double underscores (`__`).\n * `RemoveTypenameFromVariablesLink` automatically strips these fields from all\n * operation variables.\n *\n * @example\n *\n * ```ts\n * import { RemoveTypenameFromVariablesLink } from \"@apollo/client/link/remove-typename\";\n *\n * const link = new RemoveTypenameFromVariablesLink();\n * ```\n */\nexport class RemoveTypenameFromVariablesLink extends ApolloLink {\n constructor(options: RemoveTypenameFromVariablesLink.Options = {}) {\n super((operation, forward) => {\n const { except } = options;\n const { query, variables } = operation;\n\n if (variables) {\n operation.variables =\n except ?\n maybeStripTypenameUsingConfig(query, variables, except)\n : stripTypename(variables);\n }\n\n return forward(operation);\n });\n return Object.assign(\n this,\n __DEV__ ?\n {\n getMemoryInternals() {\n return {\n removeTypenameFromVariables: {\n getVariableDefinitions: getVariableDefinitions?.size ?? 0,\n },\n };\n },\n }\n : {}\n );\n }\n}\n\nfunction maybeStripTypenameUsingConfig(\n query: DocumentNode,\n variables: OperationVariables,\n config: RemoveTypenameFromVariablesLink.KeepTypenameConfig\n) {\n const variableDefinitions = getVariableDefinitions(query);\n\n return Object.fromEntries(\n Object.entries(variables).map((keyVal) => {\n const [key, value] = keyVal;\n const typename = variableDefinitions[key];\n const typenameConfig = config[typename];\n\n keyVal[1] =\n typenameConfig ?\n maybeStripTypename(value, typenameConfig)\n : stripTypename(value);\n\n return keyVal;\n })\n );\n}\n\ntype JSONPrimitive = string | number | null | boolean;\ntype JSONValue = JSONPrimitive | JSONValue[] | { [key: string]: JSONValue };\n\nfunction maybeStripTypename(\n value: JSONValue,\n config: RemoveTypenameFromVariablesLink.KeepTypenameConfig[string]\n): JSONValue {\n if (config === KEEP) {\n return value;\n }\n\n if (Array.isArray(value)) {\n return value.map((item) => maybeStripTypename(item, config));\n }\n\n if (isPlainObject(value)) {\n const modified: Record<string, any> = {};\n\n Object.keys(value).forEach((key) => {\n const child = value[key];\n\n if (key === \"__typename\") {\n return;\n }\n\n const fieldConfig = config[key];\n\n modified[key] =\n fieldConfig ?\n maybeStripTypename(child, fieldConfig)\n : stripTypename(child);\n });\n\n return modified;\n }\n\n return value;\n}\n\nconst getVariableDefinitions = wrap(\n (document: DocumentNode) => {\n const definitions: Record<string, string> = {};\n\n visit(document, {\n VariableDefinition(node) {\n definitions[node.variable.name.value] = unwrapType(node.type);\n },\n });\n\n return definitions;\n },\n {\n max:\n cacheSizes[\"removeTypenameFromVariables.getVariableDefinitions\"] ||\n defaultCacheSizes[\"removeTypenameFromVariables.getVariableDefinitions\"],\n cache: WeakCache,\n }\n);\n\nfunction unwrapType(node: TypeNode): string {\n switch (node.kind) {\n case Kind.NON_NULL_TYPE:\n return unwrapType(node.type);\n case Kind.LIST_TYPE:\n return unwrapType(node.type);\n case Kind.NAMED_TYPE:\n return node.name.value;\n }\n}\n"],"names":[],"mappings":";;;AA6HA,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,EAAA,EAAA,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;AA7HA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAGA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,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;AACA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,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"}
@@ -1,18 +1,134 @@
1
1
  import { ApolloLink } from "@apollo/client/link";
2
+ /**
3
+ * Sentinel value used to indicate that `__typename` fields should be kept
4
+ * for a specific field or input type.
5
+ *
6
+ * @remarks
7
+ * Use this value in the `except` configuration to preserve `__typename`
8
+ * fields in JSON scalar fields or other cases where you need to retain
9
+ * the typename information.
10
+ *
11
+ * @example
12
+ *
13
+ * ```ts
14
+ * import {
15
+ * removeTypenameFromVariables,
16
+ * KEEP,
17
+ * } from "@apollo/client/link/remove-typename";
18
+ *
19
+ * const link = removeTypenameFromVariables({
20
+ * except: {
21
+ * JSON: KEEP, // Keep __typename for all JSON scalar variables
22
+ * DashboardInput: {
23
+ * config: KEEP, // Keep __typename only for the config field
24
+ * },
25
+ * },
26
+ * });
27
+ * ```
28
+ */
2
29
  export declare const KEEP = "__KEEP";
3
- interface KeepTypenameConfig {
4
- [key: string]: typeof KEEP | KeepTypenameConfig;
5
- }
6
- export interface RemoveTypenameFromVariablesOptions {
7
- except?: KeepTypenameConfig;
30
+ export declare namespace RemoveTypenameFromVariablesLink {
31
+ /**
32
+ * Configuration object that specifies which input types and fields should
33
+ * retain their `__typename` fields.
34
+ *
35
+ * @remarks
36
+ * This is a recursive configuration where:
37
+ *
38
+ * - Keys represent GraphQL input type names or field names
39
+ * - Values can be either the `KEEP` sentinel to preserve all `__typename`
40
+ * fields, or a nested `KeepTypenameConfig` to preserve `__typename` fields on
41
+ * a specific field name.
42
+ *
43
+ * @example
44
+ *
45
+ * ```ts
46
+ * const config: KeepTypenameConfig = {
47
+ * // Keep __typename for all JSON scalar variables
48
+ * JSON: KEEP,
49
+ *
50
+ * // For DashboardInput, only keep __typename on the config field
51
+ * DashboardInput: {
52
+ * config: KEEP,
53
+ * },
54
+ *
55
+ * // Nested configuration for complex input types
56
+ * UserInput: {
57
+ * profile: {
58
+ * settings: KEEP,
59
+ * },
60
+ * },
61
+ * };
62
+ * ```
63
+ */
64
+ interface KeepTypenameConfig {
65
+ [key: string]: typeof KEEP | RemoveTypenameFromVariablesLink.KeepTypenameConfig;
66
+ }
67
+ /**
68
+ * Options for configuring the `RemoveTypenameFromVariablesLink`.
69
+ */
70
+ interface Options {
71
+ /**
72
+ * Configuration that determines which input types should retain `__typename`
73
+ * fields.
74
+ *
75
+ * Maps GraphQL input type names to configurations. Each configuration can
76
+ * either be the `KEEP` sentinel, to preserve all `__typename` fields, or
77
+ * a nested object that specifies which fields should retain `__typename`.
78
+ *
79
+ * @example
80
+ *
81
+ * ```ts
82
+ * {
83
+ * except: {
84
+ * // Keep __typename for all JSON scalar variables
85
+ * JSON: KEEP,
86
+ *
87
+ * // For DashboardInput, remove __typename except for config field
88
+ * DashboardInput: {
89
+ * config: KEEP,
90
+ * },
91
+ *
92
+ * // Complex nested configuration
93
+ * UserProfileInput: {
94
+ * settings: {
95
+ * preferences: KEEP,
96
+ * },
97
+ * },
98
+ * },
99
+ * }
100
+ * ```
101
+ */
102
+ except?: RemoveTypenameFromVariablesLink.KeepTypenameConfig;
103
+ }
8
104
  }
9
105
  /**
10
106
  * @deprecated
11
107
  * Use `RemoveTypenameFromVariablesLink` from `@apollo/client/link/remove-typename` instead.
12
108
  */
13
- export declare function removeTypenameFromVariables(options?: RemoveTypenameFromVariablesOptions): RemoveTypenameFromVariablesLink;
109
+ export declare function removeTypenameFromVariables(options?: RemoveTypenameFromVariablesLink.Options): RemoveTypenameFromVariablesLink;
110
+ /**
111
+ * `RemoveTypenameFromVariablesLink` is a non-terminating link that automatically
112
+ * removes `__typename` fields from operation variables to prevent GraphQL
113
+ * validation errors.
114
+ *
115
+ * @remarks
116
+ *
117
+ * When reusing data from a query as input to another GraphQL operation,
118
+ * `__typename` fields can cause server-side validation errors because input
119
+ * types don't accept fields that start with double underscores (`__`).
120
+ * `RemoveTypenameFromVariablesLink` automatically strips these fields from all
121
+ * operation variables.
122
+ *
123
+ * @example
124
+ *
125
+ * ```ts
126
+ * import { RemoveTypenameFromVariablesLink } from "@apollo/client/link/remove-typename";
127
+ *
128
+ * const link = new RemoveTypenameFromVariablesLink();
129
+ * ```
130
+ */
14
131
  export declare class RemoveTypenameFromVariablesLink extends ApolloLink {
15
- constructor(options?: RemoveTypenameFromVariablesOptions);
132
+ constructor(options?: RemoveTypenameFromVariablesLink.Options);
16
133
  }
17
- export {};
18
134
  //# sourceMappingURL=removeTypenameFromVariables.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delayFunction.cjs","sources":["../../../../src/link/retry/delayFunction.ts"],"sourcesContent":["import type { Operation } from \"@apollo/client/link\";\n\n/**\n * Advanced mode: a function that implements the strategy for calculating delays\n * for particular responses.\n */\nexport interface DelayFunction {\n (count: number, operation: Operation, error: any): number;\n}\n\nexport interface DelayFunctionOptions {\n /**\n * The number of milliseconds to wait before attempting the first retry.\n *\n * Delays will increase exponentially for each attempt. E.g. if this is\n * set to 100, subsequent retries will be delayed by 200, 400, 800, etc,\n * until they reach maxDelay.\n *\n * Note that if jittering is enabled, this is the _average_ delay.\n *\n * Defaults to 300.\n */\n initial?: number;\n\n /**\n * The maximum number of milliseconds that the link should wait for any\n * retry.\n *\n * Defaults to Infinity.\n */\n max?: number;\n\n /**\n * Whether delays between attempts should be randomized.\n *\n * This helps avoid thundering herd type situations by better distributing\n * load during major outages.\n *\n * Defaults to true.\n */\n jitter?: boolean;\n}\n\nexport function buildDelayFunction(\n delayOptions?: DelayFunctionOptions\n): DelayFunction {\n const { initial = 300, jitter = true, max = Infinity } = delayOptions || {};\n // If we're jittering, baseDelay is half of the maximum delay for that\n // attempt (and is, on average, the delay we will encounter).\n // If we're not jittering, adjust baseDelay so that the first attempt\n // lines up with initialDelay, for everyone's sanity.\n const baseDelay = jitter ? initial : initial / 2;\n\n return function delayFunction(count: number) {\n let delay = Math.min(max, baseDelay * 2 ** count);\n if (jitter) {\n // We opt for a full jitter approach for a mostly uniform distribution,\n // but bound it within initialDelay and delay for everyone's sanity.\n delay = Math.random() * delay;\n }\n\n return delay;\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delayFunction.cjs","sources":["../../../../src/link/retry/delayFunction.ts"],"sourcesContent":["import type { RetryLink } from \"./retryLink.js\";\n\nexport function buildDelayFunction(\n delayOptions?: RetryLink.DelayOptions\n): RetryLink.DelayFunction {\n const { initial = 300, jitter = true, max = Infinity } = delayOptions || {};\n // If we're jittering, baseDelay is half of the maximum delay for that\n // attempt (and is, on average, the delay we will encounter).\n // If we're not jittering, adjust baseDelay so that the first attempt\n // lines up with initialDelay, for everyone's sanity.\n const baseDelay = jitter ? initial : initial / 2;\n\n return function delayFunction(count: number) {\n let delay = Math.min(max, baseDelay * 2 ** count);\n if (jitter) {\n // We opt for a full jitter approach for a mostly uniform distribution,\n // but bound it within initialDelay and delay for everyone's sanity.\n delay = Math.random() * delay;\n }\n\n return delay;\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,40 +1,3 @@
1
- import type { Operation } from "@apollo/client/link";
2
- /**
3
- * Advanced mode: a function that implements the strategy for calculating delays
4
- * for particular responses.
5
- */
6
- export interface DelayFunction {
7
- (count: number, operation: Operation, error: any): number;
8
- }
9
- export interface DelayFunctionOptions {
10
- /**
11
- * The number of milliseconds to wait before attempting the first retry.
12
- *
13
- * Delays will increase exponentially for each attempt. E.g. if this is
14
- * set to 100, subsequent retries will be delayed by 200, 400, 800, etc,
15
- * until they reach maxDelay.
16
- *
17
- * Note that if jittering is enabled, this is the _average_ delay.
18
- *
19
- * Defaults to 300.
20
- */
21
- initial?: number;
22
- /**
23
- * The maximum number of milliseconds that the link should wait for any
24
- * retry.
25
- *
26
- * Defaults to Infinity.
27
- */
28
- max?: number;
29
- /**
30
- * Whether delays between attempts should be randomized.
31
- *
32
- * This helps avoid thundering herd type situations by better distributing
33
- * load during major outages.
34
- *
35
- * Defaults to true.
36
- */
37
- jitter?: boolean;
38
- }
39
- export declare function buildDelayFunction(delayOptions?: DelayFunctionOptions): DelayFunction;
1
+ import type { RetryLink } from "./retryLink.cjs";
2
+ export declare function buildDelayFunction(delayOptions?: RetryLink.DelayOptions): RetryLink.DelayFunction;
40
3
  //# sourceMappingURL=delayFunction.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../src/link/retry/index.ts"],"sourcesContent":["export { RetryLink } from \"./retryLink.js\";\n"],"names":[],"mappings":";;;AAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,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;AAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAlB,EAAA,CAAA,CAAA;"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/link/retry/index.ts"],"sourcesContent":["export { RetryLink } from \"./retryLink.js\";\n"],"names":[],"mappings":";;;AAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,kBAAA,CAAA;AAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAlB,EAAA,CAAA,CAAA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"retryFunction.cjs","sources":["../../../../src/link/retry/retryFunction.ts"],"sourcesContent":["import type { Operation } from \"@apollo/client/link\";\n\n/**\n * Advanced mode: a function that determines both whether a particular\n * response should be retried.\n */\nexport interface RetryFunction {\n (count: number, operation: Operation, error: any): boolean | Promise<boolean>;\n}\n\nexport interface RetryFunctionOptions {\n /**\n * The max number of times to try a single operation before giving up.\n *\n * Note that this INCLUDES the initial request as part of the count.\n * E.g. maxTries of 1 indicates no retrying should occur.\n *\n * Defaults to 5. Pass Infinity for infinite retries.\n */\n max?: number;\n\n /**\n * Predicate function that determines whether a particular error should\n * trigger a retry.\n *\n * For example, you may want to not retry 4xx class HTTP errors.\n *\n * By default, all errors are retried.\n */\n retryIf?: (error: any, operation: Operation) => boolean | Promise<boolean>;\n}\n\nexport function buildRetryFunction(\n retryOptions?: RetryFunctionOptions\n): RetryFunction {\n const { retryIf, max = 5 } = retryOptions || ({} as RetryFunctionOptions);\n return function retryFunction(count, operation, error) {\n if (count >= max) return false;\n return retryIf ? retryIf(error, operation) : !!error;\n };\n}\n"],"names":[],"mappings":";;AAgCA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;IAGE,CAAF,CAAA,CAAA,CAAA,EAAQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,EAAA,EAAyB,EAAzB,EAAA,EAA+B,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAgD,CAAhD,CAA2E;IACzE,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAkB,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAhC,CAAA,CAAA,CAAA,CAAqC,EAAE,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD,EAAE,CAAlD,CAAA,CAAA,CAAA,CAAuD,EAAvD;QACI,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,EAAA,CAAA,EAAiB,CAAjB,CAAA,CAAoB;YAAE,CAAtB,CAAA,CAAA,CAAA,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAkC;QAC9B,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,EAAmB,EAAE,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAkC,EAAE,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C,EAAE,EAAE,CAAC,CAAC,CAAnD,CAAA,CAAA,CAAA,CAAwD;IACtD,CAAC;AACH;"}
1
+ {"version":3,"file":"retryFunction.cjs","sources":["../../../../src/link/retry/retryFunction.ts"],"sourcesContent":["import type { RetryLink } from \"./retryLink.js\";\n\nexport function buildRetryFunction(\n retryOptions?: RetryLink.AttemptsOptions\n): RetryLink.AttemptsFunction {\n const { retryIf, max = 5 } =\n retryOptions || ({} as RetryLink.AttemptsOptions);\n return function retryFunction(count, operation, error) {\n if (count >= max) return false;\n return retryIf ? retryIf(error, operation) : !!error;\n };\n}\n"],"names":[],"mappings":";;AAEA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAChC,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAC0C,EAD1C;IAGE,CAAF,CAAA,CAAA,CAAA,EAAQ,EAAE,CAAV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,EAAA,EAAyB,EAAzB,EAAA,EACI,CADJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EACqB,CADrB,CACqD;IACnD,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAkB,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAhC,CAAA,CAAA,CAAA,CAAqC,EAAE,CAAvC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgD,EAAE,CAAlD,CAAA,CAAA,CAAA,CAAuD,EAAvD;QACI,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,EAAA,CAAA,EAAiB,CAAjB,CAAA,CAAoB;YAAE,CAAtB,CAAA,CAAA,CAAA,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAkC;QAC9B,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,EAAmB,EAAE,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAkC,EAAE,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C,EAAE,EAAE,CAAC,CAAC,CAAnD,CAAA,CAAA,CAAA,CAAwD;IACtD,CAAC;AACH;"}
@@ -1,30 +1,3 @@
1
- import type { Operation } from "@apollo/client/link";
2
- /**
3
- * Advanced mode: a function that determines both whether a particular
4
- * response should be retried.
5
- */
6
- export interface RetryFunction {
7
- (count: number, operation: Operation, error: any): boolean | Promise<boolean>;
8
- }
9
- export interface RetryFunctionOptions {
10
- /**
11
- * The max number of times to try a single operation before giving up.
12
- *
13
- * Note that this INCLUDES the initial request as part of the count.
14
- * E.g. maxTries of 1 indicates no retrying should occur.
15
- *
16
- * Defaults to 5. Pass Infinity for infinite retries.
17
- */
18
- max?: number;
19
- /**
20
- * Predicate function that determines whether a particular error should
21
- * trigger a retry.
22
- *
23
- * For example, you may want to not retry 4xx class HTTP errors.
24
- *
25
- * By default, all errors are retried.
26
- */
27
- retryIf?: (error: any, operation: Operation) => boolean | Promise<boolean>;
28
- }
29
- export declare function buildRetryFunction(retryOptions?: RetryFunctionOptions): RetryFunction;
1
+ import type { RetryLink } from "./retryLink.cjs";
2
+ export declare function buildRetryFunction(retryOptions?: RetryLink.AttemptsOptions): RetryLink.AttemptsFunction;
30
3
  //# sourceMappingURL=retryFunction.d.cts.map
@@ -6,9 +6,6 @@ const errors_1 = require("@apollo/client/errors");
6
6
  const link_1 = require("@apollo/client/link");
7
7
  const delayFunction_js_1 = require("./delayFunction.cjs");
8
8
  const retryFunction_js_1 = require("./retryFunction.cjs");
9
- /**
10
- * Tracking and management of operations that may be (or currently are) retried.
11
- */
12
9
  class RetryableOperation {
13
10
  observer;
14
11
  operation;
@@ -41,7 +38,10 @@ class RetryableOperation {
41
38
  this.currentSubscription = this.forward(this.operation).subscribe({
42
39
  next: (result) => {
43
40
  if ((0, errors_1.graphQLResultHasProtocolErrors)(result)) {
44
- this.onError(result.extensions[errors_1.PROTOCOL_ERRORS_SYMBOL]);
41
+ this.onError(result.extensions[errors_1.PROTOCOL_ERRORS_SYMBOL], () =>
42
+ // Pretend like we never encountered this error and move the result
43
+ // along for Apollo Client core to handle this error.
44
+ this.observer.next(result));
45
45
  // Unsubscribe from the current subscription to prevent the `complete`
46
46
  // handler to be called as a result of the stream closing.
47
47
  this.currentSubscription?.unsubscribe();
@@ -49,19 +49,19 @@ class RetryableOperation {
49
49
  }
50
50
  this.observer.next(result);
51
51
  },
52
- error: this.onError,
52
+ error: (error) => this.onError(error, () => this.observer.error(error)),
53
53
  complete: this.observer.complete.bind(this.observer),
54
54
  });
55
55
  }
56
- onError = async (error) => {
56
+ onError = async (error, onContinue) => {
57
57
  this.retryCount += 1;
58
- // Should we retry?
59
- const shouldRetry = await this.retryIf(this.retryCount, this.operation, error);
58
+ const errorLike = (0, errors_1.toErrorLike)(error);
59
+ const shouldRetry = await this.retryIf(this.retryCount, this.operation, errorLike);
60
60
  if (shouldRetry) {
61
- this.scheduleRetry(this.delayFor(this.retryCount, this.operation, error));
61
+ this.scheduleRetry(this.delayFor(this.retryCount, this.operation, errorLike));
62
62
  return;
63
63
  }
64
- this.observer.error(error);
64
+ onContinue();
65
65
  };
66
66
  scheduleRetry(delay) {
67
67
  if (this.timerId) {
@@ -73,6 +73,31 @@ class RetryableOperation {
73
73
  }, delay);
74
74
  }
75
75
  }
76
+ /**
77
+ * `RetryLink` is a non-terminating link that attempts to retry operations that
78
+ * fail due to network errors. It enables resilient GraphQL operations by
79
+ * automatically retrying failed requests with configurable delay and retry
80
+ * strategies.
81
+ *
82
+ * @remarks
83
+ *
84
+ * `RetryLink` is particularly useful for handling unreliable network conditions
85
+ * where you would rather wait longer than explicitly fail an operation. It
86
+ * provides exponential backoff and jitters delays between attempts by default.
87
+ *
88
+ * > [!NOTE]
89
+ * > This link does not handle retries for GraphQL errors in the response. Use
90
+ * > `ErrorLink` to retry an operation after a GraphQL error. For more
91
+ * > information, see the [Error handling documentation](https://apollographql.com/docs/react/data/error-handling#on-graphql-errors).
92
+ *
93
+ * @example
94
+ *
95
+ * ```ts
96
+ * import { RetryLink } from "@apollo/client/link/retry";
97
+ *
98
+ * const link = new RetryLink();
99
+ * ```
100
+ */
76
101
  class RetryLink extends link_1.ApolloLink {
77
102
  delayFor;
78
103
  retryIf;
@@ -84,9 +109,9 @@ class RetryLink extends link_1.ApolloLink {
84
109
  this.retryIf =
85
110
  typeof attempts === "function" ? attempts : (0, retryFunction_js_1.buildRetryFunction)(attempts);
86
111
  }
87
- request(operation, nextLink) {
112
+ request(operation, forward) {
88
113
  return new rxjs_1.Observable((observer) => {
89
- const retryable = new RetryableOperation(observer, operation, nextLink, this.delayFor, this.retryIf);
114
+ const retryable = new RetryableOperation(observer, operation, forward, this.delayFor, this.retryIf);
90
115
  return () => {
91
116
  retryable.cancel();
92
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"retryLink.cjs","sources":["../../../../src/link/retry/retryLink.ts"],"sourcesContent":["import type { Subscription } from \"rxjs\";\nimport type { Observer } from \"rxjs\";\nimport { Observable } from \"rxjs\";\n\nimport {\n graphQLResultHasProtocolErrors,\n PROTOCOL_ERRORS_SYMBOL,\n} from \"@apollo/client/errors\";\nimport type { FetchResult, NextLink, Operation } from \"@apollo/client/link\";\nimport { ApolloLink } from \"@apollo/client/link\";\n\nimport type { DelayFunction, DelayFunctionOptions } from \"./delayFunction.js\";\nimport { buildDelayFunction } from \"./delayFunction.js\";\nimport type { RetryFunction, RetryFunctionOptions } from \"./retryFunction.js\";\nimport { buildRetryFunction } from \"./retryFunction.js\";\n\nexport namespace RetryLink {\n export interface Options {\n /**\n * Configuration for the delay strategy to use, or a custom delay strategy.\n */\n delay?: DelayFunctionOptions | DelayFunction;\n\n /**\n * Configuration for the retry strategy to use, or a custom retry strategy.\n */\n attempts?: RetryFunctionOptions | RetryFunction;\n }\n}\n\n/**\n * Tracking and management of operations that may be (or currently are) retried.\n */\nclass RetryableOperation {\n private retryCount: number = 0;\n private currentSubscription: Subscription | null = null;\n private timerId: number | undefined;\n\n constructor(\n private observer: Observer<FetchResult>,\n private operation: Operation,\n private forward: NextLink,\n private delayFor: DelayFunction,\n private retryIf: RetryFunction\n ) {\n this.try();\n }\n\n /**\n * Stop retrying for the operation, and cancel any in-progress requests.\n */\n public cancel() {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n }\n clearTimeout(this.timerId);\n this.timerId = undefined;\n this.currentSubscription = null;\n }\n\n private try() {\n this.currentSubscription = this.forward(this.operation).subscribe({\n next: (result) => {\n if (graphQLResultHasProtocolErrors(result)) {\n this.onError(result.extensions[PROTOCOL_ERRORS_SYMBOL]);\n // Unsubscribe from the current subscription to prevent the `complete`\n // handler to be called as a result of the stream closing.\n this.currentSubscription?.unsubscribe();\n return;\n }\n\n this.observer.next(result);\n },\n error: this.onError,\n complete: this.observer.complete.bind(this.observer),\n });\n }\n\n private onError = async (error: any) => {\n this.retryCount += 1;\n\n // Should we retry?\n const shouldRetry = await this.retryIf(\n this.retryCount,\n this.operation,\n error\n );\n if (shouldRetry) {\n this.scheduleRetry(this.delayFor(this.retryCount, this.operation, error));\n return;\n }\n\n this.observer.error(error);\n };\n\n private scheduleRetry(delay: number) {\n if (this.timerId) {\n throw new Error(`RetryLink BUG! Encountered overlapping retries`);\n }\n\n this.timerId = setTimeout(() => {\n this.timerId = undefined;\n this.try();\n }, delay) as any as number;\n }\n}\n\nexport class RetryLink extends ApolloLink {\n private delayFor: DelayFunction;\n private retryIf: RetryFunction;\n\n constructor(options?: RetryLink.Options) {\n super();\n const { attempts, delay } = options || ({} as RetryLink.Options);\n this.delayFor =\n typeof delay === \"function\" ? delay : buildDelayFunction(delay);\n this.retryIf =\n typeof attempts === \"function\" ? attempts : buildRetryFunction(attempts);\n }\n\n public request(\n operation: Operation,\n nextLink: NextLink\n ): Observable<FetchResult> {\n return new Observable((observer) => {\n const retryable = new RetryableOperation(\n observer,\n operation,\n nextLink,\n this.delayFor,\n this.retryIf\n );\n return () => {\n retryable.cancel();\n };\n });\n }\n}\n"],"names":[],"mappings":";;;AAEA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,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;AAKA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,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;AAGA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,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;AAEA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,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;AAgBA,CAAA,CAAA;;CAEA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,EAAM,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"}
1
+ {"version":3,"file":"retryLink.cjs","sources":["../../../../src/link/retry/retryLink.ts"],"sourcesContent":["import type { Subscription } from \"rxjs\";\nimport type { Observer } from \"rxjs\";\nimport { Observable } from \"rxjs\";\n\nimport type { ErrorLike } from \"@apollo/client\";\nimport {\n graphQLResultHasProtocolErrors,\n PROTOCOL_ERRORS_SYMBOL,\n toErrorLike,\n} from \"@apollo/client/errors\";\nimport { ApolloLink } from \"@apollo/client/link\";\n\nimport { buildDelayFunction } from \"./delayFunction.js\";\nimport { buildRetryFunction } from \"./retryFunction.js\";\n\nexport declare namespace RetryLink {\n namespace RetryLinkDocumentationTypes {\n /**\n * A function used to determine whether to retry the current operation.\n *\n * @param attempt - The current attempt number\n * @param operation - The current `ApolloLink.Operation` for the request\n * @param error - The error that triggered the retry attempt\n * @returns A boolean to indicate whether to retry the current operation\n */\n function AttemptsFunction(\n attempt: number,\n operation: ApolloLink.Operation,\n error: ErrorLike\n ): boolean | Promise<boolean>;\n\n /**\n * A function used to determine the delay for a retry attempt.\n *\n * @param attempt - The current attempt number\n * @param operation - The current `ApolloLink.Operation` for the request\n * @param error - The error that triggered the retry attempt\n * @returns The delay in milliseconds before attempting the request again\n */\n function DelayFunction(\n attempt: number,\n operation: ApolloLink.Operation,\n error: ErrorLike\n ): number;\n }\n\n /** {@inheritDoc @apollo/client/link/retry!RetryLink.RetryLinkDocumentationTypes.DelayFunction:function(1)} */\n export type DelayFunction = (\n attempt: number,\n operation: ApolloLink.Operation,\n error: ErrorLike\n ) => number;\n\n /**\n * Configuration options for the standard retry delay strategy.\n */\n export interface DelayOptions {\n /**\n * The number of milliseconds to wait before attempting the first retry.\n *\n * Delays will increase exponentially for each attempt. E.g. if this is\n * set to 100, subsequent retries will be delayed by 200, 400, 800, etc,\n * until they reach the maximum delay.\n *\n * Note that if jittering is enabled, this is the average delay.\n *\n * @defaultValue `300`\n */\n initial?: number;\n\n /**\n * The maximum number of milliseconds that the link should wait for any\n * retry.\n *\n * @defaultValue `Infinity`\n */\n max?: number;\n\n /**\n * Whether delays between attempts should be randomized.\n *\n * This helps avoid [thundering herd](https://en.wikipedia.org/wiki/Thundering_herd_problem)\n * type situations by better distributing load during major outages. Without\n * these strategies, when your server comes back up it will be hit by all\n * of your clients at once, possibly causing it to go down again.\n *\n * @defaultValue `true`\n */\n jitter?: boolean;\n }\n\n /** {@inheritDoc @apollo/client/link/retry!RetryLink.RetryLinkDocumentationTypes.AttemptsFunction:function(1)} */\n export type AttemptsFunction = (\n attempt: number,\n operation: ApolloLink.Operation,\n error: ErrorLike\n ) => boolean | Promise<boolean>;\n\n /**\n * Configuration options for the standard retry attempt strategy.\n */\n export interface AttemptsOptions {\n /**\n * The max number of times to try a single operation before giving up.\n *\n * Note that this INCLUDES the initial request as part of the count.\n * E.g. `max` of 1 indicates no retrying should occur.\n *\n * Pass `Infinity` for infinite retries.\n *\n * @defaultValue `5`\n */\n max?: number;\n\n /**\n * Predicate function that determines whether a particular error should\n * trigger a retry.\n *\n * For example, you may want to not retry 4xx class HTTP errors.\n *\n * @defaultValue `() => true`\n */\n retryIf?: (\n error: ErrorLike,\n operation: ApolloLink.Operation\n ) => boolean | Promise<boolean>;\n }\n\n /**\n * Options provided to the `RetryLink` constructor.\n */\n export interface Options {\n /**\n * Configuration for the delay strategy to use, or a custom delay strategy.\n */\n delay?: RetryLink.DelayOptions | RetryLink.DelayFunction;\n\n /**\n * Configuration for the retry strategy to use, or a custom retry strategy.\n */\n attempts?: RetryLink.AttemptsOptions | RetryLink.AttemptsFunction;\n }\n}\n\nclass RetryableOperation {\n private retryCount: number = 0;\n private currentSubscription: Subscription | null = null;\n private timerId: ReturnType<typeof setTimeout> | undefined;\n\n constructor(\n private observer: Observer<ApolloLink.Result>,\n private operation: ApolloLink.Operation,\n private forward: ApolloLink.ForwardFunction,\n private delayFor: RetryLink.DelayFunction,\n private retryIf: RetryLink.AttemptsFunction\n ) {\n this.try();\n }\n\n /**\n * Stop retrying for the operation, and cancel any in-progress requests.\n */\n public cancel() {\n if (this.currentSubscription) {\n this.currentSubscription.unsubscribe();\n }\n clearTimeout(this.timerId);\n this.timerId = undefined;\n this.currentSubscription = null;\n }\n\n private try() {\n this.currentSubscription = this.forward(this.operation).subscribe({\n next: (result) => {\n if (graphQLResultHasProtocolErrors(result)) {\n this.onError(result.extensions[PROTOCOL_ERRORS_SYMBOL], () =>\n // Pretend like we never encountered this error and move the result\n // along for Apollo Client core to handle this error.\n this.observer.next(result)\n );\n // Unsubscribe from the current subscription to prevent the `complete`\n // handler to be called as a result of the stream closing.\n this.currentSubscription?.unsubscribe();\n return;\n }\n\n this.observer.next(result);\n },\n error: (error) => this.onError(error, () => this.observer.error(error)),\n complete: this.observer.complete.bind(this.observer),\n });\n }\n\n private onError = async (error: unknown, onContinue: () => void) => {\n this.retryCount += 1;\n const errorLike = toErrorLike(error);\n\n const shouldRetry = await this.retryIf(\n this.retryCount,\n this.operation,\n errorLike\n );\n if (shouldRetry) {\n this.scheduleRetry(\n this.delayFor(this.retryCount, this.operation, errorLike)\n );\n return;\n }\n\n onContinue();\n };\n\n private scheduleRetry(delay: number) {\n if (this.timerId) {\n throw new Error(`RetryLink BUG! Encountered overlapping retries`);\n }\n\n this.timerId = setTimeout(() => {\n this.timerId = undefined;\n this.try();\n }, delay);\n }\n}\n\n/**\n * `RetryLink` is a non-terminating link that attempts to retry operations that\n * fail due to network errors. It enables resilient GraphQL operations by\n * automatically retrying failed requests with configurable delay and retry\n * strategies.\n *\n * @remarks\n *\n * `RetryLink` is particularly useful for handling unreliable network conditions\n * where you would rather wait longer than explicitly fail an operation. It\n * provides exponential backoff and jitters delays between attempts by default.\n *\n * > [!NOTE]\n * > This link does not handle retries for GraphQL errors in the response. Use\n * > `ErrorLink` to retry an operation after a GraphQL error. For more\n * > information, see the [Error handling documentation](https://apollographql.com/docs/react/data/error-handling#on-graphql-errors).\n *\n * @example\n *\n * ```ts\n * import { RetryLink } from \"@apollo/client/link/retry\";\n *\n * const link = new RetryLink();\n * ```\n */\nexport class RetryLink extends ApolloLink {\n private delayFor: RetryLink.DelayFunction;\n private retryIf: RetryLink.AttemptsFunction;\n\n constructor(options?: RetryLink.Options) {\n super();\n const { attempts, delay } = options || ({} as RetryLink.Options);\n this.delayFor =\n typeof delay === \"function\" ? delay : buildDelayFunction(delay);\n this.retryIf =\n typeof attempts === \"function\" ? attempts : buildRetryFunction(attempts);\n }\n\n public request(\n operation: ApolloLink.Operation,\n forward: ApolloLink.ForwardFunction\n ): Observable<ApolloLink.Result> {\n return new Observable((observer) => {\n const retryable = new RetryableOperation(\n observer,\n operation,\n forward,\n this.delayFor,\n this.retryIf\n );\n return () => {\n retryable.cancel();\n };\n });\n }\n}\n"],"names":[],"mappings":"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"}