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

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 (1712) hide show
  1. package/CHANGELOG.md +1059 -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 +2 -2
  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 +2 -7
  17. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  18. package/__cjs/cache/inmemory/inMemoryCache.d.cts +9 -7
  19. package/__cjs/cache/inmemory/key-extractor.cjs +10 -10
  20. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  21. package/__cjs/cache/inmemory/policies.cjs +14 -13
  22. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  23. package/__cjs/cache/inmemory/policies.d.cts +2 -1
  24. package/__cjs/cache/inmemory/readFromStore.cjs +19 -20
  25. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  26. package/__cjs/cache/inmemory/readFromStore.d.cts +0 -1
  27. package/__cjs/cache/inmemory/types.d.cts +0 -5
  28. package/__cjs/cache/inmemory/writeToStore.cjs +50 -22
  29. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  30. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
  31. package/__cjs/core/ApolloClient.cjs +53 -81
  32. package/__cjs/core/ApolloClient.cjs.map +1 -1
  33. package/__cjs/core/ApolloClient.d.cts +29 -62
  34. package/__cjs/core/ObservableQuery.cjs +768 -468
  35. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  36. package/__cjs/core/ObservableQuery.d.cts +290 -60
  37. package/__cjs/core/QueryInfo.cjs +271 -180
  38. package/__cjs/core/QueryInfo.cjs.map +1 -1
  39. package/__cjs/core/QueryInfo.d.cts +55 -30
  40. package/__cjs/core/QueryManager.cjs +510 -587
  41. package/__cjs/core/QueryManager.cjs.map +1 -1
  42. package/__cjs/core/QueryManager.d.cts +52 -62
  43. package/__cjs/core/equalByQuery.cjs +7 -7
  44. package/__cjs/core/equalByQuery.cjs.map +1 -1
  45. package/__cjs/core/index.cjs +11 -10
  46. package/__cjs/core/index.cjs.map +1 -1
  47. package/__cjs/core/index.d.cts +10 -12
  48. package/__cjs/core/networkStatus.cjs +7 -1
  49. package/__cjs/core/networkStatus.cjs.map +1 -1
  50. package/__cjs/core/networkStatus.d.cts +7 -1
  51. package/__cjs/core/types.d.cts +137 -25
  52. package/__cjs/core/watchQueryOptions.d.cts +23 -108
  53. package/__cjs/dev/loadErrorMessageHandler.cjs +2 -3
  54. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  55. package/__cjs/dev/setErrorMessageHandler.cjs +2 -3
  56. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  57. package/__cjs/errors/CombinedGraphQLErrors.cjs +28 -13
  58. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  59. package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
  60. package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
  61. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  62. package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
  63. package/__cjs/errors/LinkError.cjs +24 -0
  64. package/__cjs/errors/LinkError.cjs.map +1 -0
  65. package/__cjs/errors/LinkError.d.cts +18 -0
  66. package/__cjs/errors/LocalStateError.cjs +27 -0
  67. package/__cjs/errors/LocalStateError.cjs.map +1 -0
  68. package/__cjs/errors/LocalStateError.d.cts +20 -0
  69. package/__cjs/errors/ServerError.cjs +9 -4
  70. package/__cjs/errors/ServerError.cjs.map +1 -1
  71. package/__cjs/errors/ServerError.d.cts +10 -8
  72. package/__cjs/errors/ServerParseError.cjs +6 -0
  73. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  74. package/__cjs/errors/ServerParseError.d.cts +2 -0
  75. package/__cjs/errors/UnconventionalError.cjs +6 -0
  76. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  77. package/__cjs/errors/UnconventionalError.d.cts +2 -0
  78. package/__cjs/errors/index.cjs +12 -12
  79. package/__cjs/errors/index.cjs.map +1 -1
  80. package/__cjs/errors/index.d.cts +5 -8
  81. package/__cjs/errors/isErrorLike.cjs +12 -0
  82. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  83. package/__cjs/errors/isErrorLike.d.cts +3 -0
  84. package/__cjs/errors/utils.cjs +18 -0
  85. package/__cjs/errors/utils.cjs.map +1 -0
  86. package/__cjs/errors/utils.d.cts +3 -0
  87. package/__cjs/incremental/handlers/defer20220824.cjs +102 -0
  88. package/__cjs/incremental/handlers/defer20220824.cjs.map +1 -0
  89. package/__cjs/incremental/handlers/defer20220824.d.cts +55 -0
  90. package/__cjs/incremental/handlers/notImplemented.cjs +19 -0
  91. package/__cjs/incremental/handlers/notImplemented.cjs.map +1 -0
  92. package/__cjs/incremental/handlers/notImplemented.d.cts +9 -0
  93. package/__cjs/incremental/index.cjs +9 -0
  94. package/__cjs/incremental/index.cjs.map +1 -0
  95. package/__cjs/incremental/index.d.cts +4 -0
  96. package/__cjs/incremental/types.cjs +3 -0
  97. package/__cjs/incremental/types.cjs.map +1 -0
  98. package/__cjs/incremental/types.d.cts +24 -0
  99. package/__cjs/invariantErrorCodes.cjs +270 -172
  100. package/__cjs/link/batch/batchLink.cjs +2 -2
  101. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  102. package/__cjs/link/batch/batchLink.d.cts +2 -2
  103. package/__cjs/link/batch/batching.cjs.map +1 -1
  104. package/__cjs/link/batch/batching.d.cts +1 -1
  105. package/__cjs/link/batch-http/batchHttpLink.cjs +21 -67
  106. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  107. package/__cjs/link/batch-http/batchHttpLink.d.cts +9 -4
  108. package/__cjs/link/batch-http/index.cjs +2 -1
  109. package/__cjs/link/batch-http/index.cjs.map +1 -1
  110. package/__cjs/link/batch-http/index.d.cts +1 -1
  111. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs +45 -0
  112. package/__cjs/link/client-awareness/ClientAwarenessLink.cjs.map +1 -0
  113. package/__cjs/link/client-awareness/ClientAwarenessLink.d.cts +62 -0
  114. package/__cjs/link/client-awareness/index.cjs +6 -0
  115. package/__cjs/link/client-awareness/index.cjs.map +1 -0
  116. package/__cjs/link/client-awareness/index.d.cts +2 -0
  117. package/__cjs/link/context/index.cjs +37 -26
  118. package/__cjs/link/context/index.cjs.map +1 -1
  119. package/__cjs/link/context/index.d.cts +11 -5
  120. package/__cjs/link/core/ApolloLink.cjs +19 -13
  121. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  122. package/__cjs/link/core/ApolloLink.d.cts +17 -11
  123. package/__cjs/link/core/types.d.cts +16 -36
  124. package/__cjs/link/error/index.cjs +69 -66
  125. package/__cjs/link/error/index.cjs.map +1 -1
  126. package/__cjs/link/error/index.d.cts +17 -16
  127. package/__cjs/link/http/BaseHttpLink.cjs +111 -0
  128. package/__cjs/link/http/BaseHttpLink.cjs.map +1 -0
  129. package/__cjs/link/http/BaseHttpLink.d.cts +6 -0
  130. package/__cjs/link/http/HttpLink.cjs +14 -7
  131. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  132. package/__cjs/link/http/HttpLink.d.cts +145 -4
  133. package/__cjs/link/http/checkFetcher.cjs +1 -1
  134. package/__cjs/link/http/index.cjs +4 -3
  135. package/__cjs/link/http/index.cjs.map +1 -1
  136. package/__cjs/link/http/index.d.cts +2 -3
  137. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +74 -113
  138. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  139. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +1 -3
  140. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  141. package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
  142. package/__cjs/link/http/selectHttpOptionsAndBody.cjs +7 -6
  143. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  144. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +8 -83
  145. package/__cjs/link/http/selectURI.cjs.map +1 -1
  146. package/__cjs/link/http/selectURI.d.cts +1 -1
  147. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  148. package/__cjs/link/index.cjs +16 -0
  149. package/__cjs/link/index.cjs.map +1 -0
  150. package/__cjs/link/index.d.cts +8 -0
  151. package/__cjs/link/persisted-queries/index.cjs +162 -142
  152. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  153. package/__cjs/link/persisted-queries/index.d.cts +21 -21
  154. package/__cjs/link/remove-typename/index.cjs +2 -1
  155. package/__cjs/link/remove-typename/index.cjs.map +1 -1
  156. package/__cjs/link/remove-typename/index.d.cts +1 -1
  157. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +37 -25
  158. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  159. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +9 -10
  160. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  161. package/__cjs/link/retry/delayFunction.d.cts +1 -1
  162. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  163. package/__cjs/link/retry/retryFunction.d.cts +1 -1
  164. package/__cjs/link/retry/retryLink.cjs +2 -2
  165. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  166. package/__cjs/link/retry/retryLink.d.cts +2 -2
  167. package/__cjs/link/schema/index.cjs +2 -2
  168. package/__cjs/link/schema/index.cjs.map +1 -1
  169. package/__cjs/link/schema/index.d.cts +2 -2
  170. package/__cjs/link/subscriptions/index.cjs +5 -5
  171. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  172. package/__cjs/link/subscriptions/index.d.cts +2 -2
  173. package/__cjs/link/utils/createOperation.cjs +5 -1
  174. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  175. package/__cjs/link/utils/createOperation.d.cts +2 -2
  176. package/__cjs/link/utils/transformOperation.cjs +2 -2
  177. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  178. package/__cjs/link/utils/transformOperation.d.cts +1 -1
  179. package/__cjs/link/utils/validateOperation.cjs +2 -1
  180. package/__cjs/link/utils/validateOperation.cjs.map +1 -1
  181. package/__cjs/link/utils/validateOperation.d.cts +1 -1
  182. package/__cjs/link/ws/index.cjs +2 -2
  183. package/__cjs/link/ws/index.cjs.map +1 -1
  184. package/__cjs/link/ws/index.d.cts +2 -2
  185. package/__cjs/local-state/LocalState.cjs +524 -0
  186. package/__cjs/local-state/LocalState.cjs.map +1 -0
  187. package/__cjs/local-state/LocalState.d.cts +88 -0
  188. package/__cjs/local-state/index.cjs +6 -0
  189. package/__cjs/local-state/index.cjs.map +1 -0
  190. package/__cjs/local-state/index.d.cts +2 -0
  191. package/__cjs/masking/GraphQLCodegenDataMasking.cjs +3 -0
  192. package/__cjs/masking/GraphQLCodegenDataMasking.cjs.map +1 -0
  193. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +79 -0
  194. package/__cjs/masking/index.cjs.map +1 -1
  195. package/__cjs/masking/index.d.cts +1 -0
  196. package/__cjs/masking/internal/types.d.cts +1 -2
  197. package/__cjs/masking/maskDefinition.cjs +6 -6
  198. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  199. package/__cjs/masking/maskDefinition.d.cts +1 -1
  200. package/__cjs/masking/maskFragment.cjs +9 -13
  201. package/__cjs/masking/maskFragment.cjs.map +1 -1
  202. package/__cjs/masking/maskFragment.d.cts +5 -1
  203. package/__cjs/masking/maskOperation.cjs +9 -13
  204. package/__cjs/masking/maskOperation.cjs.map +1 -1
  205. package/__cjs/masking/maskOperation.d.cts +5 -1
  206. package/__cjs/masking/types.d.cts +12 -26
  207. package/__cjs/masking/utils.cjs +32 -7
  208. package/__cjs/masking/utils.cjs.map +1 -1
  209. package/__cjs/masking/utils.d.cts +7 -2
  210. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  211. package/__cjs/react/context/ApolloContext.cjs +1 -1
  212. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  213. package/__cjs/react/hooks/internal/__use.cjs +6 -6
  214. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  215. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +2 -2
  216. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  217. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  218. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  219. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  220. package/__cjs/react/hooks/internal/wrapHook.cjs +36 -34
  221. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  222. package/__cjs/react/hooks/internal/wrapHook.d.cts +42 -38
  223. package/__cjs/react/hooks/useApolloClient.cjs +1 -1
  224. package/__cjs/react/hooks/useBackgroundQuery.cjs +3 -2
  225. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  226. package/__cjs/react/hooks/useBackgroundQuery.d.cts +59 -28
  227. package/__cjs/react/hooks/useFragment.cjs +1 -0
  228. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  229. package/__cjs/react/hooks/useFragment.d.cts +2 -1
  230. package/__cjs/react/hooks/useLazyQuery.cjs +18 -16
  231. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  232. package/__cjs/react/hooks/useLazyQuery.d.cts +55 -80
  233. package/__cjs/react/hooks/useLoadableQuery.cjs +23 -4
  234. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  235. package/__cjs/react/hooks/useLoadableQuery.d.cts +8 -10
  236. package/__cjs/react/hooks/useMutation.cjs +2 -2
  237. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  238. package/__cjs/react/hooks/useMutation.d.cts +48 -15
  239. package/__cjs/react/hooks/useQuery.cjs +46 -50
  240. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  241. package/__cjs/react/hooks/useQuery.d.cts +19 -71
  242. package/__cjs/react/hooks/useQueryRefHandlers.cjs +1 -0
  243. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  244. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +2 -2
  245. package/__cjs/react/hooks/useReadQuery.cjs +2 -0
  246. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  247. package/__cjs/react/hooks/useReadQuery.d.cts +4 -11
  248. package/__cjs/react/hooks/useSubscription.cjs +13 -18
  249. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  250. package/__cjs/react/hooks/useSubscription.d.cts +6 -8
  251. package/__cjs/react/hooks/useSuspenseFragment.cjs +1 -0
  252. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  253. package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -2
  254. package/__cjs/react/hooks/useSuspenseQuery.cjs +8 -28
  255. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  256. package/__cjs/react/hooks/useSuspenseQuery.d.cts +19 -36
  257. package/__cjs/react/hooks/useSyncExternalStore.cjs +22 -3
  258. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  259. package/__cjs/react/index.cjs +3 -1
  260. package/__cjs/react/index.cjs.map +1 -1
  261. package/__cjs/react/index.d.cts +2 -1
  262. package/__cjs/react/internal/cache/FragmentReference.cjs +8 -5
  263. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  264. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -2
  265. package/__cjs/react/internal/cache/QueryReference.cjs +27 -38
  266. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  267. package/__cjs/react/internal/cache/QueryReference.d.cts +48 -108
  268. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  269. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  270. package/__cjs/react/internal/index.cjs.map +1 -1
  271. package/__cjs/react/internal/index.d.cts +2 -2
  272. package/__cjs/react/internal/types.d.cts +3 -45
  273. package/__cjs/react/query-preloader/createQueryPreloader.cjs +8 -2
  274. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  275. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +46 -38
  276. package/__cjs/react/ssr/prerenderStatic.cjs +9 -2
  277. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  278. package/__cjs/react/ssr/useSSRQuery.cjs +12 -2
  279. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -1
  280. package/__cjs/react/types/deprecated.d.cts +3 -3
  281. package/__cjs/react/types/types.documentation.d.cts +12 -0
  282. package/__cjs/testing/core/mocking/mockLink.cjs +21 -22
  283. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  284. package/__cjs/testing/core/mocking/mockLink.d.cts +31 -24
  285. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs +2 -6
  286. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
  287. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +9 -8
  288. package/__cjs/testing/core/types/deprecated.cjs +3 -0
  289. package/__cjs/testing/core/types/deprecated.cjs.map +1 -0
  290. package/__cjs/testing/core/types/deprecated.d.cts +10 -0
  291. package/__cjs/testing/index.cjs +6 -13
  292. package/__cjs/testing/index.cjs.map +1 -1
  293. package/__cjs/testing/index.d.cts +3 -2
  294. package/__cjs/testing/react/MockedProvider.cjs +5 -5
  295. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  296. package/__cjs/testing/react/MockedProvider.d.cts +7 -12
  297. package/__cjs/utilities/DeepPartial.cjs.map +1 -0
  298. package/__cjs/utilities/DeepPartial.d.cts +15 -0
  299. package/__cjs/utilities/HKT.cjs +3 -0
  300. package/__cjs/utilities/HKT.cjs.map +1 -0
  301. package/__cjs/utilities/HKT.d.cts +35 -0
  302. package/__cjs/utilities/caching/index.cjs +1 -4
  303. package/__cjs/utilities/caching/index.cjs.map +1 -1
  304. package/__cjs/utilities/caching/index.d.cts +0 -1
  305. package/__cjs/utilities/caching/sizes.cjs +1 -1
  306. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  307. package/__cjs/utilities/caching/sizes.d.cts +6 -0
  308. package/__cjs/utilities/common/stripTypename.cjs +8 -2
  309. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  310. package/__cjs/utilities/common/stripTypename.d.cts +7 -1
  311. package/__cjs/utilities/graphql/DocumentTransform.cjs +13 -9
  312. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  313. package/__cjs/utilities/graphql/DocumentTransform.d.cts +10 -6
  314. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs +9 -0
  315. package/__cjs/utilities/graphql/isFormattedExecutionResult.cjs.map +1 -0
  316. package/__cjs/utilities/graphql/isFormattedExecutionResult.d.cts +3 -0
  317. package/__cjs/utilities/graphql/operations.cjs +23 -2
  318. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  319. package/__cjs/utilities/graphql/operations.d.cts +21 -0
  320. package/__cjs/utilities/graphql/print.cjs +9 -1
  321. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  322. package/__cjs/utilities/graphql/print.d.cts +8 -0
  323. package/__cjs/utilities/graphql/storeUtils.cjs +5 -206
  324. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  325. package/__cjs/utilities/graphql/storeUtils.d.cts +14 -22
  326. package/__cjs/utilities/graphql/transform.cjs +8 -454
  327. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  328. package/__cjs/utilities/graphql/transform.d.cts +6 -24
  329. package/__cjs/utilities/index.cjs +6 -90
  330. package/__cjs/utilities/index.cjs.map +1 -1
  331. package/__cjs/utilities/index.d.cts +9 -38
  332. package/__cjs/utilities/internal/DeepMerger.cjs +67 -0
  333. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
  334. package/__cjs/utilities/internal/DeepMerger.d.cts +17 -0
  335. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
  336. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
  337. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
  338. package/__cjs/utilities/internal/caches.cjs +76 -0
  339. package/__cjs/utilities/internal/caches.cjs.map +1 -0
  340. package/__cjs/utilities/internal/caches.d.cts +42 -0
  341. package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
  342. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
  343. package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
  344. package/__cjs/utilities/internal/checkDocument.cjs +69 -0
  345. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
  346. package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
  347. package/__cjs/utilities/internal/cloneDeep.cjs +45 -0
  348. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
  349. package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
  350. package/__cjs/utilities/internal/compact.cjs +26 -0
  351. package/__cjs/utilities/internal/compact.cjs.map +1 -0
  352. package/__cjs/utilities/internal/compact.d.cts +11 -0
  353. package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
  354. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
  355. package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
  356. package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
  357. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
  358. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
  359. package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
  360. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
  361. package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
  362. package/__cjs/utilities/internal/dealias.cjs +21 -0
  363. package/__cjs/utilities/internal/dealias.cjs.map +1 -0
  364. package/__cjs/utilities/internal/dealias.d.cts +5 -0
  365. package/__cjs/utilities/internal/decoratePromise.cjs +33 -0
  366. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
  367. package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
  368. package/__cjs/utilities/internal/deepFreeze.cjs +39 -0
  369. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
  370. package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
  371. package/__cjs/utilities/internal/filterMap.cjs +31 -0
  372. package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
  373. package/__cjs/utilities/internal/filterMap.d.cts +4 -0
  374. package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
  375. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
  376. package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
  377. package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
  378. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
  379. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
  380. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
  381. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
  382. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
  383. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
  384. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
  385. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
  386. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +86 -0
  387. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
  388. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +29 -0
  389. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +12 -0
  390. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
  391. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +10 -0
  392. package/__cjs/utilities/internal/getMainDefinition.cjs +33 -0
  393. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
  394. package/__cjs/utilities/internal/getMainDefinition.d.cts +12 -0
  395. package/__cjs/utilities/internal/getMemoryInternals.cjs +16 -9
  396. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  397. package/__cjs/utilities/internal/getMemoryInternals.d.cts +15 -10
  398. package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
  399. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
  400. package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
  401. package/__cjs/utilities/internal/getOperationName.cjs +12 -0
  402. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
  403. package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
  404. package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
  405. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
  406. package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
  407. package/__cjs/utilities/internal/getStoreKeyName.cjs +73 -0
  408. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
  409. package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
  410. package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
  411. package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
  412. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
  413. package/__cjs/utilities/internal/graphQLResultHasError.cjs +12 -0
  414. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
  415. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
  416. package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
  417. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
  418. package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
  419. package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
  420. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
  421. package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
  422. package/__cjs/utilities/internal/index.cjs +97 -5
  423. package/__cjs/utilities/internal/index.cjs.map +1 -1
  424. package/__cjs/utilities/internal/index.d.cts +62 -2
  425. package/__cjs/utilities/internal/isArray.cjs +12 -0
  426. package/__cjs/utilities/internal/isArray.cjs.map +1 -0
  427. package/__cjs/utilities/internal/isArray.d.cts +9 -0
  428. package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
  429. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
  430. package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
  431. package/__cjs/utilities/internal/isField.cjs +12 -0
  432. package/__cjs/utilities/internal/isField.cjs.map +1 -0
  433. package/__cjs/utilities/internal/isField.d.cts +8 -0
  434. package/__cjs/utilities/internal/isNonEmptyArray.cjs +12 -0
  435. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
  436. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
  437. package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
  438. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
  439. package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
  440. package/__cjs/utilities/internal/isPlainObject.cjs +15 -0
  441. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
  442. package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
  443. package/__cjs/utilities/internal/makeReference.cjs +12 -0
  444. package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
  445. package/__cjs/utilities/internal/makeReference.d.cts +8 -0
  446. package/__cjs/utilities/internal/makeUniqueId.cjs +18 -0
  447. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
  448. package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
  449. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
  450. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
  451. package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
  452. package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
  453. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
  454. package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
  455. package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
  456. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
  457. package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
  458. package/__cjs/utilities/internal/mergeOptions.cjs +18 -0
  459. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
  460. package/__cjs/utilities/internal/mergeOptions.d.cts +10 -0
  461. package/__cjs/utilities/internal/omitDeep.cjs +48 -0
  462. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
  463. package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
  464. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -0
  465. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +306 -0
  466. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
  467. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
  468. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
  469. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
  470. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
  471. package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
  472. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
  473. package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
  474. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
  475. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
  476. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
  477. package/__cjs/utilities/internal/stringifyForDisplay.cjs +18 -0
  478. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
  479. package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
  480. package/__cjs/utilities/internal/toQueryResult.cjs +5 -0
  481. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  482. package/__cjs/utilities/internal/toQueryResult.d.cts +5 -0
  483. package/__cjs/utilities/internal/types/ApplyHKT.cjs +3 -0
  484. package/__cjs/utilities/internal/types/ApplyHKT.cjs.map +1 -0
  485. package/__cjs/utilities/internal/types/ApplyHKT.d.cts +13 -0
  486. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs +3 -0
  487. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs.map +1 -0
  488. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.d.cts +11 -0
  489. package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
  490. package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
  491. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
  492. package/__cjs/utilities/internal/types/DeepOmit.d.cts +15 -0
  493. package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
  494. package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
  495. package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
  496. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
  497. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
  498. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
  499. package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
  500. package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
  501. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
  502. package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
  503. package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
  504. package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
  505. package/__cjs/utilities/internal/types/NoInfer.d.cts +29 -0
  506. package/__cjs/utilities/internal/types/PendingPromise.cjs +3 -0
  507. package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
  508. package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
  509. package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
  510. package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
  511. package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
  512. package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
  513. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
  514. package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +9 -0
  515. package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
  516. package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
  517. package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
  518. package/__cjs/utilities/internal/types/VariablesOption.cjs +3 -0
  519. package/__cjs/utilities/internal/types/VariablesOption.cjs.map +1 -0
  520. package/__cjs/utilities/internal/types/VariablesOption.d.cts +30 -0
  521. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
  522. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
  523. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
  524. package/__cjs/utilities/invariant/index.cjs +3 -2
  525. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  526. package/__cjs/utilities/policies/pagination.cjs +26 -9
  527. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  528. package/__cjs/utilities/policies/pagination.d.cts +23 -0
  529. package/__cjs/utilities/shared/canonicalStringify.cjs +91 -0
  530. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
  531. package/__cjs/utilities/subscriptions/relay/index.cjs +4 -4
  532. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  533. package/__cjs/version.cjs +3 -2
  534. package/__cjs/version.cjs.map +1 -1
  535. package/__cjs/version.d.cts +1 -0
  536. package/cache/core/cache.d.ts +11 -8
  537. package/cache/core/cache.js +11 -9
  538. package/cache/core/cache.js.map +1 -1
  539. package/cache/index.d.ts +2 -2
  540. package/cache/index.js +1 -1
  541. package/cache/index.js.map +1 -1
  542. package/cache/inmemory/entityStore.js +5 -4
  543. package/cache/inmemory/entityStore.js.map +1 -1
  544. package/cache/inmemory/fragmentRegistry.js +2 -1
  545. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  546. package/cache/inmemory/helpers.d.ts +3 -3
  547. package/cache/inmemory/helpers.js +2 -2
  548. package/cache/inmemory/helpers.js.map +1 -1
  549. package/cache/inmemory/inMemoryCache.d.ts +9 -7
  550. package/cache/inmemory/inMemoryCache.js +2 -7
  551. package/cache/inmemory/inMemoryCache.js.map +1 -1
  552. package/cache/inmemory/key-extractor.js +3 -3
  553. package/cache/inmemory/key-extractor.js.map +1 -1
  554. package/cache/inmemory/policies.d.ts +2 -1
  555. package/cache/inmemory/policies.js +7 -6
  556. package/cache/inmemory/policies.js.map +1 -1
  557. package/cache/inmemory/readFromStore.d.ts +0 -1
  558. package/cache/inmemory/readFromStore.js +7 -8
  559. package/cache/inmemory/readFromStore.js.map +1 -1
  560. package/cache/inmemory/types.d.ts +0 -5
  561. package/cache/inmemory/writeToStore.d.ts +2 -1
  562. package/cache/inmemory/writeToStore.js +34 -6
  563. package/cache/inmemory/writeToStore.js.map +1 -1
  564. package/core/ApolloClient.d.ts +29 -62
  565. package/core/ApolloClient.js +52 -84
  566. package/core/ApolloClient.js.map +1 -1
  567. package/core/ObservableQuery.d.ts +290 -60
  568. package/core/ObservableQuery.js +766 -466
  569. package/core/ObservableQuery.js.map +1 -1
  570. package/core/QueryInfo.d.ts +55 -30
  571. package/core/QueryInfo.js +267 -178
  572. package/core/QueryInfo.js.map +1 -1
  573. package/core/QueryManager.d.ts +52 -62
  574. package/core/QueryManager.js +481 -573
  575. package/core/QueryManager.js.map +1 -1
  576. package/core/equalByQuery.js +1 -1
  577. package/core/equalByQuery.js.map +1 -1
  578. package/core/index.d.ts +10 -12
  579. package/core/index.js +5 -5
  580. package/core/index.js.map +1 -1
  581. package/core/networkStatus.d.ts +7 -1
  582. package/core/networkStatus.js +7 -1
  583. package/core/networkStatus.js.map +1 -1
  584. package/core/types.d.ts +137 -25
  585. package/core/watchQueryOptions.d.ts +23 -108
  586. package/dev/loadErrorMessageHandler.js +1 -1
  587. package/dev/loadErrorMessageHandler.js.map +1 -1
  588. package/dev/setErrorMessageHandler.js +1 -1
  589. package/dev/setErrorMessageHandler.js.map +1 -1
  590. package/errors/CombinedGraphQLErrors.d.ts +21 -2
  591. package/errors/CombinedGraphQLErrors.js +28 -13
  592. package/errors/CombinedGraphQLErrors.js.map +1 -1
  593. package/errors/CombinedProtocolErrors.d.ts +9 -0
  594. package/errors/CombinedProtocolErrors.js +13 -6
  595. package/errors/CombinedProtocolErrors.js.map +1 -1
  596. package/errors/LinkError.d.ts +18 -0
  597. package/errors/LinkError.js +20 -0
  598. package/errors/LinkError.js.map +1 -0
  599. package/errors/LocalStateError.d.ts +20 -0
  600. package/errors/LocalStateError.js +23 -0
  601. package/errors/LocalStateError.js.map +1 -0
  602. package/errors/ServerError.d.ts +10 -8
  603. package/errors/ServerError.js +9 -4
  604. package/errors/ServerError.js.map +1 -1
  605. package/errors/ServerParseError.d.ts +2 -0
  606. package/errors/ServerParseError.js +6 -0
  607. package/errors/ServerParseError.js.map +1 -1
  608. package/errors/UnconventionalError.d.ts +2 -0
  609. package/errors/UnconventionalError.js +6 -0
  610. package/errors/UnconventionalError.js.map +1 -1
  611. package/errors/index.d.ts +5 -8
  612. package/errors/index.js +6 -10
  613. package/errors/index.js.map +1 -1
  614. package/errors/isErrorLike.d.ts +3 -0
  615. package/errors/isErrorLike.js +9 -0
  616. package/errors/isErrorLike.js.map +1 -0
  617. package/errors/utils.d.ts +3 -0
  618. package/errors/utils.js +14 -0
  619. package/errors/utils.js.map +1 -0
  620. package/incremental/handlers/defer20220824.d.ts +55 -0
  621. package/incremental/handlers/defer20220824.js +97 -0
  622. package/incremental/handlers/defer20220824.js.map +1 -0
  623. package/incremental/handlers/notImplemented.d.ts +9 -0
  624. package/incremental/handlers/notImplemented.js +15 -0
  625. package/incremental/handlers/notImplemented.js.map +1 -0
  626. package/incremental/index.d.ts +4 -0
  627. package/incremental/index.js +3 -0
  628. package/incremental/index.js.map +1 -0
  629. package/incremental/types.d.ts +24 -0
  630. package/incremental/types.js +2 -0
  631. package/incremental/types.js.map +1 -0
  632. package/invariantErrorCodes.js +271 -176
  633. package/legacyEntryPoints/incremental/incremental.cjs +1 -0
  634. package/legacyEntryPoints/incremental/incremental.d.cts +1 -0
  635. package/legacyEntryPoints/incremental/index.d.ts +1 -0
  636. package/legacyEntryPoints/incremental/index.js +1 -0
  637. package/legacyEntryPoints/link/client-awareness/client-awareness.cjs +1 -0
  638. package/legacyEntryPoints/link/client-awareness/client-awareness.d.cts +1 -0
  639. package/legacyEntryPoints/link/client-awareness/index.d.ts +1 -0
  640. package/legacyEntryPoints/link/client-awareness/index.js +1 -0
  641. package/legacyEntryPoints/link/index.d.ts +1 -0
  642. package/legacyEntryPoints/link/index.js +1 -0
  643. package/legacyEntryPoints/link/link.cjs +1 -0
  644. package/legacyEntryPoints/link/link.d.cts +1 -0
  645. package/legacyEntryPoints/local-state/index.d.ts +1 -0
  646. package/legacyEntryPoints/local-state/index.js +1 -0
  647. package/legacyEntryPoints/local-state/local-state.cjs +1 -0
  648. package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
  649. package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
  650. package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
  651. package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
  652. package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
  653. package/link/batch/batchLink.d.ts +2 -2
  654. package/link/batch/batchLink.js +1 -1
  655. package/link/batch/batchLink.js.map +1 -1
  656. package/link/batch/batching.d.ts +1 -1
  657. package/link/batch/batching.js.map +1 -1
  658. package/link/batch-http/batchHttpLink.d.ts +9 -4
  659. package/link/batch-http/batchHttpLink.js +15 -62
  660. package/link/batch-http/batchHttpLink.js.map +1 -1
  661. package/link/batch-http/index.d.ts +1 -1
  662. package/link/batch-http/index.js +1 -1
  663. package/link/batch-http/index.js.map +1 -1
  664. package/link/client-awareness/ClientAwarenessLink.d.ts +62 -0
  665. package/link/client-awareness/ClientAwarenessLink.js +41 -0
  666. package/link/client-awareness/ClientAwarenessLink.js.map +1 -0
  667. package/link/client-awareness/index.d.ts +2 -0
  668. package/link/client-awareness/index.js +2 -0
  669. package/link/client-awareness/index.js.map +1 -0
  670. package/link/context/index.d.ts +11 -5
  671. package/link/context/index.js +35 -26
  672. package/link/context/index.js.map +1 -1
  673. package/link/core/ApolloLink.d.ts +17 -11
  674. package/link/core/ApolloLink.js +19 -13
  675. package/link/core/ApolloLink.js.map +1 -1
  676. package/link/core/types.d.ts +16 -36
  677. package/link/error/index.d.ts +17 -16
  678. package/link/error/index.js +69 -66
  679. package/link/error/index.js.map +1 -1
  680. package/link/http/BaseHttpLink.d.ts +6 -0
  681. package/link/http/BaseHttpLink.js +107 -0
  682. package/link/http/BaseHttpLink.js.map +1 -0
  683. package/link/http/HttpLink.d.ts +145 -4
  684. package/link/http/HttpLink.js +11 -5
  685. package/link/http/HttpLink.js.map +1 -1
  686. package/link/http/checkFetcher.js +1 -1
  687. package/link/http/index.d.ts +2 -3
  688. package/link/http/index.js +2 -2
  689. package/link/http/index.js.map +1 -1
  690. package/link/http/parseAndCheckHttpResponse.d.ts +1 -3
  691. package/link/http/parseAndCheckHttpResponse.js +74 -112
  692. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  693. package/link/http/rewriteURIForGET.d.ts +2 -2
  694. package/link/http/rewriteURIForGET.js.map +1 -1
  695. package/link/http/selectHttpOptionsAndBody.d.ts +8 -83
  696. package/link/http/selectHttpOptionsAndBody.js +7 -6
  697. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  698. package/link/http/selectURI.d.ts +1 -1
  699. package/link/http/selectURI.js.map +1 -1
  700. package/link/http/serializeFetchParameter.js +1 -1
  701. package/link/index.d.ts +8 -0
  702. package/link/index.js +7 -0
  703. package/link/index.js.map +1 -0
  704. package/link/persisted-queries/index.d.ts +21 -21
  705. package/link/persisted-queries/index.js +159 -140
  706. package/link/persisted-queries/index.js.map +1 -1
  707. package/link/remove-typename/index.d.ts +1 -1
  708. package/link/remove-typename/index.js +1 -1
  709. package/link/remove-typename/index.js.map +1 -1
  710. package/link/remove-typename/removeTypenameFromVariables.d.ts +9 -10
  711. package/link/remove-typename/removeTypenameFromVariables.js +35 -24
  712. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  713. package/link/retry/delayFunction.d.ts +1 -1
  714. package/link/retry/delayFunction.js.map +1 -1
  715. package/link/retry/retryFunction.d.ts +1 -1
  716. package/link/retry/retryFunction.js.map +1 -1
  717. package/link/retry/retryLink.d.ts +2 -2
  718. package/link/retry/retryLink.js +1 -1
  719. package/link/retry/retryLink.js.map +1 -1
  720. package/link/schema/index.d.ts +2 -2
  721. package/link/schema/index.js +1 -1
  722. package/link/schema/index.js.map +1 -1
  723. package/link/subscriptions/index.d.ts +2 -2
  724. package/link/subscriptions/index.js +2 -2
  725. package/link/subscriptions/index.js.map +1 -1
  726. package/link/utils/createOperation.d.ts +2 -2
  727. package/link/utils/createOperation.js +5 -1
  728. package/link/utils/createOperation.js.map +1 -1
  729. package/link/utils/transformOperation.d.ts +1 -1
  730. package/link/utils/transformOperation.js +2 -2
  731. package/link/utils/transformOperation.js.map +1 -1
  732. package/link/utils/validateOperation.d.ts +1 -1
  733. package/link/utils/validateOperation.js +2 -1
  734. package/link/utils/validateOperation.js.map +1 -1
  735. package/link/ws/index.d.ts +2 -2
  736. package/link/ws/index.js +1 -1
  737. package/link/ws/index.js.map +1 -1
  738. package/local-state/LocalState.d.ts +88 -0
  739. package/local-state/LocalState.js +516 -0
  740. package/local-state/LocalState.js.map +1 -0
  741. package/local-state/index.d.ts +2 -0
  742. package/local-state/index.js +2 -0
  743. package/local-state/index.js.map +1 -0
  744. package/masking/GraphQLCodegenDataMasking.d.ts +79 -0
  745. package/masking/GraphQLCodegenDataMasking.js +2 -0
  746. package/masking/GraphQLCodegenDataMasking.js.map +1 -0
  747. package/masking/index.d.ts +1 -0
  748. package/masking/index.js.map +1 -1
  749. package/masking/internal/types.d.ts +1 -2
  750. package/masking/maskDefinition.d.ts +1 -1
  751. package/masking/maskDefinition.js +4 -4
  752. package/masking/maskDefinition.js.map +1 -1
  753. package/masking/maskFragment.d.ts +5 -1
  754. package/masking/maskFragment.js +8 -12
  755. package/masking/maskFragment.js.map +1 -1
  756. package/masking/maskOperation.d.ts +5 -1
  757. package/masking/maskOperation.js +7 -11
  758. package/masking/maskOperation.js.map +1 -1
  759. package/masking/types.d.ts +12 -26
  760. package/masking/utils.d.ts +7 -2
  761. package/masking/utils.js +31 -7
  762. package/masking/utils.js.map +1 -1
  763. package/package.json +38 -185
  764. package/react/context/ApolloConsumer.js +1 -1
  765. package/react/context/ApolloContext.js +1 -1
  766. package/react/context/ApolloProvider.js +1 -1
  767. package/react/hooks/internal/__use.js +6 -6
  768. package/react/hooks/internal/__use.js.map +1 -1
  769. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  770. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  771. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  772. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  773. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  774. package/react/hooks/internal/wrapHook.d.ts +42 -38
  775. package/react/hooks/internal/wrapHook.js +36 -34
  776. package/react/hooks/internal/wrapHook.js.map +1 -1
  777. package/react/hooks/useApolloClient.js +15 -2
  778. package/react/hooks/useApolloClient.js.map +1 -1
  779. package/react/hooks/useBackgroundQuery.d.ts +59 -28
  780. package/react/hooks/useBackgroundQuery.js +9 -8
  781. package/react/hooks/useBackgroundQuery.js.map +1 -1
  782. package/react/hooks/useFragment.d.ts +2 -1
  783. package/react/hooks/useFragment.js +12 -11
  784. package/react/hooks/useFragment.js.map +1 -1
  785. package/react/hooks/useLazyQuery.d.ts +55 -80
  786. package/react/hooks/useLazyQuery.js +30 -28
  787. package/react/hooks/useLazyQuery.js.map +1 -1
  788. package/react/hooks/useLoadableQuery.d.ts +8 -10
  789. package/react/hooks/useLoadableQuery.js +232 -53
  790. package/react/hooks/useLoadableQuery.js.map +1 -1
  791. package/react/hooks/useMutation.d.ts +48 -15
  792. package/react/hooks/useMutation.js +192 -82
  793. package/react/hooks/useMutation.js.map +1 -1
  794. package/react/hooks/useQuery.d.ts +19 -71
  795. package/react/hooks/useQuery.js +263 -96
  796. package/react/hooks/useQuery.js.map +1 -1
  797. package/react/hooks/useQueryRefHandlers.d.ts +2 -2
  798. package/react/hooks/useQueryRefHandlers.js +64 -23
  799. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  800. package/react/hooks/useReadQuery.d.ts +4 -11
  801. package/react/hooks/useReadQuery.js +4 -2
  802. package/react/hooks/useReadQuery.js.map +1 -1
  803. package/react/hooks/useSubscription.d.ts +6 -8
  804. package/react/hooks/useSubscription.js +16 -21
  805. package/react/hooks/useSubscription.js.map +1 -1
  806. package/react/hooks/useSuspenseFragment.d.ts +1 -2
  807. package/react/hooks/useSuspenseFragment.js +1 -0
  808. package/react/hooks/useSuspenseFragment.js.map +1 -1
  809. package/react/hooks/useSuspenseQuery.d.ts +19 -36
  810. package/react/hooks/useSuspenseQuery.js +63 -54
  811. package/react/hooks/useSuspenseQuery.js.map +1 -1
  812. package/react/hooks/useSyncExternalStore.js +21 -2
  813. package/react/hooks/useSyncExternalStore.js.map +1 -1
  814. package/react/index.d.ts +2 -1
  815. package/react/index.js +1 -0
  816. package/react/index.js.map +1 -1
  817. package/react/internal/cache/FragmentReference.d.ts +2 -2
  818. package/react/internal/cache/FragmentReference.js +6 -3
  819. package/react/internal/cache/FragmentReference.js.map +1 -1
  820. package/react/internal/cache/QueryReference.d.ts +48 -108
  821. package/react/internal/cache/QueryReference.js +24 -35
  822. package/react/internal/cache/QueryReference.js.map +1 -1
  823. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  824. package/react/internal/cache/SuspenseCache.js.map +1 -1
  825. package/react/internal/index.d.ts +2 -2
  826. package/react/internal/index.js.map +1 -1
  827. package/react/internal/types.d.ts +3 -45
  828. package/react/query-preloader/createQueryPreloader.d.ts +46 -38
  829. package/react/query-preloader/createQueryPreloader.js +9 -3
  830. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  831. package/react/ssr/prerenderStatic.js +9 -2
  832. package/react/ssr/prerenderStatic.js.map +1 -1
  833. package/react/ssr/useSSRQuery.js +12 -2
  834. package/react/ssr/useSSRQuery.js.map +1 -1
  835. package/react/types/deprecated.d.ts +3 -3
  836. package/react/types/types.documentation.d.ts +12 -0
  837. package/testing/core/mocking/mockLink.d.ts +31 -24
  838. package/testing/core/mocking/mockLink.js +15 -15
  839. package/testing/core/mocking/mockLink.js.map +1 -1
  840. package/testing/core/mocking/mockSubscriptionLink.d.ts +9 -8
  841. package/testing/core/mocking/mockSubscriptionLink.js +1 -4
  842. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  843. package/testing/core/types/deprecated.d.ts +10 -0
  844. package/testing/core/types/deprecated.js +2 -0
  845. package/testing/core/types/deprecated.js.map +1 -0
  846. package/testing/index.d.ts +3 -2
  847. package/testing/index.js +2 -1
  848. package/testing/index.js.map +1 -1
  849. package/testing/react/MockedProvider.d.ts +7 -12
  850. package/testing/react/MockedProvider.js +4 -4
  851. package/testing/react/MockedProvider.js.map +1 -1
  852. package/utilities/DeepPartial.d.ts +15 -0
  853. package/utilities/DeepPartial.js.map +1 -0
  854. package/utilities/HKT.d.ts +35 -0
  855. package/utilities/HKT.js +2 -0
  856. package/utilities/HKT.js.map +1 -0
  857. package/utilities/caching/index.d.ts +0 -1
  858. package/utilities/caching/index.js +0 -1
  859. package/utilities/caching/index.js.map +1 -1
  860. package/utilities/caching/sizes.d.ts +6 -0
  861. package/utilities/caching/sizes.js +1 -1
  862. package/utilities/caching/sizes.js.map +1 -1
  863. package/utilities/common/stripTypename.d.ts +7 -1
  864. package/utilities/common/stripTypename.js +7 -1
  865. package/utilities/common/stripTypename.js.map +1 -1
  866. package/utilities/graphql/DocumentTransform.d.ts +10 -6
  867. package/utilities/graphql/DocumentTransform.js +12 -8
  868. package/utilities/graphql/DocumentTransform.js.map +1 -1
  869. package/utilities/graphql/isFormattedExecutionResult.d.ts +3 -0
  870. package/utilities/graphql/isFormattedExecutionResult.js +6 -0
  871. package/utilities/graphql/isFormattedExecutionResult.js.map +1 -0
  872. package/utilities/graphql/operations.d.ts +21 -0
  873. package/utilities/graphql/operations.js +22 -1
  874. package/utilities/graphql/operations.js.map +1 -1
  875. package/utilities/graphql/print.d.ts +8 -0
  876. package/utilities/graphql/print.js +10 -2
  877. package/utilities/graphql/print.js.map +1 -1
  878. package/utilities/graphql/storeUtils.d.ts +14 -22
  879. package/utilities/graphql/storeUtils.js +5 -196
  880. package/utilities/graphql/storeUtils.js.map +1 -1
  881. package/utilities/graphql/transform.d.ts +6 -24
  882. package/utilities/graphql/transform.js +7 -443
  883. package/utilities/graphql/transform.js.map +1 -1
  884. package/utilities/index.d.ts +9 -38
  885. package/utilities/index.js +6 -23
  886. package/utilities/index.js.map +1 -1
  887. package/utilities/internal/DeepMerger.d.ts +17 -0
  888. package/utilities/internal/DeepMerger.js +63 -0
  889. package/utilities/internal/DeepMerger.js.map +1 -0
  890. package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
  891. package/utilities/internal/argumentsObjectFromField.js +15 -0
  892. package/utilities/internal/argumentsObjectFromField.js.map +1 -0
  893. package/utilities/internal/caches.d.ts +42 -0
  894. package/utilities/internal/caches.js +73 -0
  895. package/utilities/internal/caches.js.map +1 -0
  896. package/utilities/internal/canUseDOM.d.ts +7 -0
  897. package/utilities/internal/canUseDOM.js +8 -0
  898. package/utilities/internal/canUseDOM.js.map +1 -0
  899. package/utilities/internal/checkDocument.d.ts +10 -0
  900. package/utilities/internal/checkDocument.js +66 -0
  901. package/utilities/internal/checkDocument.js.map +1 -0
  902. package/utilities/internal/cloneDeep.d.ts +9 -0
  903. package/utilities/internal/cloneDeep.js +42 -0
  904. package/utilities/internal/cloneDeep.js.map +1 -0
  905. package/utilities/internal/compact.d.ts +11 -0
  906. package/utilities/internal/compact.js +23 -0
  907. package/utilities/internal/compact.js.map +1 -0
  908. package/utilities/internal/createFragmentMap.d.ts +12 -0
  909. package/utilities/internal/createFragmentMap.js +16 -0
  910. package/utilities/internal/createFragmentMap.js.map +1 -0
  911. package/utilities/internal/createFulfilledPromise.d.ts +8 -0
  912. package/utilities/internal/createFulfilledPromise.js +12 -0
  913. package/utilities/internal/createFulfilledPromise.js.map +1 -0
  914. package/utilities/internal/createRejectedPromise.d.ts +8 -0
  915. package/utilities/internal/createRejectedPromise.js +14 -0
  916. package/utilities/internal/createRejectedPromise.js.map +1 -0
  917. package/utilities/internal/dealias.d.ts +5 -0
  918. package/utilities/internal/dealias.js +18 -0
  919. package/utilities/internal/dealias.js.map +1 -0
  920. package/utilities/internal/decoratePromise.d.ts +8 -0
  921. package/utilities/internal/decoratePromise.js +30 -0
  922. package/utilities/internal/decoratePromise.js.map +1 -0
  923. package/utilities/internal/deepFreeze.d.ts +7 -0
  924. package/utilities/internal/deepFreeze.js +36 -0
  925. package/utilities/internal/deepFreeze.js.map +1 -0
  926. package/utilities/internal/filterMap.d.ts +4 -0
  927. package/utilities/internal/filterMap.js +28 -0
  928. package/utilities/internal/filterMap.js.map +1 -0
  929. package/utilities/internal/getDefaultValues.d.ts +8 -0
  930. package/utilities/internal/getDefaultValues.js +19 -0
  931. package/utilities/internal/getDefaultValues.js.map +1 -0
  932. package/utilities/internal/getFragmentDefinition.d.ts +8 -0
  933. package/utilities/internal/getFragmentDefinition.js +14 -0
  934. package/utilities/internal/getFragmentDefinition.js.map +1 -0
  935. package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
  936. package/utilities/internal/getFragmentDefinitions.js +9 -0
  937. package/utilities/internal/getFragmentDefinitions.js.map +1 -0
  938. package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
  939. package/utilities/internal/getFragmentFromSelection.js +24 -0
  940. package/utilities/internal/getFragmentFromSelection.js.map +1 -0
  941. package/utilities/internal/getFragmentQueryDocument.d.ts +29 -0
  942. package/utilities/internal/getFragmentQueryDocument.js +83 -0
  943. package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
  944. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +10 -0
  945. package/utilities/internal/getGraphQLErrorsFromResult.js +9 -0
  946. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
  947. package/utilities/internal/getMainDefinition.d.ts +12 -0
  948. package/utilities/internal/getMainDefinition.js +30 -0
  949. package/utilities/internal/getMainDefinition.js.map +1 -0
  950. package/utilities/internal/getMemoryInternals.d.ts +15 -10
  951. package/utilities/internal/getMemoryInternals.js +16 -9
  952. package/utilities/internal/getMemoryInternals.js.map +1 -1
  953. package/utilities/internal/getOperationDefinition.d.ts +8 -0
  954. package/utilities/internal/getOperationDefinition.js +11 -0
  955. package/utilities/internal/getOperationDefinition.js.map +1 -0
  956. package/utilities/internal/getOperationName.d.ts +8 -0
  957. package/utilities/internal/getOperationName.js +9 -0
  958. package/utilities/internal/getOperationName.js.map +1 -0
  959. package/utilities/internal/getQueryDefinition.d.ts +8 -0
  960. package/utilities/internal/getQueryDefinition.js +13 -0
  961. package/utilities/internal/getQueryDefinition.js.map +1 -0
  962. package/utilities/internal/getStoreKeyName.d.ts +16 -0
  963. package/utilities/internal/getStoreKeyName.js +70 -0
  964. package/utilities/internal/getStoreKeyName.js.map +1 -0
  965. package/utilities/internal/globals/global.js +14 -0
  966. package/utilities/internal/globals/global.js.map +1 -0
  967. package/utilities/internal/globals/index.js.map +1 -0
  968. package/utilities/internal/globals/maybe.js.map +1 -0
  969. package/utilities/internal/graphQLResultHasError.d.ts +8 -0
  970. package/utilities/internal/graphQLResultHasError.js +9 -0
  971. package/utilities/internal/graphQLResultHasError.js.map +1 -0
  972. package/utilities/internal/hasDirectives.d.ts +8 -0
  973. package/utilities/internal/hasDirectives.js +21 -0
  974. package/utilities/internal/hasDirectives.js.map +1 -0
  975. package/utilities/internal/hasForcedResolvers.d.ts +3 -0
  976. package/utilities/internal/hasForcedResolvers.js +20 -0
  977. package/utilities/internal/hasForcedResolvers.js.map +1 -0
  978. package/utilities/internal/index.d.ts +62 -2
  979. package/utilities/internal/index.js +47 -2
  980. package/utilities/internal/index.js.map +1 -1
  981. package/utilities/internal/isArray.d.ts +9 -0
  982. package/utilities/internal/isArray.js +9 -0
  983. package/utilities/internal/isArray.js.map +1 -0
  984. package/utilities/internal/isDocumentNode.d.ts +8 -0
  985. package/utilities/internal/isDocumentNode.js +12 -0
  986. package/utilities/internal/isDocumentNode.js.map +1 -0
  987. package/utilities/internal/isField.d.ts +8 -0
  988. package/utilities/internal/isField.js +9 -0
  989. package/utilities/internal/isField.js.map +1 -0
  990. package/utilities/internal/isNonEmptyArray.d.ts +7 -0
  991. package/utilities/internal/isNonEmptyArray.js +9 -0
  992. package/utilities/internal/isNonEmptyArray.js.map +1 -0
  993. package/utilities/internal/isNonNullObject.d.ts +7 -0
  994. package/utilities/internal/isNonNullObject.js +9 -0
  995. package/utilities/internal/isNonNullObject.js.map +1 -0
  996. package/utilities/internal/isPlainObject.d.ts +7 -0
  997. package/utilities/internal/isPlainObject.js +12 -0
  998. package/utilities/internal/isPlainObject.js.map +1 -0
  999. package/utilities/internal/makeReference.d.ts +8 -0
  1000. package/utilities/internal/makeReference.js +9 -0
  1001. package/utilities/internal/makeReference.js.map +1 -0
  1002. package/utilities/internal/makeUniqueId.d.ts +10 -0
  1003. package/utilities/internal/makeUniqueId.js +15 -0
  1004. package/utilities/internal/makeUniqueId.js.map +1 -0
  1005. package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
  1006. package/utilities/internal/maybeDeepFreeze.js +14 -0
  1007. package/utilities/internal/maybeDeepFreeze.js.map +1 -0
  1008. package/utilities/internal/mergeDeep.d.ts +8 -0
  1009. package/utilities/internal/mergeDeep.js +23 -0
  1010. package/utilities/internal/mergeDeep.js.map +1 -0
  1011. package/utilities/internal/mergeDeepArray.d.ts +7 -0
  1012. package/utilities/internal/mergeDeepArray.js +24 -0
  1013. package/utilities/internal/mergeDeepArray.js.map +1 -0
  1014. package/utilities/internal/mergeOptions.d.ts +10 -0
  1015. package/utilities/internal/mergeOptions.js +15 -0
  1016. package/utilities/internal/mergeOptions.js.map +1 -0
  1017. package/utilities/internal/omitDeep.d.ts +8 -0
  1018. package/utilities/internal/omitDeep.js +45 -0
  1019. package/utilities/internal/omitDeep.js.map +1 -0
  1020. package/utilities/internal/preventUnhandledRejection.js.map +1 -0
  1021. package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
  1022. package/utilities/internal/removeDirectivesFromDocument.js +300 -0
  1023. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
  1024. package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
  1025. package/utilities/internal/resultKeyNameFromField.js +9 -0
  1026. package/utilities/internal/resultKeyNameFromField.js.map +1 -0
  1027. package/utilities/internal/shouldInclude.d.ts +8 -0
  1028. package/utilities/internal/shouldInclude.js +47 -0
  1029. package/utilities/internal/shouldInclude.js.map +1 -0
  1030. package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
  1031. package/utilities/internal/storeKeyNameFromField.js +26 -0
  1032. package/utilities/internal/storeKeyNameFromField.js.map +1 -0
  1033. package/utilities/internal/stringifyForDisplay.d.ts +7 -0
  1034. package/utilities/internal/stringifyForDisplay.js +15 -0
  1035. package/utilities/internal/stringifyForDisplay.js.map +1 -0
  1036. package/utilities/internal/toQueryResult.d.ts +5 -0
  1037. package/utilities/internal/toQueryResult.js +5 -0
  1038. package/utilities/internal/toQueryResult.js.map +1 -1
  1039. package/utilities/internal/types/ApplyHKT.d.ts +13 -0
  1040. package/utilities/internal/types/ApplyHKT.js +2 -0
  1041. package/utilities/internal/types/ApplyHKT.js.map +1 -0
  1042. package/utilities/internal/types/ApplyHKTImplementationWithDefault.d.ts +11 -0
  1043. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +2 -0
  1044. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -0
  1045. package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
  1046. package/utilities/internal/types/DecoratedPromise.js +2 -0
  1047. package/utilities/internal/types/DecoratedPromise.js.map +1 -0
  1048. package/utilities/internal/types/DeepOmit.d.ts +15 -0
  1049. package/utilities/internal/types/FragmentMap.d.ts +12 -0
  1050. package/utilities/internal/types/FragmentMap.js +2 -0
  1051. package/utilities/internal/types/FragmentMap.js.map +1 -0
  1052. package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
  1053. package/utilities/internal/types/FragmentMapFunction.js +2 -0
  1054. package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
  1055. package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
  1056. package/utilities/internal/types/FulfilledPromise.js +2 -0
  1057. package/utilities/internal/types/FulfilledPromise.js.map +1 -0
  1058. package/utilities/internal/types/IsAny.d.ts +7 -0
  1059. package/utilities/internal/types/IsAny.js +2 -0
  1060. package/utilities/internal/types/IsAny.js.map +1 -0
  1061. package/utilities/internal/types/NoInfer.d.ts +29 -0
  1062. package/utilities/internal/types/PendingPromise.d.ts +9 -0
  1063. package/utilities/internal/types/PendingPromise.js +2 -0
  1064. package/utilities/internal/types/PendingPromise.js.map +1 -0
  1065. package/utilities/internal/types/Prettify.d.ts +9 -0
  1066. package/utilities/internal/types/Primitive.d.ts +7 -0
  1067. package/utilities/internal/types/RejectedPromise.d.ts +10 -0
  1068. package/utilities/internal/types/RejectedPromise.js +2 -0
  1069. package/utilities/internal/types/RejectedPromise.js.map +1 -0
  1070. package/utilities/internal/types/RemoveIndexSignature.d.ts +9 -0
  1071. package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
  1072. package/utilities/internal/types/TupleToIntersection.js +2 -0
  1073. package/utilities/internal/types/TupleToIntersection.js.map +1 -0
  1074. package/utilities/internal/types/VariablesOption.d.ts +30 -0
  1075. package/utilities/internal/types/VariablesOption.js +2 -0
  1076. package/utilities/internal/types/VariablesOption.js.map +1 -0
  1077. package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
  1078. package/utilities/internal/valueToObjectRepresentation.js +41 -0
  1079. package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
  1080. package/utilities/invariant/index.js +3 -2
  1081. package/utilities/invariant/index.js.map +1 -1
  1082. package/utilities/policies/pagination.d.ts +23 -0
  1083. package/utilities/policies/pagination.js +24 -7
  1084. package/utilities/policies/pagination.js.map +1 -1
  1085. package/utilities/shared/canonicalStringify.js +88 -0
  1086. package/utilities/shared/canonicalStringify.js.map +1 -0
  1087. package/utilities/subscriptions/relay/index.js +3 -3
  1088. package/utilities/subscriptions/relay/index.js.map +1 -1
  1089. package/version.d.ts +1 -0
  1090. package/version.js +2 -1
  1091. package/version.js.map +1 -1
  1092. package/.changeset/README.md +0 -8
  1093. package/.changeset/afraid-moons-arrive.md +0 -5
  1094. package/.changeset/beige-mirrors-talk.md +0 -15
  1095. package/.changeset/brave-radios-wait.md +0 -5
  1096. package/.changeset/bright-ads-share.md +0 -5
  1097. package/.changeset/calm-frogs-remain.md +0 -7
  1098. package/.changeset/calm-seals-relate.md +0 -5
  1099. package/.changeset/chatty-planes-grin.md +0 -5
  1100. package/.changeset/clean-sheep-hide.md +0 -6
  1101. package/.changeset/clever-zebras-mate.md +0 -5
  1102. package/.changeset/config.json +0 -14
  1103. package/.changeset/cool-bikes-shake.md +0 -12
  1104. package/.changeset/cuddly-spiders-tie.md +0 -5
  1105. package/.changeset/curvy-pianos-count.md +0 -5
  1106. package/.changeset/dirty-eagles-poke.md +0 -5
  1107. package/.changeset/dirty-trees-pump.md +0 -5
  1108. package/.changeset/early-eggs-develop.md +0 -22
  1109. package/.changeset/eighty-squids-fix.md +0 -15
  1110. package/.changeset/eleven-kangaroos-jump.md +0 -5
  1111. package/.changeset/empty-rabbits-move.md +0 -5
  1112. package/.changeset/fluffy-shoes-applaud.md +0 -5
  1113. package/.changeset/forty-hairs-occur.md +0 -5
  1114. package/.changeset/forty-shrimps-fry.md +0 -5
  1115. package/.changeset/forty-tomatoes-punch.md +0 -5
  1116. package/.changeset/four-ghosts-watch.md +0 -5
  1117. package/.changeset/fresh-moose-hope.md +0 -5
  1118. package/.changeset/funny-jeans-invent.md +0 -16
  1119. package/.changeset/fuzzy-tips-sit.md +0 -5
  1120. package/.changeset/giant-apes-thank.md +0 -5
  1121. package/.changeset/giant-bags-share.md +0 -5
  1122. package/.changeset/good-dolphins-peel.md +0 -113
  1123. package/.changeset/gorgeous-chefs-tap.md +0 -5
  1124. package/.changeset/grumpy-vans-type.md +0 -5
  1125. package/.changeset/healthy-apes-sneeze.md +0 -5
  1126. package/.changeset/hip-vans-act.md +0 -5
  1127. package/.changeset/hot-cycles-notice.md +0 -5
  1128. package/.changeset/itchy-drinks-refuse.md +0 -5
  1129. package/.changeset/itchy-roses-accept.md +0 -5
  1130. package/.changeset/khaki-keys-deliver.md +0 -5
  1131. package/.changeset/khaki-spies-work.md +0 -11
  1132. package/.changeset/kind-fishes-develop.md +0 -17
  1133. package/.changeset/large-plants-know.md +0 -5
  1134. package/.changeset/late-trainers-peel.md +0 -7
  1135. package/.changeset/light-apes-rescue.md +0 -5
  1136. package/.changeset/light-dolphins-taste.md +0 -5
  1137. package/.changeset/light-sloths-end.md +0 -16
  1138. package/.changeset/little-spoons-kick.md +0 -7
  1139. package/.changeset/loud-cows-raise.md +0 -7
  1140. package/.changeset/lucky-hats-push.md +0 -7
  1141. package/.changeset/many-buses-allow.md +0 -5
  1142. package/.changeset/many-papayas-hide.md +0 -5
  1143. package/.changeset/mean-lizards-think.md +0 -5
  1144. package/.changeset/metal-needles-search.md +0 -5
  1145. package/.changeset/mighty-penguins-wink.md +0 -16
  1146. package/.changeset/modern-feet-do.md +0 -5
  1147. package/.changeset/moody-lobsters-listen.md +0 -7
  1148. package/.changeset/nervous-fireants-bow.md +0 -5
  1149. package/.changeset/nervous-goats-allow.md +0 -5
  1150. package/.changeset/nice-donkeys-reflect.md +0 -5
  1151. package/.changeset/nice-dots-matter.md +0 -5
  1152. package/.changeset/nice-waves-work.md +0 -7
  1153. package/.changeset/ninety-bags-bake.md +0 -17
  1154. package/.changeset/odd-lemons-relax.md +0 -5
  1155. package/.changeset/perfect-vans-give.md +0 -7
  1156. package/.changeset/polite-bees-care.md +0 -26
  1157. package/.changeset/poor-eels-punch.md +0 -5
  1158. package/.changeset/popular-games-sleep.md +0 -5
  1159. package/.changeset/pre.json +0 -121
  1160. package/.changeset/purple-bears-flash.md +0 -5
  1161. package/.changeset/purple-lions-cough.md +0 -5
  1162. package/.changeset/rare-houses-prove.md +0 -5
  1163. package/.changeset/real-gorillas-move.md +0 -21
  1164. package/.changeset/real-teachers-peel.md +0 -5
  1165. package/.changeset/rich-eagles-cross.md +0 -5
  1166. package/.changeset/rich-kids-carry.md +0 -9
  1167. package/.changeset/rude-fans-study.md +0 -5
  1168. package/.changeset/seven-foxes-melt.md +0 -5
  1169. package/.changeset/shaggy-pugs-add.md +0 -52
  1170. package/.changeset/shiny-carrots-invent.md +0 -5
  1171. package/.changeset/short-jokes-jam.md +0 -27
  1172. package/.changeset/short-months-complain.md +0 -5
  1173. package/.changeset/silly-knives-exist.md +0 -5
  1174. package/.changeset/slimy-chicken-melt.md +0 -5
  1175. package/.changeset/slimy-maps-press.md +0 -5
  1176. package/.changeset/slow-ravens-explain.md +0 -19
  1177. package/.changeset/small-buttons-rhyme.md +0 -5
  1178. package/.changeset/small-cycles-rescue.md +0 -5
  1179. package/.changeset/small-kids-film.md +0 -14
  1180. package/.changeset/smart-rats-explode.md +0 -5
  1181. package/.changeset/smooth-coins-collect.md +0 -5
  1182. package/.changeset/smooth-pens-reply.md +0 -7
  1183. package/.changeset/soft-mails-clean.md +0 -5
  1184. package/.changeset/sour-pillows-guess.md +0 -7
  1185. package/.changeset/strange-seahorses-impress.md +0 -17
  1186. package/.changeset/swift-rivers-share.md +0 -13
  1187. package/.changeset/tall-bikes-develop.md +0 -5
  1188. package/.changeset/tall-cups-suffer.md +0 -13
  1189. package/.changeset/tame-doors-shop.md +0 -14
  1190. package/.changeset/tame-points-work.md +0 -11
  1191. package/.changeset/tender-swans-flash.md +0 -16
  1192. package/.changeset/thick-books-grin.md +0 -5
  1193. package/.changeset/thin-peas-hear.md +0 -16
  1194. package/.changeset/tidy-squids-poke.md +0 -12
  1195. package/.changeset/tough-rockets-allow.md +0 -5
  1196. package/.changeset/tough-taxis-smoke.md +0 -7
  1197. package/.changeset/tough-tips-drop.md +0 -15
  1198. package/.changeset/tricky-tables-shave.md +0 -5
  1199. package/.changeset/twenty-snakes-sort.md +0 -7
  1200. package/.changeset/unlucky-kiwis-sell.md +0 -5
  1201. package/.changeset/unlucky-sheep-change.md +0 -5
  1202. package/.changeset/warm-ties-sit.md +0 -7
  1203. package/.changeset/wicked-forks-double.md +0 -33
  1204. package/.changeset/yellow-cats-judge.md +0 -13
  1205. package/.changeset/young-phones-fold.md +0 -5
  1206. package/.changeset/young-turtles-explode.md +0 -5
  1207. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +0 -20
  1208. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +0 -1
  1209. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.d.cts +0 -3
  1210. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +0 -18
  1211. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +0 -1
  1212. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.d.cts +0 -3
  1213. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs +0 -11
  1214. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs.map +0 -1
  1215. package/__cjs/config/jest/areGraphQlErrorsEqual.d.cts +0 -3
  1216. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +0 -20
  1217. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +0 -1
  1218. package/__cjs/config/jest/areMissingFieldErrorsEqual.d.cts +0 -3
  1219. package/__cjs/config/jest/areServerErrorsEqual.cjs +0 -21
  1220. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +0 -1
  1221. package/__cjs/config/jest/areServerErrorsEqual.d.cts +0 -3
  1222. package/__cjs/config/jest/resolver.cjs +0 -32
  1223. package/__cjs/config/jest/resolver.cjs.map +0 -1
  1224. package/__cjs/config/jest/resolver.d.cts +0 -3
  1225. package/__cjs/config/jest/setup.cjs +0 -65
  1226. package/__cjs/config/jest/setup.cjs.map +0 -1
  1227. package/__cjs/config/jest/setup.d.cts +0 -3
  1228. package/__cjs/core/LocalState.cjs +0 -333
  1229. package/__cjs/core/LocalState.cjs.map +0 -1
  1230. package/__cjs/core/LocalState.d.cts +0 -53
  1231. package/__cjs/link/core/index.cjs +0 -16
  1232. package/__cjs/link/core/index.cjs.map +0 -1
  1233. package/__cjs/link/core/index.d.cts +0 -8
  1234. package/__cjs/link/http/createHttpLink.cjs +0 -158
  1235. package/__cjs/link/http/createHttpLink.cjs.map +0 -1
  1236. package/__cjs/link/http/createHttpLink.d.cts +0 -4
  1237. package/__cjs/masking/__benches__/types.bench.cjs +0 -223
  1238. package/__cjs/masking/__benches__/types.bench.cjs.map +0 -1
  1239. package/__cjs/masking/__benches__/types.bench.d.cts +0 -2
  1240. package/__cjs/testing/core/index.cjs +0 -20
  1241. package/__cjs/testing/core/index.cjs.map +0 -1
  1242. package/__cjs/testing/core/index.d.cts +0 -7
  1243. package/__cjs/testing/core/mocking/mockClient.cjs +0 -17
  1244. package/__cjs/testing/core/mocking/mockClient.cjs.map +0 -1
  1245. package/__cjs/testing/core/mocking/mockClient.d.cts +0 -4
  1246. package/__cjs/testing/core/wait.cjs +0 -11
  1247. package/__cjs/testing/core/wait.cjs.map +0 -1
  1248. package/__cjs/testing/core/wait.d.cts +0 -3
  1249. package/__cjs/testing/core/withConsoleSpy.cjs +0 -33
  1250. package/__cjs/testing/core/withConsoleSpy.cjs.map +0 -1
  1251. package/__cjs/testing/core/withConsoleSpy.d.cts +0 -7
  1252. package/__cjs/testing/experimental/createSchemaFetch.cjs +0 -92
  1253. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +0 -1
  1254. package/__cjs/testing/experimental/createSchemaFetch.d.cts +0 -43
  1255. package/__cjs/testing/experimental/createTestSchema.cjs +0 -110
  1256. package/__cjs/testing/experimental/createTestSchema.cjs.map +0 -1
  1257. package/__cjs/testing/experimental/createTestSchema.d.cts +0 -57
  1258. package/__cjs/testing/experimental/graphql-tools/utils.cjs +0 -177
  1259. package/__cjs/testing/experimental/graphql-tools/utils.cjs.map +0 -1
  1260. package/__cjs/testing/experimental/graphql-tools/utils.d.cts +0 -26
  1261. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs +0 -200
  1262. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs.map +0 -1
  1263. package/__cjs/testing/experimental/graphql-tools/utils.test.d.cts +0 -2
  1264. package/__cjs/testing/experimental/index.cjs +0 -8
  1265. package/__cjs/testing/experimental/index.cjs.map +0 -1
  1266. package/__cjs/testing/experimental/index.d.cts +0 -3
  1267. package/__cjs/testing/internal/ObservableStream.cjs +0 -98
  1268. package/__cjs/testing/internal/ObservableStream.cjs.map +0 -1
  1269. package/__cjs/testing/internal/ObservableStream.d.cts +0 -28
  1270. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs +0 -19
  1271. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs.map +0 -1
  1272. package/__cjs/testing/internal/disposables/enableFakeTimers.d.cts +0 -7
  1273. package/__cjs/testing/internal/disposables/index.cjs +0 -12
  1274. package/__cjs/testing/internal/disposables/index.cjs.map +0 -1
  1275. package/__cjs/testing/internal/disposables/index.d.cts +0 -5
  1276. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -24
  1277. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +0 -1
  1278. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -8
  1279. package/__cjs/testing/internal/disposables/withCleanup.cjs +0 -18
  1280. package/__cjs/testing/internal/disposables/withCleanup.cjs.map +0 -1
  1281. package/__cjs/testing/internal/disposables/withCleanup.d.cts +0 -3
  1282. package/__cjs/testing/internal/disposables/withProdMode.cjs +0 -17
  1283. package/__cjs/testing/internal/disposables/withProdMode.cjs.map +0 -1
  1284. package/__cjs/testing/internal/disposables/withProdMode.d.cts +0 -4
  1285. package/__cjs/testing/internal/incremental.cjs +0 -124
  1286. package/__cjs/testing/internal/incremental.cjs.map +0 -1
  1287. package/__cjs/testing/internal/incremental.d.cts +0 -16
  1288. package/__cjs/testing/internal/index.cjs +0 -31
  1289. package/__cjs/testing/internal/index.cjs.map +0 -1
  1290. package/__cjs/testing/internal/index.d.cts +0 -11
  1291. package/__cjs/testing/internal/messageChannelPolyfill.cjs +0 -18
  1292. package/__cjs/testing/internal/messageChannelPolyfill.cjs.map +0 -1
  1293. package/__cjs/testing/internal/messageChannelPolyfill.d.cts +0 -2
  1294. package/__cjs/testing/internal/renderHelpers.cjs +0 -21
  1295. package/__cjs/testing/internal/renderHelpers.cjs.map +0 -1
  1296. package/__cjs/testing/internal/renderHelpers.d.cts +0 -14
  1297. package/__cjs/testing/internal/resetApolloContext.cjs +0 -24
  1298. package/__cjs/testing/internal/resetApolloContext.cjs.map +0 -1
  1299. package/__cjs/testing/internal/resetApolloContext.d.cts +0 -10
  1300. package/__cjs/testing/internal/rtl/actAsync.cjs +0 -18
  1301. package/__cjs/testing/internal/rtl/actAsync.cjs.map +0 -1
  1302. package/__cjs/testing/internal/rtl/actAsync.d.cts +0 -2
  1303. package/__cjs/testing/internal/rtl/renderAsync.cjs +0 -15
  1304. package/__cjs/testing/internal/rtl/renderAsync.cjs.map +0 -1
  1305. package/__cjs/testing/internal/rtl/renderAsync.d.cts +0 -9
  1306. package/__cjs/testing/internal/rtl/renderHookAsync.cjs +0 -37
  1307. package/__cjs/testing/internal/rtl/renderHookAsync.cjs.map +0 -1
  1308. package/__cjs/testing/internal/rtl/renderHookAsync.d.cts +0 -8
  1309. package/__cjs/testing/internal/scenarios/index.cjs +0 -104
  1310. package/__cjs/testing/internal/scenarios/index.cjs.map +0 -1
  1311. package/__cjs/testing/internal/scenarios/index.d.cts +0 -83
  1312. package/__cjs/testing/matchers/arrayWithLength.cjs +0 -15
  1313. package/__cjs/testing/matchers/arrayWithLength.cjs.map +0 -1
  1314. package/__cjs/testing/matchers/arrayWithLength.d.cts +0 -3
  1315. package/__cjs/testing/matchers/index.cjs +0 -28
  1316. package/__cjs/testing/matchers/index.cjs.map +0 -1
  1317. package/__cjs/testing/matchers/index.d.cts +0 -2
  1318. package/__cjs/testing/matchers/toBeDisposed.cjs +0 -20
  1319. package/__cjs/testing/matchers/toBeDisposed.cjs.map +0 -1
  1320. package/__cjs/testing/matchers/toBeDisposed.d.cts +0 -3
  1321. package/__cjs/testing/matchers/toBeGarbageCollected.cjs +0 -43
  1322. package/__cjs/testing/matchers/toBeGarbageCollected.cjs.map +0 -1
  1323. package/__cjs/testing/matchers/toBeGarbageCollected.d.cts +0 -8
  1324. package/__cjs/testing/matchers/toComplete.cjs +0 -30
  1325. package/__cjs/testing/matchers/toComplete.cjs.map +0 -1
  1326. package/__cjs/testing/matchers/toComplete.d.cts +0 -4
  1327. package/__cjs/testing/matchers/toEmitAnything.cjs +0 -33
  1328. package/__cjs/testing/matchers/toEmitAnything.cjs.map +0 -1
  1329. package/__cjs/testing/matchers/toEmitAnything.d.cts +0 -4
  1330. package/__cjs/testing/matchers/toEmitError.cjs +0 -46
  1331. package/__cjs/testing/matchers/toEmitError.cjs.map +0 -1
  1332. package/__cjs/testing/matchers/toEmitError.d.cts +0 -7
  1333. package/__cjs/testing/matchers/toEmitNext.cjs +0 -30
  1334. package/__cjs/testing/matchers/toEmitNext.cjs.map +0 -1
  1335. package/__cjs/testing/matchers/toEmitNext.d.cts +0 -4
  1336. package/__cjs/testing/matchers/toEmitTypedValue.cjs +0 -42
  1337. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +0 -1
  1338. package/__cjs/testing/matchers/toEmitTypedValue.d.cts +0 -7
  1339. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +0 -26
  1340. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +0 -1
  1341. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +0 -11
  1342. package/__cjs/testing/matchers/toMatchDocument.cjs +0 -36
  1343. package/__cjs/testing/matchers/toMatchDocument.cjs.map +0 -1
  1344. package/__cjs/testing/matchers/toMatchDocument.d.cts +0 -4
  1345. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +0 -26
  1346. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +0 -1
  1347. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +0 -3
  1348. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +0 -23
  1349. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +0 -1
  1350. package/__cjs/testing/matchers/utils/getSerializableProperties.d.cts +0 -2
  1351. package/__cjs/utilities/caching/caches.cjs +0 -72
  1352. package/__cjs/utilities/caching/caches.cjs.map +0 -1
  1353. package/__cjs/utilities/caching/caches.d.cts +0 -34
  1354. package/__cjs/utilities/common/arrays.cjs +0 -10
  1355. package/__cjs/utilities/common/arrays.cjs.map +0 -1
  1356. package/__cjs/utilities/common/arrays.d.cts +0 -3
  1357. package/__cjs/utilities/common/canUse.cjs +0 -24
  1358. package/__cjs/utilities/common/canUse.cjs.map +0 -1
  1359. package/__cjs/utilities/common/canUse.d.cts +0 -3
  1360. package/__cjs/utilities/common/canonicalStringify.cjs +0 -88
  1361. package/__cjs/utilities/common/canonicalStringify.cjs.map +0 -1
  1362. package/__cjs/utilities/common/cloneDeep.cjs +0 -41
  1363. package/__cjs/utilities/common/cloneDeep.cjs.map +0 -1
  1364. package/__cjs/utilities/common/cloneDeep.d.cts +0 -5
  1365. package/__cjs/utilities/common/compact.cjs +0 -22
  1366. package/__cjs/utilities/common/compact.cjs.map +0 -1
  1367. package/__cjs/utilities/common/compact.d.cts +0 -7
  1368. package/__cjs/utilities/common/errorHandling.cjs +0 -23
  1369. package/__cjs/utilities/common/errorHandling.cjs.map +0 -1
  1370. package/__cjs/utilities/common/errorHandling.d.cts +0 -4
  1371. package/__cjs/utilities/common/incrementalResult.cjs +0 -45
  1372. package/__cjs/utilities/common/incrementalResult.cjs.map +0 -1
  1373. package/__cjs/utilities/common/incrementalResult.d.cts +0 -7
  1374. package/__cjs/utilities/common/makeUniqueId.cjs +0 -12
  1375. package/__cjs/utilities/common/makeUniqueId.cjs.map +0 -1
  1376. package/__cjs/utilities/common/makeUniqueId.d.cts +0 -2
  1377. package/__cjs/utilities/common/maybeDeepFreeze.cjs +0 -42
  1378. package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +0 -1
  1379. package/__cjs/utilities/common/maybeDeepFreeze.d.cts +0 -4
  1380. package/__cjs/utilities/common/mergeDeep.cjs +0 -84
  1381. package/__cjs/utilities/common/mergeDeep.cjs.map +0 -1
  1382. package/__cjs/utilities/common/mergeDeep.d.cts +0 -14
  1383. package/__cjs/utilities/common/mergeOptions.cjs +0 -13
  1384. package/__cjs/utilities/common/mergeOptions.cjs.map +0 -1
  1385. package/__cjs/utilities/common/mergeOptions.d.cts +0 -5
  1386. package/__cjs/utilities/common/objects.cjs +0 -14
  1387. package/__cjs/utilities/common/objects.cjs.map +0 -1
  1388. package/__cjs/utilities/common/objects.d.cts +0 -3
  1389. package/__cjs/utilities/common/omitDeep.cjs +0 -43
  1390. package/__cjs/utilities/common/omitDeep.cjs.map +0 -1
  1391. package/__cjs/utilities/common/omitDeep.d.cts +0 -3
  1392. package/__cjs/utilities/common/stringifyForDisplay.cjs +0 -13
  1393. package/__cjs/utilities/common/stringifyForDisplay.cjs.map +0 -1
  1394. package/__cjs/utilities/common/stringifyForDisplay.d.cts +0 -2
  1395. package/__cjs/utilities/globals/global.cjs.map +0 -1
  1396. package/__cjs/utilities/globals/index.cjs.map +0 -1
  1397. package/__cjs/utilities/globals/maybe.cjs.map +0 -1
  1398. package/__cjs/utilities/graphql/directives.cjs +0 -114
  1399. package/__cjs/utilities/graphql/directives.cjs.map +0 -1
  1400. package/__cjs/utilities/graphql/directives.d.cts +0 -20
  1401. package/__cjs/utilities/graphql/fragments.cjs +0 -126
  1402. package/__cjs/utilities/graphql/fragments.cjs.map +0 -1
  1403. package/__cjs/utilities/graphql/fragments.d.cts +0 -35
  1404. package/__cjs/utilities/graphql/getFromAST.cjs +0 -101
  1405. package/__cjs/utilities/graphql/getFromAST.cjs.map +0 -1
  1406. package/__cjs/utilities/graphql/getFromAST.d.cts +0 -15
  1407. package/__cjs/utilities/internal/observables.cjs +0 -29
  1408. package/__cjs/utilities/internal/observables.cjs.map +0 -1
  1409. package/__cjs/utilities/internal/observables.d.cts +0 -14
  1410. package/__cjs/utilities/promises/decoration.cjs +0 -45
  1411. package/__cjs/utilities/promises/decoration.cjs.map +0 -1
  1412. package/__cjs/utilities/promises/decoration.d.cts +0 -18
  1413. package/__cjs/utilities/promises/preventUnhandledRejection.cjs.map +0 -1
  1414. package/__cjs/utilities/types/DeepOmit.d.cts +0 -10
  1415. package/__cjs/utilities/types/DeepPartial.cjs.map +0 -1
  1416. package/__cjs/utilities/types/DeepPartial.d.cts +0 -12
  1417. package/__cjs/utilities/types/IsStrictlyAny.cjs +0 -3
  1418. package/__cjs/utilities/types/IsStrictlyAny.cjs.map +0 -1
  1419. package/__cjs/utilities/types/IsStrictlyAny.d.cts +0 -5
  1420. package/__cjs/utilities/types/NoInfer.d.cts +0 -27
  1421. package/__cjs/utilities/types/OnlyRequiredProperties.cjs +0 -3
  1422. package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
  1423. package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
  1424. package/__cjs/utilities/types/Prettify.d.cts +0 -4
  1425. package/__cjs/utilities/types/Primitive.d.cts +0 -2
  1426. package/__cjs/utilities/types/RemoveIndexSignature.d.cts +0 -4
  1427. package/__cjs/utilities/types/UnionToIntersection.cjs +0 -3
  1428. package/__cjs/utilities/types/UnionToIntersection.cjs.map +0 -1
  1429. package/__cjs/utilities/types/UnionToIntersection.d.cts +0 -2
  1430. package/config/jest/areCombinedGraphQLErrorsEqual.d.ts +0 -3
  1431. package/config/jest/areCombinedGraphQLErrorsEqual.js +0 -16
  1432. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +0 -1
  1433. package/config/jest/areCombinedProtocolErrorsEqual.d.ts +0 -3
  1434. package/config/jest/areCombinedProtocolErrorsEqual.js +0 -14
  1435. package/config/jest/areCombinedProtocolErrorsEqual.js.map +0 -1
  1436. package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
  1437. package/config/jest/areGraphQlErrorsEqual.js +0 -7
  1438. package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
  1439. package/config/jest/areMissingFieldErrorsEqual.d.ts +0 -3
  1440. package/config/jest/areMissingFieldErrorsEqual.js +0 -16
  1441. package/config/jest/areMissingFieldErrorsEqual.js.map +0 -1
  1442. package/config/jest/areServerErrorsEqual.d.ts +0 -3
  1443. package/config/jest/areServerErrorsEqual.js +0 -17
  1444. package/config/jest/areServerErrorsEqual.js.map +0 -1
  1445. package/config/jest/resolver.d.ts +0 -3
  1446. package/config/jest/resolver.js +0 -29
  1447. package/config/jest/resolver.js.map +0 -1
  1448. package/config/jest/setup.d.ts +0 -3
  1449. package/config/jest/setup.js +0 -62
  1450. package/config/jest/setup.js.map +0 -1
  1451. package/core/LocalState.d.ts +0 -53
  1452. package/core/LocalState.js +0 -329
  1453. package/core/LocalState.js.map +0 -1
  1454. package/legacyEntryPoints/link/core/core.cjs +0 -1
  1455. package/legacyEntryPoints/link/core/core.d.cts +0 -1
  1456. package/legacyEntryPoints/link/core/index.d.ts +0 -1
  1457. package/legacyEntryPoints/link/core/index.js +0 -1
  1458. package/legacyEntryPoints/testing/core/core.cjs +0 -1
  1459. package/legacyEntryPoints/testing/core/core.d.cts +0 -1
  1460. package/legacyEntryPoints/testing/core/index.d.ts +0 -1
  1461. package/legacyEntryPoints/testing/core/index.js +0 -1
  1462. package/legacyEntryPoints/testing/experimental/experimental.cjs +0 -1
  1463. package/legacyEntryPoints/testing/experimental/experimental.d.cts +0 -1
  1464. package/legacyEntryPoints/testing/experimental/index.d.ts +0 -1
  1465. package/legacyEntryPoints/testing/experimental/index.js +0 -1
  1466. package/legacyEntryPoints/testing/internal/index.d.ts +0 -1
  1467. package/legacyEntryPoints/testing/internal/index.js +0 -1
  1468. package/legacyEntryPoints/testing/internal/internal.cjs +0 -1
  1469. package/legacyEntryPoints/testing/internal/internal.d.cts +0 -1
  1470. package/legacyEntryPoints/utilities/globals/globals.cjs +0 -1
  1471. package/legacyEntryPoints/utilities/globals/globals.d.cts +0 -1
  1472. package/legacyEntryPoints/utilities/globals/index.d.ts +0 -1
  1473. package/legacyEntryPoints/utilities/globals/index.js +0 -1
  1474. package/link/core/index.d.ts +0 -8
  1475. package/link/core/index.js +0 -7
  1476. package/link/core/index.js.map +0 -1
  1477. package/link/http/createHttpLink.d.ts +0 -4
  1478. package/link/http/createHttpLink.js +0 -150
  1479. package/link/http/createHttpLink.js.map +0 -1
  1480. package/masking/__benches__/types.bench.d.ts +0 -2
  1481. package/masking/__benches__/types.bench.js +0 -221
  1482. package/masking/__benches__/types.bench.js.map +0 -1
  1483. package/testing/core/index.d.ts +0 -7
  1484. package/testing/core/index.js +0 -6
  1485. package/testing/core/index.js.map +0 -1
  1486. package/testing/core/mocking/mockClient.d.ts +0 -4
  1487. package/testing/core/mocking/mockClient.js +0 -14
  1488. package/testing/core/mocking/mockClient.js.map +0 -1
  1489. package/testing/core/wait.d.ts +0 -3
  1490. package/testing/core/wait.js +0 -7
  1491. package/testing/core/wait.js.map +0 -1
  1492. package/testing/core/withConsoleSpy.d.ts +0 -7
  1493. package/testing/core/withConsoleSpy.js +0 -28
  1494. package/testing/core/withConsoleSpy.js.map +0 -1
  1495. package/testing/experimental/createSchemaFetch.d.ts +0 -43
  1496. package/testing/experimental/createSchemaFetch.js +0 -89
  1497. package/testing/experimental/createSchemaFetch.js.map +0 -1
  1498. package/testing/experimental/createTestSchema.d.ts +0 -57
  1499. package/testing/experimental/createTestSchema.js +0 -107
  1500. package/testing/experimental/createTestSchema.js.map +0 -1
  1501. package/testing/experimental/graphql-tools/utils.d.ts +0 -26
  1502. package/testing/experimental/graphql-tools/utils.js +0 -174
  1503. package/testing/experimental/graphql-tools/utils.js.map +0 -1
  1504. package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
  1505. package/testing/experimental/graphql-tools/utils.test.js +0 -198
  1506. package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
  1507. package/testing/experimental/index.d.ts +0 -3
  1508. package/testing/experimental/index.js +0 -3
  1509. package/testing/experimental/index.js.map +0 -1
  1510. package/testing/internal/ObservableStream.d.ts +0 -28
  1511. package/testing/internal/ObservableStream.js +0 -93
  1512. package/testing/internal/ObservableStream.js.map +0 -1
  1513. package/testing/internal/disposables/enableFakeTimers.d.ts +0 -7
  1514. package/testing/internal/disposables/enableFakeTimers.js +0 -16
  1515. package/testing/internal/disposables/enableFakeTimers.js.map +0 -1
  1516. package/testing/internal/disposables/index.d.ts +0 -5
  1517. package/testing/internal/disposables/index.js +0 -5
  1518. package/testing/internal/disposables/index.js.map +0 -1
  1519. package/testing/internal/disposables/spyOnConsole.d.ts +0 -8
  1520. package/testing/internal/disposables/spyOnConsole.js +0 -21
  1521. package/testing/internal/disposables/spyOnConsole.js.map +0 -1
  1522. package/testing/internal/disposables/withCleanup.d.ts +0 -3
  1523. package/testing/internal/disposables/withCleanup.js +0 -15
  1524. package/testing/internal/disposables/withCleanup.js.map +0 -1
  1525. package/testing/internal/disposables/withProdMode.d.ts +0 -4
  1526. package/testing/internal/disposables/withProdMode.js +0 -13
  1527. package/testing/internal/disposables/withProdMode.js.map +0 -1
  1528. package/testing/internal/incremental.d.ts +0 -16
  1529. package/testing/internal/incremental.js +0 -120
  1530. package/testing/internal/incremental.js.map +0 -1
  1531. package/testing/internal/index.d.ts +0 -11
  1532. package/testing/internal/index.js +0 -10
  1533. package/testing/internal/index.js.map +0 -1
  1534. package/testing/internal/messageChannelPolyfill.d.ts +0 -2
  1535. package/testing/internal/messageChannelPolyfill.js +0 -16
  1536. package/testing/internal/messageChannelPolyfill.js.map +0 -1
  1537. package/testing/internal/renderHelpers.d.ts +0 -14
  1538. package/testing/internal/renderHelpers.js +0 -16
  1539. package/testing/internal/renderHelpers.js.map +0 -1
  1540. package/testing/internal/resetApolloContext.d.ts +0 -10
  1541. package/testing/internal/resetApolloContext.js +0 -20
  1542. package/testing/internal/resetApolloContext.js.map +0 -1
  1543. package/testing/internal/rtl/actAsync.d.ts +0 -2
  1544. package/testing/internal/rtl/actAsync.js +0 -14
  1545. package/testing/internal/rtl/actAsync.js.map +0 -1
  1546. package/testing/internal/rtl/renderAsync.d.ts +0 -9
  1547. package/testing/internal/rtl/renderAsync.js +0 -12
  1548. package/testing/internal/rtl/renderAsync.js.map +0 -1
  1549. package/testing/internal/rtl/renderHookAsync.d.ts +0 -8
  1550. package/testing/internal/rtl/renderHookAsync.js +0 -33
  1551. package/testing/internal/rtl/renderHookAsync.js.map +0 -1
  1552. package/testing/internal/scenarios/index.d.ts +0 -83
  1553. package/testing/internal/scenarios/index.js +0 -97
  1554. package/testing/internal/scenarios/index.js.map +0 -1
  1555. package/testing/matchers/arrayWithLength.d.ts +0 -3
  1556. package/testing/matchers/arrayWithLength.js +0 -11
  1557. package/testing/matchers/arrayWithLength.js.map +0 -1
  1558. package/testing/matchers/index.d.ts +0 -2
  1559. package/testing/matchers/index.js +0 -26
  1560. package/testing/matchers/index.js.map +0 -1
  1561. package/testing/matchers/toBeDisposed.d.ts +0 -3
  1562. package/testing/matchers/toBeDisposed.js +0 -16
  1563. package/testing/matchers/toBeDisposed.js.map +0 -1
  1564. package/testing/matchers/toBeGarbageCollected.d.ts +0 -8
  1565. package/testing/matchers/toBeGarbageCollected.js +0 -39
  1566. package/testing/matchers/toBeGarbageCollected.js.map +0 -1
  1567. package/testing/matchers/toComplete.d.ts +0 -4
  1568. package/testing/matchers/toComplete.js +0 -26
  1569. package/testing/matchers/toComplete.js.map +0 -1
  1570. package/testing/matchers/toEmitAnything.d.ts +0 -4
  1571. package/testing/matchers/toEmitAnything.js +0 -29
  1572. package/testing/matchers/toEmitAnything.js.map +0 -1
  1573. package/testing/matchers/toEmitError.d.ts +0 -7
  1574. package/testing/matchers/toEmitError.js +0 -42
  1575. package/testing/matchers/toEmitError.js.map +0 -1
  1576. package/testing/matchers/toEmitNext.d.ts +0 -4
  1577. package/testing/matchers/toEmitNext.js +0 -26
  1578. package/testing/matchers/toEmitNext.js.map +0 -1
  1579. package/testing/matchers/toEmitTypedValue.d.ts +0 -7
  1580. package/testing/matchers/toEmitTypedValue.js +0 -38
  1581. package/testing/matchers/toEmitTypedValue.js.map +0 -1
  1582. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +0 -11
  1583. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +0 -22
  1584. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +0 -1
  1585. package/testing/matchers/toMatchDocument.d.ts +0 -4
  1586. package/testing/matchers/toMatchDocument.js +0 -32
  1587. package/testing/matchers/toMatchDocument.js.map +0 -1
  1588. package/testing/matchers/toStrictEqualTyped.d.ts +0 -3
  1589. package/testing/matchers/toStrictEqualTyped.js +0 -22
  1590. package/testing/matchers/toStrictEqualTyped.js.map +0 -1
  1591. package/testing/matchers/utils/getSerializableProperties.d.ts +0 -2
  1592. package/testing/matchers/utils/getSerializableProperties.js +0 -20
  1593. package/testing/matchers/utils/getSerializableProperties.js.map +0 -1
  1594. package/utilities/caching/caches.d.ts +0 -34
  1595. package/utilities/caching/caches.js +0 -69
  1596. package/utilities/caching/caches.js.map +0 -1
  1597. package/utilities/common/arrays.d.ts +0 -3
  1598. package/utilities/common/arrays.js +0 -6
  1599. package/utilities/common/arrays.js.map +0 -1
  1600. package/utilities/common/canUse.d.ts +0 -3
  1601. package/utilities/common/canUse.js +0 -21
  1602. package/utilities/common/canUse.js.map +0 -1
  1603. package/utilities/common/canonicalStringify.js +0 -85
  1604. package/utilities/common/canonicalStringify.js.map +0 -1
  1605. package/utilities/common/cloneDeep.d.ts +0 -5
  1606. package/utilities/common/cloneDeep.js +0 -38
  1607. package/utilities/common/cloneDeep.js.map +0 -1
  1608. package/utilities/common/compact.d.ts +0 -7
  1609. package/utilities/common/compact.js +0 -19
  1610. package/utilities/common/compact.js.map +0 -1
  1611. package/utilities/common/errorHandling.d.ts +0 -4
  1612. package/utilities/common/errorHandling.js +0 -19
  1613. package/utilities/common/errorHandling.js.map +0 -1
  1614. package/utilities/common/incrementalResult.d.ts +0 -7
  1615. package/utilities/common/incrementalResult.js +0 -38
  1616. package/utilities/common/incrementalResult.js.map +0 -1
  1617. package/utilities/common/makeUniqueId.d.ts +0 -2
  1618. package/utilities/common/makeUniqueId.js +0 -9
  1619. package/utilities/common/makeUniqueId.js.map +0 -1
  1620. package/utilities/common/maybeDeepFreeze.d.ts +0 -4
  1621. package/utilities/common/maybeDeepFreeze.js +0 -38
  1622. package/utilities/common/maybeDeepFreeze.js.map +0 -1
  1623. package/utilities/common/mergeDeep.d.ts +0 -14
  1624. package/utilities/common/mergeDeep.js +0 -78
  1625. package/utilities/common/mergeDeep.js.map +0 -1
  1626. package/utilities/common/mergeOptions.d.ts +0 -5
  1627. package/utilities/common/mergeOptions.js +0 -10
  1628. package/utilities/common/mergeOptions.js.map +0 -1
  1629. package/utilities/common/objects.d.ts +0 -3
  1630. package/utilities/common/objects.js +0 -10
  1631. package/utilities/common/objects.js.map +0 -1
  1632. package/utilities/common/omitDeep.d.ts +0 -3
  1633. package/utilities/common/omitDeep.js +0 -40
  1634. package/utilities/common/omitDeep.js.map +0 -1
  1635. package/utilities/common/stringifyForDisplay.d.ts +0 -2
  1636. package/utilities/common/stringifyForDisplay.js +0 -10
  1637. package/utilities/common/stringifyForDisplay.js.map +0 -1
  1638. package/utilities/globals/global.js +0 -14
  1639. package/utilities/globals/global.js.map +0 -1
  1640. package/utilities/globals/index.js.map +0 -1
  1641. package/utilities/globals/maybe.js.map +0 -1
  1642. package/utilities/graphql/directives.d.ts +0 -20
  1643. package/utilities/graphql/directives.js +0 -99
  1644. package/utilities/graphql/directives.js.map +0 -1
  1645. package/utilities/graphql/fragments.d.ts +0 -35
  1646. package/utilities/graphql/fragments.js +0 -120
  1647. package/utilities/graphql/fragments.js.map +0 -1
  1648. package/utilities/graphql/getFromAST.d.ts +0 -15
  1649. package/utilities/graphql/getFromAST.js +0 -91
  1650. package/utilities/graphql/getFromAST.js.map +0 -1
  1651. package/utilities/internal/observables.d.ts +0 -14
  1652. package/utilities/internal/observables.js +0 -26
  1653. package/utilities/internal/observables.js.map +0 -1
  1654. package/utilities/promises/decoration.d.ts +0 -18
  1655. package/utilities/promises/decoration.js +0 -39
  1656. package/utilities/promises/decoration.js.map +0 -1
  1657. package/utilities/promises/preventUnhandledRejection.js.map +0 -1
  1658. package/utilities/types/DeepOmit.d.ts +0 -10
  1659. package/utilities/types/DeepPartial.d.ts +0 -12
  1660. package/utilities/types/DeepPartial.js.map +0 -1
  1661. package/utilities/types/IsStrictlyAny.d.ts +0 -5
  1662. package/utilities/types/IsStrictlyAny.js +0 -2
  1663. package/utilities/types/IsStrictlyAny.js.map +0 -1
  1664. package/utilities/types/NoInfer.d.ts +0 -27
  1665. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  1666. package/utilities/types/OnlyRequiredProperties.js +0 -2
  1667. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  1668. package/utilities/types/Prettify.d.ts +0 -4
  1669. package/utilities/types/Primitive.d.ts +0 -2
  1670. package/utilities/types/RemoveIndexSignature.d.ts +0 -4
  1671. package/utilities/types/UnionToIntersection.d.ts +0 -2
  1672. package/utilities/types/UnionToIntersection.js +0 -2
  1673. package/utilities/types/UnionToIntersection.js.map +0 -1
  1674. /package/__cjs/utilities/{types/DeepPartial.cjs → DeepPartial.cjs} +0 -0
  1675. /package/__cjs/utilities/{globals → internal/globals}/global.cjs +0 -0
  1676. /package/__cjs/utilities/{globals → internal/globals}/global.d.cts +0 -0
  1677. /package/__cjs/utilities/{globals → internal/globals}/index.cjs +0 -0
  1678. /package/__cjs/utilities/{globals → internal/globals}/index.d.cts +0 -0
  1679. /package/__cjs/utilities/{globals → internal/globals}/maybe.cjs +0 -0
  1680. /package/__cjs/utilities/{globals → internal/globals}/maybe.d.cts +0 -0
  1681. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs +0 -0
  1682. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.d.cts +0 -0
  1683. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs +0 -0
  1684. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs.map +0 -0
  1685. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs +0 -0
  1686. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs.map +0 -0
  1687. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs +0 -0
  1688. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs.map +0 -0
  1689. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs +0 -0
  1690. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs.map +0 -0
  1691. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs +0 -0
  1692. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs.map +0 -0
  1693. /package/__cjs/utilities/{common → shared}/canonicalStringify.d.cts +0 -0
  1694. /package/utilities/{types/DeepPartial.js → DeepPartial.js} +0 -0
  1695. /package/utilities/{globals → internal/globals}/global.d.ts +0 -0
  1696. /package/utilities/{globals → internal/globals}/index.d.ts +0 -0
  1697. /package/utilities/{globals → internal/globals}/index.js +0 -0
  1698. /package/utilities/{globals → internal/globals}/maybe.d.ts +0 -0
  1699. /package/utilities/{globals → internal/globals}/maybe.js +0 -0
  1700. /package/utilities/{promises → internal}/preventUnhandledRejection.d.ts +0 -0
  1701. /package/utilities/{promises → internal}/preventUnhandledRejection.js +0 -0
  1702. /package/utilities/{types → internal/types}/DeepOmit.js +0 -0
  1703. /package/utilities/{types → internal/types}/DeepOmit.js.map +0 -0
  1704. /package/utilities/{types → internal/types}/NoInfer.js +0 -0
  1705. /package/utilities/{types → internal/types}/NoInfer.js.map +0 -0
  1706. /package/utilities/{types → internal/types}/Prettify.js +0 -0
  1707. /package/utilities/{types → internal/types}/Prettify.js.map +0 -0
  1708. /package/utilities/{types → internal/types}/Primitive.js +0 -0
  1709. /package/utilities/{types → internal/types}/Primitive.js.map +0 -0
  1710. /package/utilities/{types → internal/types}/RemoveIndexSignature.js +0 -0
  1711. /package/utilities/{types → internal/types}/RemoveIndexSignature.js.map +0 -0
  1712. /package/utilities/{common → shared}/canonicalStringify.d.ts +0 -0
