@apollo/client 4.0.0-alpha.9 → 4.0.0-rc.0

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 (1706) hide show
  1. package/CHANGELOG.md +1012 -0
  2. package/README.md +80 -31
  3. package/__cjs/cache/core/cache.cjs +11 -9
  4. package/__cjs/cache/core/cache.cjs.map +1 -1
  5. package/__cjs/cache/core/cache.d.cts +11 -8
  6. package/__cjs/cache/index.cjs +1 -2
  7. package/__cjs/cache/index.cjs.map +1 -1
  8. package/__cjs/cache/index.d.cts +1 -1
  9. package/__cjs/cache/inmemory/entityStore.cjs +12 -11
  10. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  11. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -2
  12. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  13. package/__cjs/cache/inmemory/helpers.cjs +10 -10
  14. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  15. package/__cjs/cache/inmemory/helpers.d.cts +3 -3
  16. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  17. package/__cjs/cache/inmemory/inMemoryCache.d.cts +9 -7
  18. package/__cjs/cache/inmemory/key-extractor.cjs +10 -10
  19. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  20. package/__cjs/cache/inmemory/policies.cjs +14 -13
  21. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  22. package/__cjs/cache/inmemory/policies.d.cts +2 -1
  23. package/__cjs/cache/inmemory/readFromStore.cjs +17 -16
  24. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  25. package/__cjs/cache/inmemory/writeToStore.cjs +50 -22
  26. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  27. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
  28. package/__cjs/core/ApolloClient.cjs +53 -74
  29. package/__cjs/core/ApolloClient.cjs.map +1 -1
  30. package/__cjs/core/ApolloClient.d.cts +29 -55
  31. package/__cjs/core/ObservableQuery.cjs +768 -468
  32. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  33. package/__cjs/core/ObservableQuery.d.cts +290 -60
  34. package/__cjs/core/QueryInfo.cjs +271 -180
  35. package/__cjs/core/QueryInfo.cjs.map +1 -1
  36. package/__cjs/core/QueryInfo.d.cts +55 -30
  37. package/__cjs/core/QueryManager.cjs +509 -587
  38. package/__cjs/core/QueryManager.cjs.map +1 -1
  39. package/__cjs/core/QueryManager.d.cts +52 -62
  40. package/__cjs/core/equalByQuery.cjs +7 -7
  41. package/__cjs/core/equalByQuery.cjs.map +1 -1
  42. package/__cjs/core/index.cjs +11 -10
  43. package/__cjs/core/index.cjs.map +1 -1
  44. package/__cjs/core/index.d.cts +10 -12
  45. package/__cjs/core/networkStatus.cjs +7 -1
  46. package/__cjs/core/networkStatus.cjs.map +1 -1
  47. package/__cjs/core/networkStatus.d.cts +7 -1
  48. package/__cjs/core/types.d.cts +137 -25
  49. package/__cjs/core/watchQueryOptions.d.cts +16 -101
  50. package/__cjs/dev/loadErrorMessageHandler.cjs +2 -3
  51. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  52. package/__cjs/dev/setErrorMessageHandler.cjs +2 -3
  53. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  54. package/__cjs/errors/CombinedGraphQLErrors.cjs +28 -13
  55. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  56. package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
  57. package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
  58. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  59. package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
  60. package/__cjs/errors/LinkError.cjs +24 -0
  61. package/__cjs/errors/LinkError.cjs.map +1 -0
  62. package/__cjs/errors/LinkError.d.cts +18 -0
  63. package/__cjs/errors/LocalStateError.cjs +27 -0
  64. package/__cjs/errors/LocalStateError.cjs.map +1 -0
  65. package/__cjs/errors/LocalStateError.d.cts +20 -0
  66. package/__cjs/errors/ServerError.cjs +9 -4
  67. package/__cjs/errors/ServerError.cjs.map +1 -1
  68. package/__cjs/errors/ServerError.d.cts +10 -8
  69. package/__cjs/errors/ServerParseError.cjs +6 -0
  70. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  71. package/__cjs/errors/ServerParseError.d.cts +2 -0
  72. package/__cjs/errors/UnconventionalError.cjs +6 -0
  73. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  74. package/__cjs/errors/UnconventionalError.d.cts +2 -0
  75. package/__cjs/errors/index.cjs +12 -12
  76. package/__cjs/errors/index.cjs.map +1 -1
  77. package/__cjs/errors/index.d.cts +5 -8
  78. package/__cjs/errors/isErrorLike.cjs +12 -0
  79. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  80. package/__cjs/errors/isErrorLike.d.cts +3 -0
  81. package/__cjs/errors/utils.cjs +18 -0
  82. package/__cjs/errors/utils.cjs.map +1 -0
  83. package/__cjs/errors/utils.d.cts +3 -0
  84. package/__cjs/incremental/handlers/defer20220824.cjs +102 -0
  85. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
  86. package/__cjs/incremental/handlers/defer20220824.d.cts +55 -0
  87. package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
  88. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
  89. package/__cjs/incremental/handlers/notImplemented.d.cts +9 -0
  90. package/__cjs/incremental/index.cjs +9 -0
  91. package/__cjs/incremental/index.cjs.map +1 -0
  92. package/__cjs/incremental/index.d.cts +4 -0
  93. package/__cjs/incremental/types.cjs +3 -0
  94. package/__cjs/incremental/types.cjs.map +1 -0
  95. package/__cjs/incremental/types.d.cts +24 -0
  96. package/__cjs/invariantErrorCodes.cjs +275 -172
  97. package/__cjs/link/batch/batchLink.cjs +2 -2
  98. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  99. package/__cjs/link/batch/batchLink.d.cts +2 -2
  100. package/__cjs/link/batch/batching.cjs.map +1 -1
  101. package/__cjs/link/batch/batching.d.cts +1 -1
  102. package/__cjs/link/batch-http/batchHttpLink.cjs +21 -67
  103. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  104. package/__cjs/link/batch-http/batchHttpLink.d.cts +9 -4
  105. package/__cjs/link/batch-http/index.cjs +2 -1
  106. package/__cjs/link/batch-http/index.cjs.map +1 -1
  107. package/__cjs/link/batch-http/index.d.cts +1 -1
  108. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +45 -0
  109. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -0
  110. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +62 -0
  111. package/__cjs/link/client-awareness/index.cjs +6 -0
  112. package/__cjs/link/client-awareness/index.cjs.map +1 -0
  113. package/__cjs/link/client-awareness/index.d.cts +2 -0
  114. package/__cjs/link/context/index.cjs +37 -26
  115. package/__cjs/link/context/index.cjs.map +1 -1
  116. package/__cjs/link/context/index.d.cts +11 -5
  117. package/__cjs/link/core/ApolloLink.cjs +19 -13
  118. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  119. package/__cjs/link/core/ApolloLink.d.cts +17 -11
  120. package/__cjs/link/core/types.d.cts +14 -36
  121. package/__cjs/link/error/index.cjs +69 -66
  122. package/__cjs/link/error/index.cjs.map +1 -1
  123. package/__cjs/link/error/index.d.cts +17 -16
  124. package/__cjs/link/http/BaseHttpLink.cjs +111 -0
  125. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -0
  126. package/__cjs/link/http/BaseHttpLink.d.cts +6 -0
  127. package/__cjs/link/http/HttpLink.cjs +14 -7
  128. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  129. package/__cjs/link/http/HttpLink.d.cts +145 -4
  130. package/__cjs/link/http/checkFetcher.cjs +1 -1
  131. package/__cjs/link/http/index.cjs +4 -3
  132. package/__cjs/link/http/index.cjs.map +1 -1
  133. package/__cjs/link/http/index.d.cts +2 -3
  134. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +74 -113
  135. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  136. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +1 -3
  137. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  138. package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
  139. package/__cjs/link/http/selectHttpOptionsAndBody.cjs +7 -6
  140. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  141. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +8 -83
  142. package/__cjs/link/http/selectURI.cjs.map +1 -1
  143. package/__cjs/link/http/selectURI.d.cts +1 -1
  144. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  145. package/__cjs/link/index.cjs +16 -0
  146. package/__cjs/link/index.cjs.map +1 -0
  147. package/__cjs/link/index.d.cts +8 -0
  148. package/__cjs/link/persisted-queries/index.cjs +162 -142
  149. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  150. package/__cjs/link/persisted-queries/index.d.cts +21 -21
  151. package/__cjs/link/remove-typename/index.cjs +2 -1
  152. package/__cjs/link/remove-typename/index.cjs.map +1 -1
  153. package/__cjs/link/remove-typename/index.d.cts +1 -1
  154. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +37 -25
  155. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  156. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +9 -10
  157. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  158. package/__cjs/link/retry/delayFunction.d.cts +1 -1
  159. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  160. package/__cjs/link/retry/retryFunction.d.cts +1 -1
  161. package/__cjs/link/retry/retryLink.cjs +2 -2
  162. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  163. package/__cjs/link/retry/retryLink.d.cts +2 -2
  164. package/__cjs/link/schema/index.cjs +2 -2
  165. package/__cjs/link/schema/index.cjs.map +1 -1
  166. package/__cjs/link/schema/index.d.cts +2 -2
  167. package/__cjs/link/subscriptions/index.cjs +5 -5
  168. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  169. package/__cjs/link/subscriptions/index.d.cts +2 -2
  170. package/__cjs/link/utils/createOperation.cjs +5 -1
  171. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  172. package/__cjs/link/utils/createOperation.d.cts +2 -2
  173. package/__cjs/link/utils/transformOperation.cjs +2 -2
  174. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  175. package/__cjs/link/utils/transformOperation.d.cts +1 -1
  176. package/__cjs/link/utils/validateOperation.cjs +1 -1
  177. package/__cjs/link/utils/validateOperation.cjs.map +1 -1
  178. package/__cjs/link/utils/validateOperation.d.cts +1 -1
  179. package/__cjs/link/ws/index.cjs +2 -2
  180. package/__cjs/link/ws/index.cjs.map +1 -1
  181. package/__cjs/link/ws/index.d.cts +2 -2
  182. package/__cjs/local-state/LocalState.cjs +527 -0
  183. package/__cjs/local-state/LocalState.cjs.map +1 -0
  184. package/__cjs/local-state/LocalState.d.cts +88 -0
  185. package/__cjs/local-state/index.cjs +6 -0
  186. package/__cjs/local-state/index.cjs.map +1 -0
  187. package/__cjs/local-state/index.d.cts +2 -0
  188. package/__cjs/masking/GraphQLCodegenDataMasking.cjs +3 -0
  189. package/__cjs/masking/GraphQLCodegenDataMasking.cjs.map +1 -0
  190. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +79 -0
  191. package/__cjs/masking/index.cjs.map +1 -1
  192. package/__cjs/masking/index.d.cts +1 -0
  193. package/__cjs/masking/internal/types.d.cts +1 -2
  194. package/__cjs/masking/maskDefinition.cjs +6 -6
  195. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  196. package/__cjs/masking/maskDefinition.d.cts +1 -1
  197. package/__cjs/masking/maskFragment.cjs +9 -13
  198. package/__cjs/masking/maskFragment.cjs.map +1 -1
  199. package/__cjs/masking/maskFragment.d.cts +5 -1
  200. package/__cjs/masking/maskOperation.cjs +9 -13
  201. package/__cjs/masking/maskOperation.cjs.map +1 -1
  202. package/__cjs/masking/maskOperation.d.cts +5 -1
  203. package/__cjs/masking/types.d.cts +12 -26
  204. package/__cjs/masking/utils.cjs +32 -7
  205. package/__cjs/masking/utils.cjs.map +1 -1
  206. package/__cjs/masking/utils.d.cts +7 -2
  207. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  208. package/__cjs/react/context/ApolloContext.cjs +1 -1
  209. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  210. package/__cjs/react/hooks/internal/__use.cjs +6 -6
  211. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  212. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +2 -2
  213. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  214. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  215. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  216. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  217. package/__cjs/react/hooks/internal/wrapHook.cjs +36 -34
  218. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  219. package/__cjs/react/hooks/internal/wrapHook.d.cts +42 -38
  220. package/__cjs/react/hooks/useApolloClient.cjs +1 -1
  221. package/__cjs/react/hooks/useBackgroundQuery.cjs +3 -2
  222. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  223. package/__cjs/react/hooks/useBackgroundQuery.d.cts +59 -28
  224. package/__cjs/react/hooks/useFragment.cjs +1 -0
  225. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  226. package/__cjs/react/hooks/useFragment.d.cts +2 -1
  227. package/__cjs/react/hooks/useLazyQuery.cjs +18 -16
  228. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  229. package/__cjs/react/hooks/useLazyQuery.d.cts +55 -80
  230. package/__cjs/react/hooks/useLoadableQuery.cjs +23 -4
  231. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  232. package/__cjs/react/hooks/useLoadableQuery.d.cts +8 -10
  233. package/__cjs/react/hooks/useMutation.cjs +2 -2
  234. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  235. package/__cjs/react/hooks/useMutation.d.cts +47 -14
  236. package/__cjs/react/hooks/useQuery.cjs +36 -48
  237. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  238. package/__cjs/react/hooks/useQuery.d.cts +19 -71
  239. package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -0
  240. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  241. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
  242. package/__cjs/react/hooks/useReadQuery.cjs +2 -0
  243. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  244. package/__cjs/react/hooks/useReadQuery.d.cts +4 -11
  245. package/__cjs/react/hooks/useSubscription.cjs +13 -18
  246. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  247. package/__cjs/react/hooks/useSubscription.d.cts +6 -8
  248. package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -0
  249. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  250. package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -2
  251. package/__cjs/react/hooks/useSuspenseQuery.cjs +8 -28
  252. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  253. package/__cjs/react/hooks/useSuspenseQuery.d.cts +19 -36
  254. package/__cjs/react/hooks/useSyncExternalStore.cjs +22 -3
  255. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  256. package/__cjs/react/index.cjs +3 -1
  257. package/__cjs/react/index.cjs.map +1 -1
  258. package/__cjs/react/index.d.cts +2 -1
  259. package/__cjs/react/internal/cache/FragmentReference.cjs +8 -5
  260. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  261. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -2
  262. package/__cjs/react/internal/cache/QueryReference.cjs +27 -38
  263. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  264. package/__cjs/react/internal/cache/QueryReference.d.cts +48 -108
  265. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  266. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  267. package/__cjs/react/internal/index.cjs.map +1 -1
  268. package/__cjs/react/internal/index.d.cts +2 -2
  269. package/__cjs/react/internal/types.d.cts +3 -45
  270. package/__cjs/react/query-preloader/createQueryPreloader.cjs +8 -2
  271. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  272. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +46 -38
  273. package/__cjs/react/ssr/prerenderStatic.cjs +9 -2
  274. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  275. package/__cjs/react/ssr/useSSRQuery.cjs +12 -2
  276. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  277. package/__cjs/react/types/deprecated.d.cts +3 -3
  278. package/__cjs/react/types/types.documentation.d.cts +12 -0
  279. package/__cjs/testing/core/mocking/mockLink.cjs +21 -22
  280. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  281. package/__cjs/testing/core/mocking/mockLink.d.cts +31 -24
  282. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs +2 -6
  283. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
  284. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +9 -8
  285. package/__cjs/testing/core/types/deprecated.cjs +3 -0
  286. package/__cjs/testing/core/types/deprecated.cjs.map +1 -0
  287. package/__cjs/testing/core/types/deprecated.d.cts +10 -0
  288. package/__cjs/testing/index.cjs +6 -13
  289. package/__cjs/testing/index.cjs.map +1 -1
  290. package/__cjs/testing/index.d.cts +3 -2
  291. package/__cjs/testing/react/MockedProvider.cjs +4 -4
  292. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  293. package/__cjs/testing/react/MockedProvider.d.cts +5 -6
  294. package/__cjs/utilities/DeepPartial.cjs.map +1 -0
  295. package/__cjs/utilities/DeepPartial.d.cts +15 -0
  296. package/__cjs/utilities/HKT.cjs +3 -0
  297. package/__cjs/utilities/HKT.cjs.map +1 -0
  298. package/__cjs/utilities/HKT.d.cts +35 -0
  299. package/__cjs/utilities/caching/index.cjs +1 -4
  300. package/__cjs/utilities/caching/index.cjs.map +1 -1
  301. package/__cjs/utilities/caching/index.d.cts +0 -1
  302. package/__cjs/utilities/caching/sizes.cjs +1 -1
  303. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  304. package/__cjs/utilities/caching/sizes.d.cts +6 -0
  305. package/__cjs/utilities/common/stripTypename.cjs +8 -2
  306. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  307. package/__cjs/utilities/common/stripTypename.d.cts +7 -1
  308. package/__cjs/utilities/graphql/DocumentTransform.cjs +13 -9
  309. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  310. package/__cjs/utilities/graphql/DocumentTransform.d.cts +10 -6
  311. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +9 -0
  312. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
  313. package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +3 -0
  314. package/__cjs/utilities/graphql/operations.cjs +23 -2
  315. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  316. package/__cjs/utilities/graphql/operations.d.cts +21 -0
  317. package/__cjs/utilities/graphql/print.cjs +9 -1
  318. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  319. package/__cjs/utilities/graphql/print.d.cts +8 -0
  320. package/__cjs/utilities/graphql/storeUtils.cjs +5 -206
  321. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  322. package/__cjs/utilities/graphql/storeUtils.d.cts +14 -22
  323. package/__cjs/utilities/graphql/transform.cjs +8 -454
  324. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  325. package/__cjs/utilities/graphql/transform.d.cts +6 -24
  326. package/__cjs/utilities/index.cjs +4 -90
  327. package/__cjs/utilities/index.cjs.map +1 -1
  328. package/__cjs/utilities/index.d.cts +8 -38
  329. package/__cjs/utilities/internal/DeepMerger.cjs +67 -0
  330. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
  331. package/__cjs/utilities/internal/DeepMerger.d.cts +17 -0
  332. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
  333. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
  334. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
  335. package/__cjs/utilities/internal/caches.cjs +76 -0
  336. package/__cjs/utilities/internal/caches.cjs.map +1 -0
  337. package/__cjs/utilities/internal/caches.d.cts +42 -0
  338. package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
  339. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
  340. package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
  341. package/__cjs/utilities/internal/checkDocument.cjs +69 -0
  342. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
  343. package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
  344. package/__cjs/utilities/internal/cloneDeep.cjs +45 -0
  345. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
  346. package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
  347. package/__cjs/utilities/internal/compact.cjs +26 -0
  348. package/__cjs/utilities/internal/compact.cjs.map +1 -0
  349. package/__cjs/utilities/internal/compact.d.cts +11 -0
  350. package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
  351. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
  352. package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
  353. package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
  354. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
  355. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
  356. package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
  357. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
  358. package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
  359. package/__cjs/utilities/internal/dealias.cjs +21 -0
  360. package/__cjs/utilities/internal/dealias.cjs.map +1 -0
  361. package/__cjs/utilities/internal/dealias.d.cts +5 -0
  362. package/__cjs/utilities/internal/decoratePromise.cjs +33 -0
  363. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
  364. package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
  365. package/__cjs/utilities/internal/deepFreeze.cjs +39 -0
  366. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
  367. package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
  368. package/__cjs/utilities/internal/filterMap.cjs +31 -0
  369. package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
  370. package/__cjs/utilities/internal/filterMap.d.cts +4 -0
  371. package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
  372. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
  373. package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
  374. package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
  375. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
  376. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
  377. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
  378. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
  379. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
  380. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
  381. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
  382. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
  383. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +86 -0
  384. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
  385. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +29 -0
  386. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +12 -0
  387. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
  388. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +10 -0
  389. package/__cjs/utilities/internal/getMainDefinition.cjs +38 -0
  390. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
  391. package/__cjs/utilities/internal/getMainDefinition.d.cts +12 -0
  392. package/__cjs/utilities/internal/getMemoryInternals.cjs +16 -9
  393. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  394. package/__cjs/utilities/internal/getMemoryInternals.d.cts +15 -10
  395. package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
  396. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
  397. package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
  398. package/__cjs/utilities/internal/getOperationName.cjs +12 -0
  399. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
  400. package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
  401. package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
  402. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
  403. package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
  404. package/__cjs/utilities/internal/getStoreKeyName.cjs +73 -0
  405. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
  406. package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
  407. package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
  408. package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
  409. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
  410. package/__cjs/utilities/internal/graphQLResultHasError.cjs +12 -0
  411. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
  412. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
  413. package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
  414. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
  415. package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
  416. package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
  417. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
  418. package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
  419. package/__cjs/utilities/internal/index.cjs +97 -5
  420. package/__cjs/utilities/internal/index.cjs.map +1 -1
  421. package/__cjs/utilities/internal/index.d.cts +62 -2
  422. package/__cjs/utilities/internal/isArray.cjs +12 -0
  423. package/__cjs/utilities/internal/isArray.cjs.map +1 -0
  424. package/__cjs/utilities/internal/isArray.d.cts +9 -0
  425. package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
  426. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
  427. package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
  428. package/__cjs/utilities/internal/isField.cjs +12 -0
  429. package/__cjs/utilities/internal/isField.cjs.map +1 -0
  430. package/__cjs/utilities/internal/isField.d.cts +8 -0
  431. package/__cjs/utilities/internal/isNonEmptyArray.cjs +12 -0
  432. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
  433. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
  434. package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
  435. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
  436. package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
  437. package/__cjs/utilities/internal/isPlainObject.cjs +15 -0
  438. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
  439. package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
  440. package/__cjs/utilities/internal/makeReference.cjs +12 -0
  441. package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
  442. package/__cjs/utilities/internal/makeReference.d.cts +8 -0
  443. package/__cjs/utilities/internal/makeUniqueId.cjs +18 -0
  444. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
  445. package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
  446. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
  447. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
  448. package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
  449. package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
  450. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
  451. package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
  452. package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
  453. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
  454. package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
  455. package/__cjs/utilities/internal/mergeOptions.cjs +18 -0
  456. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
  457. package/__cjs/utilities/internal/mergeOptions.d.cts +10 -0
  458. package/__cjs/utilities/internal/omitDeep.cjs +48 -0
  459. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
  460. package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
  461. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -0
  462. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +306 -0
  463. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
  464. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
  465. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
  466. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
  467. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
  468. package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
  469. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
  470. package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
  471. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
  472. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
  473. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
  474. package/__cjs/utilities/internal/stringifyForDisplay.cjs +18 -0
  475. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
  476. package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
  477. package/__cjs/utilities/internal/toQueryResult.cjs +5 -0
  478. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  479. package/__cjs/utilities/internal/toQueryResult.d.cts +5 -0
  480. package/__cjs/utilities/internal/types/ApplyHKT.cjs +3 -0
  481. package/__cjs/utilities/internal/types/ApplyHKT.cjs.map +1 -0
  482. package/__cjs/utilities/internal/types/ApplyHKT.d.cts +13 -0
  483. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs +3 -0
  484. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs.map +1 -0
  485. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.d.cts +11 -0
  486. package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
  487. package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
  488. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
  489. package/__cjs/utilities/internal/types/DeepOmit.d.cts +15 -0
  490. package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
  491. package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
  492. package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
  493. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
  494. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
  495. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
  496. package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
  497. package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
  498. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
  499. package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
  500. package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
  501. package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
  502. package/__cjs/utilities/internal/types/NoInfer.d.cts +29 -0
  503. package/__cjs/utilities/internal/types/PendingPromise.cjs +3 -0
  504. package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
  505. package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
  506. package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
  507. package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
  508. package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
  509. package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
  510. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
  511. package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +9 -0
  512. package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
  513. package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
  514. package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
  515. package/__cjs/utilities/internal/types/VariablesOption.cjs +3 -0
  516. package/__cjs/utilities/internal/types/VariablesOption.cjs.map +1 -0
  517. package/__cjs/utilities/internal/types/VariablesOption.d.cts +30 -0
  518. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
  519. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
  520. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
  521. package/__cjs/utilities/invariant/index.cjs +3 -2
  522. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  523. package/__cjs/utilities/policies/pagination.cjs +26 -9
  524. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  525. package/__cjs/utilities/policies/pagination.d.cts +23 -0
  526. package/__cjs/utilities/shared/canonicalStringify.cjs +91 -0
  527. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
  528. package/__cjs/utilities/subscriptions/relay/index.cjs +4 -4
  529. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  530. package/__cjs/version.cjs +3 -2
  531. package/__cjs/version.cjs.map +1 -1
  532. package/__cjs/version.d.cts +1 -0
  533. package/cache/core/cache.d.ts +11 -8
  534. package/cache/core/cache.js +11 -9
  535. package/cache/core/cache.js.map +1 -1
  536. package/cache/index.d.ts +1 -1
  537. package/cache/index.js +1 -1
  538. package/cache/index.js.map +1 -1
  539. package/cache/inmemory/entityStore.js +5 -4
  540. package/cache/inmemory/entityStore.js.map +1 -1
  541. package/cache/inmemory/fragmentRegistry.js +2 -1
  542. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  543. package/cache/inmemory/helpers.d.ts +3 -3
  544. package/cache/inmemory/helpers.js +2 -2
  545. package/cache/inmemory/helpers.js.map +1 -1
  546. package/cache/inmemory/inMemoryCache.d.ts +9 -7
  547. package/cache/inmemory/inMemoryCache.js.map +1 -1
  548. package/cache/inmemory/key-extractor.js +3 -3
  549. package/cache/inmemory/key-extractor.js.map +1 -1
  550. package/cache/inmemory/policies.d.ts +2 -1
  551. package/cache/inmemory/policies.js +7 -6
  552. package/cache/inmemory/policies.js.map +1 -1
  553. package/cache/inmemory/readFromStore.js +5 -4
  554. package/cache/inmemory/readFromStore.js.map +1 -1
  555. package/cache/inmemory/writeToStore.d.ts +2 -1
  556. package/cache/inmemory/writeToStore.js +34 -6
  557. package/cache/inmemory/writeToStore.js.map +1 -1
  558. package/core/ApolloClient.d.ts +29 -55
  559. package/core/ApolloClient.js +52 -77
  560. package/core/ApolloClient.js.map +1 -1
  561. package/core/ObservableQuery.d.ts +290 -60
  562. package/core/ObservableQuery.js +766 -466
  563. package/core/ObservableQuery.js.map +1 -1
  564. package/core/QueryInfo.d.ts +55 -30
  565. package/core/QueryInfo.js +267 -178
  566. package/core/QueryInfo.js.map +1 -1
  567. package/core/QueryManager.d.ts +52 -62
  568. package/core/QueryManager.js +480 -573
  569. package/core/QueryManager.js.map +1 -1
  570. package/core/equalByQuery.js +1 -1
  571. package/core/equalByQuery.js.map +1 -1
  572. package/core/index.d.ts +10 -12
  573. package/core/index.js +5 -5
  574. package/core/index.js.map +1 -1
  575. package/core/networkStatus.d.ts +7 -1
  576. package/core/networkStatus.js +7 -1
  577. package/core/networkStatus.js.map +1 -1
  578. package/core/types.d.ts +137 -25
  579. package/core/watchQueryOptions.d.ts +16 -101
  580. package/dev/loadErrorMessageHandler.js +1 -1
  581. package/dev/loadErrorMessageHandler.js.map +1 -1
  582. package/dev/setErrorMessageHandler.js +1 -1
  583. package/dev/setErrorMessageHandler.js.map +1 -1
  584. package/errors/CombinedGraphQLErrors.d.ts +21 -2
  585. package/errors/CombinedGraphQLErrors.js +28 -13
  586. package/errors/CombinedGraphQLErrors.js.map +1 -1
  587. package/errors/CombinedProtocolErrors.d.ts +9 -0
  588. package/errors/CombinedProtocolErrors.js +13 -6
  589. package/errors/CombinedProtocolErrors.js.map +1 -1
  590. package/errors/LinkError.d.ts +18 -0
  591. package/errors/LinkError.js +20 -0
  592. package/errors/LinkError.js.map +1 -0
  593. package/errors/LocalStateError.d.ts +20 -0
  594. package/errors/LocalStateError.js +23 -0
  595. package/errors/LocalStateError.js.map +1 -0
  596. package/errors/ServerError.d.ts +10 -8
  597. package/errors/ServerError.js +9 -4
  598. package/errors/ServerError.js.map +1 -1
  599. package/errors/ServerParseError.d.ts +2 -0
  600. package/errors/ServerParseError.js +6 -0
  601. package/errors/ServerParseError.js.map +1 -1
  602. package/errors/UnconventionalError.d.ts +2 -0
  603. package/errors/UnconventionalError.js +6 -0
  604. package/errors/UnconventionalError.js.map +1 -1
  605. package/errors/index.d.ts +5 -8
  606. package/errors/index.js +6 -10
  607. package/errors/index.js.map +1 -1
  608. package/errors/isErrorLike.d.ts +3 -0
  609. package/errors/isErrorLike.js +9 -0
  610. package/errors/isErrorLike.js.map +1 -0
  611. package/errors/utils.d.ts +3 -0
  612. package/errors/utils.js +14 -0
  613. package/errors/utils.js.map +1 -0
  614. package/incremental/handlers/defer20220824.d.ts +55 -0
  615. package/incremental/handlers/defer20220824.js +97 -0
  616. package/incremental/handlers/defer20220824.js.map +1 -0
  617. package/incremental/handlers/notImplemented.d.ts +9 -0
  618. package/incremental/handlers/notImplemented.js +15 -0
  619. package/incremental/handlers/notImplemented.js.map +1 -0
  620. package/incremental/index.d.ts +4 -0
  621. package/incremental/index.js +3 -0
  622. package/incremental/index.js.map +1 -0
  623. package/incremental/types.d.ts +24 -0
  624. package/incremental/types.js +2 -0
  625. package/incremental/types.js.map +1 -0
  626. package/invariantErrorCodes.js +276 -176
  627. package/legacyEntryPoints/incremental/incremental.cjs +1 -0
  628. package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
  629. package/legacyEntryPoints/incremental/index.d.ts +1 -0
  630. package/legacyEntryPoints/incremental/index.js +1 -0
  631. package/legacyEntryPoints/link/client-awareness/client-awareness.cjs +1 -0
  632. package/legacyEntryPoints/link/client-awareness/client-awareness.d.cts +1 -0
  633. package/legacyEntryPoints/link/client-awareness/index.d.ts +1 -0
  634. package/legacyEntryPoints/link/client-awareness/index.js +1 -0
  635. package/legacyEntryPoints/link/index.d.ts +1 -0
  636. package/legacyEntryPoints/link/index.js +1 -0
  637. package/legacyEntryPoints/link/link.cjs +1 -0
  638. package/legacyEntryPoints/link/link.d.cts +1 -0
  639. package/legacyEntryPoints/local-state/index.d.ts +1 -0
  640. package/legacyEntryPoints/local-state/index.js +1 -0
  641. package/legacyEntryPoints/local-state/local-state.cjs +1 -0
  642. package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
  643. package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
  644. package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
  645. package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
  646. package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
  647. package/link/batch/batchLink.d.ts +2 -2
  648. package/link/batch/batchLink.js +1 -1
  649. package/link/batch/batchLink.js.map +1 -1
  650. package/link/batch/batching.d.ts +1 -1
  651. package/link/batch/batching.js.map +1 -1
  652. package/link/batch-http/batchHttpLink.d.ts +9 -4
  653. package/link/batch-http/batchHttpLink.js +15 -62
  654. package/link/batch-http/batchHttpLink.js.map +1 -1
  655. package/link/batch-http/index.d.ts +1 -1
  656. package/link/batch-http/index.js +1 -1
  657. package/link/batch-http/index.js.map +1 -1
  658. package/link/client-awareness/ClientAwarenessLink.d.ts +62 -0
  659. package/link/client-awareness/ClientAwarenessLink.js +41 -0
  660. package/link/client-awareness/ClientAwarenessLink.js.map +1 -0
  661. package/link/client-awareness/index.d.ts +2 -0
  662. package/link/client-awareness/index.js +2 -0
  663. package/link/client-awareness/index.js.map +1 -0
  664. package/link/context/index.d.ts +11 -5
  665. package/link/context/index.js +35 -26
  666. package/link/context/index.js.map +1 -1
  667. package/link/core/ApolloLink.d.ts +17 -11
  668. package/link/core/ApolloLink.js +19 -13
  669. package/link/core/ApolloLink.js.map +1 -1
  670. package/link/core/types.d.ts +14 -36
  671. package/link/error/index.d.ts +17 -16
  672. package/link/error/index.js +69 -66
  673. package/link/error/index.js.map +1 -1
  674. package/link/http/BaseHttpLink.d.ts +6 -0
  675. package/link/http/BaseHttpLink.js +107 -0
  676. package/link/http/BaseHttpLink.js.map +1 -0
  677. package/link/http/HttpLink.d.ts +145 -4
  678. package/link/http/HttpLink.js +11 -5
  679. package/link/http/HttpLink.js.map +1 -1
  680. package/link/http/checkFetcher.js +1 -1
  681. package/link/http/index.d.ts +2 -3
  682. package/link/http/index.js +2 -2
  683. package/link/http/index.js.map +1 -1
  684. package/link/http/parseAndCheckHttpResponse.d.ts +1 -3
  685. package/link/http/parseAndCheckHttpResponse.js +74 -112
  686. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  687. package/link/http/rewriteURIForGET.d.ts +2 -2
  688. package/link/http/rewriteURIForGET.js.map +1 -1
  689. package/link/http/selectHttpOptionsAndBody.d.ts +8 -83
  690. package/link/http/selectHttpOptionsAndBody.js +7 -6
  691. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  692. package/link/http/selectURI.d.ts +1 -1
  693. package/link/http/selectURI.js.map +1 -1
  694. package/link/http/serializeFetchParameter.js +1 -1
  695. package/link/index.d.ts +8 -0
  696. package/link/index.js +7 -0
  697. package/link/index.js.map +1 -0
  698. package/link/persisted-queries/index.d.ts +21 -21
  699. package/link/persisted-queries/index.js +159 -140
  700. package/link/persisted-queries/index.js.map +1 -1
  701. package/link/remove-typename/index.d.ts +1 -1
  702. package/link/remove-typename/index.js +1 -1
  703. package/link/remove-typename/index.js.map +1 -1
  704. package/link/remove-typename/removeTypenameFromVariables.d.ts +9 -10
  705. package/link/remove-typename/removeTypenameFromVariables.js +35 -24
  706. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  707. package/link/retry/delayFunction.d.ts +1 -1
  708. package/link/retry/delayFunction.js.map +1 -1
  709. package/link/retry/retryFunction.d.ts +1 -1
  710. package/link/retry/retryFunction.js.map +1 -1
  711. package/link/retry/retryLink.d.ts +2 -2
  712. package/link/retry/retryLink.js +1 -1
  713. package/link/retry/retryLink.js.map +1 -1
  714. package/link/schema/index.d.ts +2 -2
  715. package/link/schema/index.js +1 -1
  716. package/link/schema/index.js.map +1 -1
  717. package/link/subscriptions/index.d.ts +2 -2
  718. package/link/subscriptions/index.js +2 -2
  719. package/link/subscriptions/index.js.map +1 -1
  720. package/link/utils/createOperation.d.ts +2 -2
  721. package/link/utils/createOperation.js +5 -1
  722. package/link/utils/createOperation.js.map +1 -1
  723. package/link/utils/transformOperation.d.ts +1 -1
  724. package/link/utils/transformOperation.js +2 -2
  725. package/link/utils/transformOperation.js.map +1 -1
  726. package/link/utils/validateOperation.d.ts +1 -1
  727. package/link/utils/validateOperation.js +1 -1
  728. package/link/utils/validateOperation.js.map +1 -1
  729. package/link/ws/index.d.ts +2 -2
  730. package/link/ws/index.js +1 -1
  731. package/link/ws/index.js.map +1 -1
  732. package/local-state/LocalState.d.ts +88 -0
  733. package/local-state/LocalState.js +519 -0
  734. package/local-state/LocalState.js.map +1 -0
  735. package/local-state/index.d.ts +2 -0
  736. package/local-state/index.js +2 -0
  737. package/local-state/index.js.map +1 -0
  738. package/masking/GraphQLCodegenDataMasking.d.ts +79 -0
  739. package/masking/GraphQLCodegenDataMasking.js +2 -0
  740. package/masking/GraphQLCodegenDataMasking.js.map +1 -0
  741. package/masking/index.d.ts +1 -0
  742. package/masking/index.js.map +1 -1
  743. package/masking/internal/types.d.ts +1 -2
  744. package/masking/maskDefinition.d.ts +1 -1
  745. package/masking/maskDefinition.js +4 -4
  746. package/masking/maskDefinition.js.map +1 -1
  747. package/masking/maskFragment.d.ts +5 -1
  748. package/masking/maskFragment.js +8 -12
  749. package/masking/maskFragment.js.map +1 -1
  750. package/masking/maskOperation.d.ts +5 -1
  751. package/masking/maskOperation.js +7 -11
  752. package/masking/maskOperation.js.map +1 -1
  753. package/masking/types.d.ts +12 -26
  754. package/masking/utils.d.ts +7 -2
  755. package/masking/utils.js +31 -7
  756. package/masking/utils.js.map +1 -1
  757. package/package.json +38 -185
  758. package/react/context/ApolloConsumer.js +1 -1
  759. package/react/context/ApolloContext.js +1 -1
  760. package/react/context/ApolloProvider.js +1 -1
  761. package/react/hooks/internal/__use.js +6 -6
  762. package/react/hooks/internal/__use.js.map +1 -1
  763. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  764. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  765. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  766. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  767. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  768. package/react/hooks/internal/wrapHook.d.ts +42 -38
  769. package/react/hooks/internal/wrapHook.js +36 -34
  770. package/react/hooks/internal/wrapHook.js.map +1 -1
  771. package/react/hooks/useApolloClient.js +15 -2
  772. package/react/hooks/useApolloClient.js.map +1 -1
  773. package/react/hooks/useBackgroundQuery.d.ts +59 -28
  774. package/react/hooks/useBackgroundQuery.js +9 -8
  775. package/react/hooks/useBackgroundQuery.js.map +1 -1
  776. package/react/hooks/useFragment.d.ts +2 -1
  777. package/react/hooks/useFragment.js +12 -11
  778. package/react/hooks/useFragment.js.map +1 -1
  779. package/react/hooks/useLazyQuery.d.ts +55 -80
  780. package/react/hooks/useLazyQuery.js +30 -28
  781. package/react/hooks/useLazyQuery.js.map +1 -1
  782. package/react/hooks/useLoadableQuery.d.ts +8 -10
  783. package/react/hooks/useLoadableQuery.js +232 -53
  784. package/react/hooks/useLoadableQuery.js.map +1 -1
  785. package/react/hooks/useMutation.d.ts +47 -14
  786. package/react/hooks/useMutation.js +192 -82
  787. package/react/hooks/useMutation.js.map +1 -1
  788. package/react/hooks/useQuery.d.ts +19 -71
  789. package/react/hooks/useQuery.js +253 -94
  790. package/react/hooks/useQuery.js.map +1 -1
  791. package/react/hooks/useQueryRefHandlers.d.ts +2 -2
  792. package/react/hooks/useQueryRefHandlers.js +64 -23
  793. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  794. package/react/hooks/useReadQuery.d.ts +4 -11
  795. package/react/hooks/useReadQuery.js +4 -2
  796. package/react/hooks/useReadQuery.js.map +1 -1
  797. package/react/hooks/useSubscription.d.ts +6 -8
  798. package/react/hooks/useSubscription.js +16 -21
  799. package/react/hooks/useSubscription.js.map +1 -1
  800. package/react/hooks/useSuspenseFragment.d.ts +1 -2
  801. package/react/hooks/useSuspenseFragment.js +1 -0
  802. package/react/hooks/useSuspenseFragment.js.map +1 -1
  803. package/react/hooks/useSuspenseQuery.d.ts +19 -36
  804. package/react/hooks/useSuspenseQuery.js +63 -54
  805. package/react/hooks/useSuspenseQuery.js.map +1 -1
  806. package/react/hooks/useSyncExternalStore.js +21 -2
  807. package/react/hooks/useSyncExternalStore.js.map +1 -1
  808. package/react/index.d.ts +2 -1
  809. package/react/index.js +1 -0
  810. package/react/index.js.map +1 -1
  811. package/react/internal/cache/FragmentReference.d.ts +2 -2
  812. package/react/internal/cache/FragmentReference.js +6 -3
  813. package/react/internal/cache/FragmentReference.js.map +1 -1
  814. package/react/internal/cache/QueryReference.d.ts +48 -108
  815. package/react/internal/cache/QueryReference.js +24 -35
  816. package/react/internal/cache/QueryReference.js.map +1 -1
  817. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  818. package/react/internal/cache/SuspenseCache.js.map +1 -1
  819. package/react/internal/index.d.ts +2 -2
  820. package/react/internal/index.js.map +1 -1
  821. package/react/internal/types.d.ts +3 -45
  822. package/react/query-preloader/createQueryPreloader.d.ts +46 -38
  823. package/react/query-preloader/createQueryPreloader.js +9 -3
  824. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  825. package/react/ssr/prerenderStatic.js +9 -2
  826. package/react/ssr/prerenderStatic.js.map +1 -1
  827. package/react/ssr/useSSRQuery.js +12 -2
  828. package/react/ssr/useSSRQuery.js.map +1 -1
  829. package/react/types/deprecated.d.ts +3 -3
  830. package/react/types/types.documentation.d.ts +12 -0
  831. package/testing/core/mocking/mockLink.d.ts +31 -24
  832. package/testing/core/mocking/mockLink.js +15 -15
  833. package/testing/core/mocking/mockLink.js.map +1 -1
  834. package/testing/core/mocking/mockSubscriptionLink.d.ts +9 -8
  835. package/testing/core/mocking/mockSubscriptionLink.js +1 -4
  836. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  837. package/testing/core/types/deprecated.d.ts +10 -0
  838. package/testing/core/types/deprecated.js +2 -0
  839. package/testing/core/types/deprecated.js.map +1 -0
  840. package/testing/index.d.ts +3 -2
  841. package/testing/index.js +2 -1
  842. package/testing/index.js.map +1 -1
  843. package/testing/react/MockedProvider.d.ts +5 -6
  844. package/testing/react/MockedProvider.js +3 -3
  845. package/testing/react/MockedProvider.js.map +1 -1
  846. package/utilities/DeepPartial.d.ts +15 -0
  847. package/utilities/DeepPartial.js.map +1 -0
  848. package/utilities/HKT.d.ts +35 -0
  849. package/utilities/HKT.js +2 -0
  850. package/utilities/HKT.js.map +1 -0
  851. package/utilities/caching/index.d.ts +0 -1
  852. package/utilities/caching/index.js +0 -1
  853. package/utilities/caching/index.js.map +1 -1
  854. package/utilities/caching/sizes.d.ts +6 -0
  855. package/utilities/caching/sizes.js +1 -1
  856. package/utilities/caching/sizes.js.map +1 -1
  857. package/utilities/common/stripTypename.d.ts +7 -1
  858. package/utilities/common/stripTypename.js +7 -1
  859. package/utilities/common/stripTypename.js.map +1 -1
  860. package/utilities/graphql/DocumentTransform.d.ts +10 -6
  861. package/utilities/graphql/DocumentTransform.js +12 -8
  862. package/utilities/graphql/DocumentTransform.js.map +1 -1
  863. package/utilities/graphql/isFormattedExecutionResult.d.ts +3 -0
  864. package/utilities/graphql/isFormattedExecutionResult.js +6 -0
  865. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
  866. package/utilities/graphql/operations.d.ts +21 -0
  867. package/utilities/graphql/operations.js +22 -1
  868. package/utilities/graphql/operations.js.map +1 -1
  869. package/utilities/graphql/print.d.ts +8 -0
  870. package/utilities/graphql/print.js +10 -2
  871. package/utilities/graphql/print.js.map +1 -1
  872. package/utilities/graphql/storeUtils.d.ts +14 -22
  873. package/utilities/graphql/storeUtils.js +5 -196
  874. package/utilities/graphql/storeUtils.js.map +1 -1
  875. package/utilities/graphql/transform.d.ts +6 -24
  876. package/utilities/graphql/transform.js +7 -443
  877. package/utilities/graphql/transform.js.map +1 -1
  878. package/utilities/index.d.ts +8 -38
  879. package/utilities/index.js +5 -23
  880. package/utilities/index.js.map +1 -1
  881. package/utilities/internal/DeepMerger.d.ts +17 -0
  882. package/utilities/internal/DeepMerger.js +63 -0
  883. package/utilities/internal/DeepMerger.js.map +1 -0
  884. package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
  885. package/utilities/internal/argumentsObjectFromField.js +15 -0
  886. package/utilities/internal/argumentsObjectFromField.js.map +1 -0
  887. package/utilities/internal/caches.d.ts +42 -0
  888. package/utilities/internal/caches.js +73 -0
  889. package/utilities/internal/caches.js.map +1 -0
  890. package/utilities/internal/canUseDOM.d.ts +7 -0
  891. package/utilities/internal/canUseDOM.js +8 -0
  892. package/utilities/internal/canUseDOM.js.map +1 -0
  893. package/utilities/internal/checkDocument.d.ts +10 -0
  894. package/utilities/internal/checkDocument.js +66 -0
  895. package/utilities/internal/checkDocument.js.map +1 -0
  896. package/utilities/internal/cloneDeep.d.ts +9 -0
  897. package/utilities/internal/cloneDeep.js +42 -0
  898. package/utilities/internal/cloneDeep.js.map +1 -0
  899. package/utilities/internal/compact.d.ts +11 -0
  900. package/utilities/internal/compact.js +23 -0
  901. package/utilities/internal/compact.js.map +1 -0
  902. package/utilities/internal/createFragmentMap.d.ts +12 -0
  903. package/utilities/internal/createFragmentMap.js +16 -0
  904. package/utilities/internal/createFragmentMap.js.map +1 -0
  905. package/utilities/internal/createFulfilledPromise.d.ts +8 -0
  906. package/utilities/internal/createFulfilledPromise.js +12 -0
  907. package/utilities/internal/createFulfilledPromise.js.map +1 -0
  908. package/utilities/internal/createRejectedPromise.d.ts +8 -0
  909. package/utilities/internal/createRejectedPromise.js +14 -0
  910. package/utilities/internal/createRejectedPromise.js.map +1 -0
  911. package/utilities/internal/dealias.d.ts +5 -0
  912. package/utilities/internal/dealias.js +18 -0
  913. package/utilities/internal/dealias.js.map +1 -0
  914. package/utilities/internal/decoratePromise.d.ts +8 -0
  915. package/utilities/internal/decoratePromise.js +30 -0
  916. package/utilities/internal/decoratePromise.js.map +1 -0
  917. package/utilities/internal/deepFreeze.d.ts +7 -0
  918. package/utilities/internal/deepFreeze.js +36 -0
  919. package/utilities/internal/deepFreeze.js.map +1 -0
  920. package/utilities/internal/filterMap.d.ts +4 -0
  921. package/utilities/internal/filterMap.js +28 -0
  922. package/utilities/internal/filterMap.js.map +1 -0
  923. package/utilities/internal/getDefaultValues.d.ts +8 -0
  924. package/utilities/internal/getDefaultValues.js +19 -0
  925. package/utilities/internal/getDefaultValues.js.map +1 -0
  926. package/utilities/internal/getFragmentDefinition.d.ts +8 -0
  927. package/utilities/internal/getFragmentDefinition.js +14 -0
  928. package/utilities/internal/getFragmentDefinition.js.map +1 -0
  929. package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
  930. package/utilities/internal/getFragmentDefinitions.js +9 -0
  931. package/utilities/internal/getFragmentDefinitions.js.map +1 -0
  932. package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
  933. package/utilities/internal/getFragmentFromSelection.js +24 -0
  934. package/utilities/internal/getFragmentFromSelection.js.map +1 -0
  935. package/utilities/internal/getFragmentQueryDocument.d.ts +29 -0
  936. package/utilities/internal/getFragmentQueryDocument.js +83 -0
  937. package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
  938. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +10 -0
  939. package/utilities/internal/getGraphQLErrorsFromResult.js +9 -0
  940. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
  941. package/utilities/internal/getMainDefinition.d.ts +12 -0
  942. package/utilities/internal/getMainDefinition.js +35 -0
  943. package/utilities/internal/getMainDefinition.js.map +1 -0
  944. package/utilities/internal/getMemoryInternals.d.ts +15 -10
  945. package/utilities/internal/getMemoryInternals.js +16 -9
  946. package/utilities/internal/getMemoryInternals.js.map +1 -1
  947. package/utilities/internal/getOperationDefinition.d.ts +8 -0
  948. package/utilities/internal/getOperationDefinition.js +11 -0
  949. package/utilities/internal/getOperationDefinition.js.map +1 -0
  950. package/utilities/internal/getOperationName.d.ts +8 -0
  951. package/utilities/internal/getOperationName.js +9 -0
  952. package/utilities/internal/getOperationName.js.map +1 -0
  953. package/utilities/internal/getQueryDefinition.d.ts +8 -0
  954. package/utilities/internal/getQueryDefinition.js +13 -0
  955. package/utilities/internal/getQueryDefinition.js.map +1 -0
  956. package/utilities/internal/getStoreKeyName.d.ts +16 -0
  957. package/utilities/internal/getStoreKeyName.js +70 -0
  958. package/utilities/internal/getStoreKeyName.js.map +1 -0
  959. package/utilities/internal/globals/global.js +14 -0
  960. package/utilities/internal/globals/global.js.map +1 -0
  961. package/utilities/internal/globals/index.js.map +1 -0
  962. package/utilities/internal/globals/maybe.js.map +1 -0
  963. package/utilities/internal/graphQLResultHasError.d.ts +8 -0
  964. package/utilities/internal/graphQLResultHasError.js +9 -0
  965. package/utilities/internal/graphQLResultHasError.js.map +1 -0
  966. package/utilities/internal/hasDirectives.d.ts +8 -0
  967. package/utilities/internal/hasDirectives.js +21 -0
  968. package/utilities/internal/hasDirectives.js.map +1 -0
  969. package/utilities/internal/hasForcedResolvers.d.ts +3 -0
  970. package/utilities/internal/hasForcedResolvers.js +20 -0
  971. package/utilities/internal/hasForcedResolvers.js.map +1 -0
  972. package/utilities/internal/index.d.ts +62 -2
  973. package/utilities/internal/index.js +47 -2
  974. package/utilities/internal/index.js.map +1 -1
  975. package/utilities/internal/isArray.d.ts +9 -0
  976. package/utilities/internal/isArray.js +9 -0
  977. package/utilities/internal/isArray.js.map +1 -0
  978. package/utilities/internal/isDocumentNode.d.ts +8 -0
  979. package/utilities/internal/isDocumentNode.js +12 -0
  980. package/utilities/internal/isDocumentNode.js.map +1 -0
  981. package/utilities/internal/isField.d.ts +8 -0
  982. package/utilities/internal/isField.js +9 -0
  983. package/utilities/internal/isField.js.map +1 -0
  984. package/utilities/internal/isNonEmptyArray.d.ts +7 -0
  985. package/utilities/internal/isNonEmptyArray.js +9 -0
  986. package/utilities/internal/isNonEmptyArray.js.map +1 -0
  987. package/utilities/internal/isNonNullObject.d.ts +7 -0
  988. package/utilities/internal/isNonNullObject.js +9 -0
  989. package/utilities/internal/isNonNullObject.js.map +1 -0
  990. package/utilities/internal/isPlainObject.d.ts +7 -0
  991. package/utilities/internal/isPlainObject.js +12 -0
  992. package/utilities/internal/isPlainObject.js.map +1 -0
  993. package/utilities/internal/makeReference.d.ts +8 -0
  994. package/utilities/internal/makeReference.js +9 -0
  995. package/utilities/internal/makeReference.js.map +1 -0
  996. package/utilities/internal/makeUniqueId.d.ts +10 -0
  997. package/utilities/internal/makeUniqueId.js +15 -0
  998. package/utilities/internal/makeUniqueId.js.map +1 -0
  999. package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
  1000. package/utilities/internal/maybeDeepFreeze.js +14 -0
  1001. package/utilities/internal/maybeDeepFreeze.js.map +1 -0
  1002. package/utilities/internal/mergeDeep.d.ts +8 -0
  1003. package/utilities/internal/mergeDeep.js +23 -0
  1004. package/utilities/internal/mergeDeep.js.map +1 -0
  1005. package/utilities/internal/mergeDeepArray.d.ts +7 -0
  1006. package/utilities/internal/mergeDeepArray.js +24 -0
  1007. package/utilities/internal/mergeDeepArray.js.map +1 -0
  1008. package/utilities/internal/mergeOptions.d.ts +10 -0
  1009. package/utilities/internal/mergeOptions.js +15 -0
  1010. package/utilities/internal/mergeOptions.js.map +1 -0
  1011. package/utilities/internal/omitDeep.d.ts +8 -0
  1012. package/utilities/internal/omitDeep.js +45 -0
  1013. package/utilities/internal/omitDeep.js.map +1 -0
  1014. package/utilities/internal/preventUnhandledRejection.js.map +1 -0
  1015. package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
  1016. package/utilities/internal/removeDirectivesFromDocument.js +300 -0
  1017. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
  1018. package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
  1019. package/utilities/internal/resultKeyNameFromField.js +9 -0
  1020. package/utilities/internal/resultKeyNameFromField.js.map +1 -0
  1021. package/utilities/internal/shouldInclude.d.ts +8 -0
  1022. package/utilities/internal/shouldInclude.js +47 -0
  1023. package/utilities/internal/shouldInclude.js.map +1 -0
  1024. package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
  1025. package/utilities/internal/storeKeyNameFromField.js +26 -0
  1026. package/utilities/internal/storeKeyNameFromField.js.map +1 -0
  1027. package/utilities/internal/stringifyForDisplay.d.ts +7 -0
  1028. package/utilities/internal/stringifyForDisplay.js +15 -0
  1029. package/utilities/internal/stringifyForDisplay.js.map +1 -0
  1030. package/utilities/internal/toQueryResult.d.ts +5 -0
  1031. package/utilities/internal/toQueryResult.js +5 -0
  1032. package/utilities/internal/toQueryResult.js.map +1 -1
  1033. package/utilities/internal/types/ApplyHKT.d.ts +13 -0
  1034. package/utilities/internal/types/ApplyHKT.js +2 -0
  1035. package/utilities/internal/types/ApplyHKT.js.map +1 -0
  1036. package/utilities/internal/types/ApplyHKTImplementationWithDefault.d.ts +11 -0
  1037. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +2 -0
  1038. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -0
  1039. package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
  1040. package/utilities/internal/types/DecoratedPromise.js +2 -0
  1041. package/utilities/internal/types/DecoratedPromise.js.map +1 -0
  1042. package/utilities/internal/types/DeepOmit.d.ts +15 -0
  1043. package/utilities/internal/types/FragmentMap.d.ts +12 -0
  1044. package/utilities/internal/types/FragmentMap.js +2 -0
  1045. package/utilities/internal/types/FragmentMap.js.map +1 -0
  1046. package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
  1047. package/utilities/internal/types/FragmentMapFunction.js +2 -0
  1048. package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
  1049. package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
  1050. package/utilities/internal/types/FulfilledPromise.js +2 -0
  1051. package/utilities/internal/types/FulfilledPromise.js.map +1 -0
  1052. package/utilities/internal/types/IsAny.d.ts +7 -0
  1053. package/utilities/internal/types/IsAny.js +2 -0
  1054. package/utilities/internal/types/IsAny.js.map +1 -0
  1055. package/utilities/internal/types/NoInfer.d.ts +29 -0
  1056. package/utilities/internal/types/PendingPromise.d.ts +9 -0
  1057. package/utilities/internal/types/PendingPromise.js +2 -0
  1058. package/utilities/internal/types/PendingPromise.js.map +1 -0
  1059. package/utilities/internal/types/Prettify.d.ts +9 -0
  1060. package/utilities/internal/types/Primitive.d.ts +7 -0
  1061. package/utilities/internal/types/RejectedPromise.d.ts +10 -0
  1062. package/utilities/internal/types/RejectedPromise.js +2 -0
  1063. package/utilities/internal/types/RejectedPromise.js.map +1 -0
  1064. package/utilities/internal/types/RemoveIndexSignature.d.ts +9 -0
  1065. package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
  1066. package/utilities/internal/types/TupleToIntersection.js +2 -0
  1067. package/utilities/internal/types/TupleToIntersection.js.map +1 -0
  1068. package/utilities/internal/types/VariablesOption.d.ts +30 -0
  1069. package/utilities/internal/types/VariablesOption.js +2 -0
  1070. package/utilities/internal/types/VariablesOption.js.map +1 -0
  1071. package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
  1072. package/utilities/internal/valueToObjectRepresentation.js +41 -0
  1073. package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
  1074. package/utilities/invariant/index.js +3 -2
  1075. package/utilities/invariant/index.js.map +1 -1
  1076. package/utilities/policies/pagination.d.ts +23 -0
  1077. package/utilities/policies/pagination.js +24 -7
  1078. package/utilities/policies/pagination.js.map +1 -1
  1079. package/utilities/shared/canonicalStringify.js +88 -0
  1080. package/utilities/shared/canonicalStringify.js.map +1 -0
  1081. package/utilities/subscriptions/relay/index.js +3 -3
  1082. package/utilities/subscriptions/relay/index.js.map +1 -1
  1083. package/version.d.ts +1 -0
  1084. package/version.js +2 -1
  1085. package/version.js.map +1 -1
  1086. package/.changeset/README.md +0 -8
  1087. package/.changeset/afraid-moons-arrive.md +0 -5
  1088. package/.changeset/beige-mirrors-talk.md +0 -15
  1089. package/.changeset/brave-radios-wait.md +0 -5
  1090. package/.changeset/bright-ads-share.md +0 -5
  1091. package/.changeset/calm-frogs-remain.md +0 -7
  1092. package/.changeset/calm-seals-relate.md +0 -5
  1093. package/.changeset/chatty-planes-grin.md +0 -5
  1094. package/.changeset/clean-sheep-hide.md +0 -6
  1095. package/.changeset/clever-zebras-mate.md +0 -5
  1096. package/.changeset/config.json +0 -14
  1097. package/.changeset/cool-bikes-shake.md +0 -12
  1098. package/.changeset/cuddly-spiders-tie.md +0 -5
  1099. package/.changeset/curvy-pianos-count.md +0 -5
  1100. package/.changeset/dirty-eagles-poke.md +0 -5
  1101. package/.changeset/dirty-trees-pump.md +0 -5
  1102. package/.changeset/early-eggs-develop.md +0 -22
  1103. package/.changeset/eighty-squids-fix.md +0 -15
  1104. package/.changeset/eleven-kangaroos-jump.md +0 -5
  1105. package/.changeset/empty-rabbits-move.md +0 -5
  1106. package/.changeset/fluffy-shoes-applaud.md +0 -5
  1107. package/.changeset/forty-hairs-occur.md +0 -5
  1108. package/.changeset/forty-shrimps-fry.md +0 -5
  1109. package/.changeset/forty-tomatoes-punch.md +0 -5
  1110. package/.changeset/four-ghosts-watch.md +0 -5
  1111. package/.changeset/fresh-moose-hope.md +0 -5
  1112. package/.changeset/funny-jeans-invent.md +0 -16
  1113. package/.changeset/fuzzy-tips-sit.md +0 -5
  1114. package/.changeset/giant-apes-thank.md +0 -5
  1115. package/.changeset/giant-bags-share.md +0 -5
  1116. package/.changeset/good-dolphins-peel.md +0 -113
  1117. package/.changeset/gorgeous-chefs-tap.md +0 -5
  1118. package/.changeset/grumpy-vans-type.md +0 -5
  1119. package/.changeset/healthy-apes-sneeze.md +0 -5
  1120. package/.changeset/hip-vans-act.md +0 -5
  1121. package/.changeset/hot-cycles-notice.md +0 -5
  1122. package/.changeset/itchy-drinks-refuse.md +0 -5
  1123. package/.changeset/itchy-roses-accept.md +0 -5
  1124. package/.changeset/khaki-keys-deliver.md +0 -5
  1125. package/.changeset/khaki-spies-work.md +0 -11
  1126. package/.changeset/kind-fishes-develop.md +0 -17
  1127. package/.changeset/large-plants-know.md +0 -5
  1128. package/.changeset/late-trainers-peel.md +0 -7
  1129. package/.changeset/light-apes-rescue.md +0 -5
  1130. package/.changeset/light-dolphins-taste.md +0 -5
  1131. package/.changeset/light-sloths-end.md +0 -16
  1132. package/.changeset/little-spoons-kick.md +0 -7
  1133. package/.changeset/loud-cows-raise.md +0 -7
  1134. package/.changeset/lucky-hats-push.md +0 -7
  1135. package/.changeset/many-buses-allow.md +0 -5
  1136. package/.changeset/many-papayas-hide.md +0 -5
  1137. package/.changeset/mean-lizards-think.md +0 -5
  1138. package/.changeset/metal-needles-search.md +0 -5
  1139. package/.changeset/mighty-penguins-wink.md +0 -16
  1140. package/.changeset/modern-feet-do.md +0 -5
  1141. package/.changeset/moody-lobsters-listen.md +0 -7
  1142. package/.changeset/nervous-fireants-bow.md +0 -5
  1143. package/.changeset/nervous-goats-allow.md +0 -5
  1144. package/.changeset/nice-donkeys-reflect.md +0 -5
  1145. package/.changeset/nice-dots-matter.md +0 -5
  1146. package/.changeset/nice-waves-work.md +0 -7
  1147. package/.changeset/ninety-bags-bake.md +0 -17
  1148. package/.changeset/odd-lemons-relax.md +0 -5
  1149. package/.changeset/perfect-vans-give.md +0 -7
  1150. package/.changeset/polite-bees-care.md +0 -26
  1151. package/.changeset/poor-eels-punch.md +0 -5
  1152. package/.changeset/popular-games-sleep.md +0 -5
  1153. package/.changeset/pre.json +0 -121
  1154. package/.changeset/purple-bears-flash.md +0 -5
  1155. package/.changeset/purple-lions-cough.md +0 -5
  1156. package/.changeset/rare-houses-prove.md +0 -5
  1157. package/.changeset/real-gorillas-move.md +0 -21
  1158. package/.changeset/real-teachers-peel.md +0 -5
  1159. package/.changeset/rich-eagles-cross.md +0 -5
  1160. package/.changeset/rich-kids-carry.md +0 -9
  1161. package/.changeset/rude-fans-study.md +0 -5
  1162. package/.changeset/seven-foxes-melt.md +0 -5
  1163. package/.changeset/shaggy-pugs-add.md +0 -52
  1164. package/.changeset/shiny-carrots-invent.md +0 -5
  1165. package/.changeset/short-jokes-jam.md +0 -27
  1166. package/.changeset/short-months-complain.md +0 -5
  1167. package/.changeset/silly-knives-exist.md +0 -5
  1168. package/.changeset/slimy-chicken-melt.md +0 -5
  1169. package/.changeset/slimy-maps-press.md +0 -5
  1170. package/.changeset/slow-ravens-explain.md +0 -19
  1171. package/.changeset/small-buttons-rhyme.md +0 -5
  1172. package/.changeset/small-cycles-rescue.md +0 -5
  1173. package/.changeset/small-kids-film.md +0 -14
  1174. package/.changeset/smart-rats-explode.md +0 -5
  1175. package/.changeset/smooth-coins-collect.md +0 -5
  1176. package/.changeset/smooth-pens-reply.md +0 -7
  1177. package/.changeset/soft-mails-clean.md +0 -5
  1178. package/.changeset/sour-pillows-guess.md +0 -7
  1179. package/.changeset/strange-seahorses-impress.md +0 -17
  1180. package/.changeset/swift-rivers-share.md +0 -13
  1181. package/.changeset/tall-bikes-develop.md +0 -5
  1182. package/.changeset/tall-cups-suffer.md +0 -13
  1183. package/.changeset/tame-doors-shop.md +0 -14
  1184. package/.changeset/tame-points-work.md +0 -11
  1185. package/.changeset/tender-swans-flash.md +0 -16
  1186. package/.changeset/thick-books-grin.md +0 -5
  1187. package/.changeset/thin-peas-hear.md +0 -16
  1188. package/.changeset/tidy-squids-poke.md +0 -12
  1189. package/.changeset/tough-rockets-allow.md +0 -5
  1190. package/.changeset/tough-taxis-smoke.md +0 -7
  1191. package/.changeset/tough-tips-drop.md +0 -15
  1192. package/.changeset/tricky-tables-shave.md +0 -5
  1193. package/.changeset/twenty-snakes-sort.md +0 -7
  1194. package/.changeset/unlucky-kiwis-sell.md +0 -5
  1195. package/.changeset/unlucky-sheep-change.md +0 -5
  1196. package/.changeset/warm-ties-sit.md +0 -7
  1197. package/.changeset/wicked-forks-double.md +0 -33
  1198. package/.changeset/yellow-cats-judge.md +0 -13
  1199. package/.changeset/young-phones-fold.md +0 -5
  1200. package/.changeset/young-turtles-explode.md +0 -5
  1201. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +0 -20
  1202. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +0 -1
  1203. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.d.cts +0 -3
  1204. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +0 -18
  1205. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +0 -1
  1206. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.d.cts +0 -3
  1207. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs +0 -11
  1208. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs.map +0 -1
  1209. package/__cjs/config/jest/areGraphQlErrorsEqual.d.cts +0 -3
  1210. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +0 -20
  1211. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +0 -1
  1212. package/__cjs/config/jest/areMissingFieldErrorsEqual.d.cts +0 -3
  1213. package/__cjs/config/jest/areServerErrorsEqual.cjs +0 -21
  1214. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +0 -1
  1215. package/__cjs/config/jest/areServerErrorsEqual.d.cts +0 -3
  1216. package/__cjs/config/jest/resolver.cjs +0 -32
  1217. package/__cjs/config/jest/resolver.cjs.map +0 -1
  1218. package/__cjs/config/jest/resolver.d.cts +0 -3
  1219. package/__cjs/config/jest/setup.cjs +0 -65
  1220. package/__cjs/config/jest/setup.cjs.map +0 -1
  1221. package/__cjs/config/jest/setup.d.cts +0 -3
  1222. package/__cjs/core/LocalState.cjs +0 -333
  1223. package/__cjs/core/LocalState.cjs.map +0 -1
  1224. package/__cjs/core/LocalState.d.cts +0 -53
  1225. package/__cjs/link/core/index.cjs +0 -16
  1226. package/__cjs/link/core/index.cjs.map +0 -1
  1227. package/__cjs/link/core/index.d.cts +0 -8
  1228. package/__cjs/link/http/createHttpLink.cjs +0 -158
  1229. package/__cjs/link/http/createHttpLink.cjs.map +0 -1
  1230. package/__cjs/link/http/createHttpLink.d.cts +0 -4
  1231. package/__cjs/masking/__benches__/types.bench.cjs +0 -223
  1232. package/__cjs/masking/__benches__/types.bench.cjs.map +0 -1
  1233. package/__cjs/masking/__benches__/types.bench.d.cts +0 -2
  1234. package/__cjs/testing/core/index.cjs +0 -20
  1235. package/__cjs/testing/core/index.cjs.map +0 -1
  1236. package/__cjs/testing/core/index.d.cts +0 -7
  1237. package/__cjs/testing/core/mocking/mockClient.cjs +0 -17
  1238. package/__cjs/testing/core/mocking/mockClient.cjs.map +0 -1
  1239. package/__cjs/testing/core/mocking/mockClient.d.cts +0 -4
  1240. package/__cjs/testing/core/wait.cjs +0 -11
  1241. package/__cjs/testing/core/wait.cjs.map +0 -1
  1242. package/__cjs/testing/core/wait.d.cts +0 -3
  1243. package/__cjs/testing/core/withConsoleSpy.cjs +0 -33
  1244. package/__cjs/testing/core/withConsoleSpy.cjs.map +0 -1
  1245. package/__cjs/testing/core/withConsoleSpy.d.cts +0 -7
  1246. package/__cjs/testing/experimental/createSchemaFetch.cjs +0 -92
  1247. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +0 -1
  1248. package/__cjs/testing/experimental/createSchemaFetch.d.cts +0 -43
  1249. package/__cjs/testing/experimental/createTestSchema.cjs +0 -110
  1250. package/__cjs/testing/experimental/createTestSchema.cjs.map +0 -1
  1251. package/__cjs/testing/experimental/createTestSchema.d.cts +0 -57
  1252. package/__cjs/testing/experimental/graphql-tools/utils.cjs +0 -177
  1253. package/__cjs/testing/experimental/graphql-tools/utils.cjs.map +0 -1
  1254. package/__cjs/testing/experimental/graphql-tools/utils.d.cts +0 -26
  1255. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs +0 -200
  1256. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs.map +0 -1
  1257. package/__cjs/testing/experimental/graphql-tools/utils.test.d.cts +0 -2
  1258. package/__cjs/testing/experimental/index.cjs +0 -8
  1259. package/__cjs/testing/experimental/index.cjs.map +0 -1
  1260. package/__cjs/testing/experimental/index.d.cts +0 -3
  1261. package/__cjs/testing/internal/ObservableStream.cjs +0 -98
  1262. package/__cjs/testing/internal/ObservableStream.cjs.map +0 -1
  1263. package/__cjs/testing/internal/ObservableStream.d.cts +0 -28
  1264. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs +0 -19
  1265. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs.map +0 -1
  1266. package/__cjs/testing/internal/disposables/enableFakeTimers.d.cts +0 -7
  1267. package/__cjs/testing/internal/disposables/index.cjs +0 -12
  1268. package/__cjs/testing/internal/disposables/index.cjs.map +0 -1
  1269. package/__cjs/testing/internal/disposables/index.d.cts +0 -5
  1270. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -24
  1271. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +0 -1
  1272. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -8
  1273. package/__cjs/testing/internal/disposables/withCleanup.cjs +0 -18
  1274. package/__cjs/testing/internal/disposables/withCleanup.cjs.map +0 -1
  1275. package/__cjs/testing/internal/disposables/withCleanup.d.cts +0 -3
  1276. package/__cjs/testing/internal/disposables/withProdMode.cjs +0 -17
  1277. package/__cjs/testing/internal/disposables/withProdMode.cjs.map +0 -1
  1278. package/__cjs/testing/internal/disposables/withProdMode.d.cts +0 -4
  1279. package/__cjs/testing/internal/incremental.cjs +0 -124
  1280. package/__cjs/testing/internal/incremental.cjs.map +0 -1
  1281. package/__cjs/testing/internal/incremental.d.cts +0 -16
  1282. package/__cjs/testing/internal/index.cjs +0 -31
  1283. package/__cjs/testing/internal/index.cjs.map +0 -1
  1284. package/__cjs/testing/internal/index.d.cts +0 -11
  1285. package/__cjs/testing/internal/messageChannelPolyfill.cjs +0 -18
  1286. package/__cjs/testing/internal/messageChannelPolyfill.cjs.map +0 -1
  1287. package/__cjs/testing/internal/messageChannelPolyfill.d.cts +0 -2
  1288. package/__cjs/testing/internal/renderHelpers.cjs +0 -21
  1289. package/__cjs/testing/internal/renderHelpers.cjs.map +0 -1
  1290. package/__cjs/testing/internal/renderHelpers.d.cts +0 -14
  1291. package/__cjs/testing/internal/resetApolloContext.cjs +0 -24
  1292. package/__cjs/testing/internal/resetApolloContext.cjs.map +0 -1
  1293. package/__cjs/testing/internal/resetApolloContext.d.cts +0 -10
  1294. package/__cjs/testing/internal/rtl/actAsync.cjs +0 -18
  1295. package/__cjs/testing/internal/rtl/actAsync.cjs.map +0 -1
  1296. package/__cjs/testing/internal/rtl/actAsync.d.cts +0 -2
  1297. package/__cjs/testing/internal/rtl/renderAsync.cjs +0 -15
  1298. package/__cjs/testing/internal/rtl/renderAsync.cjs.map +0 -1
  1299. package/__cjs/testing/internal/rtl/renderAsync.d.cts +0 -9
  1300. package/__cjs/testing/internal/rtl/renderHookAsync.cjs +0 -37
  1301. package/__cjs/testing/internal/rtl/renderHookAsync.cjs.map +0 -1
  1302. package/__cjs/testing/internal/rtl/renderHookAsync.d.cts +0 -8
  1303. package/__cjs/testing/internal/scenarios/index.cjs +0 -104
  1304. package/__cjs/testing/internal/scenarios/index.cjs.map +0 -1
  1305. package/__cjs/testing/internal/scenarios/index.d.cts +0 -83
  1306. package/__cjs/testing/matchers/arrayWithLength.cjs +0 -15
  1307. package/__cjs/testing/matchers/arrayWithLength.cjs.map +0 -1
  1308. package/__cjs/testing/matchers/arrayWithLength.d.cts +0 -3
  1309. package/__cjs/testing/matchers/index.cjs +0 -28
  1310. package/__cjs/testing/matchers/index.cjs.map +0 -1
  1311. package/__cjs/testing/matchers/index.d.cts +0 -2
  1312. package/__cjs/testing/matchers/toBeDisposed.cjs +0 -20
  1313. package/__cjs/testing/matchers/toBeDisposed.cjs.map +0 -1
  1314. package/__cjs/testing/matchers/toBeDisposed.d.cts +0 -3
  1315. package/__cjs/testing/matchers/toBeGarbageCollected.cjs +0 -43
  1316. package/__cjs/testing/matchers/toBeGarbageCollected.cjs.map +0 -1
  1317. package/__cjs/testing/matchers/toBeGarbageCollected.d.cts +0 -8
  1318. package/__cjs/testing/matchers/toComplete.cjs +0 -30
  1319. package/__cjs/testing/matchers/toComplete.cjs.map +0 -1
  1320. package/__cjs/testing/matchers/toComplete.d.cts +0 -4
  1321. package/__cjs/testing/matchers/toEmitAnything.cjs +0 -33
  1322. package/__cjs/testing/matchers/toEmitAnything.cjs.map +0 -1
  1323. package/__cjs/testing/matchers/toEmitAnything.d.cts +0 -4
  1324. package/__cjs/testing/matchers/toEmitError.cjs +0 -46
  1325. package/__cjs/testing/matchers/toEmitError.cjs.map +0 -1
  1326. package/__cjs/testing/matchers/toEmitError.d.cts +0 -7
  1327. package/__cjs/testing/matchers/toEmitNext.cjs +0 -30
  1328. package/__cjs/testing/matchers/toEmitNext.cjs.map +0 -1
  1329. package/__cjs/testing/matchers/toEmitNext.d.cts +0 -4
  1330. package/__cjs/testing/matchers/toEmitTypedValue.cjs +0 -42
  1331. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +0 -1
  1332. package/__cjs/testing/matchers/toEmitTypedValue.d.cts +0 -7
  1333. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +0 -26
  1334. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +0 -1
  1335. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +0 -11
  1336. package/__cjs/testing/matchers/toMatchDocument.cjs +0 -36
  1337. package/__cjs/testing/matchers/toMatchDocument.cjs.map +0 -1
  1338. package/__cjs/testing/matchers/toMatchDocument.d.cts +0 -4
  1339. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +0 -26
  1340. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +0 -1
  1341. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +0 -3
  1342. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +0 -23
  1343. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +0 -1
  1344. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +0 -2
  1345. package/__cjs/utilities/caching/caches.cjs +0 -72
  1346. package/__cjs/utilities/caching/caches.cjs.map +0 -1
  1347. package/__cjs/utilities/caching/caches.d.cts +0 -34
  1348. package/__cjs/utilities/common/arrays.cjs +0 -10
  1349. package/__cjs/utilities/common/arrays.cjs.map +0 -1
  1350. package/__cjs/utilities/common/arrays.d.cts +0 -3
  1351. package/__cjs/utilities/common/canUse.cjs +0 -24
  1352. package/__cjs/utilities/common/canUse.cjs.map +0 -1
  1353. package/__cjs/utilities/common/canUse.d.cts +0 -3
  1354. package/__cjs/utilities/common/canonicalStringify.cjs +0 -88
  1355. package/__cjs/utilities/common/canonicalStringify.cjs.map +0 -1
  1356. package/__cjs/utilities/common/cloneDeep.cjs +0 -41
  1357. package/__cjs/utilities/common/cloneDeep.cjs.map +0 -1
  1358. package/__cjs/utilities/common/cloneDeep.d.cts +0 -5
  1359. package/__cjs/utilities/common/compact.cjs +0 -22
  1360. package/__cjs/utilities/common/compact.cjs.map +0 -1
  1361. package/__cjs/utilities/common/compact.d.cts +0 -7
  1362. package/__cjs/utilities/common/errorHandling.cjs +0 -23
  1363. package/__cjs/utilities/common/errorHandling.cjs.map +0 -1
  1364. package/__cjs/utilities/common/errorHandling.d.cts +0 -4
  1365. package/__cjs/utilities/common/incrementalResult.cjs +0 -45
  1366. package/__cjs/utilities/common/incrementalResult.cjs.map +0 -1
  1367. package/__cjs/utilities/common/incrementalResult.d.cts +0 -7
  1368. package/__cjs/utilities/common/makeUniqueId.cjs +0 -12
  1369. package/__cjs/utilities/common/makeUniqueId.cjs.map +0 -1
  1370. package/__cjs/utilities/common/makeUniqueId.d.cts +0 -2
  1371. package/__cjs/utilities/common/maybeDeepFreeze.cjs +0 -42
  1372. package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +0 -1
  1373. package/__cjs/utilities/common/maybeDeepFreeze.d.cts +0 -4
  1374. package/__cjs/utilities/common/mergeDeep.cjs +0 -84
  1375. package/__cjs/utilities/common/mergeDeep.cjs.map +0 -1
  1376. package/__cjs/utilities/common/mergeDeep.d.cts +0 -14
  1377. package/__cjs/utilities/common/mergeOptions.cjs +0 -13
  1378. package/__cjs/utilities/common/mergeOptions.cjs.map +0 -1
  1379. package/__cjs/utilities/common/mergeOptions.d.cts +0 -5
  1380. package/__cjs/utilities/common/objects.cjs +0 -14
  1381. package/__cjs/utilities/common/objects.cjs.map +0 -1
  1382. package/__cjs/utilities/common/objects.d.cts +0 -3
  1383. package/__cjs/utilities/common/omitDeep.cjs +0 -43
  1384. package/__cjs/utilities/common/omitDeep.cjs.map +0 -1
  1385. package/__cjs/utilities/common/omitDeep.d.cts +0 -3
  1386. package/__cjs/utilities/common/stringifyForDisplay.cjs +0 -13
  1387. package/__cjs/utilities/common/stringifyForDisplay.cjs.map +0 -1
  1388. package/__cjs/utilities/common/stringifyForDisplay.d.cts +0 -2
  1389. package/__cjs/utilities/globals/global.cjs.map +0 -1
  1390. package/__cjs/utilities/globals/index.cjs.map +0 -1
  1391. package/__cjs/utilities/globals/maybe.cjs.map +0 -1
  1392. package/__cjs/utilities/graphql/directives.cjs +0 -114
  1393. package/__cjs/utilities/graphql/directives.cjs.map +0 -1
  1394. package/__cjs/utilities/graphql/directives.d.cts +0 -20
  1395. package/__cjs/utilities/graphql/fragments.cjs +0 -126
  1396. package/__cjs/utilities/graphql/fragments.cjs.map +0 -1
  1397. package/__cjs/utilities/graphql/fragments.d.cts +0 -35
  1398. package/__cjs/utilities/graphql/getFromAST.cjs +0 -101
  1399. package/__cjs/utilities/graphql/getFromAST.cjs.map +0 -1
  1400. package/__cjs/utilities/graphql/getFromAST.d.cts +0 -15
  1401. package/__cjs/utilities/internal/observables.cjs +0 -29
  1402. package/__cjs/utilities/internal/observables.cjs.map +0 -1
  1403. package/__cjs/utilities/internal/observables.d.cts +0 -14
  1404. package/__cjs/utilities/promises/decoration.cjs +0 -45
  1405. package/__cjs/utilities/promises/decoration.cjs.map +0 -1
  1406. package/__cjs/utilities/promises/decoration.d.cts +0 -18
  1407. package/__cjs/utilities/promises/preventUnhandledRejection.cjs.map +0 -1
  1408. package/__cjs/utilities/types/DeepOmit.d.cts +0 -10
  1409. package/__cjs/utilities/types/DeepPartial.cjs.map +0 -1
  1410. package/__cjs/utilities/types/DeepPartial.d.cts +0 -12
  1411. package/__cjs/utilities/types/IsStrictlyAny.cjs +0 -3
  1412. package/__cjs/utilities/types/IsStrictlyAny.cjs.map +0 -1
  1413. package/__cjs/utilities/types/IsStrictlyAny.d.cts +0 -5
  1414. package/__cjs/utilities/types/NoInfer.d.cts +0 -27
  1415. package/__cjs/utilities/types/OnlyRequiredProperties.cjs +0 -3
  1416. package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
  1417. package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
  1418. package/__cjs/utilities/types/Prettify.d.cts +0 -4
  1419. package/__cjs/utilities/types/Primitive.d.cts +0 -2
  1420. package/__cjs/utilities/types/RemoveIndexSignature.d.cts +0 -4
  1421. package/__cjs/utilities/types/UnionToIntersection.cjs +0 -3
  1422. package/__cjs/utilities/types/UnionToIntersection.cjs.map +0 -1
  1423. package/__cjs/utilities/types/UnionToIntersection.d.cts +0 -2
  1424. package/config/jest/areCombinedGraphQLErrorsEqual.d.ts +0 -3
  1425. package/config/jest/areCombinedGraphQLErrorsEqual.js +0 -16
  1426. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +0 -1
  1427. package/config/jest/areCombinedProtocolErrorsEqual.d.ts +0 -3
  1428. package/config/jest/areCombinedProtocolErrorsEqual.js +0 -14
  1429. package/config/jest/areCombinedProtocolErrorsEqual.js.map +0 -1
  1430. package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
  1431. package/config/jest/areGraphQlErrorsEqual.js +0 -7
  1432. package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
  1433. package/config/jest/areMissingFieldErrorsEqual.d.ts +0 -3
  1434. package/config/jest/areMissingFieldErrorsEqual.js +0 -16
  1435. package/config/jest/areMissingFieldErrorsEqual.js.map +0 -1
  1436. package/config/jest/areServerErrorsEqual.d.ts +0 -3
  1437. package/config/jest/areServerErrorsEqual.js +0 -17
  1438. package/config/jest/areServerErrorsEqual.js.map +0 -1
  1439. package/config/jest/resolver.d.ts +0 -3
  1440. package/config/jest/resolver.js +0 -29
  1441. package/config/jest/resolver.js.map +0 -1
  1442. package/config/jest/setup.d.ts +0 -3
  1443. package/config/jest/setup.js +0 -62
  1444. package/config/jest/setup.js.map +0 -1
  1445. package/core/LocalState.d.ts +0 -53
  1446. package/core/LocalState.js +0 -329
  1447. package/core/LocalState.js.map +0 -1
  1448. package/legacyEntryPoints/link/core/core.cjs +0 -1
  1449. package/legacyEntryPoints/link/core/core.d.cts +0 -1
  1450. package/legacyEntryPoints/link/core/index.d.ts +0 -1
  1451. package/legacyEntryPoints/link/core/index.js +0 -1
  1452. package/legacyEntryPoints/testing/core/core.cjs +0 -1
  1453. package/legacyEntryPoints/testing/core/core.d.cts +0 -1
  1454. package/legacyEntryPoints/testing/core/index.d.ts +0 -1
  1455. package/legacyEntryPoints/testing/core/index.js +0 -1
  1456. package/legacyEntryPoints/testing/experimental/experimental.cjs +0 -1
  1457. package/legacyEntryPoints/testing/experimental/experimental.d.cts +0 -1
  1458. package/legacyEntryPoints/testing/experimental/index.d.ts +0 -1
  1459. package/legacyEntryPoints/testing/experimental/index.js +0 -1
  1460. package/legacyEntryPoints/testing/internal/index.d.ts +0 -1
  1461. package/legacyEntryPoints/testing/internal/index.js +0 -1
  1462. package/legacyEntryPoints/testing/internal/internal.cjs +0 -1
  1463. package/legacyEntryPoints/testing/internal/internal.d.cts +0 -1
  1464. package/legacyEntryPoints/utilities/globals/globals.cjs +0 -1
  1465. package/legacyEntryPoints/utilities/globals/globals.d.cts +0 -1
  1466. package/legacyEntryPoints/utilities/globals/index.d.ts +0 -1
  1467. package/legacyEntryPoints/utilities/globals/index.js +0 -1
  1468. package/link/core/index.d.ts +0 -8
  1469. package/link/core/index.js +0 -7
  1470. package/link/core/index.js.map +0 -1
  1471. package/link/http/createHttpLink.d.ts +0 -4
  1472. package/link/http/createHttpLink.js +0 -150
  1473. package/link/http/createHttpLink.js.map +0 -1
  1474. package/masking/__benches__/types.bench.d.ts +0 -2
  1475. package/masking/__benches__/types.bench.js +0 -221
  1476. package/masking/__benches__/types.bench.js.map +0 -1
  1477. package/testing/core/index.d.ts +0 -7
  1478. package/testing/core/index.js +0 -6
  1479. package/testing/core/index.js.map +0 -1
  1480. package/testing/core/mocking/mockClient.d.ts +0 -4
  1481. package/testing/core/mocking/mockClient.js +0 -14
  1482. package/testing/core/mocking/mockClient.js.map +0 -1
  1483. package/testing/core/wait.d.ts +0 -3
  1484. package/testing/core/wait.js +0 -7
  1485. package/testing/core/wait.js.map +0 -1
  1486. package/testing/core/withConsoleSpy.d.ts +0 -7
  1487. package/testing/core/withConsoleSpy.js +0 -28
  1488. package/testing/core/withConsoleSpy.js.map +0 -1
  1489. package/testing/experimental/createSchemaFetch.d.ts +0 -43
  1490. package/testing/experimental/createSchemaFetch.js +0 -89
  1491. package/testing/experimental/createSchemaFetch.js.map +0 -1
  1492. package/testing/experimental/createTestSchema.d.ts +0 -57
  1493. package/testing/experimental/createTestSchema.js +0 -107
  1494. package/testing/experimental/createTestSchema.js.map +0 -1
  1495. package/testing/experimental/graphql-tools/utils.d.ts +0 -26
  1496. package/testing/experimental/graphql-tools/utils.js +0 -174
  1497. package/testing/experimental/graphql-tools/utils.js.map +0 -1
  1498. package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
  1499. package/testing/experimental/graphql-tools/utils.test.js +0 -198
  1500. package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
  1501. package/testing/experimental/index.d.ts +0 -3
  1502. package/testing/experimental/index.js +0 -3
  1503. package/testing/experimental/index.js.map +0 -1
  1504. package/testing/internal/ObservableStream.d.ts +0 -28
  1505. package/testing/internal/ObservableStream.js +0 -93
  1506. package/testing/internal/ObservableStream.js.map +0 -1
  1507. package/testing/internal/disposables/enableFakeTimers.d.ts +0 -7
  1508. package/testing/internal/disposables/enableFakeTimers.js +0 -16
  1509. package/testing/internal/disposables/enableFakeTimers.js.map +0 -1
  1510. package/testing/internal/disposables/index.d.ts +0 -5
  1511. package/testing/internal/disposables/index.js +0 -5
  1512. package/testing/internal/disposables/index.js.map +0 -1
  1513. package/testing/internal/disposables/spyOnConsole.d.ts +0 -8
  1514. package/testing/internal/disposables/spyOnConsole.js +0 -21
  1515. package/testing/internal/disposables/spyOnConsole.js.map +0 -1
  1516. package/testing/internal/disposables/withCleanup.d.ts +0 -3
  1517. package/testing/internal/disposables/withCleanup.js +0 -15
  1518. package/testing/internal/disposables/withCleanup.js.map +0 -1
  1519. package/testing/internal/disposables/withProdMode.d.ts +0 -4
  1520. package/testing/internal/disposables/withProdMode.js +0 -13
  1521. package/testing/internal/disposables/withProdMode.js.map +0 -1
  1522. package/testing/internal/incremental.d.ts +0 -16
  1523. package/testing/internal/incremental.js +0 -120
  1524. package/testing/internal/incremental.js.map +0 -1
  1525. package/testing/internal/index.d.ts +0 -11
  1526. package/testing/internal/index.js +0 -10
  1527. package/testing/internal/index.js.map +0 -1
  1528. package/testing/internal/messageChannelPolyfill.d.ts +0 -2
  1529. package/testing/internal/messageChannelPolyfill.js +0 -16
  1530. package/testing/internal/messageChannelPolyfill.js.map +0 -1
  1531. package/testing/internal/renderHelpers.d.ts +0 -14
  1532. package/testing/internal/renderHelpers.js +0 -16
  1533. package/testing/internal/renderHelpers.js.map +0 -1
  1534. package/testing/internal/resetApolloContext.d.ts +0 -10
  1535. package/testing/internal/resetApolloContext.js +0 -20
  1536. package/testing/internal/resetApolloContext.js.map +0 -1
  1537. package/testing/internal/rtl/actAsync.d.ts +0 -2
  1538. package/testing/internal/rtl/actAsync.js +0 -14
  1539. package/testing/internal/rtl/actAsync.js.map +0 -1
  1540. package/testing/internal/rtl/renderAsync.d.ts +0 -9
  1541. package/testing/internal/rtl/renderAsync.js +0 -12
  1542. package/testing/internal/rtl/renderAsync.js.map +0 -1
  1543. package/testing/internal/rtl/renderHookAsync.d.ts +0 -8
  1544. package/testing/internal/rtl/renderHookAsync.js +0 -33
  1545. package/testing/internal/rtl/renderHookAsync.js.map +0 -1
  1546. package/testing/internal/scenarios/index.d.ts +0 -83
  1547. package/testing/internal/scenarios/index.js +0 -97
  1548. package/testing/internal/scenarios/index.js.map +0 -1
  1549. package/testing/matchers/arrayWithLength.d.ts +0 -3
  1550. package/testing/matchers/arrayWithLength.js +0 -11
  1551. package/testing/matchers/arrayWithLength.js.map +0 -1
  1552. package/testing/matchers/index.d.ts +0 -2
  1553. package/testing/matchers/index.js +0 -26
  1554. package/testing/matchers/index.js.map +0 -1
  1555. package/testing/matchers/toBeDisposed.d.ts +0 -3
  1556. package/testing/matchers/toBeDisposed.js +0 -16
  1557. package/testing/matchers/toBeDisposed.js.map +0 -1
  1558. package/testing/matchers/toBeGarbageCollected.d.ts +0 -8
  1559. package/testing/matchers/toBeGarbageCollected.js +0 -39
  1560. package/testing/matchers/toBeGarbageCollected.js.map +0 -1
  1561. package/testing/matchers/toComplete.d.ts +0 -4
  1562. package/testing/matchers/toComplete.js +0 -26
  1563. package/testing/matchers/toComplete.js.map +0 -1
  1564. package/testing/matchers/toEmitAnything.d.ts +0 -4
  1565. package/testing/matchers/toEmitAnything.js +0 -29
  1566. package/testing/matchers/toEmitAnything.js.map +0 -1
  1567. package/testing/matchers/toEmitError.d.ts +0 -7
  1568. package/testing/matchers/toEmitError.js +0 -42
  1569. package/testing/matchers/toEmitError.js.map +0 -1
  1570. package/testing/matchers/toEmitNext.d.ts +0 -4
  1571. package/testing/matchers/toEmitNext.js +0 -26
  1572. package/testing/matchers/toEmitNext.js.map +0 -1
  1573. package/testing/matchers/toEmitTypedValue.d.ts +0 -7
  1574. package/testing/matchers/toEmitTypedValue.js +0 -38
  1575. package/testing/matchers/toEmitTypedValue.js.map +0 -1
  1576. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +0 -11
  1577. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +0 -22
  1578. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +0 -1
  1579. package/testing/matchers/toMatchDocument.d.ts +0 -4
  1580. package/testing/matchers/toMatchDocument.js +0 -32
  1581. package/testing/matchers/toMatchDocument.js.map +0 -1
  1582. package/testing/matchers/toStrictEqualTyped.d.ts +0 -3
  1583. package/testing/matchers/toStrictEqualTyped.js +0 -22
  1584. package/testing/matchers/toStrictEqualTyped.js.map +0 -1
  1585. package/testing/matchers/utils/getSerializableProperties.d.ts +0 -2
  1586. package/testing/matchers/utils/getSerializableProperties.js +0 -20
  1587. package/testing/matchers/utils/getSerializableProperties.js.map +0 -1
  1588. package/utilities/caching/caches.d.ts +0 -34
  1589. package/utilities/caching/caches.js +0 -69
  1590. package/utilities/caching/caches.js.map +0 -1
  1591. package/utilities/common/arrays.d.ts +0 -3
  1592. package/utilities/common/arrays.js +0 -6
  1593. package/utilities/common/arrays.js.map +0 -1
  1594. package/utilities/common/canUse.d.ts +0 -3
  1595. package/utilities/common/canUse.js +0 -21
  1596. package/utilities/common/canUse.js.map +0 -1
  1597. package/utilities/common/canonicalStringify.js +0 -85
  1598. package/utilities/common/canonicalStringify.js.map +0 -1
  1599. package/utilities/common/cloneDeep.d.ts +0 -5
  1600. package/utilities/common/cloneDeep.js +0 -38
  1601. package/utilities/common/cloneDeep.js.map +0 -1
  1602. package/utilities/common/compact.d.ts +0 -7
  1603. package/utilities/common/compact.js +0 -19
  1604. package/utilities/common/compact.js.map +0 -1
  1605. package/utilities/common/errorHandling.d.ts +0 -4
  1606. package/utilities/common/errorHandling.js +0 -19
  1607. package/utilities/common/errorHandling.js.map +0 -1
  1608. package/utilities/common/incrementalResult.d.ts +0 -7
  1609. package/utilities/common/incrementalResult.js +0 -38
  1610. package/utilities/common/incrementalResult.js.map +0 -1
  1611. package/utilities/common/makeUniqueId.d.ts +0 -2
  1612. package/utilities/common/makeUniqueId.js +0 -9
  1613. package/utilities/common/makeUniqueId.js.map +0 -1
  1614. package/utilities/common/maybeDeepFreeze.d.ts +0 -4
  1615. package/utilities/common/maybeDeepFreeze.js +0 -38
  1616. package/utilities/common/maybeDeepFreeze.js.map +0 -1
  1617. package/utilities/common/mergeDeep.d.ts +0 -14
  1618. package/utilities/common/mergeDeep.js +0 -78
  1619. package/utilities/common/mergeDeep.js.map +0 -1
  1620. package/utilities/common/mergeOptions.d.ts +0 -5
  1621. package/utilities/common/mergeOptions.js +0 -10
  1622. package/utilities/common/mergeOptions.js.map +0 -1
  1623. package/utilities/common/objects.d.ts +0 -3
  1624. package/utilities/common/objects.js +0 -10
  1625. package/utilities/common/objects.js.map +0 -1
  1626. package/utilities/common/omitDeep.d.ts +0 -3
  1627. package/utilities/common/omitDeep.js +0 -40
  1628. package/utilities/common/omitDeep.js.map +0 -1
  1629. package/utilities/common/stringifyForDisplay.d.ts +0 -2
  1630. package/utilities/common/stringifyForDisplay.js +0 -10
  1631. package/utilities/common/stringifyForDisplay.js.map +0 -1
  1632. package/utilities/globals/global.js +0 -14
  1633. package/utilities/globals/global.js.map +0 -1
  1634. package/utilities/globals/index.js.map +0 -1
  1635. package/utilities/globals/maybe.js.map +0 -1
  1636. package/utilities/graphql/directives.d.ts +0 -20
  1637. package/utilities/graphql/directives.js +0 -99
  1638. package/utilities/graphql/directives.js.map +0 -1
  1639. package/utilities/graphql/fragments.d.ts +0 -35
  1640. package/utilities/graphql/fragments.js +0 -120
  1641. package/utilities/graphql/fragments.js.map +0 -1
  1642. package/utilities/graphql/getFromAST.d.ts +0 -15
  1643. package/utilities/graphql/getFromAST.js +0 -91
  1644. package/utilities/graphql/getFromAST.js.map +0 -1
  1645. package/utilities/internal/observables.d.ts +0 -14
  1646. package/utilities/internal/observables.js +0 -26
  1647. package/utilities/internal/observables.js.map +0 -1
  1648. package/utilities/promises/decoration.d.ts +0 -18
  1649. package/utilities/promises/decoration.js +0 -39
  1650. package/utilities/promises/decoration.js.map +0 -1
  1651. package/utilities/promises/preventUnhandledRejection.js.map +0 -1
  1652. package/utilities/types/DeepOmit.d.ts +0 -10
  1653. package/utilities/types/DeepPartial.d.ts +0 -12
  1654. package/utilities/types/DeepPartial.js.map +0 -1
  1655. package/utilities/types/IsStrictlyAny.d.ts +0 -5
  1656. package/utilities/types/IsStrictlyAny.js +0 -2
  1657. package/utilities/types/IsStrictlyAny.js.map +0 -1
  1658. package/utilities/types/NoInfer.d.ts +0 -27
  1659. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  1660. package/utilities/types/OnlyRequiredProperties.js +0 -2
  1661. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  1662. package/utilities/types/Prettify.d.ts +0 -4
  1663. package/utilities/types/Primitive.d.ts +0 -2
  1664. package/utilities/types/RemoveIndexSignature.d.ts +0 -4
  1665. package/utilities/types/UnionToIntersection.d.ts +0 -2
  1666. package/utilities/types/UnionToIntersection.js +0 -2
  1667. package/utilities/types/UnionToIntersection.js.map +0 -1
  1668. /package/__cjs/utilities/{types/DeepPartial.cjs → DeepPartial.cjs} +0 -0
  1669. /package/__cjs/utilities/{globals → internal/globals}/global.cjs +0 -0
  1670. /package/__cjs/utilities/{globals → internal/globals}/global.d.cts +0 -0
  1671. /package/__cjs/utilities/{globals → internal/globals}/index.cjs +0 -0
  1672. /package/__cjs/utilities/{globals → internal/globals}/index.d.cts +0 -0
  1673. /package/__cjs/utilities/{globals → internal/globals}/maybe.cjs +0 -0
  1674. /package/__cjs/utilities/{globals → internal/globals}/maybe.d.cts +0 -0
  1675. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs +0 -0
  1676. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.d.cts +0 -0
  1677. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs +0 -0
  1678. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs.map +0 -0
  1679. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs +0 -0
  1680. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs.map +0 -0
  1681. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs +0 -0
  1682. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs.map +0 -0
  1683. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs +0 -0
  1684. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs.map +0 -0
  1685. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs +0 -0
  1686. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs.map +0 -0
  1687. /package/__cjs/utilities/{common → shared}/canonicalStringify.d.cts +0 -0
  1688. /package/utilities/{types/DeepPartial.js → DeepPartial.js} +0 -0
  1689. /package/utilities/{globals → internal/globals}/global.d.ts +0 -0
  1690. /package/utilities/{globals → internal/globals}/index.d.ts +0 -0
  1691. /package/utilities/{globals → internal/globals}/index.js +0 -0
  1692. /package/utilities/{globals → internal/globals}/maybe.d.ts +0 -0
  1693. /package/utilities/{globals → internal/globals}/maybe.js +0 -0
  1694. /package/utilities/{promises → internal}/preventUnhandledRejection.d.ts +0 -0
  1695. /package/utilities/{promises → internal}/preventUnhandledRejection.js +0 -0
  1696. /package/utilities/{types → internal/types}/DeepOmit.js +0 -0
  1697. /package/utilities/{types → internal/types}/DeepOmit.js.map +0 -0
  1698. /package/utilities/{types → internal/types}/NoInfer.js +0 -0
  1699. /package/utilities/{types → internal/types}/NoInfer.js.map +0 -0
  1700. /package/utilities/{types → internal/types}/Prettify.js +0 -0
  1701. /package/utilities/{types → internal/types}/Prettify.js.map +0 -0
  1702. /package/utilities/{types → internal/types}/Primitive.js +0 -0
  1703. /package/utilities/{types → internal/types}/Primitive.js.map +0 -0
  1704. /package/utilities/{types → internal/types}/RemoveIndexSignature.js +0 -0
  1705. /package/utilities/{types → internal/types}/RemoveIndexSignature.js.map +0 -0
  1706. /package/utilities/{common → shared}/canonicalStringify.d.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"QueryInfo.js","sources":["../../src/core/QueryInfo.ts"],"sourcesContent":["import { equal } from \"@wry/equality\";\nimport type { DocumentNode } from \"graphql\";\n\nimport type { ApolloCache, Cache } from \"@apollo/client/cache\";\nimport type { FetchResult } from \"@apollo/client/link/core\";\nimport type { Unmasked } from \"@apollo/client/masking\";\nimport {\n graphQLResultHasError,\n isNonEmptyArray,\n} from \"@apollo/client/utilities\";\nimport { mergeIncrementalData } from \"@apollo/client/utilities\";\nimport { DeepMerger } from \"@apollo/client/utilities\";\n\nimport type { ObservableQuery } from \"./ObservableQuery.js\";\nimport type { QueryManager } from \"./QueryManager.js\";\nimport type { ErrorPolicy, WatchQueryOptions } from \"./watchQueryOptions.js\";\n\nexport const enum CacheWriteBehavior {\n FORBID,\n OVERWRITE,\n MERGE,\n}\n\nconst destructiveMethodCounts = new WeakMap<ApolloCache, number>();\n\nfunction wrapDestructiveCacheMethod(\n cache: ApolloCache,\n methodName: \"evict\" | \"modify\" | \"reset\"\n) {\n const original = cache[methodName];\n if (typeof original === \"function\") {\n // @ts-expect-error this is just too generic to be typed correctly\n cache[methodName] = function () {\n destructiveMethodCounts.set(\n cache,\n // The %1e15 allows the count to wrap around to 0 safely every\n // quadrillion evictions, so there's no risk of overflow. To be\n // clear, this is more of a pedantic principle than something\n // that matters in any conceivable practical scenario.\n (destructiveMethodCounts.get(cache)! + 1) % 1e15\n );\n // @ts-expect-error this is just too generic to be typed correctly\n return original.apply(this, arguments);\n };\n }\n}\n\n// A QueryInfo object represents a single query managed by the\n// QueryManager, which tracks all QueryInfo objects by queryId in its\n// this.queries Map. QueryInfo objects store the latest results and errors\n// for the given query, and are responsible for reporting those results to\n// the corresponding ObservableQuery, via the QueryInfo.notify method.\n// Results are reported asynchronously whenever setDiff marks the\n// QueryInfo object as dirty, though a call to the QueryManager's\n// broadcastQueries method may trigger the notification before it happens\n// automatically. This class used to be a simple interface type without\n// any field privacy or meaningful methods, which is why it still has so\n// many public fields. The effort to lock down and simplify the QueryInfo\n// interface is ongoing, and further improvements are welcome.\nexport class QueryInfo {\n document: DocumentNode | null = null;\n lastRequestId = 1;\n variables?: Record<string, any>;\n stopped = false;\n\n private cancelWatch?: () => void;\n private cache: ApolloCache;\n\n constructor(\n queryManager: QueryManager,\n public readonly queryId = queryManager.generateQueryId()\n ) {\n const cache = (this.cache = queryManager.cache);\n\n // Track how often cache.evict is called, since we want eviction to\n // override the feud-stopping logic in the markResult method, by\n // causing shouldWrite to return true. Wrapping the cache.evict method\n // is a bit of a hack, but it saves us from having to make eviction\n // counting an official part of the ApolloCache API.\n if (!destructiveMethodCounts.has(cache)) {\n destructiveMethodCounts.set(cache, 0);\n wrapDestructiveCacheMethod(cache, \"evict\");\n wrapDestructiveCacheMethod(cache, \"modify\");\n wrapDestructiveCacheMethod(cache, \"reset\");\n }\n }\n\n public init(query: {\n document: DocumentNode;\n variables: Record<string, any> | undefined;\n }): this {\n if (!equal(query.variables, this.variables)) {\n this.lastDiff = void 0;\n // Ensure we don't continue to receive cache updates for old variables\n this.cancel();\n }\n\n Object.assign(this, {\n document: query.document,\n variables: query.variables,\n });\n\n return this;\n }\n\n resetDiff() {\n this.lastDiff = void 0;\n }\n\n getDiff(): Cache.DiffResult<any> {\n const options = this.getDiffOptions();\n\n if (this.lastDiff && equal(options, this.lastDiff.options)) {\n return this.lastDiff.diff;\n }\n\n this.updateWatch(this.variables);\n\n const oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return { result: null, complete: false };\n }\n\n const diff = this.cache.diff(options);\n this.updateLastDiff(diff, options);\n return diff;\n }\n\n private lastDiff?: {\n diff: Cache.DiffResult<any>;\n options: Cache.DiffOptions;\n };\n\n private updateLastDiff(\n diff: Cache.DiffResult<any> | null,\n options?: Cache.DiffOptions\n ) {\n this.lastDiff =\n diff ?\n {\n diff,\n options: options || this.getDiffOptions(),\n }\n : void 0;\n }\n\n private getDiffOptions(variables = this.variables): Cache.DiffOptions {\n return {\n query: this.document!,\n variables,\n returnPartialData: true,\n optimistic: true,\n };\n }\n\n setDiff(diff: Cache.DiffResult<any> | null) {\n const oldDiff = this.lastDiff && this.lastDiff.diff;\n\n // If we are trying to deliver an incomplete cache result, we avoid\n // reporting it if the query has errored, otherwise we let the broadcast try\n // and repair the partial result by refetching the query. This check avoids\n // a situation where a query that errors and another succeeds with\n // overlapping data does not report the partial data result to the errored\n // query.\n //\n // See https://github.com/apollographql/apollo-client/issues/11400 for more\n // information on this issue.\n if (diff && !diff.complete && this.observableQuery?.getLastError()) {\n return;\n }\n\n this.updateLastDiff(diff);\n\n if (!equal(oldDiff && oldDiff.result, diff && diff.result)) {\n this.observableQuery?.[\"scheduleNotify\"]();\n }\n }\n\n public readonly observableQuery: ObservableQuery<any, any> | null = null;\n setObservableQuery(oq: ObservableQuery<any, any> | null) {\n if (oq === this.observableQuery) return;\n (this as any).observableQuery = oq;\n if (oq) {\n oq[\"queryInfo\"] = this;\n }\n }\n\n public stop() {\n if (!this.stopped) {\n this.stopped = true;\n\n // Cancel the pending notify timeout\n this.observableQuery?.[\"resetNotifications\"]();\n this.cancel();\n\n const oq = this.observableQuery;\n if (oq) oq.stopPolling();\n }\n }\n\n private cancel() {\n this.cancelWatch?.();\n this.cancelWatch = void 0;\n }\n\n private lastWatch?: Cache.WatchOptions;\n\n private updateWatch(variables = this.variables) {\n const oq = this.observableQuery;\n if (oq && oq.options.fetchPolicy === \"no-cache\") {\n return;\n }\n\n const watchOptions: Cache.WatchOptions = {\n // Although this.getDiffOptions returns Cache.DiffOptions instead of\n // Cache.WatchOptions, all the overlapping options should be the same, so\n // we can reuse getDiffOptions here, for consistency.\n ...this.getDiffOptions(variables),\n watcher: this,\n callback: (diff) => this.setDiff(diff),\n };\n\n if (!this.lastWatch || !equal(watchOptions, this.lastWatch)) {\n this.cancel();\n this.cancelWatch = this.cache.watch((this.lastWatch = watchOptions));\n }\n }\n\n private lastWrite?: {\n result: FetchResult<any>;\n variables: WatchQueryOptions[\"variables\"];\n dmCount: number | undefined;\n };\n\n public resetLastWrite() {\n this.lastWrite = void 0;\n }\n\n private shouldWrite(\n result: FetchResult<any>,\n variables: WatchQueryOptions[\"variables\"]\n ) {\n const { lastWrite } = this;\n return !(\n lastWrite &&\n // If cache.evict has been called since the last time we wrote this\n // data into the cache, there's a chance writing this result into\n // the cache will repair what was evicted.\n lastWrite.dmCount === destructiveMethodCounts.get(this.cache) &&\n equal(variables, lastWrite.variables) &&\n equal(result.data, lastWrite.result.data)\n );\n }\n\n public markResult<T>(\n result: FetchResult<T>,\n document: DocumentNode,\n options: Pick<\n WatchQueryOptions,\n \"variables\" | \"fetchPolicy\" | \"errorPolicy\"\n >,\n cacheWriteBehavior: CacheWriteBehavior\n ) {\n const merger = new DeepMerger();\n\n // Cancel the pending notify timeout (if it exists) to prevent extraneous network\n // requests. To allow future notify timeouts, diff and dirty are reset as well.\n this.observableQuery?.[\"resetNotifications\"]();\n\n if (\"incremental\" in result && isNonEmptyArray(result.incremental)) {\n const mergedData = mergeIncrementalData(this.getDiff().result, result);\n result.data = mergedData;\n\n // Detect the first chunk of a deferred query and merge it with existing\n // cache data. This ensures a `cache-first` fetch policy that returns\n // partial cache data or a `cache-and-network` fetch policy that already\n // has full data in the cache does not complain when trying to merge the\n // initial deferred server data with existing cache data.\n } else if (\"hasNext\" in result && result.hasNext) {\n const diff = this.getDiff();\n result.data = merger.merge(diff.result, result.data);\n }\n\n if (options.fetchPolicy === \"no-cache\") {\n this.updateLastDiff(\n { result: result.data, complete: true },\n this.getDiffOptions(options.variables)\n );\n } else if (cacheWriteBehavior !== CacheWriteBehavior.FORBID) {\n if (shouldWriteResult(result, options.errorPolicy)) {\n // Using a transaction here so we have a chance to read the result\n // back from the cache before the watch callback fires as a result\n // of writeQuery, so we can store the new diff quietly and ignore\n // it when we receive it redundantly from the watch callback.\n this.cache.performTransaction((cache) => {\n if (this.shouldWrite(result, options.variables)) {\n cache.writeQuery({\n query: document,\n data: result.data as Unmasked<T>,\n variables: options.variables,\n overwrite: cacheWriteBehavior === CacheWriteBehavior.OVERWRITE,\n });\n\n this.lastWrite = {\n result,\n variables: options.variables,\n dmCount: destructiveMethodCounts.get(this.cache),\n };\n } else {\n // If result is the same as the last result we received from\n // the network (and the variables match too), avoid writing\n // result into the cache again. The wisdom of skipping this\n // cache write is far from obvious, since any cache write\n // could be the one that puts the cache back into a desired\n // state, fixing corruption or missing data. However, if we\n // always write every network result into the cache, we enable\n // feuds between queries competing to update the same data in\n // incompatible ways, which can lead to an endless cycle of\n // cache broadcasts and useless network requests. As with any\n // feud, eventually one side must step back from the brink,\n // letting the other side(s) have the last word(s). There may\n // be other points where we could break this cycle, such as\n // silencing the broadcast for cache.writeQuery (not a good\n // idea, since it just delays the feud a bit) or somehow\n // avoiding the network request that just happened (also bad,\n // because the server could return useful new data). All\n // options considered, skipping this cache write seems to be\n // the least damaging place to break the cycle, because it\n // reflects the intuition that we recently wrote this exact\n // result into the cache, so the cache *should* already/still\n // contain this data. If some other query has clobbered that\n // data in the meantime, that's too bad, but there will be no\n // winners if every query blindly reverts to its own version\n // of the data. This approach also gives the network a chance\n // to return new data, which will be written into the cache as\n // usual, notifying only those queries that are directly\n // affected by the cache updates, as usual. In the future, an\n // even more sophisticated cache could perhaps prevent or\n // mitigate the clobbering somehow, but that would make this\n // particular cache write even less important, and thus\n // skipping it would be even safer than it is today.\n if (this.lastDiff && this.lastDiff.diff.complete) {\n // Reuse data from the last good (complete) diff that we\n // received, when possible.\n result.data = this.lastDiff.diff.result;\n return;\n }\n // If the previous this.diff was incomplete, fall through to\n // re-reading the latest data with cache.diff, below.\n }\n\n const diffOptions = this.getDiffOptions(options.variables);\n const diff = cache.diff<T>(diffOptions);\n\n // In case the QueryManager stops this QueryInfo before its\n // results are delivered, it's important to avoid restarting the\n // cache watch when markResult is called. We also avoid updating\n // the watch if we are writing a result that doesn't match the current\n // variables to avoid race conditions from broadcasting the wrong\n // result.\n if (!this.stopped && equal(this.variables, options.variables)) {\n // Any time we're about to update this.diff, we need to make\n // sure we've started watching the cache.\n this.updateWatch(options.variables);\n }\n\n // If we're allowed to write to the cache, and we can read a\n // complete result from the cache, update result.data to be the\n // result from the cache, rather than the raw network result.\n // Set without setDiff to avoid triggering a notify call, since\n // we have other ways of notifying for this result.\n this.updateLastDiff(diff, diffOptions);\n if (diff.complete) {\n result.data = diff.result;\n }\n });\n } else {\n this.lastWrite = void 0;\n }\n }\n }\n}\n\nexport function shouldWriteResult<T>(\n result: FetchResult<T>,\n errorPolicy: ErrorPolicy = \"none\"\n) {\n const ignoreErrors = errorPolicy === \"ignore\" || errorPolicy === \"all\";\n let writeWithErrors = !graphQLResultHasError(result);\n if (!writeWithErrors && ignoreErrors && result.data) {\n writeWithErrors = true;\n }\n return writeWithErrors;\n}\n"],"names":[],"mappings":"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CAAA,EAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,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AA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ;QACI,CAAJ,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;QA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,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,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"}
