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

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