@@ -1,36 +1,34 @@
1
1
  import { Trie } from "@wry/trie";
2
- import { OperationTypeNode } from "graphql";
3
- import { catchError, concat, EMPTY, filter, from, lastValueFrom, map, mergeMap, mergeWith, Observable, of, share, shareReplay, Subject, tap, } from "rxjs";
2
+ import { BREAK, Kind, OperationTypeNode, visit } from "graphql";
3
+ import { Observable, throwError } from "rxjs";
4
+ import { catchError, concat, EMPTY, filter, finalize, from, lastValueFrom, map, materialize, mergeMap, of, share, shareReplay, Subject, tap, } from "rxjs";
4
5
  import { canonicalStringify } from "@apollo/client/cache";
5
- import { CombinedGraphQLErrors, graphQLResultHasProtocolErrors, toErrorLike, } from "@apollo/client/errors";
6
+ import { CombinedGraphQLErrors, graphQLResultHasProtocolErrors, registerLinkError, toErrorLike, } from "@apollo/client/errors";
6
7
  import { PROTOCOL_ERRORS_SYMBOL } from "@apollo/client/errors";
7
- import { execute } from "@apollo/client/link/core";
8
+ import { execute } from "@apollo/client/link";
8
9
  import { maskFragment, maskOperation } from "@apollo/client/masking";