1
+ {"version":3,"file":"QueryInfo.js","sources":["../../src/core/QueryInfo.ts"],"sourcesContent":["import { equal } from \"@wry/equality\";\nimport type { DocumentNode, FormattedExecutionResult } from \"graphql\";\n\nimport type { ApolloCache, Cache } from \"@apollo/client/cache\";\nimport type { Incremental } from \"@apollo/client/incremental\";\nimport type { FetchResult } from \"@apollo/client/link\";\nimport type { Unmasked } from \"@apollo/client/masking\";\nimport type { DeepPartial } from \"@apollo/client/utilities\";\nimport {\n getOperationName,\n graphQLResultHasError,\n} from \"@apollo/client/utilities/internal\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport type { IgnoreModifier } from \"../cache/core/types/common.js\";\n\nimport type { ObservableQuery } from \"./ObservableQuery.js\";\nimport type { QueryManager } from \"./QueryManager.js\";\nimport type {\n DefaultContext,\n InternalRefetchQueriesInclude,\n MutationQueryReducer,\n MutationUpdaterFunction,\n NormalizedExecutionResult,\n OnQueryUpdated,\n OperationVariables,\n Streaming,\n TypedDocumentNode,\n} from \"./types.js\";\nimport type {\n ErrorPolicy,\n MutationOptions,\n WatchQueryOptions,\n} from \"./watchQueryOptions.js\";\n\ntype UpdateQueries<TData> = MutationOptions<TData, any, any>[\"updateQueries\"];\n\nconst IGNORE = {} as IgnoreModifier;\n\nexport const enum CacheWriteBehavior {\n FORBID,\n OVERWRITE,\n MERGE,\n}\n\ninterface LastWrite {\n result: FormattedExecutionResult<any>;\n variables: WatchQueryOptions[\"variables\"];\n dmCount: number | undefined;\n}\n\nconst destructiveMethodCounts = new WeakMap<ApolloCache, number>();\n\ninterface OperationInfo<\n TData,\n TVariables extends OperationVariables,\n AllowedCacheWriteBehavior = CacheWriteBehavior,\n> {\n document: DocumentNode | TypedDocumentNode<TData, TVariables>;\n variables: TVariables;\n errorPolicy: ErrorPolicy;\n cacheWriteBehavior: AllowedCacheWriteBehavior;\n}\n\nfunction wrapDestructiveCacheMethod(\n cache: ApolloCache,\n methodName: \"evict\" | \"modify\" | \"reset\"\n) {\n const original = cache[methodName];\n if (typeof original === \"function\") {\n // @ts-expect-error this is just too generic to be typed correctly\n cache[methodName] = function () {\n destructiveMethodCounts.set(\n cache,\n // The %1e15 allows the count to wrap around to 0 safely every\n // quadrillion evictions, so there's no risk of overflow. To be\n // clear, this is more of a pedantic principle than something\n // that matters in any conceivable practical scenario.\n (destructiveMethodCounts.get(cache)! + 1) % 1e15\n );\n // @ts-expect-error this is just too generic to be typed correctly\n return original.apply(this, arguments);\n };\n }\n}\n\nconst queryInfoIds = new WeakMap<QueryManager, number>();\n\n// A QueryInfo object represents a single network request, either initiated\n// from the QueryManager or from an ObservableQuery.\n// It will only ever be used for a single network call.\n// It is responsible for reporting results to the cache, merging and in a no-cache\n// scenario accumulating the response.\nexport class QueryInfo<\n TData,\n TVariables extends OperationVariables = OperationVariables,\n TCache extends ApolloCache = ApolloCache,\n> {\n // TODO remove soon - this should be able to be handled by cancelling old operations before starting new ones\n lastRequestId = 1;\n\n private cache: TCache;\n private queryManager: Pick<\n QueryManager,\n | \"getObservableQueries\"\n | \"refetchQueries\"\n | \"getDocumentInfo\"\n | \"broadcastQueries\"\n | \"incrementalHandler\"\n >;\n public readonly id: string;\n private readonly observableQuery?: ObservableQuery<any, any>;\n private incremental?: Incremental.IncrementalRequest<\n Record<string, unknown>,\n TData | Streaming<TData>\n >;\n\n constructor(\n queryManager: QueryManager,\n observableQuery?: ObservableQuery<any, any>\n ) {\n const cache = (this.cache = queryManager.cache as TCache);\n const id = (queryInfoIds.get(queryManager) || 0) + 1;\n queryInfoIds.set(queryManager, id);\n this.id = id + \"\";\n this.observableQuery = observableQuery;\n this.queryManager = queryManager;\n\n // Track how often cache.evict is called, since we want eviction to\n // override the feud-stopping logic in the markQueryResult method, by\n // causing shouldWrite to return true. Wrapping the cache.evict method\n // is a bit of a hack, but it saves us from having to make eviction\n // counting an official part of the ApolloCache API.\n if (!destructiveMethodCounts.has(cache)) {\n destructiveMethodCounts.set(cache, 0);\n wrapDestructiveCacheMethod(cache, \"evict\");\n wrapDestructiveCacheMethod(cache, \"modify\");\n wrapDestructiveCacheMethod(cache, \"reset\");\n }\n }\n\n /** @internal\n * For feud-preventing behaviour, `lastWrite` should be shared by all `QueryInfo` instances of an `ObservableQuery`.\n * In the case of a standalone `QueryInfo`, we will keep a local version.\n */\n public _lastWrite?: LastWrite;\n private get lastWrite(): LastWrite | undefined {\n return (this.observableQuery || this)._lastWrite as LastWrite | undefined;\n }\n private set lastWrite(value: LastWrite | undefined) {\n (this.observableQuery || this)._lastWrite = value;\n }\n\n public resetLastWrite() {\n this.lastWrite = void 0;\n }\n\n private shouldWrite(\n result: FormattedExecutionResult<any>,\n variables: WatchQueryOptions[\"variables\"]\n ) {\n const { lastWrite } = this;\n return !(\n lastWrite &&\n // If cache.evict has been called since the last time we wrote this\n // data into the cache, there's a chance writing this result into\n // the cache will repair what was evicted.\n lastWrite.dmCount === destructiveMethodCounts.get(this.cache) &&\n equal(variables, lastWrite.variables) &&\n equal(result.data, lastWrite.result.data)\n );\n }\n\n get hasNext() {\n return this.incremental ? this.incremental.hasNext : false;\n }\n\n private maybeHandleIncrementalResult(\n cacheData: TData | DeepPartial<TData> | undefined | null,\n incoming: FetchResult<TData>,\n query: DocumentNode\n ): FormattedExecutionResult<TData | Streaming<TData>> {\n const { incrementalHandler } = this.queryManager;\n\n if (incrementalHandler.isIncrementalResult(incoming)) {\n this.incremental ||= incrementalHandler.startRequest<\n TData & Record<string, unknown>\n >({\n query,\n }) as Incremental.IncrementalRequest<\n Record<string, unknown>,\n TData | Streaming<TData>\n >;\n\n return this.incremental.handle(cacheData, incoming);\n }\n return incoming;\n }\n\n public markQueryResult(\n incoming: FetchResult<TData>,\n {\n document: query,\n variables,\n errorPolicy,\n cacheWriteBehavior,\n }: OperationInfo<TData, TVariables>\n ): FormattedExecutionResult<TData | Streaming<TData>> {\n const diffOptions = {\n query,\n variables,\n returnPartialData: true,\n optimistic: true,\n };\n\n // Cancel the pending notify timeout (if it exists) to prevent extraneous network\n // requests. To allow future notify timeouts, diff and dirty are reset as well.\n this.observableQuery?.[\"resetNotifications\"]();\n\n const skipCache = cacheWriteBehavior === CacheWriteBehavior.FORBID;\n const lastDiff =\n skipCache ? undefined : this.cache.diff<TData>(diffOptions);\n\n let result = this.maybeHandleIncrementalResult(\n lastDiff?.result,\n incoming,\n query\n );\n if (skipCache) {\n return result;\n }\n\n if (shouldWriteResult(result, errorPolicy)) {\n // Using a transaction here so we have a chance to read the result\n // back from the cache before the watch callback fires as a result\n // of writeQuery, so we can store the new diff quietly and ignore\n // it when we receive it redundantly from the watch callback.\n this.cache.batch({\n onWatchUpdated: (\n // all additional options on ObservableQuery.CacheWatchOptions are\n // optional so we can use the type here\n watch: ObservableQuery.CacheWatchOptions,\n diff\n ) => {\n if (watch.watcher === this.observableQuery) {\n // see comment on `lastOwnDiff` for explanation\n watch.lastOwnDiff = diff;\n }\n },\n update: (cache) => {\n if (this.shouldWrite(result, variables)) {\n cache.writeQuery({\n query,\n data: result.data as Unmasked<any>,\n variables,\n overwrite: cacheWriteBehavior === CacheWriteBehavior.OVERWRITE,\n });\n\n this.lastWrite = {\n result,\n variables,\n dmCount: destructiveMethodCounts.get(this.cache),\n };\n } else {\n // If result is the same as the last result we received from\n // the network (and the variables match too), avoid writing\n // result into the cache again. The wisdom of skipping this\n // cache write is far from obvious, since any cache write\n // could be the one that puts the cache back into a desired\n // state, fixing corruption or missing data. However, if we\n // always write every network result into the cache, we enable\n // feuds between queries competing to update the same data in\n // incompatible ways, which can lead to an endless cycle of\n // cache broadcasts and useless network requests. As with any\n // feud, eventually one side must step back from the brink,\n // letting the other side(s) have the last word(s). There may\n // be other points where we could break this cycle, such as\n // silencing the broadcast for cache.writeQuery (not a good\n // idea, since it just delays the feud a bit) or somehow\n // avoiding the network request that just happened (also bad,\n // because the server could return useful new data). All\n // options considered, skipping this cache write seems to be\n // the least damaging place to break the cycle, because it\n // reflects the intuition that we recently wrote this exact\n // result into the cache, so the cache *should* already/still\n // contain this data. If some other query has clobbered that\n // data in the meantime, that's too bad, but there will be no\n // winners if every query blindly reverts to its own version\n // of the data. This approach also gives the network a chance\n // to return new data, which will be written into the cache as\n // usual, notifying only those queries that are directly\n // affected by the cache updates, as usual. In the future, an\n // even more sophisticated cache could perhaps prevent or\n // mitigate the clobbering somehow, but that would make this\n // particular cache write even less important, and thus\n // skipping it would be even safer than it is today.\n if (lastDiff && lastDiff.complete) {\n // Reuse data from the last good (complete) diff that we\n // received, when possible.\n result = { ...result, data: lastDiff.result };\n return;\n }\n // If the previous this.diff was incomplete, fall through to\n // re-reading the latest data with cache.diff, below.\n }\n\n const diff = cache.diff<TData>(diffOptions);\n\n // If we're allowed to write to the cache, and we can read a\n // complete result from the cache, update result.data to be the\n // result from the cache, rather than the raw network result.\n // Set without setDiff to avoid triggering a notify call, since\n // we have other ways of notifying for this result.\n if (diff.complete) {\n result = { ...result, data: diff.result };\n }\n },\n });\n } else {\n this.lastWrite = void 0;\n }\n\n return result;\n }\n\n public markMutationResult(\n incoming: FetchResult<TData>,\n mutation: OperationInfo<\n TData,\n TVariables,\n CacheWriteBehavior.FORBID | CacheWriteBehavior.MERGE\n > & {\n context?: DefaultContext;\n updateQueries: UpdateQueries<TData>;\n update?: MutationUpdaterFunction<TData, TVariables, TCache>;\n awaitRefetchQueries?: boolean;\n refetchQueries?:\n | ((\n result: NormalizedExecutionResult<Unmasked<TData>>\n ) => InternalRefetchQueriesInclude)\n | InternalRefetchQueriesInclude;\n removeOptimistic?: string;\n onQueryUpdated?: OnQueryUpdated<any>;\n keepRootFields?: boolean;\n },\n cache = this.cache\n ): Promise<FormattedExecutionResult<TData | Streaming<TData>>> {\n const cacheWrites: Cache.WriteOptions[] = [];\n const skipCache = mutation.cacheWriteBehavior === CacheWriteBehavior.FORBID;\n\n let result = this.maybeHandleIncrementalResult(\n skipCache ? undefined : (\n cache.diff<TData>({\n id: \"ROOT_MUTATION\",\n // The cache complains if passed a mutation where it expects a\n // query, so we transform mutations and subscriptions to queries\n // (only once, thanks to this.transformCache).\n query: this.queryManager.getDocumentInfo(mutation.document).asQuery,\n variables: mutation.variables,\n optimistic: false,\n returnPartialData: true,\n }).result\n ),\n incoming,\n mutation.document\n );\n\n if (mutation.errorPolicy === \"ignore\") {\n result = { ...result, errors: [] };\n }\n\n if (graphQLResultHasError(result) && mutation.errorPolicy === \"none\") {\n return Promise.resolve(result);\n }\n\n const getResultWithDataState = () =>\n ({\n ...result,\n dataState: this.hasNext ? \"streaming\" : \"complete\",\n }) as NormalizedExecutionResult<Unmasked<TData>>;\n\n if (!skipCache && shouldWriteResult(result, mutation.errorPolicy)) {\n cacheWrites.push({\n result: result.data,\n dataId: \"ROOT_MUTATION\",\n query: mutation.document,\n variables: mutation.variables,\n });\n\n const { updateQueries } = mutation;\n if (updateQueries) {\n this.queryManager\n .getObservableQueries(\"all\")\n .forEach((observableQuery) => {\n const queryName = observableQuery && observableQuery.queryName;\n if (\n !queryName ||\n !Object.hasOwnProperty.call(updateQueries, queryName)\n ) {\n return;\n }\n const updater = updateQueries[queryName];\n const { query: document, variables } = observableQuery;\n\n // Read the current query result from the store.\n const { result: currentQueryResult, complete } =\n observableQuery.getCacheDiff({ optimistic: false });\n\n if (complete && currentQueryResult) {\n // Run our reducer using the current query result and the mutation result.\n const nextQueryResult = (updater as MutationQueryReducer<any>)(\n currentQueryResult,\n {\n mutationResult: getResultWithDataState(),\n queryName: (document && getOperationName(document)) || void 0,\n queryVariables: variables!,\n }\n );\n\n // Write the modified result back into the store if we got a new result.\n if (nextQueryResult) {\n cacheWrites.push({\n result: nextQueryResult,\n dataId: \"ROOT_QUERY\",\n query: document!,\n variables,\n });\n }\n }\n });\n }\n }\n\n let refetchQueries = mutation.refetchQueries;\n if (typeof refetchQueries === \"function\") {\n refetchQueries = refetchQueries(getResultWithDataState());\n }\n\n if (\n cacheWrites.length > 0 ||\n (refetchQueries || \"\").length > 0 ||\n mutation.update ||\n mutation.onQueryUpdated ||\n mutation.removeOptimistic\n ) {\n const results: any[] = [];\n\n this.queryManager\n .refetchQueries({\n updateCache: (cache) => {\n if (!skipCache) {\n cacheWrites.forEach((write) => cache.write(write));\n }\n\n // If the mutation has some writes associated with it then we need to\n // apply those writes to the store by running this reducer again with\n // a write action.\n const { update } = mutation;\n // Determine whether result is a SingleExecutionResult,\n // or the final ExecutionPatchResult.\n\n if (update) {\n if (!skipCache) {\n // Re-read the ROOT_MUTATION data we just wrote into the cache\n // (the first cache.write call in the cacheWrites.forEach loop\n // above), so field read functions have a chance to run for\n // fields within mutation result objects.\n const diff = cache.diff<TData>({\n id: \"ROOT_MUTATION\",\n // The cache complains if passed a mutation where it expects a\n // query, so we transform mutations and subscriptions to queries\n // (only once, thanks to this.transformCache).\n query: this.queryManager.getDocumentInfo(mutation.document)\n .asQuery,\n variables: mutation.variables,\n optimistic: false,\n returnPartialData: true,\n });\n\n if (diff.complete) {\n result = {\n ...result,\n data: diff.result,\n };\n }\n }\n\n // If we've received the whole response, call the update function.\n if (!this.hasNext) {\n update(\n cache as TCache,\n result as FormattedExecutionResult<Unmasked<TData>>,\n {\n context: mutation.context,\n variables: mutation.variables,\n }\n );\n }\n }\n\n // TODO Do this with cache.evict({ id: 'ROOT_MUTATION' }) but make it\n // shallow to allow rolling back optimistic evictions.\n if (!skipCache && !mutation.keepRootFields && !this.hasNext) {\n cache.modify({\n id: \"ROOT_MUTATION\",\n fields(value, { fieldName, DELETE }) {\n return fieldName === \"__typename\" ? value : DELETE;\n },\n });\n }\n },\n\n include: refetchQueries,\n\n // Write the final mutation.result to the root layer of the cache.\n optimistic: false,\n\n // Remove the corresponding optimistic layer at the same time as we\n // write the final non-optimistic result.\n removeOptimistic: mutation.removeOptimistic,\n\n // Let the caller of client.mutate optionally determine the refetching\n // behavior for watched queries after the mutation.update function runs.\n // If no onQueryUpdated function was provided for this mutation, pass\n // null instead of undefined to disable the default refetching behavior.\n onQueryUpdated: mutation.onQueryUpdated || null,\n })\n .forEach((result) => results.push(result));\n\n if (mutation.awaitRefetchQueries || mutation.onQueryUpdated) {\n // Returning a promise here makes the mutation await that promise, so we\n // include results in that promise's work if awaitRefetchQueries or an\n // onQueryUpdated function was specified.\n return Promise.all(results).then(() => result);\n }\n }\n\n return Promise.resolve(result);\n }\n\n public markMutationOptimistic(\n optimisticResponse: any,\n mutation: OperationInfo<\n TData,\n TVariables,\n CacheWriteBehavior.FORBID | CacheWriteBehavior.MERGE\n > & {\n context?: DefaultContext;\n updateQueries: UpdateQueries<TData>;\n update?: MutationUpdaterFunction<TData, TVariables, TCache>;\n keepRootFields?: boolean;\n }\n ) {\n const data =\n typeof optimisticResponse === \"function\" ?\n optimisticResponse(mutation.variables, { IGNORE })\n : optimisticResponse;\n\n if (data === IGNORE) {\n return false;\n }\n\n this.cache.recordOptimisticTransaction((cache) => {\n try {\n this.markMutationResult({ data }, mutation, cache as TCache);\n } catch (error) {\n invariant.error(error);\n }\n }, this.id);\n\n return true;\n }\n\n public markSubscriptionResult(\n result: FormattedExecutionResult<TData>,\n {\n document,\n variables,\n errorPolicy,\n cacheWriteBehavior,\n }: OperationInfo<\n TData,\n TVariables,\n CacheWriteBehavior.FORBID | CacheWriteBehavior.MERGE\n >\n ) {\n if (cacheWriteBehavior !== CacheWriteBehavior.FORBID) {\n if (shouldWriteResult(result, errorPolicy)) {\n this.cache.write({\n query: document,\n result: result.data as any,\n dataId: \"ROOT_SUBSCRIPTION\",\n variables: variables,\n });\n }\n\n this.queryManager.broadcastQueries();\n }\n }\n}\n\nfunction shouldWriteResult<T>(\n result: FormattedExecutionResult<T>,\n errorPolicy: ErrorPolicy = \"none\"\n) {\n const ignoreErrors = errorPolicy === \"ignore\" || errorPolicy === \"all\";\n let writeWithErrors = !graphQLResultHasError(result);\n if (!writeWithErrors && ignoreErrors && result.data) {\n writeWithErrors = true;\n }\n return writeWithErrors;\n}\n"],"names":[],"mappings":"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AA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA;IAKE,CAAF,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CA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,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;wBACY,CAAZ,EAAA,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"}
@@ -1,16 +1,17 @@
1
1
  import { Trie } from "@wry/trie";