9
- import { checkDocument, print } from "@apollo/client/utilities";
10
- import { AutoCleanedWeakCache, cacheSizes } from "@apollo/client/utilities";
11
- import { addNonReactiveToNamedFragments, hasDirectives, isExecutionPatchIncrementalResult, isExecutionPatchResult, isFullyUnmaskedOperation, removeDirectivesFromDocument, } from "@apollo/client/utilities";
12
- import { DocumentTransform, getDefaultValues, getGraphQLErrorsFromResult, getOperationDefinition, getOperationName, graphQLResultHasError, hasClientExports, isDocumentNode, isNonEmptyArray, isNonNullObject, makeUniqueId, } from "@apollo/client/utilities";
13
- import { mergeIncrementalData } from "@apollo/client/utilities";
10
+ import { cacheSizes, DocumentTransform, print } from "@apollo/client/utilities";
14
11
  import { __DEV__ } from "@apollo/client/utilities/environment";
15
- import { onAnyEvent, toQueryResult } from "@apollo/client/utilities/internal";
12
+ import { AutoCleanedWeakCache, checkDocument, filterMap, getDefaultValues, getOperationDefinition, getOperationName, graphQLResultHasError, hasDirectives, hasForcedResolvers, isDocumentNode, isNonNullObject, makeUniqueId, removeDirectivesFromDocument, toQueryResult, } from "@apollo/client/utilities/internal";
16
13
  import { invariant, newInvariantError, } from "@apollo/client/utilities/invariant";