2
2
  import type { DocumentNode } from "graphql";
3
+ import { OperationTypeNode } from "graphql";
3
4
  import { Observable } from "rxjs";
4
5
  import type { ApolloCache, Cache } from "@apollo/client/cache";
5
- import type { ApolloLink, FetchResult } from "@apollo/client/link/core";
6
+ import type { Incremental } from "@apollo/client/incremental";
7
+ import type { FetchResult } from "@apollo/client/link";
8
+ import type { LocalState } from "@apollo/client/local-state";
6
9
  import type { MaybeMasked } from "@apollo/client/masking";
7
10
  import { DocumentTransform } from "@apollo/client/utilities";
8
- import type { DefaultOptions } from "./ApolloClient.js";
9
- import type { LocalState } from "./LocalState.js";
11
+ import type { ApolloClient, ApolloClientOptions, DefaultOptions } from "./ApolloClient.js";
10
12
  import { NetworkStatus } from "./networkStatus.js";
11
13
  import { ObservableQuery } from "./ObservableQuery.js";
12
- import { QueryInfo } from "./QueryInfo.js";
13
- import type { ApolloQueryResult, DefaultContext, InternalRefetchQueriesInclude, InternalRefetchQueriesMap, InternalRefetchQueriesOptions, MutateResult, MutationUpdaterFunction, OnQueryUpdated, OperationVariables, QueryResult, SubscribeResult } from "./types.js";
14
+ import type { DefaultContext, InternalRefetchQueriesInclude, InternalRefetchQueriesMap, InternalRefetchQueriesOptions, MutateResult, OperationVariables, QueryNotification, QueryResult, SubscribeResult, SubscriptionObservable } from "./types.js";
14
15
  import type { ErrorPolicy, MutationFetchPolicy, MutationOptions, QueryOptions, SubscriptionOptions, WatchQueryFetchPolicy, WatchQueryOptions } from "./watchQueryOptions.js";
15
16
  interface MutationStoreValue {
16
17
  mutation: DocumentNode;
@@ -18,16 +19,18 @@ interface MutationStoreValue {
18
19
  loading: boolean;
19
20
  error: Error | null;
20
21
  }
21
- type UpdateQueries<TData> = MutationOptions<TData, any, any>["updateQueries"];
22
22
  interface TransformCacheEntry {
23
23
  hasClientExports: boolean;
24
24
  hasForcedResolvers: boolean;
25
25
  hasNonreactiveDirective: boolean;
26
+ hasIncrementalDirective: boolean;
26
27
  nonReactiveQuery: DocumentNode;
27
28
  clientQuery: DocumentNode | null;
28
29
  serverQuery: DocumentNode | null;
29
30
  defaultVars: OperationVariables;
30
31
  asQuery: DocumentNode;
32
+ operationType: OperationTypeNode | undefined;
33
+ violation?: Error | undefined;
31
34
  }
32
35
  interface MaskFragmentOptions<TData> {
33
36
  fragment: DocumentNode;
@@ -37,35 +40,43 @@ interface MaskFragmentOptions<TData> {
37
40
  interface MaskOperationOptions<TData> {
38
41
  document: DocumentNode;
39
42
  data: TData;
40
- id: string;
43
+ /**
44
+ * Can be used to identify the cause to prevent warning for the same cause twice.
45
+ * This would be an object like e.g. an `ObervableQuery`.
46
+ * If the `cause` is not provided, we will warn every time.
47
+ */
48
+ cause?: object;
41
49
  fetchPolicy?: WatchQueryFetchPolicy;
42
50
  }
43
51
  interface QueryManagerOptions {
44
- cache: ApolloCache;
45
- link: ApolloLink;
52
+ client: ApolloClient;
53
+ clientOptions: ApolloClientOptions;
46
54
  defaultOptions: DefaultOptions;
47
55
  documentTransform: DocumentTransform | null | undefined;
48
56
  queryDeduplication: boolean;
49
57
  onBroadcast: undefined | (() => void);
50
58
  ssrMode: boolean;
51
- clientAwareness: Record<string, string>;
52
- localState: LocalState;
53
59
  assumeImmutableResults: boolean;
54
60
  defaultContext: Partial<DefaultContext> | undefined;
55
61
  dataMasking: boolean;
62
+ localState: LocalState | undefined;
63
+ incrementalHandler: Incremental.Handler;
56
64
  }
57
65
  export declare class QueryManager {
58
- cache: ApolloCache;
59
- link: ApolloLink;
60
66
  defaultOptions: DefaultOptions;
67
+ readonly client: ApolloClient;
68
+ /**
69
+ * The options that were passed to the ApolloClient constructor.
70
+ */
71
+ readonly clientOptions: ApolloClientOptions;
61
72
  readonly assumeImmutableResults: boolean;
62
73
  readonly documentTransform: DocumentTransform;
63
74
  readonly ssrMode: boolean;
64
75
  readonly defaultContext: Partial<DefaultContext>;
65
76
  readonly dataMasking: boolean;
77
+ readonly incrementalHandler: Incremental.Handler;
78
+ localState: LocalState | undefined;
66
79
  private queryDeduplication;
67
- private clientAwareness;
68
- private localState;
69
80
  /**
70
81
  * Whether to prioritize cache values over network results when
71
82
  * `fetchObservableWithInfo` is called.
@@ -81,81 +92,60 @@ export declare class QueryManager {
81
92
  mutationStore?: {
82
93
  [mutationId: string]: MutationStoreValue;
83
94
  };
84
- private queries;
95
+ /**
96
+ * All ObservableQueries that currently have at least one subscriber.
97
+ */
98
+ obsQueries: Set<ObservableQuery<any, any>>;
85
99
  protected fetchCancelFns: Map<string, (error: any) => any>;
86
100
  constructor(options: QueryManagerOptions);
101
+ get link(): import("@apollo/client/link").ApolloLink;
102
+ get cache(): ApolloCache;
87
103
  /**
88
104
  * Call this method to terminate any active query processes, making it safe
89
105
  * to dispose of this QueryManager instance.
90
106
  */
91
107
  stop(): void;
92
108
  private cancelPendingFetches;
93
- mutate<TData, TVariables extends OperationVariables, TContext extends Record<string, any>, TCache extends ApolloCache>({ mutation, variables, optimisticResponse, updateQueries, refetchQueries, awaitRefetchQueries, update: updateWithProxyFn, onQueryUpdated, fetchPolicy, errorPolicy, keepRootFields, context, }: MutationOptions<TData, TVariables, TContext>): Promise<MutateResult<MaybeMasked<TData>>>;
94
- markMutationResult<TData, TVariables extends OperationVariables, TContext, TCache extends ApolloCache>(mutation: {
95
- mutationId: string;
96
- result: FetchResult<TData>;
97
- document: DocumentNode;
98
- variables?: TVariables;
99
- fetchPolicy?: MutationFetchPolicy;
100
- errorPolicy: ErrorPolicy;
101
- context?: TContext;
102
- updateQueries: UpdateQueries<TData>;
103
- update?: MutationUpdaterFunction<TData, TVariables, TContext, TCache>;
104
- awaitRefetchQueries?: boolean;
105
- refetchQueries?: InternalRefetchQueriesInclude;
106
- removeOptimistic?: string;
107
- onQueryUpdated?: OnQueryUpdated<any>;
108
- keepRootFields?: boolean;
109
- }, cache?: ApolloCache): Promise<FetchResult<TData>>;
110
- markMutationOptimistic<TData, TVariables extends OperationVariables, TContext, TCache extends ApolloCache>(optimisticResponse: any, mutation: {
111
- mutationId: string;
112
- document: DocumentNode;
113
- variables?: TVariables;
114
- fetchPolicy?: MutationFetchPolicy;
109
+ mutate<TData, TVariables extends OperationVariables, TCache extends ApolloCache>({ mutation, variables, optimisticResponse, updateQueries, refetchQueries, awaitRefetchQueries, update: updateWithProxyFn, onQueryUpdated, fetchPolicy, errorPolicy, keepRootFields, context, }: MutationOptions<TData, TVariables, TCache> & {
115
110
  errorPolicy: ErrorPolicy;
116
- context?: TContext;
117
- updateQueries: UpdateQueries<TData>;
118
- update?: MutationUpdaterFunction<TData, TVariables, TContext, TCache>;
119
- keepRootFields?: boolean;
120
- }): boolean;
121
- fetchQuery<TData, TVars extends OperationVariables>(queryId: string, options: WatchQueryOptions<TVars, TData>, networkStatus?: NetworkStatus): Promise<QueryResult<TData>>;
111
+ fetchPolicy: MutationFetchPolicy;
112
+ }): Promise<MutateResult<MaybeMasked<TData>>>;
113
+ fetchQuery<TData, TVars extends OperationVariables>(options: WatchQueryOptions<TVars, TData>, networkStatus?: NetworkStatus): Promise<QueryResult<TData>>;
122
114
  transform(document: DocumentNode): DocumentNode;
123
115
  private transformCache;
124
116
  getDocumentInfo(document: DocumentNode): TransformCacheEntry;
125
- private getVariables;
117
+ getVariables<TVariables>(document: DocumentNode, variables?: TVariables): TVariables;
126
118
  watchQuery<T, TVariables extends OperationVariables = OperationVariables>(options: WatchQueryOptions<TVariables, T>): ObservableQuery<T, TVariables>;
127
- query<TData, TVars extends OperationVariables = OperationVariables>(options: QueryOptions<TVars, TData>, queryId?: string): Promise<QueryResult<MaybeMasked<TData>>>;
128
- private queryIdCounter;
129
- generateQueryId(): string;
119
+ query<TData, TVars extends OperationVariables = OperationVariables>(options: QueryOptions<TVars, TData>): Promise<QueryResult<MaybeMasked<TData>>>;
130
120
  private requestIdCounter;
131
121
  generateRequestId(): number;
132
- private mutationIdCounter;
133
- generateMutationId(): string;
134
122
  clearStore(options?: Cache.ResetOptions): Promise<void>;
135
- getObservableQueries(include?: InternalRefetchQueriesInclude): Map<string, ObservableQuery<any, OperationVariables>>;
136
- reFetchObservableQueries(includeStandby?: boolean): Promise<QueryResult<any>[]>;
137
- startGraphQLSubscription<TData = unknown>(options: SubscriptionOptions): Observable<SubscribeResult<TData>>;
138
- stopQuery(queryId: string): void;
139
- removeQuery(queryId: string): void;
123
+ getObservableQueries(include?: InternalRefetchQueriesInclude): Set<ObservableQuery<any, OperationVariables>>;
124
+ refetchObservableQueries(includeStandby?: boolean): Promise<QueryResult<any>[]>;
125
+ startGraphQLSubscription<TData = unknown>(options: SubscriptionOptions): SubscriptionObservable<SubscribeResult<TData>>;
140
126
  broadcastQueries(): void;
141
- getLocalState(): LocalState;
142
127
  protected inFlightLinkObservables: Trie<{
143
128
  observable?: Observable<FetchResult<any>>;
129
+ restart?: () => void;
144
130
  }>;
145
131
  private getObservableFromLink;
146
132
  private getResultsFromLink;
147
- fetchObservableWithInfo<TData, TVars extends OperationVariables>(queryInfo: QueryInfo, options: WatchQueryOptions<TVars, TData>, networkStatus?: NetworkStatus, query?: DocumentNode | import("@graphql-typed-document-node/core").TypedDocumentNode<TData, TVars>, emitLoadingState?: boolean): ObservableAndInfo<TData>;
133
+ fetchObservableWithInfo<TData, TVars extends OperationVariables>(options: WatchQueryOptions<TVars, TData>, { networkStatus, query, fetchQueryOperator, onCacheHit, observableQuery, }: {
134
+ networkStatus?: NetworkStatus;
135
+ query?: DocumentNode;
136
+ fetchQueryOperator?: <T>(source: Observable<T>) => Observable<T>;
137
+ onCacheHit?: () => void;
138
+ observableQuery?: ObservableQuery<TData, TVars> | undefined;
139
+ }): ObservableAndInfo<TData>;
148
140
  refetchQueries<TResult>({ updateCache, include, optimistic, removeOptimistic, onQueryUpdated, }: InternalRefetchQueriesOptions<ApolloCache, TResult>): InternalRefetchQueriesMap<TResult>;
149
- private noCacheWarningsByQueryId;
141
+ private noCacheWarningsByCause;
150
142
  maskOperation<TData = unknown>(options: MaskOperationOptions<TData>): MaybeMasked<TData>;
151
143
  maskFragment<TData = unknown>(options: MaskFragmentOptions<TData>): TData;
152
144
  private fetchQueryByPolicy;
153
- getOrCreateQuery(queryId: string): QueryInfo;
154
- private prepareContext;
155
145
  }
156
- export interface ObservableAndInfo<TData> {
146
+ interface ObservableAndInfo<TData> {
157
147
  fromLink: boolean;
158
- observable: Observable<ApolloQueryResult<TData>>;
148
+ observable: Observable<QueryNotification.Value<TData>>;
159
149
  }
160
150
  export {};
161
151
  //# sourceMappingURL=QueryManager.d.ts.map