17
14
  import { isNetworkRequestInFlight, NetworkStatus } from "./networkStatus.js";
18
15
  import { logMissingFieldErrors, ObservableQuery } from "./ObservableQuery.js";
19
- import { QueryInfo, shouldWriteResult, } from "./QueryInfo.js";
20
- const { hasOwnProperty } = Object.prototype;
21
- const IGNORE = {};
16
+ import { QueryInfo } from "./QueryInfo.js";
22
17
  export class QueryManager {
23
- cache;
24
- link;
25
18
  defaultOptions;
19
+ client;
20
+ /**
21
+ * The options that were passed to the ApolloClient constructor.
22
+ */
23
+ clientOptions;
26
24
  assumeImmutableResults;
27
25
  documentTransform;
28
26
  ssrMode;
29
27
  defaultContext;
30
28
  dataMasking;
31
- queryDeduplication;
32
- clientAwareness = {};
29
+ incrementalHandler;
33
30
  localState;
31
+ queryDeduplication;
34
32
  /**
35
33
  * Whether to prioritize cache values over network results when
36
34
  * `fetchObservableWithInfo` is called.
@@ -44,10 +42,11 @@ export class QueryManager {
44
42
  prioritizeCacheValues = false;
45
43
  onBroadcast;
46
44
  mutationStore;
47
- // All the queries that the QueryManager is currently managing (not
48
- // including mutations and subscriptions).
49
- queries = new Map();
50
- // Maps from queryId strings to Promise rejection functions for
45
+ /**
46
+ * All ObservableQueries that currently have at least one subscriber.
47
+ */
48
+ obsQueries = new Set();
49
+ // Maps from queryInfo.id strings to Promise rejection functions for
51
50
  // currently active queries and fetches.
52
51
  // Use protected instead of private field so
53
52
  // @apollo/experimental-nextjs-app-support can access type info.
@@ -56,15 +55,15 @@ export class QueryManager {
56
55
  const defaultDocumentTransform = new DocumentTransform((document) => this.cache.transformDocument(document),
57
56
  // Allow the apollo cache to manage its own transform caches
58
57
  { cache: false });
59
- this.cache = options.cache;
60
- this.link = options.link;
58
+ this.client = options.client;
61
59
  this.defaultOptions = options.defaultOptions;
62
60
  this.queryDeduplication = options.queryDeduplication;
63
- this.clientAwareness = options.clientAwareness;
64
- this.localState = options.localState;
61
+ this.clientOptions = options.clientOptions;
65
62
  this.ssrMode = options.ssrMode;
66
63
  this.assumeImmutableResults = options.assumeImmutableResults;
67
64
  this.dataMasking = options.dataMasking;
65
+ this.localState = options.localState;
66
+ this.incrementalHandler = options.incrementalHandler;
68
67
  const documentTransform = options.documentTransform;
69
68
  this.documentTransform =
70
69
  documentTransform ?
@@ -81,44 +80,54 @@ export class QueryManager {
81
80
  this.mutationStore = {};
82
81
  }
83
82
  }
83
+ get link() {
84
+ return this.client.link;
85
+ }
86
+ get cache() {
87
+ return this.client.cache;
88
+ }
84
89
  /**
85
90
  * Call this method to terminate any active query processes, making it safe
86
91
  * to dispose of this QueryManager instance.
87
92
  */
88
93
  stop() {
89
- this.queries.forEach((_info, queryId) => {
90
- this.removeQuery(queryId);
91
- });
92
- this.cancelPendingFetches(newInvariantError(72));
94
+ this.obsQueries.forEach((oq) => oq.stop());
95
+ this.cancelPendingFetches(newInvariantError(84));
93
96
  }
94
97
  cancelPendingFetches(error) {
95
98
  this.fetchCancelFns.forEach((cancel) => cancel(error));
96
99
  this.fetchCancelFns.clear();
97
100
  }
98
- async mutate({ mutation, variables, optimisticResponse, updateQueries, refetchQueries = [], awaitRefetchQueries = false, update: updateWithProxyFn, onQueryUpdated, fetchPolicy = this.defaultOptions.mutate?.fetchPolicy || "network-only", errorPolicy = this.defaultOptions.mutate?.errorPolicy || "none", keepRootFields, context, }) {
99
- invariant(mutation, 73);
100
- checkDocument(mutation, OperationTypeNode.MUTATION);
101
- invariant(fetchPolicy === "network-only" || fetchPolicy === "no-cache", 74);
102
- const mutationId = this.generateMutationId();
101
+ async mutate({ mutation, variables, optimisticResponse, updateQueries, refetchQueries = [], awaitRefetchQueries = false, update: updateWithProxyFn, onQueryUpdated, fetchPolicy, errorPolicy, keepRootFields, context, }) {
102
+ const queryInfo = new QueryInfo(this);
103
103
  mutation = this.cache.transformForLink(this.transform(mutation));
104
104
  const { hasClientExports } = this.getDocumentInfo(mutation);
105
105
  variables = this.getVariables(mutation, variables);
106
106
  if (hasClientExports) {
107
- variables = (await this.localState.addExportedVariables(mutation, variables, context));
107
+ if (__DEV__) {
108
+ invariant(this.localState, 85, getOperationName(mutation, "(anonymous)"));
109
+ }
110
+ variables = await this.localState.getExportedVariables({
111
+ client: this.client,
112
+ document: mutation,
113
+ variables,
114
+ context,
115
+ });
108
116
  }
109
117
  const mutationStoreValue = this.mutationStore &&
110
- (this.mutationStore[mutationId] = {
118
+ (this.mutationStore[queryInfo.id] = {
111
119
  mutation,
112
120
  variables,
113
121
  loading: true,
114
122
  error: null,
115
123
  });
116
124
  const isOptimistic = optimisticResponse &&
117
- this.markMutationOptimistic(optimisticResponse, {
118
- mutationId,
125
+ queryInfo.markMutationOptimistic(optimisticResponse, {
119
126
  document: mutation,
120
127
  variables,
121
- fetchPolicy,
128
+ cacheWriteBehavior: fetchPolicy === "no-cache" ?
129
+ 0 /* CacheWriteBehavior.FORBID */
130
+ : 2 /* CacheWriteBehavior.MERGE */,
122
131
  errorPolicy,
123
132
  context,
124
133
  updateQueries,
@@ -127,42 +136,40 @@ export class QueryManager {
127
136
  });
128
137
  this.broadcastQueries();
129
138
  return new Promise((resolve, reject) => {
139
+ const cause = {};
130
140
  return this.getObservableFromLink(mutation, {
131
141
  ...context,
132
142
  optimisticResponse: isOptimistic ? optimisticResponse : void 0,
133
143
  }, variables, {}, false)
134
- .pipe(validateDidEmitValue(), mergeMap((result) => {
135
- const hasErrors = graphQLResultHasError(result);
136
- if (hasErrors && errorPolicy === "none") {
137
- throw new CombinedGraphQLErrors(result);
138
- }
139
- if (mutationStoreValue) {
140
- mutationStoreValue.loading = false;
141
- mutationStoreValue.error = null;
142
- }
144
+ .observable.pipe(validateDidEmitValue(), mergeMap((result) => {
143
145
  const storeResult = { ...result };
144
- if (typeof refetchQueries === "function") {
145
- refetchQueries = refetchQueries(storeResult);
146
- }
147
- if (errorPolicy === "ignore" && hasErrors) {
148
- delete storeResult.errors;
149
- }
150
- return from(this.markMutationResult({
151
- mutationId,
152
- result: storeResult,
146
+ return from(queryInfo.markMutationResult(storeResult, {
153
147
  document: mutation,
154
148
  variables,
155
- fetchPolicy,
149
+ cacheWriteBehavior: fetchPolicy === "no-cache" ?
150
+ 0 /* CacheWriteBehavior.FORBID */
151
+ : 2 /* CacheWriteBehavior.MERGE */,
156
152
  errorPolicy,
157
153
  context,
158
154
  update: updateWithProxyFn,
159
155
  updateQueries,
160
156
  awaitRefetchQueries,
161
157
  refetchQueries,
162
- removeOptimistic: isOptimistic ? mutationId : void 0,
158
+ removeOptimistic: isOptimistic ? queryInfo.id : void 0,
163
159
  onQueryUpdated,
164
160
  keepRootFields,
165
161
  }));
162
+ }))
163
+ .pipe(map((storeResult) => {
164
+ const hasErrors = graphQLResultHasError(storeResult);
165
+ if (hasErrors && errorPolicy === "none") {
166
+ throw new CombinedGraphQLErrors(storeResult);
167
+ }
168
+ if (mutationStoreValue) {
169
+ mutationStoreValue.loading = false;
170
+ mutationStoreValue.error = null;
171
+ }
172
+ return storeResult;
166
173
  }))
167
174
  .subscribe({
168
175
  next: (storeResult) => {
@@ -172,32 +179,31 @@ export class QueryManager {
172
179
  // we resolve with a SingleExecutionResult or after the final
173
180
  // ExecutionPatchResult has arrived and we have assembled the
174
181
  // multipart response into a single result.
175
- if (!("hasNext" in storeResult) || storeResult.hasNext === false) {
182
+ if (!queryInfo.hasNext) {
176
183
  const result = {
177
184
  data: this.maskOperation({
178
185
  document: mutation,
179
186
  data: storeResult.data,
180
187
  fetchPolicy,
181
- id: mutationId,
188
+ cause,
182
189
  }),
183
190
  };
184
191
  if (graphQLResultHasError(storeResult)) {
185
192
  result.error = new CombinedGraphQLErrors(storeResult);
186
193
  }
187
- if (storeResult.extensions) {
194
+ if (Object.keys(storeResult.extensions || {}).length) {
188
195
  result.extensions = storeResult.extensions;
189
196
  }
190
197
  resolve(result);
191
198
  }
192
199
  },
193
- error: (err) => {
194
- const error = toErrorLike(err);
200
+ error: (error) => {
195
201
  if (mutationStoreValue) {
196
202
  mutationStoreValue.loading = false;
197
203
  mutationStoreValue.error = error;
198
204
  }
199
205
  if (isOptimistic) {
200
- this.cache.removeOptimistic(mutationId);
206
+ this.cache.removeOptimistic(queryInfo.id);
201
207
  }
202
208
  this.broadcastQueries();
203
209
  if (errorPolicy === "ignore") {
@@ -211,196 +217,26 @@ export class QueryManager {
211
217
  });
212
218
  });
213
219
  }
214
- markMutationResult(mutation, cache = this.cache) {
215
- let { result } = mutation;
216
- const cacheWrites = [];
217
- const skipCache = mutation.fetchPolicy === "no-cache";
218
- if (!skipCache && shouldWriteResult(result, mutation.errorPolicy)) {
219
- if (!isExecutionPatchIncrementalResult(result)) {
220
- cacheWrites.push({
221
- result: result.data,
222
- dataId: "ROOT_MUTATION",
223
- query: mutation.document,
224
- variables: mutation.variables,
225
- });
226
- }
227
- if (isExecutionPatchIncrementalResult(result) &&
228
- isNonEmptyArray(result.incremental)) {
229
- const diff = cache.diff({
230
- id: "ROOT_MUTATION",
231
- // The cache complains if passed a mutation where it expects a
232
- // query, so we transform mutations and subscriptions to queries
233
- // (only once, thanks to this.transformCache).
234
- query: this.getDocumentInfo(mutation.document).asQuery,
235
- variables: mutation.variables,
236
- optimistic: false,
237
- returnPartialData: true,
238
- });
239
- let mergedData;
240
- if (diff.result) {
241
- mergedData = mergeIncrementalData(diff.result, result);
242
- }
243
- if (typeof mergedData !== "undefined") {
244
- // cast the ExecutionPatchResult to FetchResult here since
245
- // ExecutionPatchResult never has `data` when returned from the server
246
- result.data = mergedData;
247
- cacheWrites.push({
248
- result: mergedData,
249
- dataId: "ROOT_MUTATION",
250
- query: mutation.document,
251
- variables: mutation.variables,
252
- });
220
+ fetchQuery(options, networkStatus) {
221
+ checkDocument(options.query, OperationTypeNode.QUERY);
222
+ // do the rest asynchronously to keep the same rejection timing as
223
+ // checks further in `.mutate`
224
+ return (async () => lastValueFrom(this.fetchObservableWithInfo(options, {
225
+ networkStatus,
226
+ }).observable.pipe(filterMap((value) => {
227
+ switch (value.kind) {
228
+ case "E":
229
+ throw value.error;
230
+ case "N": {
231
+ if (value.source !== "newNetworkStatus")
232
+ return toQueryResult(value.value);
253
233
  }
254
234
  }
255
- const { updateQueries } = mutation;
256
- if (updateQueries) {
257
- this.queries.forEach(({ observableQuery }, queryId) => {
258
- const queryName = observableQuery && observableQuery.queryName;
259
- if (!queryName || !hasOwnProperty.call(updateQueries, queryName)) {
260
- return;
261
- }
262
- const updater = updateQueries[queryName];
263
- const { document, variables } = this.queries.get(queryId);
264
- // Read the current query result from the store.
265
- const { result: currentQueryResult, complete } = cache.diff({
266
- query: document,
267
- variables,
268
- returnPartialData: true,
269
- optimistic: false,
270
- });
271
- if (complete && currentQueryResult) {
272
- // Run our reducer using the current query result and the mutation result.
273
- const nextQueryResult = updater(currentQueryResult, {
274
- mutationResult: result,
275
- queryName: (document && getOperationName(document)) || void 0,
276
- queryVariables: variables,
277
- });
278
- // Write the modified result back into the store if we got a new result.
279
- if (nextQueryResult) {
280
- cacheWrites.push({
281
- result: nextQueryResult,
282
- dataId: "ROOT_QUERY",
283
- query: document,
284
- variables,
285
- });
286
- }
287
- }
288
- });
289
- }
290
- }
291
- if (cacheWrites.length > 0 ||
292
- (mutation.refetchQueries || "").length > 0 ||
293
- mutation.update ||
294
- mutation.onQueryUpdated ||
295
- mutation.removeOptimistic) {
296
- const results = [];
297
- this.refetchQueries({
298
- updateCache: (cache) => {
299
- if (!skipCache) {
300
- cacheWrites.forEach((write) => cache.write(write));
301
- }
302
- // If the mutation has some writes associated with it then we need to
303
- // apply those writes to the store by running this reducer again with
304
- // a write action.
305
- const { update } = mutation;
306
- // Determine whether result is a SingleExecutionResult,
307
- // or the final ExecutionPatchResult.
308
- const isFinalResult = !isExecutionPatchResult(result) ||
309
- (isExecutionPatchIncrementalResult(result) && !result.hasNext);
310
- if (update) {
311
- if (!skipCache) {
312
- // Re-read the ROOT_MUTATION data we just wrote into the cache
313
- // (the first cache.write call in the cacheWrites.forEach loop
314
- // above), so field read functions have a chance to run for
315
- // fields within mutation result objects.
316
- const diff = cache.diff({
317
- id: "ROOT_MUTATION",
318
- // The cache complains if passed a mutation where it expects a
319
- // query, so we transform mutations and subscriptions to queries
320
- // (only once, thanks to this.transformCache).
321
- query: this.getDocumentInfo(mutation.document).asQuery,
322
- variables: mutation.variables,
323
- optimistic: false,
324
- returnPartialData: true,
325
- });
326
- if (diff.complete) {
327
- result = { ...result, data: diff.result };
328
- if ("incremental" in result) {
329
- delete result.incremental;
330
- }
331
- if ("hasNext" in result) {
332
- delete result.hasNext;
333
- }
334
- }
335
- }
336
- // If we've received the whole response,
337
- // either a SingleExecutionResult or the final ExecutionPatchResult,
338
- // call the update function.
339
- if (isFinalResult) {
340
- update(cache, result, {
341
- context: mutation.context,
342
- variables: mutation.variables,
343
- });
344
- }
345
- }
346
- // TODO Do this with cache.evict({ id: 'ROOT_MUTATION' }) but make it
347
- // shallow to allow rolling back optimistic evictions.
348
- if (!skipCache && !mutation.keepRootFields && isFinalResult) {
349
- cache.modify({
350
- id: "ROOT_MUTATION",
351
- fields(value, { fieldName, DELETE }) {
352
- return fieldName === "__typename" ? value : DELETE;
353
- },
354
- });
355
- }
356
- },
357
- include: mutation.refetchQueries,
358
- // Write the final mutation.result to the root layer of the cache.
359
- optimistic: false,
360
- // Remove the corresponding optimistic layer at the same time as we
361
- // write the final non-optimistic result.
362
- removeOptimistic: mutation.removeOptimistic,
363
- // Let the caller of client.mutate optionally determine the refetching
364
- // behavior for watched queries after the mutation.update function runs.
365
- // If no onQueryUpdated function was provided for this mutation, pass
366
- // null instead of undefined to disable the default refetching behavior.
367
- onQueryUpdated: mutation.onQueryUpdated || null,
368
- }).forEach((result) => results.push(result));
369
- if (mutation.awaitRefetchQueries || mutation.onQueryUpdated) {
370
- // Returning a promise here makes the mutation await that promise, so we
371
- // include results in that promise's work if awaitRefetchQueries or an
372
- // onQueryUpdated function was specified.
373
- return Promise.all(results).then(() => result);
374
- }
375
- }
376
- return Promise.resolve(result);
377
- }
378
- markMutationOptimistic(optimisticResponse, mutation) {
379
- const data = typeof optimisticResponse === "function" ?
380
- optimisticResponse(mutation.variables, { IGNORE })
381
- : optimisticResponse;
382
- if (data === IGNORE) {
383
- return false;
384
- }
385
- this.cache.recordOptimisticTransaction((cache) => {
386
- try {
387
- this.markMutationResult({
388
- ...mutation,
389
- result: { data },
390
- }, cache);
391
- }
392
- catch (error) {
393
- __DEV__ && invariant.error(error);
394
- }
395
- }, mutation.mutationId);
396
- return true;
397
- }
398
- fetchQuery(queryId, options, networkStatus) {
399
- return lastValueFrom(this.fetchObservableWithInfo(this.getOrCreateQuery(queryId), options, networkStatus).observable.pipe(map(toQueryResult)), {
235
+ })), {
400
236
  // This default is needed when a `standby` fetch policy is used to avoid
401
237
  // an EmptyError from rejecting this promise.
402
238
  defaultValue: { data: undefined },
403
- });
239
+ }))();
404
240
  }
405
241
  transform(document) {
406
242
  return this.documentTransform.transformDocument(document);
@@ -410,24 +246,27 @@ export class QueryManager {
410
246
  getDocumentInfo(document) {
411
247
  const { transformCache } = this;
412
248
  if (!transformCache.has(document)) {
249
+ const operationDefinition = getOperationDefinition(document);
413
250
  const cacheEntry = {
414
251
  // TODO These three calls (hasClientExports, shouldForceResolvers, and
415
252
  // usesNonreactiveDirective) are performing independent full traversals
416
253
  // of the transformed document. We should consider merging these
417
254
  // traversals into a single pass in the future, though the work is
418
255
  // cached after the first time.
419
- hasClientExports: hasClientExports(document),
420
- hasForcedResolvers: this.localState.shouldForceResolvers(document),
256
+ hasClientExports: hasDirectives(["client", "export"], document, true),
257
+ hasForcedResolvers: hasForcedResolvers(document),
421
258
  hasNonreactiveDirective: hasDirectives(["nonreactive"], document),
259
+ hasIncrementalDirective: hasDirectives(["defer"], document),
422
260
  nonReactiveQuery: addNonReactiveToNamedFragments(document),
423
- clientQuery: this.localState.clientQuery(document),
261
+ clientQuery: hasDirectives(["client"], document) ? document : null,
424
262
  serverQuery: removeDirectivesFromDocument([
425
263
  { name: "client", remove: true },
426
264
  { name: "connection" },
427
265
  { name: "nonreactive" },
428
266
  { name: "unmask" },
429
267
  ], document),
430
- defaultVars: getDefaultValues(getOperationDefinition(document)),
268
+ operationType: operationDefinition?.operation,
269
+ defaultVars: getDefaultValues(operationDefinition),
431
270
  // Transform any mutation or subscription operations to query operations
432
271
  // so we can read/write them from/to the cache.
433
272
  asQuery: {
@@ -443,12 +282,18 @@ export class QueryManager {
443
282
  };
444
283
  transformCache.set(document, cacheEntry);
445
284
  }
446
- return transformCache.get(document);
285
+ const entry = transformCache.get(document);
286
+ if (entry.violation) {
287
+ throw entry.violation;
288
+ }
289
+ return entry;
447
290
  }
448
291
  getVariables(document, variables) {
292
+ const defaultVars = this.getDocumentInfo(document).defaultVars;
293
+ const varsWithDefaults = Object.entries(variables ?? {}).map(([key, value]) => [key, value === undefined ? defaultVars[key] : value]);
449
294
  return {
450
- ...this.getDocumentInfo(document).defaultVars,
451
- ...variables,
295
+ ...defaultVars,
296
+ ...Object.fromEntries(varsWithDefaults),
452
297
  };
453
298
  }
454
299
  watchQuery(options) {
@@ -464,49 +309,31 @@ export class QueryManager {
464
309
  if (typeof options.notifyOnNetworkStatusChange === "undefined") {
465
310
  options.notifyOnNetworkStatusChange = true;
466
311
  }
467
- const queryInfo = new QueryInfo(this);
468
312
  const observable = new ObservableQuery({
469
313
  queryManager: this,
470
- queryInfo,
471
314
  options,
315
+ transformedQuery: query,
472
316
  });
473
- observable["lastQuery"] = query;
474
- if (!ObservableQuery["inactiveOnCreation"].getValue()) {
475
- this.queries.set(observable.queryId, queryInfo);
476
- }
477
- // We give queryInfo the transformed query to ensure the first cache diff
478
- // uses the transformed query instead of the raw query
479
- queryInfo.init({ document: query, variables: observable.variables });
480
- queryInfo.setObservableQuery(observable);
481
317
  return observable;
482
318
  }
483
- query(options, queryId = this.generateQueryId()) {
484
- checkDocument(options.query, OperationTypeNode.QUERY);
319
+ query(options) {
485
320
  const query = this.transform(options.query);
486
- return this.fetchQuery(queryId, { ...options, query })
487
- .then((value) => ({
321
+ return this.fetchQuery({
322
+ ...options,
323
+ query,
324
+ }).then((value) => ({
488
325
  ...value,
489
326
  data: this.maskOperation({
490
327
  document: query,
491
328
  data: value?.data,
492
329
  fetchPolicy: options.fetchPolicy,
493
- id: queryId,
494
330
  }),
495
- }))
496
- .finally(() => this.stopQuery(queryId));
497
- }
498
- queryIdCounter = 1;
499
- generateQueryId() {
500
- return String(this.queryIdCounter++);
331
+ }));
501
332
  }
502
333
  requestIdCounter = 1;
503
334
  generateRequestId() {
504
335
  return this.requestIdCounter++;
505
336
  }
506
- mutationIdCounter = 1;
507
- generateMutationId() {
508
- return String(this.mutationIdCounter++);
509
- }
510
337
  clearStore(options = {
511
338
  discardWatches: true,
512
339
  }) {
@@ -515,16 +342,11 @@ export class QueryManager {
515
342
  // depend on values that previously existed in the data portion of the
516
343
  // store. So, we cancel the promises and observers that we have issued
517
344
  // so far and not yet resolved (in the case of queries).
518
- this.cancelPendingFetches(newInvariantError(75));
519
- this.queries.forEach((queryInfo) => {
520
- if (queryInfo.observableQuery) {
521
- // Set loading to true so listeners don't trigger unless they want
522
- // results with partial data.
523
- queryInfo.observableQuery["networkStatus"] = NetworkStatus.loading;
524
- }
525
- else {
526
- queryInfo.stop();
527
- }
345
+ this.cancelPendingFetches(newInvariantError(86));
346
+ this.obsQueries.forEach((observableQuery) => {
347
+ // Set loading to true so listeners don't trigger unless they want
348
+ // results with partial data.
349
+ observableQuery.reset();
528
350
  });
529
351
  if (this.mutationStore) {
530
352
  this.mutationStore = {};
@@ -533,7 +355,7 @@ export class QueryManager {
533
355
  return this.cache.reset(options);
534
356
  }
535
357
  getObservableQueries(include = "active") {
536
- const queries = new Map();
358
+ const queries = new Set();
537
359
  const queryNames = new Map();
538
360
  const queryNamesAndQueryStrings = new Map();
539
361
  const legacyQueryOptions = new Set();
@@ -553,49 +375,36 @@ export class QueryManager {
553
375
  }
554
376
  });
555
377
  }
556
- this.queries.forEach(({ observableQuery: oq, document }, queryId) => {
557
- if (oq) {
558
- if (include === "all") {
559
- queries.set(queryId, oq);
560
- return;
561
- }
562
- const { queryName, options: { fetchPolicy }, } = oq;
563
- if (fetchPolicy === "standby" ||
564
- (include === "active" && !oq.hasObservers())) {
565
- return;
566
- }
567
- if (include === "active" ||
568
- (queryName && queryNamesAndQueryStrings.has(queryName)) ||
569
- (document && queryNamesAndQueryStrings.has(print(document)))) {
570
- queries.set(queryId, oq);
571
- if (queryName)
572
- queryNamesAndQueryStrings.set(queryName, true);
573
- if (document)
574
- queryNamesAndQueryStrings.set(print(document), true);
575
- }
378
+ this.obsQueries.forEach((oq) => {
379
+ const document = print(this.transform(oq.options.query));
380
+ if (include === "all") {
381
+ queries.add(oq);
382
+ return;
383
+ }
384
+ const { queryName, options: { fetchPolicy }, } = oq;
385
+ if (include === "active" && fetchPolicy === "standby") {
386
+ return;
387
+ }
388
+ if (include === "active" ||
389
+ (queryName && queryNamesAndQueryStrings.has(queryName)) ||
390
+ (document && queryNamesAndQueryStrings.has(document))) {
391
+ queries.add(oq);
392
+ if (queryName)
393
+ queryNamesAndQueryStrings.set(queryName, true);
394
+ if (document)
395
+ queryNamesAndQueryStrings.set(document, true);
576
396
  }
577
397
  });
578
398
  if (legacyQueryOptions.size) {
579
399
  legacyQueryOptions.forEach((options) => {
580
- // We will be issuing a fresh network request for this query, so we
581
- // pre-allocate a new query ID here, using a special prefix to enable
582
- // cleaning up these temporary queries later, after fetching.
583
- const queryId = makeUniqueId("legacyOneTimeQuery");
584
- const queryInfo = this.getOrCreateQuery(queryId).init({
585
- document: options.query,
586
- variables: options.variables,
587
- });
588
400
  const oq = new ObservableQuery({
589
401
  queryManager: this,
590
- queryInfo,
591
402
  options: {
592
403
  ...options,
593
404
  fetchPolicy: "network-only",
594
405
  },
595
406
  });
596
- invariant(oq.queryId === queryId);
597
- queryInfo.setObservableQuery(oq);
598
- queries.set(queryId, oq);
407
+ queries.add(oq);
599
408
  });
600
409
  }
601
410
  if (__DEV__ && queryNamesAndQueryStrings.size) {
@@ -603,26 +412,24 @@ export class QueryManager {
603
412
  if (!included) {
604
413
  const queryName = queryNames.get(nameOrQueryString);
605
414
  if (queryName) {
606
- __DEV__ && invariant.warn(76, queryName);
415
+ __DEV__ && invariant.warn(87, queryName);
607
416
  }
608
417
  else {
609
- __DEV__ && invariant.warn(77);
418
+ __DEV__ && invariant.warn(88);
610
419
  }
611
420
  }
612
421
  });
613
422
  }
614
423
  return queries;
615
424
  }
616
- reFetchObservableQueries(includeStandby = false) {
425
+ refetchObservableQueries(includeStandby = false) {
617
426
  const observableQueryPromises = [];
618
- this.getObservableQueries(includeStandby ? "all" : "active").forEach((observableQuery, queryId) => {
427
+ this.getObservableQueries(includeStandby ? "all" : "active").forEach((observableQuery) => {
619
428
  const { fetchPolicy } = observableQuery.options;
620
- observableQuery.resetLastResults();
621
- if (includeStandby ||
622
- (fetchPolicy !== "standby" && fetchPolicy !== "cache-only")) {
429
+ if ((includeStandby || fetchPolicy !== "standby") &&
430
+ fetchPolicy !== "cache-only") {
623
431
  observableQueryPromises.push(observableQuery.refetch());
624
432
  }
625
- (this.queries.get(queryId) || observableQuery["queryInfo"]).setDiff(null);
626
433
  });
627
434
  this.broadcastQueries();
628
435
  return Promise.all(observableQueryPromises);
@@ -633,83 +440,69 @@ export class QueryManager {
633
440
  checkDocument(query, OperationTypeNode.SUBSCRIPTION);
634
441
  query = this.transform(query);
635
442
  variables = this.getVariables(query, variables);
636
- const makeObservable = (variables) => this.getObservableFromLink(query, context, variables, extensions).pipe(map((rawResult) => {
637
- if (fetchPolicy !== "no-cache") {
638
- // the subscription interface should handle not sending us results we no longer subscribe to.
639
- // XXX I don't think we ever send in an object with errors, but we might in the future...
640
- if (shouldWriteResult(rawResult, errorPolicy)) {
641
- this.cache.write({
642
- query,
643
- result: rawResult.data,
644
- dataId: "ROOT_SUBSCRIPTION",
645
- variables: variables,
646
- });
647
- }
648
- this.broadcastQueries();
649
- }
650
- const result = {
651
- data: rawResult.data ?? undefined,
652
- };
653
- if (graphQLResultHasError(rawResult)) {
654
- result.error = new CombinedGraphQLErrors(rawResult);
655
- }
656
- else if (graphQLResultHasProtocolErrors(rawResult)) {
657
- result.error = rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
658
- // Don't emit protocol errors added by HttpLink
659
- delete rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
660
- }
661
- if (rawResult.extensions &&
662
- Object.keys(rawResult.extensions).length) {
663
- result.extensions = rawResult.extensions;
664
- }
665
- if (result.error && errorPolicy === "none") {
666
- result.data = undefined;
667
- }
668
- if (errorPolicy === "ignore") {
669
- delete result.error;
670
- }
671
- return result;
672
- }), catchError((error) => {
673
- if (errorPolicy === "ignore") {
674
- return of({ data: undefined });
675
- }
676
- return of({ data: undefined, error: toErrorLike(error) });
677
- }), filter((result) => !!(result.data || result.error)));
678
- if (this.getDocumentInfo(query).hasClientExports) {
679
- const observablePromise = this.localState
680
- .addExportedVariables(query, variables, context)
681
- .then(makeObservable);
682
- return new Observable((observer) => {
683
- let sub = null;
684
- observablePromise.then((observable) => (sub = observable.subscribe(observer)), observer.error);
685
- return () => sub && sub.unsubscribe();
686
- });
687
- }
688
- return makeObservable(variables);
689
- }
690
- stopQuery(queryId) {
691
- this.removeQuery(queryId);
692
- this.broadcastQueries();
693
- }
694
- removeQuery(queryId) {
695
- // teardown all links
696
- // Both `QueryManager.fetchRequest` and `QueryManager.query` create separate promises
697
- // that each add their reject functions to fetchCancelFns.
698
- // A query created with `QueryManager.query()` could trigger a `QueryManager.fetchRequest`.
699
- // The same queryId could have two rejection fns for two promises
700
- this.fetchCancelFns.delete(queryId);
701
- if (this.queries.has(queryId)) {
702
- this.queries.get(queryId)?.stop();
703
- this.queries.delete(queryId);
443
+ let restart;
444
+ if (__DEV__) {
445
+ invariant(
446
+ !this.getDocumentInfo(query).hasClientExports || this.localState,
447
+ 89,
448
+ getOperationName(query, "(anonymous)")
449
+ );
704
450
  }
451
+ const observable = (this.getDocumentInfo(query).hasClientExports ?
452
+ from(this.localState.getExportedVariables({
453
+ client: this.client,
454
+ document: query,
455
+ variables,
456
+ context,
457
+ }))
458
+ : of(variables)).pipe(mergeMap((variables) => {
459
+ const { observable, restart: res } = this.getObservableFromLink(query, context, variables, extensions);
460
+ const queryInfo = new QueryInfo(this);
461
+ restart = res;
462
+ return observable.pipe(map((rawResult) => {
463
+ queryInfo.markSubscriptionResult(rawResult, {
464
+ document: query,
465
+ variables,
466
+ errorPolicy,
467
+ cacheWriteBehavior: fetchPolicy === "no-cache" ?
468
+ 0 /* CacheWriteBehavior.FORBID */
469
+ : 2 /* CacheWriteBehavior.MERGE */,
470
+ });
471
+ const result = {
472
+ data: rawResult.data ?? undefined,
473
+ };
474
+ if (graphQLResultHasError(rawResult)) {
475
+ result.error = new CombinedGraphQLErrors(rawResult);
476
+ }
477
+ else if (graphQLResultHasProtocolErrors(rawResult)) {
478
+ result.error = rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
479
+ // Don't emit protocol errors added by HttpLink
480
+ delete rawResult.extensions[PROTOCOL_ERRORS_SYMBOL];
481
+ }
482
+ if (rawResult.extensions &&
483
+ Object.keys(rawResult.extensions).length) {
484
+ result.extensions = rawResult.extensions;
485
+ }
486
+ if (result.error && errorPolicy === "none") {
487
+ result.data = undefined;
488
+ }
489
+ if (errorPolicy === "ignore") {
490
+ delete result.error;
491
+ }
492
+ return result;
493
+ }), catchError((error) => {
494
+ if (errorPolicy === "ignore") {
495
+ return of({ data: undefined });
496
+ }
497
+ return of({ data: undefined, error });
498
+ }), filter((result) => !!(result.data || result.error)));
499
+ }));
500
+ return Object.assign(observable, { restart: () => restart?.() });
705
501
  }
706
502
  broadcastQueries() {
707
503
  if (this.onBroadcast)
708
504
  this.onBroadcast();
709
- this.queries.forEach((info) => info.observableQuery?.["notify"]());
710
- }
711
- getLocalState() {
712
- return this.localState;
505
+ this.obsQueries.forEach((observableQuery) => observableQuery.notify());
713
506
  }
714
507
  // Use protected instead of private field so
715
508
  // @apollo/experimental-nextjs-app-support can access type info.
@@ -718,49 +511,97 @@ export class QueryManager {
718
511
  // Prefer context.queryDeduplication if specified.
719
512
  deduplication = context?.queryDeduplication ??
720
513
  this.queryDeduplication) {
721
- let observable;
722
- const { serverQuery, clientQuery } = this.getDocumentInfo(query);
514
+ let entry = {};
515
+ const { serverQuery, clientQuery, operationType, hasIncrementalDirective } = this.getDocumentInfo(query);
516
+ const operationName = getOperationName(query);
517
+ const executeContext = {
518
+ client: this.client,
519
+ };
723
520
  if (serverQuery) {
724
521
  const { inFlightLinkObservables, link } = this;
725
- const operation = {
726
- query: serverQuery,
727
- variables,
728
- operationName: getOperationName(serverQuery) || void 0,
729
- context: this.prepareContext({
730
- ...context,
731
- forceFetch: !deduplication,
732
- }),
733
- extensions,
734
- };
735
- context = operation.context;
736
- if (deduplication) {
737
- const printedServerQuery = print(serverQuery);
738
- const varJson = canonicalStringify(variables);
739
- const entry = inFlightLinkObservables.lookup(printedServerQuery, varJson);
740
- observable = entry.observable;
741
- if (!observable) {
742
- observable = entry.observable = execute(link, operation).pipe(onAnyEvent((event) => {
743
- if ((event.type !== "next" ||
744
- !("hasNext" in event.value) ||
745
- !event.value.hasNext) &&
746
- inFlightLinkObservables.peek(printedServerQuery, varJson) ===
747
- entry) {
748
- inFlightLinkObservables.remove(printedServerQuery, varJson);
522
+ try {
523
+ const operation = this.incrementalHandler.prepareRequest({
524
+ query: serverQuery,
525
+ variables,
526
+ operationName,
527
+ operationType,
528
+ context: {
529
+ ...this.defaultContext,
530
+ ...context,
531
+ queryDeduplication: deduplication,
532
+ },
533
+ extensions,
534
+ });
535
+ context = operation.context;
536
+ function withRestart(source) {
537
+ return new Observable((observer) => {
538
+ function subscribe() {
539
+ return source.subscribe({
540
+ next: observer.next.bind(observer),
541
+ complete: observer.complete.bind(observer),
542
+ error: observer.error.bind(observer),
543
+ });
749
544
  }
750
- }), shareReplay({ refCount: true }));
545
+ let subscription = subscribe();
546
+ entry.restart ||= () => {
547
+ subscription.unsubscribe();
548
+ subscription = subscribe();
549
+ };
550
+ return () => {
551
+ subscription.unsubscribe();
552
+ entry.restart = undefined;
553
+ };
554
+ });
555
+ }
556
+ if (deduplication) {
557
+ const printedServerQuery = print(serverQuery);
558
+ const varJson = canonicalStringify(variables);
559
+ entry = inFlightLinkObservables.lookup(printedServerQuery, varJson);
560
+ if (!entry.observable) {
561
+ entry.observable = execute(link, operation, executeContext).pipe(withRestart, finalize(() => {
562
+ if (inFlightLinkObservables.peek(printedServerQuery, varJson) ===
563
+ entry) {
564
+ inFlightLinkObservables.remove(printedServerQuery, varJson);
565
+ }
566
+ }),
567
+ // We don't want to replay the last emitted value for
568
+ // subscriptions and instead opt to wait to receive updates until
569
+ // the subscription emits new values.
570
+ operationType === OperationTypeNode.SUBSCRIPTION ?
571
+ share()
572
+ : shareReplay({ refCount: true }));
573
+ }
574
+ }
575
+ else {
576
+ entry.observable = execute(link, operation, executeContext).pipe(withRestart);
751
577
  }
752
578
  }
753
- else {
754
- observable = execute(link, operation);
579
+ catch (error) {
580
+ entry.observable = throwError(() => error);
755
581
  }
756
582
  }
757
583
  else {
758
- observable = of({ data: {} });
759
- context = this.prepareContext(context);
584
+ entry.observable = of({ data: {} });
760
585
  }
761
586
  if (clientQuery) {
762
- observable = observable.pipe(mergeMap((result) => {
763
- return from(this.localState.runResolvers({
587
+ const { operation } = getOperationDefinition(query);
588
+ if (__DEV__) {
589
+ invariant(
590
+ this.localState,
591
+ 90,
592
+ operation[0].toUpperCase() + operation.slice(1),
593
+ operationName ?? "(anonymous)"
594
+ );
595
+ }
596
+ invariant(
597
+ !hasIncrementalDirective,
598
+ 91,
599
+ operation[0].toUpperCase() + operation.slice(1),
600
+ operationName ?? "(anonymous)"
601
+ );
602
+ entry.observable = entry.observable.pipe(mergeMap((result) => {
603
+ return from(this.localState.execute({
604
+ client: this.client,
764
605
  document: clientQuery,
765
606
  remoteResult: result,
766
607
  context,
@@ -768,60 +609,80 @@ export class QueryManager {
768
609
  }));
769
610
  }));
770
611
  }
771
- return observable;
612
+ return {
613
+ restart: () => entry.restart?.(),
614
+ observable: entry.observable.pipe(catchError((error) => {
615
+ error = toErrorLike(error);
616
+ registerLinkError(error);
617
+ throw error;
618
+ })),
619
+ };
772
620
  }
773
- getResultsFromLink(queryInfo, cacheWriteBehavior, options) {
621
+ getResultsFromLink(options, { queryInfo, cacheWriteBehavior, observableQuery, }) {
774
622
  const requestId = (queryInfo.lastRequestId = this.generateRequestId());
775
623
  const { errorPolicy } = options;
776
624
  // Performing transformForLink here gives this.cache a chance to fill in
777
625
  // missing fragment definitions (for example) before sending this document
778
626
  // through the link chain.
779
627
  const linkDocument = this.cache.transformForLink(options.query);
780
- return this.getObservableFromLink(linkDocument, options.context, options.variables).pipe(map((result) => {
781
- const graphQLErrors = getGraphQLErrorsFromResult(result);
782
- const hasErrors = graphQLErrors.length > 0;
783
- // If we interrupted this request by calling getResultsFromLink again
784
- // with the same QueryInfo object, we ignore the old results.
785
- if (requestId >= queryInfo.lastRequestId) {
786
- if (hasErrors && errorPolicy === "none") {
787
- queryInfo.resetLastWrite();
788
- queryInfo.observableQuery?.["resetNotifications"]();
789
- // Throwing here effectively calls observer.error.
790
- throw new CombinedGraphQLErrors(result);
791
- }
792
- // Use linkDocument rather than queryInfo.document so the
793
- // operation/fragments used to write the result are the same as the
794
- // ones used to obtain it from the link.
795
- queryInfo.markResult(result, linkDocument, options, cacheWriteBehavior);
628
+ return this.getObservableFromLink(linkDocument, options.context, options.variables).observable.pipe(map((incoming) => {
629
+ // Use linkDocument rather than queryInfo.document so the
630
+ // operation/fragments used to write the result are the same as the
631
+ // ones used to obtain it from the link.
632
+ const result = queryInfo.markQueryResult(incoming, {
633
+ ...options,
634
+ document: linkDocument,
635
+ cacheWriteBehavior,
636
+ });
637
+ const hasErrors = graphQLResultHasError(result);
638
+ if (hasErrors && errorPolicy === "none") {
639
+ queryInfo.resetLastWrite();
640
+ observableQuery?.["resetNotifications"]();
641
+ throw new CombinedGraphQLErrors(result);
796
642
  }
797
643
  const aqr = {
798
644
  data: result.data,
799
- loading: false,
800
- networkStatus: NetworkStatus.ready,
801
- partial: !result.data,
645
+ ...(queryInfo.hasNext ?
646
+ {
647
+ loading: true,
648
+ networkStatus: NetworkStatus.streaming,
649
+ dataState: "streaming",
650
+ partial: true,
651
+ }
652
+ : {
653
+ dataState: result.data ? "complete" : "empty",
654
+ loading: false,
655
+ networkStatus: NetworkStatus.ready,
656
+ partial: !result.data,
657
+ }),
802
658
  };
803
659
  // In the case we start multiple network requests simulatenously, we
804
660
  // want to ensure we properly set `data` if we're reporting on an old
805
661
  // result which will not be caught by the conditional above that ends up
806
662
  // throwing the markError result.
807
- if (hasErrors && errorPolicy === "none") {
808
- aqr.data = void 0;
809
- }
810
- if (hasErrors && errorPolicy !== "ignore") {
811
- aqr.error = new CombinedGraphQLErrors(result);
812
- aqr.networkStatus = NetworkStatus.error;
663
+ if (hasErrors) {
664
+ if (errorPolicy === "none") {
665
+ aqr.data = void 0;
666
+ aqr.dataState = "empty";
667
+ }
668
+ if (errorPolicy !== "ignore") {
669
+ aqr.error = new CombinedGraphQLErrors(result);
670
+ if (aqr.dataState !== "streaming") {
671
+ aqr.networkStatus = NetworkStatus.error;
672
+ }
673
+ }
813
674
  }
814
675
  return aqr;
815
676
  }), catchError((error) => {
816
- error = toErrorLike(error);
817
677
  // Avoid storing errors from older interrupted queries.
818
678
  if (requestId >= queryInfo.lastRequestId && errorPolicy === "none") {
819
679
  queryInfo.resetLastWrite();
820
- queryInfo.observableQuery?.["resetNotifications"]();
680
+ observableQuery?.["resetNotifications"]();
821
681
  throw error;
822
682
  }
823
683
  const aqr = {
824
684
  data: undefined,
685
+ dataState: "empty",
825
686
  loading: false,
826
687
  networkStatus: NetworkStatus.ready,
827
688
  partial: true,
@@ -833,11 +694,11 @@ export class QueryManager {
833
694
  return of(aqr);
834
695
  }));
835
696
  }
836
- fetchObservableWithInfo(queryInfo, options,
697
+ fetchObservableWithInfo(options, {
837
698
  // The initial networkStatus for this fetch, most often
838
699
  // NetworkStatus.loading, but also possibly fetchMore, poll, refetch,
839
700
  // or setVariables.
840
- networkStatus = NetworkStatus.loading, query = options.query, emitLoadingState = false) {
701
+ networkStatus = NetworkStatus.loading, query = options.query, fetchQueryOperator = (x) => x, onCacheHit = () => { }, observableQuery, }) {
841
702
  const variables = this.getVariables(query, options.variables);
842
703
  const defaults = this.defaultOptions.watchQuery;
843
704
  let { fetchPolicy = (defaults && defaults.fetchPolicy) || "cache-first", errorPolicy = (defaults && defaults.errorPolicy) || "none", returnPartialData = false, notifyOnNetworkStatusChange = true, context = {}, } = options;
@@ -854,33 +715,41 @@ export class QueryManager {
854
715
  notifyOnNetworkStatusChange,
855
716
  context,
856
717
  });
718
+ const queryInfo = new QueryInfo(this, observableQuery);
857
719
  const fromVariables = (variables) => {
858
720
  // Since normalized is always a fresh copy of options, it's safe to
859
721
  // modify its properties here, rather than creating yet another new
860
722
  // WatchQueryOptions object.
861
723
  normalized.variables = variables;
862
- const observableWithInfo = this.fetchQueryByPolicy(queryInfo, normalized, networkStatus, emitLoadingState);
724
+ const cacheWriteBehavior = fetchPolicy === "no-cache" ? 0 /* CacheWriteBehavior.FORBID */
725
+ // Watched queries must opt into overwriting existing data on refetch,
726
+ // by passing refetchWritePolicy: "overwrite" in their WatchQueryOptions.
727
+ : (networkStatus === NetworkStatus.refetch &&
728
+ normalized.refetchWritePolicy !== "merge") ?
729
+ 1 /* CacheWriteBehavior.OVERWRITE */
730
+ : 2 /* CacheWriteBehavior.MERGE */;
731
+ const observableWithInfo = this.fetchQueryByPolicy(normalized, { queryInfo, cacheWriteBehavior, onCacheHit, observableQuery });
732
+ observableWithInfo.observable =
733
+ observableWithInfo.observable.pipe(fetchQueryOperator);
863
734
  if (
864
735
  // If we're in standby, postpone advancing options.fetchPolicy using
865
736
  // applyNextFetchPolicy.
866
- normalized.fetchPolicy !== "standby" &&
867
- queryInfo.observableQuery) {
868
- queryInfo.observableQuery["applyNextFetchPolicy"]("after-fetch", options);
737
+ normalized.fetchPolicy !== "standby") {
738
+ observableQuery?.["applyNextFetchPolicy"]("after-fetch", options);
869
739
  }
870
740
  return observableWithInfo;
871
741
  };
872
742
  // This cancel function needs to be set before the concast is created,
873
743
  // in case concast creation synchronously cancels the request.
874
744
  const cleanupCancelFn = () => {
875
- this.fetchCancelFns.delete(queryInfo.queryId);
876
- // We need to call `complete` on the subject here otherwise the merged
877
- // observable will never complete since it waits for all source
878
- // observables to complete before itself completes.
879
- fetchCancelSubject.complete();
745
+ this.fetchCancelFns.delete(queryInfo.id);
880
746
  };
881
- this.fetchCancelFns.set(queryInfo.queryId, (reason) => {
882
- fetchCancelSubject.error(reason);
883
- cleanupCancelFn();
747
+ this.fetchCancelFns.set(queryInfo.id, (error) => {
748
+ fetchCancelSubject.next({
749
+ kind: "E",
750
+ error,
751
+ source: "network",
752
+ });
884
753
  });
885
754
  const fetchCancelSubject = new Subject();
886
755
  let observable, containsDataFromLink;
@@ -892,7 +761,15 @@ export class QueryManager {
892
761
  // for backwards compatibility. TODO This code could be simpler if
893
762
  // we deprecated and removed LocalState.
894
763
  if (this.getDocumentInfo(normalized.query).hasClientExports) {
895
- observable = from(this.localState.addExportedVariables(normalized.query, normalized.variables, normalized.context)).pipe(mergeMap((variables) => fromVariables(variables).observable));
764
+ if (__DEV__) {
765
+ invariant(this.localState, 92, getOperationName(normalized.query, "(anonymous)"));
766
+ }
767
+ observable = from(this.localState.getExportedVariables({
768
+ client: this.client,
769
+ document: normalized.query,
770
+ variables: normalized.variables,
771
+ context: normalized.context,
772
+ })).pipe(mergeMap((variables) => fromVariables(variables).observable));
896
773
  // there is just no way we can synchronously get the *right* value here,
897
774
  // so we will assume `true`, which is the behaviour before the bug fix in
898
775
  // #10597. This means that bug is not fixed in that case, and is probably
@@ -906,22 +783,36 @@ export class QueryManager {
906
783
  observable = sourcesWithInfo.observable;
907
784
  }
908
785
  return {
909
- observable: observable.pipe(tap({ error: cleanupCancelFn, complete: cleanupCancelFn }), mergeWith(fetchCancelSubject), share()),
786
+ // Merge `observable` with `fetchCancelSubject`, in a way that completing or
787
+ // erroring either of them will complete the merged obserable.
788
+ observable: new Observable((observer) => {
789
+ observer.add(cleanupCancelFn);
790
+ observable.subscribe(observer);
791
+ fetchCancelSubject.subscribe(observer);
792
+ }).pipe(share()),
910
793
  fromLink: containsDataFromLink,
911
794
  };
912
795
  }
913
796
  refetchQueries({ updateCache, include, optimistic = false, removeOptimistic = optimistic ? makeUniqueId("refetchQueries") : void 0, onQueryUpdated, }) {
914
- const includedQueriesById = new Map();
797
+ const includedQueriesByOq = new Map();
915
798
  if (include) {
916
- this.getObservableQueries(include).forEach((oq, queryId) => {
917
- includedQueriesById.set(queryId, {
799
+ this.getObservableQueries(include).forEach((oq) => {
800
+ if (oq.options.fetchPolicy === "cache-only") {
801
+ return;
802
+ }
803
+ const current = oq.getCurrentResult();
804
+ includedQueriesByOq.set(oq, {
918
805
  oq,
919
- lastDiff: (this.queries.get(queryId) || oq["queryInfo"]).getDiff(),
806
+ lastDiff: {
807
+ result: current?.data,
808
+ complete: !current?.partial,
809
+ },
920
810
  });
921
811
  });
922
812
  }
923
813
  const results = new Map();
924
814
  if (updateCache) {
815
+ const handled = new Set();
925
816
  this.cache.batch({
926
817
  update: updateCache,
927
818
  // Since you can perform any combination of cache reads and/or writes in
@@ -963,18 +854,21 @@ export class QueryManager {
963
854
  // temporary optimistic layer, in case that ever matters.
964
855
  removeOptimistic,
965
856
  onWatchUpdated(watch, diff, lastDiff) {
966
- const oq = watch.watcher instanceof QueryInfo && watch.watcher.observableQuery;
967
- if (oq) {
857
+ const oq = watch.watcher;
858
+ if (oq instanceof ObservableQuery && !handled.has(oq)) {
859
+ handled.add(oq);
968
860
  if (onQueryUpdated) {
969
861
  // Since we're about to handle this query now, remove it from
970
862
  // includedQueriesById, in case it was added earlier because of
971
863
  // options.include.
972
- includedQueriesById.delete(oq.queryId);
864
+ includedQueriesByOq.delete(oq);
973
865
  let result = onQueryUpdated(oq, diff, lastDiff);
974
866
  if (result === true) {
975
867
  // The onQueryUpdated function requested the default refetching
976
868
  // behavior by returning true.
977
- result = oq.refetch();
869
+ result = oq
870
+ .refetch()
871
+ .retain( /* create a persistent subscription on the query */);
978
872
  }
979
873
  // Record the result in the results Map, as long as onQueryUpdated
980
874
  // did not return false to skip/ignore this result.
@@ -985,37 +879,37 @@ export class QueryManager {
985
879
  // onQueryUpdated returns false.
986
880
  return result;
987
881
  }
988
- if (onQueryUpdated !== null) {
882
+ if (onQueryUpdated !== null &&
883
+ oq.options.fetchPolicy !== "cache-only") {
989
884
  // If we don't have an onQueryUpdated function, and onQueryUpdated
990
885
  // was not disabled by passing null, make sure this query is
991
886
  // "included" like any other options.include-specified query.
992
- includedQueriesById.set(oq.queryId, { oq, lastDiff, diff });
887
+ includedQueriesByOq.set(oq, { oq, lastDiff, diff });
993
888
  }
994
889
  }
995
890
  },
996
891
  });
997
892
  }
998
- if (includedQueriesById.size) {
999
- includedQueriesById.forEach(({ oq, lastDiff, diff }, queryId) => {
893
+ if (includedQueriesByOq.size) {
894
+ includedQueriesByOq.forEach(({ oq, lastDiff, diff }) => {
1000
895
  let result;
1001
896
  // If onQueryUpdated is provided, we want to use it for all included
1002
897
  // queries, even the QueryOptions ones.
1003
898
  if (onQueryUpdated) {
1004
899
  if (!diff) {
1005
- diff = this.cache.diff(oq["queryInfo"]["getDiffOptions"]());
900
+ diff = oq.getCacheDiff();
1006
901
  }
1007
902
  result = onQueryUpdated(oq, diff, lastDiff);
1008
903
  }
1009
904
  // Otherwise, we fall back to refetching.
1010
905
  if (!onQueryUpdated || result === true) {
1011
- result = oq.refetch();
906
+ result = oq
907
+ .refetch()
908
+ .retain( /* create a persistent subscription on the query */);
1012
909
  }
1013
910
  if (result !== false) {
1014
911
  results.set(oq, result);
1015
912
  }
1016
- if (queryId.indexOf("legacyOneTimeQuery") >= 0) {
1017
- this.removeQuery(queryId);
1018
- }
1019
913
  });
1020
914
  }
1021
915
  if (removeOptimistic) {
@@ -1030,20 +924,18 @@ export class QueryManager {
1030
924
  }
1031
925
  return results;
1032
926
  }
1033
- noCacheWarningsByQueryId = new Set();
927
+ noCacheWarningsByCause = new WeakSet();
1034
928
  maskOperation(options) {
1035
929
  const { document, data } = options;
1036
930
  if (__DEV__) {
1037
- const { fetchPolicy, id } = options;
931
+ const { fetchPolicy, cause = {} } = options;
1038
932
  const operationType = getOperationDefinition(document)?.operation;
1039
- const operationId = (operationType?.[0] ?? "o") + id;
1040
933
  if (this.dataMasking &&
1041
934
  fetchPolicy === "no-cache" &&
1042
935
  !isFullyUnmaskedOperation(document) &&
1043
- !this.noCacheWarningsByQueryId.has(operationId)) {
1044
- this.noCacheWarningsByQueryId.add(operationId);
1045
- __DEV__ && invariant.warn(78, getOperationName(document) ??
1046
- `Unnamed ${operationType ?? "operation"}`);
936
+ !this.noCacheWarningsByCause.has(cause)) {
937
+ this.noCacheWarningsByCause.add(cause);
938
+ __DEV__ && invariant.warn(93, getOperationName(document, `Unnamed ${operationType ?? "operation"}`));
1047
939
  }
1048
940
  }
1049
941
  return (this.dataMasking ?
@@ -1056,17 +948,14 @@ export class QueryManager {
1056
948
  maskFragment(data, fragment, this.cache, fragmentName)
1057
949
  : data;
1058
950
  }
1059
- fetchQueryByPolicy(queryInfo, { query, variables, fetchPolicy, refetchWritePolicy, errorPolicy, returnPartialData, context, },
1060
- // The initial networkStatus for this fetch, most often
1061
- // NetworkStatus.loading, but also possibly fetchMore, poll, refetch,
1062
- // or setVariables.
1063
- newNetworkStatus, emitLoadingState) {
1064
- queryInfo.init({
1065
- document: query,
951
+ fetchQueryByPolicy({ query, variables, fetchPolicy, errorPolicy, returnPartialData, context, }, { cacheWriteBehavior, onCacheHit, queryInfo, observableQuery, }) {
952
+ const readCache = () => this.cache.diff({
953
+ query,
1066
954
  variables,
955
+ returnPartialData: true,
956
+ optimistic: true,
1067
957
  });
1068
- const readCache = () => queryInfo.getDiff();
1069
- const resultsFromCache = (diff, networkStatus = newNetworkStatus) => {
958
+ const resultsFromCache = (diff, networkStatus) => {
1070
959
  const data = diff.result;
1071
960
  if (__DEV__ && !returnPartialData && data !== null) {
1072
961
  logMissingFieldErrors(diff.missing);
@@ -1082,31 +971,44 @@ export class QueryManager {
1082
971
  return {
1083
972
  // TODO: Handle partial data
1084
973
  data: data,
974
+ dataState: diff.complete ? "complete"
975
+ : data ? "partial"
976
+ : "empty",
1085
977
  loading: isNetworkRequestInFlight(networkStatus),
1086
978
  networkStatus,
1087
979
  partial: !diff.complete,
1088
980
  };
1089
981
  };
1090
982
  const fromData = (data) => {
1091
- return of(toResult(data));
983
+ return of({
984
+ kind: "N",
985
+ value: toResult(data),
986
+ source: "cache",
987
+ });
1092
988
  };
1093
- if (this.getDocumentInfo(query).hasForcedResolvers) {
1094
- return from(this.localState
1095
- .runResolvers({
989
+ if (
990
+ // Don't attempt to run forced resolvers if we have incomplete cache
991
+ // data and partial isn't allowed since this result would get set to
992
+ // `undefined` anyways in `toResult`.
993
+ (diff.complete || returnPartialData) &&
994
+ this.getDocumentInfo(query).hasForcedResolvers) {
995
+ if (__DEV__) {
996
+ invariant(this.localState, 94, getOperationName(query, "(anonymous)"));
997
+ }
998
+ onCacheHit();
999
+ return from(this.localState.execute({
1000
+ client: this.client,
1096
1001
  document: query,
1097
- // TODO: Update remoteResult to handle `null`. In v3 the `if`
1098
- // statement contained a check against `data`, but this value was
1099
- // always `{}` if nothing was in the cache, which meant the check
1100
- // above always succeeded when there were forced resolvers. Now that
1101
- // `data` is nullable, this `remoteResult` needs to be an empty
1102
- // object. Ideally we can pass in `null` here and the resolvers
1103
- // would be able to handle this the same way.
1104
- remoteResult: { data: data || {} },
1002
+ remoteResult: data ? { data } : undefined,
1105
1003
  context,
1106
1004
  variables,
1107
1005
  onlyRunForcedResolvers: true,
1108
- })
1109
- .then((resolved) => toResult(resolved.data || void 0)));
1006
+ returnPartialData: true,
1007
+ }).then((resolved) => ({
1008
+ kind: "N",
1009
+ value: toResult(resolved.data || void 0),
1010
+ source: "cache",
1011
+ })));
1110
1012
  }
1111
1013
  // Resolves https://github.com/apollographql/apollo-client/issues/10317.
1112
1014
  // If errorPolicy is 'none' and notifyOnNetworkStatusChange is true,
@@ -1119,20 +1021,20 @@ export class QueryManager {
1119
1021
  }
1120
1022
  return fromData(data || undefined);
1121
1023
  };
1122
- const cacheWriteBehavior = fetchPolicy === "no-cache" ? 0 /* CacheWriteBehavior.FORBID */
1123
- // Watched queries must opt into overwriting existing data on refetch,
1124
- // by passing refetchWritePolicy: "overwrite" in their WatchQueryOptions.
1125
- : (newNetworkStatus === NetworkStatus.refetch &&
1126
- refetchWritePolicy !== "merge") ?
1127
- 1 /* CacheWriteBehavior.OVERWRITE */
1128
- : 2 /* CacheWriteBehavior.MERGE */;
1129
- const resultsFromLink = () => this.getResultsFromLink(queryInfo, cacheWriteBehavior, {
1024
+ const resultsFromLink = () => this.getResultsFromLink({
1130
1025
  query,
1131
1026
  variables,
1132
1027
  context,
1133
1028
  fetchPolicy,
1134
1029
  errorPolicy,
1135
- }).pipe(validateDidEmitValue());
1030
+ }, {
1031
+ cacheWriteBehavior,
1032
+ queryInfo,
1033
+ observableQuery,
1034
+ }).pipe(validateDidEmitValue(), materialize(), map((result) => ({
1035
+ ...result,
1036
+ source: "network",
1037
+ })));
1136
1038
  switch (fetchPolicy) {
1137
1039
  default:
1138
1040
  case "cache-first": {
@@ -1143,20 +1045,20 @@ export class QueryManager {
1143
1045
  observable: resultsFromCache(diff, NetworkStatus.ready),
1144
1046
  };
1145
1047
  }
1146
- if (returnPartialData || emitLoadingState) {
1048
+ if (returnPartialData) {
1147
1049
  return {
1148
1050
  fromLink: true,
1149
- observable: concat(resultsFromCache(diff), resultsFromLink()),
1051
+ observable: concat(resultsFromCache(diff, NetworkStatus.loading), resultsFromLink()),
1150
1052
  };
1151
1053
  }
1152
1054
  return { fromLink: true, observable: resultsFromLink() };
1153
1055
  }
1154
1056
  case "cache-and-network": {
1155
1057
  const diff = readCache();
1156
- if (diff.complete || returnPartialData || emitLoadingState) {
1058
+ if (diff.complete || returnPartialData) {
1157
1059
  return {
1158
1060
  fromLink: true,
1159
- observable: concat(resultsFromCache(diff), resultsFromLink()),
1061
+ observable: concat(resultsFromCache(diff, NetworkStatus.loading), resultsFromLink()),
1160
1062
  };
1161
1063
  }
1162
1064
  return { fromLink: true, observable: resultsFromLink() };
@@ -1167,42 +1069,13 @@ export class QueryManager {
1167
1069
  observable: concat(resultsFromCache(readCache(), NetworkStatus.ready)),
1168
1070
  };
1169
1071
  case "network-only":
1170
- if (emitLoadingState) {
1171
- return {
1172
- fromLink: true,
1173
- observable: concat(resultsFromCache(readCache()), resultsFromLink()),
1174
- };
1175
- }
1176
1072
  return { fromLink: true, observable: resultsFromLink() };
1177
1073
  case "no-cache":
1178
- if (emitLoadingState) {
1179
- return {
1180
- fromLink: true,
1181
- // Note that queryInfo.getDiff() for no-cache queries does not call
1182
- // cache.diff, but instead returns a { complete: false } stub result
1183
- // when there is no queryInfo.diff already defined.
1184
- observable: concat(resultsFromCache(queryInfo.getDiff()), resultsFromLink()),
1185
- };
1186
- }
1187
1074
  return { fromLink: true, observable: resultsFromLink() };
1188
1075
  case "standby":
1189
1076
  return { fromLink: false, observable: EMPTY };
1190
1077
  }
1191
1078
  }
1192
- getOrCreateQuery(queryId) {
1193
- if (queryId && !this.queries.has(queryId)) {
1194
- this.queries.set(queryId, new QueryInfo(this, queryId));
1195
- }
1196
- return this.queries.get(queryId);
1197
- }
1198
- prepareContext(context = {}) {
1199
- const newContext = this.localState.prepareContext(context);
1200
- return {
1201
- ...this.defaultContext,
1202
- ...newContext,
1203
- clientAwareness: this.clientAwareness,
1204
- };
1205
- }
1206
1079
  }
1207
1080
  function validateDidEmitValue() {
1208
1081
  let didEmitValue = false;
@@ -1211,7 +1084,42 @@ function validateDidEmitValue() {
1211
1084
  didEmitValue = true;
1212
1085
  },
1213
1086
  complete() {
1214
- invariant(didEmitValue, 79);
1087
+ invariant(didEmitValue, 95);
1088
+ },
1089
+ });
1090
+ }
1091
+ function isFullyUnmaskedOperation(document) {
1092
+ let isUnmasked = true;
1093
+ visit(document, {
1094
+ FragmentSpread: (node) => {
1095
+ isUnmasked =
1096
+ !!node.directives &&
1097
+ node.directives.some((directive) => directive.name.value === "unmask");
1098
+ if (!isUnmasked) {
1099
+ return BREAK;
1100
+ }
1101
+ },
1102
+ });
1103
+ return isUnmasked;
1104
+ }
1105
+ function addNonReactiveToNamedFragments(document) {
1106
+ return visit(document, {
1107
+ FragmentSpread: (node) => {
1108
+ // Do not add `@nonreactive` if the fragment is marked with `@unmask`
1109
+ // since we want to react to changes in this fragment.
1110
+ if (node.directives?.some((directive) => directive.name.value === "unmask")) {
1111
+ return;
1112
+ }
1113
+ return {
1114
+ ...node,
1115
+ directives: [
1116
+ ...(node.directives || []),
1117
+ {
1118
+ kind: Kind.DIRECTIVE,
1119
+ name: { kind: Kind.NAME, value: "nonreactive" },
1120
+ },
1121
+ ],
1122
+ };
1215
1123
  },
1216
1124
  });
1217
1125
  }