@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
@@ -7,120 +7,79 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.ObservableQuery = void 0;
8
8
  exports.logMissingFieldErrors = logMissingFieldErrors;
9
9
  const equality_1 = require("@wry/equality");
10
- const optimism_1 = require("optimism");
11
10
  const rxjs_1 = require("rxjs");
12
- const utilities_1 = require("@apollo/client/utilities");
13
11
  const environment_1 = require("@apollo/client/utilities/environment");
14
12
  const internal_1 = require("@apollo/client/utilities/internal");
15
13
  const invariant_1 = require("@apollo/client/utilities/invariant");
16
14
  const equalByQuery_js_1 = require("./equalByQuery.cjs");
17
15
  const networkStatus_js_1 = require("./networkStatus.cjs");
18
16
  const { assign, hasOwnProperty } = Object;
19
- const newNetworkStatusSymbol = Symbol();
17
+ const uninitialized = {
18
+ loading: true,
19
+ networkStatus: networkStatus_js_1.NetworkStatus.loading,
20
+ data: undefined,
21
+ dataState: "empty",
22
+ partial: true,
23
+ };
24
+ const empty = {
25
+ loading: false,
26
+ networkStatus: networkStatus_js_1.NetworkStatus.ready,
27
+ data: undefined,
28
+ dataState: "empty",
29
+ partial: true,
30
+ };
20
31
  class ObservableQuery {
21
- /**
22
- * @internal
23
- * A slot used by the `useQuery` hook to indicate that `client.watchQuery`
24
- * should not register the query immediately, but instead wait for the query to
25
- * be started registered with the `QueryManager` when `useSyncExternalStore`
26
- * actively subscribes to it.
27
- */
28
- static inactiveOnCreation = new optimism_1.Slot();
29
32
  options;
30
- queryId;
31
33
  queryName;
34
+ /**
35
+ * @internal will be read and written from `QueryInfo`
36
+ *
37
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
38
+ */
39
+ _lastWrite;
32
40
  // The `query` computed property will always reflect the document transformed
33
41
  // by the last run query. `this.options.query` will always reflect the raw
34
42
  // untransformed query to ensure document transforms with runtime conditionals
35
43
  // are run on the original document.
36
44
  get query() {
37
- return this.lastQuery || this.options.query;
45
+ return this.lastQuery;
38
46
  }
39
- // Computed shorthand for this.options.variables, preserved for
40
- // backwards compatibility.
41
47
  /**
42
48
  * An object containing the variables that were provided for the query.
43
49
  */
44
50
  get variables() {
45
51
  return this.options.variables;
46
52
  }
53
+ unsubscribeFromCache;
54
+ input;
47
55
  subject;
48
- observable;
49
- initialResult;
50
56
  isTornDown;
51
57
  queryManager;
52
58
  subscriptions = new Set();
53
- waitForOwnResult;
54
- last;
59
+ /**
60
+ * If an `ObservableQuery` is created with a `network-only` fetch policy,
61
+ * it should actually start receiving cache updates, but not before it has
62
+ * received the first result from the network.
63
+ */
64
+ waitForNetworkResult;
55
65
  lastQuery;
56
- queryInfo;
57
66
  linkSubscription;
58
- linkObservable;
59
67
  pollingInfo;
60
- networkStatus;
61
- constructor({ queryManager, queryInfo, options, }) {
62
- this.networkStatus = networkStatus_js_1.NetworkStatus.loading;
63
- this.initialResult = {
64
- data: undefined,
65
- loading: true,
66
- networkStatus: this.networkStatus,
67
- partial: true,
68
- };
69
- let startedInactive = ObservableQuery.inactiveOnCreation.getValue();
70
- this.subject = new rxjs_1.BehaviorSubject(this.initialResult);
71
- this.observable = this.subject.pipe((0, rxjs_1.tap)({
72
- subscribe: () => {
73
- if (startedInactive) {
74
- queryManager["queries"].set(this.queryId, queryInfo);
75
- startedInactive = false;
76
- }
77
- if (!this.subject.observed) {
78
- this.reobserve();
79
- // TODO: See if we can rework updatePolling to better handle this.
80
- // reobserve calls updatePolling but this `subscribe` callback is
81
- // called before the subject is subscribed to so `updatePolling`
82
- // can't accurately detect if there is an active subscription.
83
- // Calling it again here ensures that it can detect if it can poll
84
- setTimeout(() => this.updatePolling());
85
- }
86
- },
87
- unsubscribe: () => {
88
- if (!this.subject.observed) {
89
- this.tearDownQuery();
90
- }
91
- },
92
- }),
93
- // TODO: Conditionally filter when notifyOnNetworkStatusChange is true or
94
- // not. We want to emit the loading result if notifyOnNetworkStatusChange
95
- // is true.
96
- (0, rxjs_1.filter)((result) =>
97
- // TODO: Remove this behavior when unifying loading state for notifyOnNetworkStatusChange
98
- (this.options.fetchPolicy === "no-cache" &&
99
- this.options.notifyOnNetworkStatusChange) ||
100
- // TODO: Remove this behavior when unifying loading state for notifyOnNetworkStatusChange
101
- (this.options.fetchPolicy === "network-only" &&
102
- !this.queryManager.prioritizeCacheValues &&
103
- this.queryInfo.getDiff().complete) ||
104
- result !== this.initialResult));
105
- this["@@observable"] = () => this;
106
- if (Symbol.observable) {
107
- this[Symbol.observable] = () => this;
108
- }
109
- this.pipe = this.observable.pipe.bind(this.observable);
110
- this.subscribe = this.observable.subscribe.bind(this.observable);
111
- // related classes
112
- this.queryInfo = queryInfo;
68
+ get networkStatus() {
69
+ return this.subject.getValue().result.networkStatus;
70
+ }
71
+ constructor({ queryManager, options, transformedQuery = queryManager.transform(options.query), }) {
113
72
  this.queryManager = queryManager;
114
73
  // active state
115
- this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy);
74
+ this.waitForNetworkResult = options.fetchPolicy === "network-only";
116
75
  this.isTornDown = false;
117
- this.subscribe = this.subscribe.bind(this);
118
76
  this.subscribeToMore = this.subscribeToMore.bind(this);
119
77
  this.maskResult = this.maskResult.bind(this);
120
78
  const { watchQuery: { fetchPolicy: defaultFetchPolicy = "cache-first" } = {}, } = queryManager.defaultOptions;
121
79
  const { fetchPolicy = defaultFetchPolicy,
122
80
  // Make sure we don't store "standby" as the initialFetchPolicy.
123
81
  initialFetchPolicy = fetchPolicy === "standby" ? defaultFetchPolicy : (fetchPolicy), } = options;
82
+ this.lastQuery = transformedQuery;
124
83
  this.options = {
125
84
  ...options,
126
85
  // Remember the initial options.fetchPolicy so we can revert back to this
@@ -130,11 +89,84 @@ class ObservableQuery {
130
89
  // This ensures this.options.fetchPolicy always has a string value, in
131
90
  // case options.fetchPolicy was not provided.
132
91
  fetchPolicy,
92
+ variables: this.getVariablesWithDefaults(options.variables),
133
93
  };
134
- this.queryId = queryInfo.queryId || queryManager.generateQueryId();
135
- const opDef = (0, utilities_1.getOperationDefinition)(this.query);
94
+ this.initializeObservablesQueue();
95
+ this["@@observable"] = () => this;
96
+ if (Symbol.observable) {
97
+ this[Symbol.observable] = () => this;
98
+ }
99
+ const opDef = (0, internal_1.getOperationDefinition)(this.query);
136
100
  this.queryName = opDef && opDef.name && opDef.name.value;
137
101
  }
102
+ initializeObservablesQueue() {
103
+ this.subject = new rxjs_1.BehaviorSubject({
104
+ query: this.query,
105
+ variables: this.variables,
106
+ result: uninitialized,
107
+ meta: {},
108
+ });
109
+ const observable = this.subject.pipe((0, rxjs_1.tap)({
110
+ subscribe: () => {
111
+ if (!this.subject.observed) {
112
+ this.reobserve();
113
+ // TODO: See if we can rework updatePolling to better handle this.
114
+ // reobserve calls updatePolling but this `subscribe` callback is
115
+ // called before the subject is subscribed to so `updatePolling`
116
+ // can't accurately detect if there is an active subscription.
117
+ // Calling it again here ensures that it can detect if it can poll
118
+ setTimeout(() => this.updatePolling());
119
+ }
120
+ },
121
+ unsubscribe: () => {
122
+ if (!this.subject.observed) {
123
+ this.tearDownQuery();
124
+ }
125
+ },
126
+ }), (0, internal_1.filterMap)(({ query, variables, result: current, meta }, context) => {
127
+ const { shouldEmit } = meta;
128
+ if (current === uninitialized) {
129
+ // reset internal state after `ObservableQuery.reset()`
130
+ context.previous = undefined;
131
+ context.previousVariables = undefined;
132
+ }
133
+ if (this.options.fetchPolicy === "standby" ||
134
+ shouldEmit === 2 /* EmitBehavior.never */)
135
+ return;
136
+ if (shouldEmit === 1 /* EmitBehavior.force */)
137
+ return emit();
138
+ const { previous, previousVariables } = context;
139
+ if (previous) {
140
+ const documentInfo = this.queryManager.getDocumentInfo(query);
141
+ const dataMasking = this.queryManager.dataMasking;
142
+ const maskedQuery = dataMasking ? documentInfo.nonReactiveQuery : query;
143
+ const resultIsEqual = dataMasking || documentInfo.hasNonreactiveDirective ?
144
+ (0, equalByQuery_js_1.equalByQuery)(maskedQuery, previous, current, variables)
145
+ : (0, equality_1.equal)(previous, current);
146
+ if (resultIsEqual && (0, equality_1.equal)(previousVariables, variables)) {
147
+ return;
148
+ }
149
+ }
150
+ if (shouldEmit === 3 /* EmitBehavior.networkStatusChange */ &&
151
+ (!this.options.notifyOnNetworkStatusChange ||
152
+ (0, equality_1.equal)(previous, current))) {
153
+ return;
154
+ }
155
+ return emit();
156
+ function emit() {
157
+ context.previous = current;
158
+ context.previousVariables = variables;
159
+ return current;
160
+ }
161
+ }, () => ({})));
162
+ this.pipe = observable.pipe.bind(observable);
163
+ this.subscribe = observable.subscribe.bind(observable);
164
+ this.input = new rxjs_1.Subject();
165
+ // we want to feed many streams into `this.subject`, but none of them should
166
+ // be able to close `this.input`
167
+ this.input.complete = () => { };
168
+ this.input.pipe(this.operator).subscribe(this.subject);
169
+ }
138
170
  // We can't use Observable['subscribe'] here as the type as it conflicts with
139
171
  // the ability to infer T from Subscribable<T>. This limits the surface area
140
172
  // to the non-deprecated signature which works properly with type inference.
@@ -142,122 +174,153 @@ class ObservableQuery {
142
174
  pipe;
143
175
  [Symbol.observable];
144
176
  ["@@observable"];
145
- /** @internal */
146
- resetDiff() {
147
- this.queryInfo.resetDiff();
148
- }
149
- getCurrentFullResult(saveAsLastResult = true) {
150
- // Use the last result as long as the variables match this.variables.
151
- const lastResult = this.getLastResult(true);
152
- const networkStatus = this.networkStatus;
153
- const result = {
154
- data: undefined,
155
- partial: true,
156
- ...lastResult,
157
- loading: (0, networkStatus_js_1.isNetworkRequestInFlight)(networkStatus),
158
- networkStatus,
177
+ /**
178
+ * @internal
179
+ *
180
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
181
+ */
182
+ getCacheDiff({ optimistic = true } = {}) {
183
+ return this.queryManager.cache.diff({
184
+ query: this.query,
185
+ variables: this.variables,
186
+ returnPartialData: true,
187
+ optimistic,
188
+ });
189
+ }
190
+ getInitialResult(initialFetchPolicy) {
191
+ const fetchPolicy = this.queryManager.prioritizeCacheValues ?
192
+ "cache-first"
193
+ : initialFetchPolicy || this.options.fetchPolicy;
194
+ const cacheResult = () => {
195
+ const diff = this.getCacheDiff();
196
+ // TODO: queryInfo.getDiff should handle this since cache.diff returns a
197
+ // null when returnPartialData is false
198
+ const data = this.options.returnPartialData || diff.complete ?
199
+ diff.result ?? undefined
200
+ : undefined;
201
+ return this.maskResult({
202
+ data,
203
+ dataState: diff.complete ? "complete"
204
+ : data === undefined ? "empty"
205
+ : "partial",
206
+ loading: !diff.complete,
207
+ networkStatus: diff.complete ? networkStatus_js_1.NetworkStatus.ready : networkStatus_js_1.NetworkStatus.loading,
208
+ partial: !diff.complete,
209
+ });
159
210
  };
160
- let { fetchPolicy = "cache-first" } = this.options;
161
- const { prioritizeCacheValues } = this.queryManager;
162
- if (prioritizeCacheValues) {
163
- fetchPolicy = "cache-first";
164
- }
165
- if (
166
- // These fetch policies should never deliver data from the cache, unless
167
- // redelivering a previously delivered result.
168
- skipCacheDataFor(fetchPolicy) ||
169
- // If this.options.query has @client(always: true) fields, we cannot
170
- // trust diff.result, since it was read from the cache without running
171
- // local resolvers (and it's too late to run resolvers now, since we must
172
- // return a result synchronously).
173
- this.queryManager.getDocumentInfo(this.query).hasForcedResolvers) {
174
- // Fall through.
175
- }
176
- else if (this.waitForOwnResult && !prioritizeCacheValues) {
177
- // This would usually be a part of `QueryInfo.getDiff()`.
178
- // which we skip in the waitForOwnResult case since we are not
179
- // interested in the diff.
180
- this.queryInfo["updateWatch"]();
211
+ switch (fetchPolicy) {
212
+ case "cache-only": {
213
+ return {
214
+ ...cacheResult(),
215
+ loading: false,
216
+ networkStatus: networkStatus_js_1.NetworkStatus.ready,
217
+ };
218
+ }
219
+ case "cache-first":
220
+ return cacheResult();
221
+ case "cache-and-network":
222
+ return {
223
+ ...cacheResult(),
224
+ loading: true,
225
+ networkStatus: networkStatus_js_1.NetworkStatus.loading,
226
+ };
227
+ case "standby":
228
+ return empty;
229
+ default:
230
+ return uninitialized;
181
231
  }
182
- else {
183
- const diff = this.queryInfo.getDiff();
184
- result.partial = !diff.complete;
185
- if (diff.complete || this.options.returnPartialData) {
186
- result.data = diff.result;
187
- }
188
- if (result.data === null) {
189
- result.data = void 0;
190
- }
191
- if (diff.complete) {
192
- // If the diff is complete, and we're using a FetchPolicy that
193
- // terminates after a complete cache read, we can assume the next result
194
- // we receive will have NetworkStatus.ready and !loading.
195
- if (diff.complete &&
196
- result.networkStatus === networkStatus_js_1.NetworkStatus.loading &&
197
- (fetchPolicy === "cache-first" || fetchPolicy === "cache-only")) {
198
- result.networkStatus = networkStatus_js_1.NetworkStatus.ready;
199
- result.loading = false;
232
+ }
233
+ resubscribeCache() {
234
+ const { variables, fetchPolicy } = this.options;
235
+ const query = this.query;
236
+ const shouldUnsubscribe = fetchPolicy === "standby" ||
237
+ fetchPolicy === "no-cache" ||
238
+ this.waitForNetworkResult;
239
+ const shouldResubscribe = !isEqualQuery({ query, variables }, this.unsubscribeFromCache) &&
240
+ !this.waitForNetworkResult;
241
+ if (shouldUnsubscribe || shouldResubscribe) {
242
+ this.unsubscribeFromCache?.();
243
+ }
244
+ if (shouldUnsubscribe || !shouldResubscribe) {
245
+ return;
246
+ }
247
+ const watch = {
248
+ query,
249
+ variables,
250
+ optimistic: true,
251
+ watcher: this,
252
+ callback: (diff) => {
253
+ const info = this.queryManager.getDocumentInfo(query);
254
+ if (info.hasClientExports || info.hasForcedResolvers) {
255
+ // If this is not set to something different than `diff`, we will
256
+ // not be notified about future cache changes with an equal `diff`.
257
+ // That would be the case if we are working with client-only fields
258
+ // that are forced or with `exports` fields that might change, causing
259
+ // local resovlers to return a new result.
260
+ // This is based on an implementation detail of `InMemoryCache`, which
261
+ // is not optimal - but the only alternative to this would be to
262
+ // resubscribe to the cache asynchonouly, which would bear the risk of
263
+ // missing further synchronous updates.
264
+ watch.lastDiff = undefined;
200
265
  }
201
- }
202
- // We need to check for both both `error` and `errors` field because there
203
- // are cases where sometimes `error` is set, but not `errors` and
204
- // vice-versa. This will be updated in the next major version when
205
- // `errors` is deprecated in favor of `error`.
206
- if (result.networkStatus === networkStatus_js_1.NetworkStatus.ready && result.error) {
207
- result.networkStatus = networkStatus_js_1.NetworkStatus.error;
208
- }
209
- if (environment_1.__DEV__ &&
210
- !diff.complete &&
211
- !result.loading &&
212
- !result.data &&
213
- !result.error) {
214
- logMissingFieldErrors(diff.missing);
215
- }
216
- }
217
- if (saveAsLastResult) {
218
- this.updateLastResult(result);
219
- }
220
- return result;
221
- }
222
- getCurrentResult(saveAsLastResult = true) {
223
- return this.maskResult(this.getCurrentFullResult(saveAsLastResult));
224
- }
225
- // Compares newResult to the snapshot we took of this.lastResult when it was
226
- // first received.
227
- isDifferentFromLastResult(newResult, variables) {
228
- if (!this.last) {
229
- return true;
230
- }
231
- const documentInfo = this.queryManager.getDocumentInfo(this.query);
232
- const dataMasking = this.queryManager.dataMasking;
233
- const query = dataMasking ? documentInfo.nonReactiveQuery : this.query;
234
- const resultIsDifferent = dataMasking || documentInfo.hasNonreactiveDirective ?
235
- !(0, equalByQuery_js_1.equalByQuery)(query, this.last.result, newResult, this.variables)
236
- : !(0, equality_1.equal)(this.last.result, newResult);
237
- return (resultIsDifferent || (variables && !(0, equality_1.equal)(this.last.variables, variables)));
238
- }
239
- getLast(key, variablesMustMatch) {
240
- const last = this.last;
241
- if (last &&
242
- last[key] &&
243
- (!variablesMustMatch || (0, equality_1.equal)(last.variables, this.variables))) {
244
- return last[key];
245
- }
246
- }
247
- // TODO: Consider deprecating this function
248
- getLastResult(variablesMustMatch) {
249
- return this.getLast("result", variablesMustMatch);
250
- }
251
- // TODO: Consider deprecating this function
252
- getLastError(variablesMustMatch) {
253
- return this.getLast("error", variablesMustMatch);
254
- }
255
- // TODO: Consider deprecating this function
256
- resetLastResults() {
257
- delete this.last;
258
- // TODO: This will need to be removed when tearing down an ObservableQuery
259
- // since the observable will terminate.
260
- this.isTornDown = false;
266
+ if (watch.lastOwnDiff === diff) {
267
+ // skip cache updates that were caused by our own writes
268
+ return;
269
+ }
270
+ const { result: previousResult } = this.subject.getValue();
271
+ if (!diff.complete &&
272
+ // If we are trying to deliver an incomplete cache result, we avoid
273
+ // reporting it if the query has errored, otherwise we let the broadcast try
274
+ // and repair the partial result by refetching the query. This check avoids
275
+ // a situation where a query that errors and another succeeds with
276
+ // overlapping data does not report the partial data result to the errored
277
+ // query.
278
+ //
279
+ // See https://github.com/apollographql/apollo-client/issues/11400 for more
280
+ // information on this issue.
281
+ (previousResult.error ||
282
+ // Prevent to schedule a notify directly after the `ObservableQuery`
283
+ // has been `reset` (which will set the `previousResult` to `uninitialized` or `empty`)
284
+ // as in those cases, `resetCache` will manually call `refetch` with more intentional timing.
285
+ previousResult === uninitialized ||
286
+ previousResult === empty)) {
287
+ return;
288
+ }
289
+ if (!(0, equality_1.equal)(previousResult.data, diff.result)) {
290
+ this.scheduleNotify();
291
+ }
292
+ },
293
+ };
294
+ const cancelWatch = this.queryManager.cache.watch(watch);
295
+ this.unsubscribeFromCache = Object.assign(() => {
296
+ this.unsubscribeFromCache = undefined;
297
+ cancelWatch();
298
+ }, { query, variables });
299
+ }
300
+ stableLastResult;
301
+ getCurrentResult() {
302
+ const { result: current } = this.subject.getValue();
303
+ let value = (
304
+ // if the `current` result is in an error state, we will always return that
305
+ // error state, even if we have no observers
306
+ (current.networkStatus === networkStatus_js_1.NetworkStatus.error ||
307
+ // if we have observers, we are watching the cache and
308
+ // this.subject.getValue() will always be up to date
309
+ this.hasObservers() || // if we are using a `no-cache` fetch policy in which case this
310
+ // `ObservableQuery` cannot have been updated from the outside - in
311
+ // that case, we prefer to keep the current value
312
+ this.options.fetchPolicy === "no-cache")) ?
313
+ current
314
+ // otherwise, the `current` value might be outdated due to missed
315
+ // external updates - calculate it again
316
+ : this.getInitialResult();
317
+ if (value === uninitialized) {
318
+ value = this.getInitialResult();
319
+ }
320
+ if (!(0, equality_1.equal)(this.stableLastResult, value)) {
321
+ this.stableLastResult = value;
322
+ }
323
+ return this.stableLastResult;
261
324
  }
262
325
  /**
263
326
  * Update the variables of this observable query, and fetch the new results.
@@ -267,6 +330,7 @@ class ObservableQuery {
267
330
  * the previous values of those variables will be used.
268
331
  */
269
332
  refetch(variables) {
333
+ const { fetchPolicy } = this.options;
270
334
  const reobserveOptions = {
271
335
  // Always disable polling for refetches.
272
336
  pollInterval: 0,
@@ -274,7 +338,6 @@ class ObservableQuery {
274
338
  // Unless the provided fetchPolicy always consults the network
275
339
  // (no-cache, network-only, or cache-and-network), override it with
276
340
  // network-only to force the refetch for this fetchQuery call.
277
- const { fetchPolicy } = this.options;
278
341
  if (fetchPolicy === "no-cache") {
279
342
  reobserveOptions.fetchPolicy = "no-cache";
280
343
  }
@@ -282,38 +345,40 @@ class ObservableQuery {
282
345
  reobserveOptions.fetchPolicy = "network-only";
283
346
  }
284
347
  if (environment_1.__DEV__ && variables && hasOwnProperty.call(variables, "variables")) {
285
- const queryDef = (0, utilities_1.getQueryDefinition)(this.query);
348
+ const queryDef = (0, internal_1.getQueryDefinition)(this.query);
286
349
  const vars = queryDef.variableDefinitions;
287
350
  if (!vars || !vars.some((v) => v.variable.name.value === "variables")) {
288
- __DEV__ && invariant_1.invariant.warn(67, variables, queryDef.name?.value || queryDef);
351
+ __DEV__ && invariant_1.invariant.warn(79, variables, queryDef.name?.value || queryDef);
289
352
  }
290
353
  }
291
- if (variables && !(0, equality_1.equal)(this.options.variables, variables)) {
354
+ if (variables && !(0, equality_1.equal)(this.variables, variables)) {
292
355
  // Update the existing options with new variables
293
- reobserveOptions.variables = this.options.variables = {
294
- ...this.options.variables,
295
- ...variables,
296
- };
356
+ reobserveOptions.variables = this.options.variables =
357
+ this.getVariablesWithDefaults({ ...this.variables, ...variables });
297
358
  }
298
- this.queryInfo.resetLastWrite();
299
- return this.reobserve({
300
- ...reobserveOptions,
301
- [newNetworkStatusSymbol]: networkStatus_js_1.NetworkStatus.refetch,
359
+ this._lastWrite = undefined;
360
+ return this._reobserve(reobserveOptions, {
361
+ newNetworkStatus: networkStatus_js_1.NetworkStatus.refetch,
302
362
  });
303
363
  }
304
364
  /**
305
365
  * A function that helps you fetch the next set of results for a [paginated list field](https://www.apollographql.com/docs/react/pagination/core-api/).
306
366
  */
307
- fetchMore(fetchMoreOptions) {
367
+ fetchMore({ query, variables, context, errorPolicy, updateQuery, }) {
368
+ (0, invariant_1.invariant)(
369
+ this.options.fetchPolicy !== "cache-only",
370
+ 80,
371
+ (0, internal_1.getOperationName)(this.query, "(anonymous)")
372
+ );
308
373
  const combinedOptions = {
309
- ...(fetchMoreOptions.query ? fetchMoreOptions : ({
310
- ...this.options,
311
- query: this.options.query,
312
- ...fetchMoreOptions,
313
- variables: {
314
- ...this.options.variables,
315
- ...fetchMoreOptions.variables,
316
- },
374
+ ...(0, internal_1.compact)(this.options, { errorPolicy: "none" }, {
375
+ query,
376
+ context,
377
+ errorPolicy,
378
+ }),
379
+ variables: (query ? variables : ({
380
+ ...this.variables,
381
+ ...variables,
317
382
  })),
318
383
  // The fetchMore request goes immediately to the network and does
319
384
  // not automatically write its result to the cache (hence no-cache
@@ -321,38 +386,37 @@ class ObservableQuery {
321
386
  // fetchMore to provide an updateQuery callback that determines how
322
387
  // the data gets written to the cache.
323
388
  fetchPolicy: "no-cache",
389
+ notifyOnNetworkStatusChange: this.options.notifyOnNetworkStatusChange,
324
390
  };
325
391
  combinedOptions.query = this.transformDocument(combinedOptions.query);
326
- const qid = this.queryManager.generateQueryId();
327
392
  // If a temporary query is passed to `fetchMore`, we don't want to store
328
393
  // it as the last query result since it may be an optimized query for
329
394
  // pagination. We will however run the transforms on the original document
330
395
  // as well as the document passed in `fetchMoreOptions` to ensure the cache
331
396
  // uses the most up-to-date document which may rely on runtime conditionals.
332
397
  this.lastQuery =
333
- fetchMoreOptions.query ?
398
+ query ?
334
399
  this.transformDocument(this.options.query)
335
400
  : combinedOptions.query;
336
- // Simulate a loading result for the original query with
337
- // result.networkStatus === NetworkStatus.fetchMore.
338
- const originalNetworkStatus = this.networkStatus;
339
- this.networkStatus = networkStatus_js_1.NetworkStatus.fetchMore;
340
- if (combinedOptions.notifyOnNetworkStatusChange) {
341
- this.observe();
342
- }
343
- const updatedQuerySet = new Set();
344
- const updateQuery = fetchMoreOptions?.updateQuery;
401
+ let wasUpdated = false;
345
402
  const isCached = this.options.fetchPolicy !== "no-cache";
346
403
  if (!isCached) {
347
- (0, invariant_1.invariant)(updateQuery, 68);
404
+ (0, invariant_1.invariant)(updateQuery, 81);
348
405
  }
406
+ const { finalize, pushNotification } = this.pushOperation(networkStatus_js_1.NetworkStatus.fetchMore);
407
+ pushNotification({
408
+ source: "newNetworkStatus",
409
+ kind: "N",
410
+ value: {},
411
+ }, { shouldEmit: 3 /* EmitBehavior.networkStatusChange */ });
349
412
  return this.queryManager
350
- .fetchQuery(qid, combinedOptions, networkStatus_js_1.NetworkStatus.fetchMore)
413
+ .fetchQuery(combinedOptions, networkStatus_js_1.NetworkStatus.fetchMore)
351
414
  .then((fetchMoreResult) => {
352
- this.queryManager.removeQuery(qid);
353
- if (this.networkStatus === networkStatus_js_1.NetworkStatus.fetchMore) {
354
- this.networkStatus = originalNetworkStatus;
355
- }
415
+ // disable the `fetchMore` override that is currently active
416
+ // the next updates caused by this should not be `fetchMore` anymore,
417
+ // but `ready` or whatever other calculated loading state is currently
418
+ // appropriate
419
+ finalize();
356
420
  if (isCached) {
357
421
  // Performing this cache update inside a cache.batch transaction ensures
358
422
  // any affected cache.watch watchers are notified at most once about any
@@ -361,7 +425,6 @@ class ObservableQuery {
361
425
  // fetchMore cache results back to this ObservableQuery.
362
426
  this.queryManager.cache.batch({
363
427
  update: (cache) => {
364
- const { updateQuery } = fetchMoreOptions;
365
428
  if (updateQuery) {
366
429
  cache.updateQuery({
367
430
  query: this.query,
@@ -387,9 +450,9 @@ class ObservableQuery {
387
450
  }
388
451
  },
389
452
  onWatchUpdated: (watch) => {
390
- // Record the DocumentNode associated with any watched query whose
391
- // data were updated by the cache writes above.
392
- updatedQuerySet.add(watch.query);
453
+ if (watch.watcher === this) {
454
+ wasUpdated = true;
455
+ }
393
456
  },
394
457
  });
395
458
  }
@@ -408,28 +471,41 @@ class ObservableQuery {
408
471
  // adjustment to the types on `updateQuery` since that function
409
472
  // expects that the first argument always contains previous result
410
473
  // data, but not `undefined`.
411
- const lastResult = this.getLast("result");
474
+ const lastResult = this.getCurrentResult();
412
475
  const data = updateQuery(lastResult.data, {
413
476
  fetchMoreResult: fetchMoreResult.data,
414
477
  variables: combinedOptions.variables,
415
478
  });
416
- this.reportResult({
417
- ...lastResult,
418
- networkStatus: originalNetworkStatus,
419
- loading: (0, networkStatus_js_1.isNetworkRequestInFlight)(originalNetworkStatus),
420
- data: data,
421
- }, this.variables);
479
+ // was reportResult
480
+ pushNotification({
481
+ kind: "N",
482
+ value: {
483
+ ...lastResult,
484
+ networkStatus: networkStatus_js_1.NetworkStatus.ready,
485
+ // will be overwritten anyways, just here for types sake
486
+ loading: false,
487
+ data: data,
488
+ dataState: lastResult.dataState === "streaming" ? "streaming" : "complete",
489
+ },
490
+ source: "network",
491
+ });
422
492
  }
423
493
  return this.maskResult(fetchMoreResult);
424
494
  })
425
495
  .finally(() => {
496
+ // call `finalize` a second time in case the `.then` case above was not reached
497
+ finalize();
426
498
  // In case the cache writes above did not generate a broadcast
427
499
  // notification (which would have been intercepted by onWatchUpdated),
428
500
  // likely because the written data were the same as what was already in
429
501
  // the cache, we still want fetchMore to deliver its final loading:false
430
502
  // result with the unchanged data.
431
- if (isCached && !updatedQuerySet.has(this.query)) {
432
- this.reobserveCacheFirst();
503
+ if (isCached && !wasUpdated) {
504
+ pushNotification({
505
+ kind: "N",
506
+ source: "newNetworkStatus",
507
+ value: {},
508
+ }, { shouldEmit: 1 /* EmitBehavior.force */ });
433
509
  }
434
510
  });
435
511
  }
@@ -457,7 +533,7 @@ class ObservableQuery {
457
533
  onError(error);
458
534
  }
459
535
  else {
460
- __DEV__ && invariant_1.invariant.error(69, error);
536
+ __DEV__ && invariant_1.invariant.error(82, error);
461
537
  }
462
538
  return;
463
539
  }
@@ -476,10 +552,15 @@ class ObservableQuery {
476
552
  }
477
553
  };
478
554
  }
479
- /** @internal */
480
- silentSetOptions(newOptions) {
481
- const mergedOptions = (0, utilities_1.compact)(this.options, newOptions || {});
555
+ /**
556
+ * @internal
557
+ *
558
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
559
+ */
560
+ applyOptions(newOptions) {
561
+ const mergedOptions = (0, internal_1.compact)(this.options, newOptions || {});
482
562
  assign(this.options, mergedOptions);
563
+ this.updatePolling();
483
564
  }
484
565
  /**
485
566
  * Update the variables of this observable query, and fetch the new results
@@ -500,23 +581,23 @@ class ObservableQuery {
500
581
  * the previous values of those variables will be used.
501
582
  */
502
583
  async setVariables(variables) {
584
+ variables = this.getVariablesWithDefaults(variables);
503
585
  if ((0, equality_1.equal)(this.variables, variables)) {
504
586
  // If we have no observers, then we don't actually want to make a network
505
587
  // request. As soon as someone observes the query, the request will kick
506
588
  // off. For now, we just store any changes. (See #1077)
507
- return (0, internal_1.toQueryResult)(this.subject.getValue());
589
+ return (0, internal_1.toQueryResult)(this.getCurrentResult());
508
590
  }
509
591
  this.options.variables = variables;
510
592
  // See comment above
511
593
  if (!this.hasObservers()) {
512
- return (0, internal_1.toQueryResult)(this.subject.getValue());
594
+ return (0, internal_1.toQueryResult)(this.getCurrentResult());
513
595
  }
514
- return this.reobserve({
596
+ return this._reobserve({
515
597
  // Reset options.fetchPolicy to its original value.
516
598
  fetchPolicy: this.options.initialFetchPolicy,
517
599
  variables,
518
- [newNetworkStatusSymbol]: networkStatus_js_1.NetworkStatus.setVariables,
519
- });
600
+ }, { newNetworkStatus: networkStatus_js_1.NetworkStatus.setVariables });
520
601
  }
521
602
  /**
522
603
  * A function that enables you to update the query's cached result without executing a followup GraphQL operation.
@@ -525,12 +606,7 @@ class ObservableQuery {
525
606
  */
526
607
  updateQuery(mapFn) {
527
608
  const { queryManager } = this;
528
- const { result, complete } = queryManager.cache.diff({
529
- query: this.options.query,
530
- variables: this.variables,
531
- returnPartialData: true,
532
- optimistic: false,
533
- });
609
+ const { result, complete } = this.getCacheDiff({ optimistic: false });
534
610
  const newResult = mapFn(result, {
535
611
  variables: this.variables,
536
612
  complete: !!complete,
@@ -582,12 +658,7 @@ class ObservableQuery {
582
658
  // that end, the options.nextFetchPolicy option provides an easy way to
583
659
  // update options.fetchPolicy after the initial network request, without
584
660
  // having to call observableQuery.reobserve.
585
- options.fetchPolicy = options.nextFetchPolicy(fetchPolicy, {
586
- reason,
587
- options,
588
- observable: this,
589
- initialFetchPolicy,
590
- });
661
+ options.fetchPolicy = options.nextFetchPolicy.call(options, fetchPolicy, { reason, options, observable: this, initialFetchPolicy });
591
662
  }
592
663
  else if (reason === "variables-changed") {
593
664
  options.fetchPolicy = initialFetchPolicy;
@@ -598,38 +669,133 @@ class ObservableQuery {
598
669
  }
599
670
  return options.fetchPolicy;
600
671
  }
601
- fetch(options, newNetworkStatus, emitLoadingState, query) {
672
+ fetch(options, networkStatus, fetchQuery, operator) {
602
673
  // TODO Make sure we update the networkStatus (and infer fetchVariables)
603
674
  // before actually committing to the fetch.
604
- const queryInfo = this.queryManager.getOrCreateQuery(this.queryId);
605
- queryInfo.setObservableQuery(this);
606
- return this.queryManager.fetchObservableWithInfo(queryInfo, options, newNetworkStatus, query, emitLoadingState);
675
+ const initialFetchPolicy = this.options.fetchPolicy;
676
+ options.context ??= {};
677
+ let synchronouslyEmitted = false;
678
+ const onCacheHit = () => {
679
+ synchronouslyEmitted = true;
680
+ };
681
+ const fetchQueryOperator = // we cannot use `tap` here, since it allows only for a "before subscription"
682
+
683
+ // hook with `subscribe` and we care for "directly before and after subscription"
684
+ (source) => new rxjs_1.Observable((subscriber) => {
685
+ try {
686
+ return source.subscribe({
687
+ next(value) {
688
+ synchronouslyEmitted = true;
689
+ subscriber.next(value);
690
+ },
691
+ error: (error) => subscriber.error(error),
692
+ complete: () => subscriber.complete(),
693
+ });
694
+ }
695
+ finally {
696
+ if (!synchronouslyEmitted) {
697
+ operation.override = networkStatus;
698
+ this.input.next({
699
+ kind: "N",
700
+ source: "newNetworkStatus",
701
+ value: {
702
+ resetError: true,
703
+ },
704
+ query,
705
+ variables,
706
+ meta: {
707
+ shouldEmit: 3 /* EmitBehavior.networkStatusChange */,
708
+ /*
709
+ * The moment this notification is emitted, `nextFetchPolicy`
710
+ * might already have switched from a `network-only` to a
711
+ * `cache-something` policy, so we want to ensure that the
712
+ * loading state emit doesn't accidentally read from the cache
713
+ * in those cases.
714
+ */
715
+ fetchPolicy: initialFetchPolicy,
716
+ },
717
+ });
718
+ }
719
+ }
720
+ });
721
+ let { observable, fromLink } = this.queryManager.fetchObservableWithInfo(options, {
722
+ networkStatus,
723
+ query: fetchQuery,
724
+ onCacheHit,
725
+ fetchQueryOperator,
726
+ observableQuery: this,
727
+ });
728
+ // track query and variables from the start of the operation
729
+ const { query, variables } = this;
730
+ const operation = {
731
+ abort: () => {
732
+ subscription.unsubscribe();
733
+ },
734
+ query,
735
+ variables,
736
+ };
737
+ this.activeOperations.add(operation);
738
+ let forceFirstValueEmit = networkStatus == networkStatus_js_1.NetworkStatus.refetch ||
739
+ networkStatus == networkStatus_js_1.NetworkStatus.setVariables;
740
+ observable = observable.pipe(operator, (0, rxjs_1.share)());
741
+ const subscription = observable
742
+ .pipe((0, rxjs_1.tap)({
743
+ next: (notification) => {
744
+ if (notification.source === "newNetworkStatus" ||
745
+ (notification.kind === "N" && notification.value.loading)) {
746
+ operation.override = networkStatus;
747
+ }
748
+ else {
749
+ delete operation.override;
750
+ }
751
+ },
752
+ finalize: () => this.activeOperations.delete(operation),
753
+ }))
754
+ .subscribe({
755
+ next: (value) => {
756
+ const meta = {};
757
+ if (forceFirstValueEmit &&
758
+ value.kind === "N" &&
759
+ "loading" in value.value &&
760
+ !value.value.loading) {
761
+ forceFirstValueEmit = false;
762
+ meta.shouldEmit = 1 /* EmitBehavior.force */;
763
+ }
764
+ this.input.next({ ...value, query, variables, meta });
765
+ },
766
+ });
767
+ return { fromLink, subscription, observable };
607
768
  }
608
769
  // Turns polling on or off based on this.options.pollInterval.
770
+ didWarnCacheOnlyPolling = false;
609
771
  updatePolling() {
610
772
  // Avoid polling in SSR mode
611
773
  if (this.queryManager.ssrMode) {
612
774
  return;
613
775
  }
614
- const { pollingInfo, options: { pollInterval }, } = this;
615
- if (!pollInterval || !this.hasObservers()) {
616
- if (pollingInfo) {
617
- clearTimeout(pollingInfo.timeout);
618
- delete this.pollingInfo;
776
+ const { pollingInfo, options: { fetchPolicy, pollInterval }, } = this;
777
+ if (!pollInterval || !this.hasObservers() || fetchPolicy === "cache-only") {
778
+ if (environment_1.__DEV__) {
779
+ if (!this.didWarnCacheOnlyPolling &&
780
+ pollInterval &&
781
+ fetchPolicy === "cache-only") {
782
+ __DEV__ && invariant_1.invariant.warn(83, (0, internal_1.getOperationName)(this.query, "(anonymous)"));
783
+ this.didWarnCacheOnlyPolling = true;
784
+ }
619
785
  }
786
+ this.cancelPolling();
620
787
  return;
621
788
  }
622
- if (pollingInfo && pollingInfo.interval === pollInterval) {
789
+ if (pollingInfo?.interval === pollInterval) {
623
790
  return;
624
791
  }
625
- (0, invariant_1.invariant)(pollInterval, 70);
626
792
  const info = pollingInfo || (this.pollingInfo = {});
627
793
  info.interval = pollInterval;
628
794
  const maybeFetch = () => {
629
795
  if (this.pollingInfo) {
630
796
  if (!(0, networkStatus_js_1.isNetworkRequestInFlight)(this.networkStatus) &&
631
797
  !this.options.skipPollAttempt?.()) {
632
- this.reobserve({
798
+ this._reobserve({
633
799
  // Most fetchPolicy options don't make sense to use in a polling context, as
634
800
  // users wouldn't want to be polling the cache directly. However, network-only and
635
801
  // no-cache are both useful for when the user wants to control whether or not the
@@ -637,7 +803,8 @@ class ObservableQuery {
637
803
  fetchPolicy: this.options.initialFetchPolicy === "no-cache" ?
638
804
  "no-cache"
639
805
  : "network-only",
640
- [newNetworkStatusSymbol]: networkStatus_js_1.NetworkStatus.poll,
806
+ }, {
807
+ newNetworkStatus: networkStatus_js_1.NetworkStatus.poll,
641
808
  }).then(poll, poll);
642
809
  }
643
810
  else {
@@ -654,47 +821,36 @@ class ObservableQuery {
654
821
  };
655
822
  poll();
656
823
  }
657
- updateLastResult(newResult, variables = this.variables) {
658
- let error = this.getLastError();
659
- // Preserve this.last.error unless the variables have changed.
660
- if (error && this.last && !(0, equality_1.equal)(variables, this.last.variables)) {
661
- error = void 0;
824
+ // This differs from stopPolling in that it does not set pollInterval to 0
825
+ cancelPolling() {
826
+ if (this.pollingInfo) {
827
+ clearTimeout(this.pollingInfo.timeout);
828
+ delete this.pollingInfo;
662
829
  }
663
- return (this.last = {
664
- result: this.queryManager.assumeImmutableResults ?
665
- newResult
666
- : (0, utilities_1.cloneDeep)(newResult),
667
- variables,
668
- ...(error ? { error } : null),
669
- });
670
830
  }
671
831
  /**
672
832
  * Reevaluate the query, optionally against new options. New options will be
673
833
  * merged with the current options when given.
674
834
  */
675
835
  reobserve(newOptions) {
836
+ return this._reobserve(newOptions);
837
+ }
838
+ _reobserve(newOptions, internalOptions) {
676
839
  this.isTornDown = false;
677
- let newNetworkStatus;
678
- if (newOptions) {
679
- newNetworkStatus = newOptions[newNetworkStatusSymbol];
680
- // Avoid setting the symbol option in this.options
681
- delete newOptions[newNetworkStatusSymbol];
682
- }
840
+ let { newNetworkStatus } = internalOptions || {};
841
+ this.queryManager.obsQueries.add(this);
683
842
  const useDisposableObservable =
684
843
  // Refetching uses a disposable Observable to allow refetches using different
685
- // options/variables, without permanently altering the options of the
844
+ // options, without permanently altering the options of the
686
845
  // original ObservableQuery.
687
846
  newNetworkStatus === networkStatus_js_1.NetworkStatus.refetch ||
688
- // The fetchMore method does not actually call the reobserve method, but,
689
- // if it did, it would definitely use a disposable Observable.
690
- newNetworkStatus === networkStatus_js_1.NetworkStatus.fetchMore ||
691
847
  // Polling uses a disposable Observable so the polling options (which force
692
848
  // fetchPolicy to be "network-only" or "no-cache") won't override the original options.
693
849
  newNetworkStatus === networkStatus_js_1.NetworkStatus.poll;
694
850
  // Save the old variables, since Object.assign may modify them below.
695
- const oldVariables = this.options.variables;
851
+ const oldVariables = this.variables;
696
852
  const oldFetchPolicy = this.options.fetchPolicy;
697
- const mergedOptions = (0, utilities_1.compact)(this.options, newOptions || {});
853
+ const mergedOptions = (0, internal_1.compact)(this.options, newOptions || {});
698
854
  const options = useDisposableObservable ?
699
855
  // Disposable Observable fetches receive a shallow copy of this.options
700
856
  // (merged with newOptions), leaving this.options unmodified.
@@ -706,6 +862,16 @@ class ObservableQuery {
706
862
  // time a request is made against the original query.
707
863
  const query = this.transformDocument(options.query);
708
864
  this.lastQuery = query;
865
+ // Reevaluate variables to allow resetting variables with variables: undefined,
866
+ // otherwise `compact` will ignore the `variables` key in `newOptions`. We
867
+ // do this after we run the query transform to ensure we get default
868
+ // variables from the transformed query.
869
+ //
870
+ // Note: updating options.variables may mutate this.options.variables
871
+ // in the case of a non-disposable query. This is intentional.
872
+ if (newOptions && "variables" in newOptions) {
873
+ options.variables = this.getVariablesWithDefaults(newOptions.variables);
874
+ }
709
875
  if (!useDisposableObservable) {
710
876
  // We can skip calling updatePolling if we're not changing this.options.
711
877
  this.updatePolling();
@@ -722,6 +888,7 @@ class ObservableQuery {
722
888
  // A `nextFetchPolicy` function has even higher priority, though,
723
889
  // so in that case `applyNextFetchPolicy` must be called.
724
890
  typeof options.nextFetchPolicy === "function")) {
891
+ // This might mutate options.fetchPolicy
725
892
  this.applyNextFetchPolicy("variables-changed", options);
726
893
  if (newNetworkStatus === void 0) {
727
894
  newNetworkStatus = networkStatus_js_1.NetworkStatus.setVariables;
@@ -736,181 +903,336 @@ class ObservableQuery {
736
903
  !(0, equality_1.equal)(newOptions.variables, oldVariables)) {
737
904
  newNetworkStatus = networkStatus_js_1.NetworkStatus.setVariables;
738
905
  }
906
+ // QueryManager does not emit any values for standby fetch policies so we
907
+ // want ensure that the networkStatus remains ready.
908
+ if (options.fetchPolicy === "standby") {
909
+ newNetworkStatus = networkStatus_js_1.NetworkStatus.ready;
910
+ }
739
911
  }
740
- this.networkStatus = newNetworkStatus;
741
- this.waitForOwnResult &&= skipCacheDataFor(options.fetchPolicy);
742
- const finishWaitingForOwnResult = () => {
743
- if (this.linkObservable === observable) {
744
- this.waitForOwnResult = false;
912
+ if (options.fetchPolicy === "standby") {
913
+ this.cancelPolling();
914
+ }
915
+ this.resubscribeCache();
916
+ const { promise, operator: promiseOperator } = getTrackingOperatorPromise((value) => {
917
+ switch (value.kind) {
918
+ case "E":
919
+ throw value.error;
920
+ case "N":
921
+ if (value.source !== "newNetworkStatus" && !value.value.loading)
922
+ return value.value;
745
923
  }
746
- };
747
- const variables = options.variables && { ...options.variables };
748
- const { notifyOnNetworkStatusChange = false } = options;
749
- const { observable, fromLink } = this.fetch(options, newNetworkStatus, notifyOnNetworkStatusChange &&
750
- oldNetworkStatus !== newNetworkStatus &&
751
- (0, networkStatus_js_1.isNetworkRequestInFlight)(newNetworkStatus), query);
752
- const observer = {
753
- next: (result) => {
754
- if ((0, equality_1.equal)(this.variables, variables)) {
755
- finishWaitingForOwnResult();
756
- this.reportResult(result, variables);
757
- }
758
- },
759
- error: (error) => {
760
- if ((0, equality_1.equal)(this.variables, variables)) {
761
- finishWaitingForOwnResult();
762
- this.reportError(error, variables);
763
- }
764
- },
765
- };
924
+ },
925
+ // This default value should only be used when using a `fetchPolicy` of
926
+ // `standby` since that fetch policy completes without emitting a
927
+ // result. Since we are converting this to a QueryResult type, we
928
+ // omit the extra fields from ApolloQueryResult in the default value.
929
+ options.fetchPolicy === "standby" ?
930
+ { data: undefined }
931
+ : undefined);
932
+ const { subscription, observable, fromLink } = this.fetch(options, newNetworkStatus, query, promiseOperator);
766
933
  if (!useDisposableObservable && (fromLink || !this.linkSubscription)) {
767
934
  if (this.linkSubscription) {
768
935
  this.linkSubscription.unsubscribe();
769
936
  }
770
- this.linkObservable = observable;
771
- this.linkSubscription = observable.subscribe(observer);
937
+ this.linkSubscription = subscription;
772
938
  }
773
- else {
774
- observable.subscribe(observer);
775
- }
776
- return (0, utilities_1.preventUnhandledRejection)(
777
- // Note: lastValueFrom will create a separate subscription to the
778
- // observable which means that terminating this ObservableQuery will not
779
- // cancel the request from the link chain.
780
- (0, rxjs_1.lastValueFrom)(observable, {
781
- // This default value should only be used when using a `fetchPolicy` of
782
- // `standby` since that fetch policy completes without emitting a
783
- // result. Since we are converting this to a QueryResult type, we
784
- // omit the extra fields from ApolloQueryResult in the default value.
785
- defaultValue: { data: undefined },
786
- }).then((result) => (0, internal_1.toQueryResult)(this.maskResult(result))));
787
- }
788
- // (Re)deliver the current result to this.observers without applying fetch
789
- // policies or making network requests.
790
- observe() {
791
- this.reportResult(
792
- // Passing false is important so that this.getCurrentResult doesn't
793
- // save the fetchMore result as this.lastResult, causing it to be
794
- // ignored due to the this.isDifferentFromLastResult check in
795
- // this.reportResult.
796
- this.getCurrentFullResult(false), this.variables);
797
- }
798
- reportResult(result, variables) {
799
- const lastError = this.getLastError();
800
- const isDifferent = this.isDifferentFromLastResult(result, variables);
801
- // Update the last result even when isDifferentFromLastResult returns false,
802
- // because the query may be using the @nonreactive directive, and we want to
803
- // save the the latest version of any nonreactive subtrees (in case
804
- // getCurrentResult is called), even though we skip broadcasting changes.
805
- this.updateLastResult(result, variables);
806
- this.networkStatus = result.networkStatus;
807
- if (lastError || isDifferent) {
808
- this.subject.next(this.maskResult(result));
809
- }
810
- }
811
- reportError(error, variables) {
812
- // Since we don't get the current result on errors, only the error, we
813
- // must mirror the updates that occur in QueryStore.markQueryError here
814
- const errorResult = {
815
- data: undefined,
816
- partial: true,
817
- ...this.getLastResult(),
818
- error,
819
- networkStatus: networkStatus_js_1.NetworkStatus.error,
820
- loading: false,
821
- };
822
- this.updateLastResult(errorResult, variables);
823
- this.networkStatus = networkStatus_js_1.NetworkStatus.error;
824
- this.last.error = error;
825
- this.subject.next(errorResult);
939
+ const ret = Object.assign((0, internal_1.preventUnhandledRejection)(promise
940
+ .then((result) => (0, internal_1.toQueryResult)(this.maskResult(result)))
941
+ .finally(() => {
942
+ if (!this.hasObservers() && this.activeOperations.size === 0) {
943
+ // If `reobserve` was called on a query without any obervers,
944
+ // the teardown logic would never be called, so we need to
945
+ // call it here to ensure the query is properly torn down.
946
+ this.tearDownQuery();
947
+ }
948
+ })), {
949
+ retain: () => {
950
+ const subscription = observable.subscribe({});
951
+ const unsubscribe = () => subscription.unsubscribe();
952
+ promise.then(unsubscribe, unsubscribe);
953
+ return ret;
954
+ },
955
+ });
956
+ return ret;
826
957
  }
827
958
  hasObservers() {
828
959
  return this.subject.observed;
829
960
  }
961
+ /**
962
+ * Tears down the `ObservableQuery` and stops all active operations by sending a `complete` notification.
963
+ */
964
+ stop() {
965
+ this.subject.complete();
966
+ this.initializeObservablesQueue();
967
+ this.tearDownQuery();
968
+ }
830
969
  tearDownQuery() {
831
970
  if (this.isTornDown)
832
971
  return;
833
- if (this.linkObservable && this.linkSubscription) {
972
+ this.resetNotifications();
973
+ this.unsubscribeFromCache?.();
974
+ if (this.linkSubscription) {
834
975
  this.linkSubscription.unsubscribe();
835
- delete this.linkObservable;
836
976
  delete this.linkSubscription;
837
977
  }
838
978
  this.stopPolling();
839
979
  // stop all active GraphQL subscriptions
840
980
  this.subscriptions.forEach((sub) => sub.unsubscribe());
841
981
  this.subscriptions.clear();
842
- this.queryManager.stopQuery(this.queryId);
982
+ this.queryManager.obsQueries.delete(this);
843
983
  this.isTornDown = true;
984
+ this.abortActiveOperations();
985
+ this._lastWrite = undefined;
844
986
  }
845
987
  transformDocument(document) {
846
988
  return this.queryManager.transform(document);
847
989
  }
848
990
  maskResult(result) {
849
- return result && "data" in result ?
850
- {
851
- ...result,
852
- data: this.queryManager.maskOperation({
853
- document: this.query,
854
- data: result.data,
855
- fetchPolicy: this.options.fetchPolicy,
856
- id: this.queryId,
857
- }),
858
- }
859
- : result;
991
+ const masked = this.queryManager.maskOperation({
992
+ document: this.query,
993
+ data: result.data,
994
+ fetchPolicy: this.options.fetchPolicy,
995
+ cause: this,
996
+ });
997
+ // Maintain object identity as much as possible
998
+ return masked === result.data ? result : { ...result, data: masked };
860
999
  }
861
1000
  dirty = false;
862
1001
  notifyTimeout;
863
- /** @internal */
1002
+ /**
1003
+ * @internal
1004
+ *
1005
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1006
+ */
864
1007
  resetNotifications() {
865
- this.cancelNotifyTimeout();
866
- this.dirty = false;
867
- }
868
- cancelNotifyTimeout() {
869
1008
  if (this.notifyTimeout) {
870
1009
  clearTimeout(this.notifyTimeout);
871
1010
  this.notifyTimeout = void 0;
872
1011
  }
1012
+ this.dirty = false;
873
1013
  }
874
- /** @internal */
1014
+ /**
1015
+ * @internal
1016
+ *
1017
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1018
+ */
875
1019
  scheduleNotify() {
876
1020
  if (this.dirty)
877
1021
  return;
878
1022
  this.dirty = true;
879
1023
  if (!this.notifyTimeout) {
880
- this.notifyTimeout = setTimeout(() => this.notify(), 0);
1024
+ this.notifyTimeout = setTimeout(() => this.notify(true), 0);
881
1025
  }
882
1026
  }
883
- /** @internal */
884
- notify() {
885
- this.cancelNotifyTimeout();
886
- if (this.dirty) {
887
- if (this.options.fetchPolicy == "cache-only" ||
1027
+ /**
1028
+ * @internal
1029
+ *
1030
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1031
+ */
1032
+ notify(scheduled = false) {
1033
+ if (!scheduled) {
1034
+ // For queries with client exports or forced resolvers, we don't want to
1035
+ // synchronously reobserve the cache on broadcast,
1036
+ // but actually wait for the `scheduleNotify` timeout triggered by the
1037
+ // `cache.watch` callback from `resubscribeCache`.
1038
+ const info = this.queryManager.getDocumentInfo(this.query);
1039
+ if (info.hasClientExports || info.hasForcedResolvers) {
1040
+ return;
1041
+ }
1042
+ }
1043
+ const { dirty } = this;
1044
+ this.resetNotifications();
1045
+ if (dirty &&
1046
+ (this.options.fetchPolicy == "cache-only" ||
888
1047
  this.options.fetchPolicy == "cache-and-network" ||
889
- !(0, networkStatus_js_1.isNetworkRequestInFlight)(this.networkStatus)) {
890
- const diff = this.queryInfo.getDiff();
891
- if (diff.fromOptimisticTransaction) {
892
- // If this diff came from an optimistic transaction, deliver the
893
- // current cache data to the ObservableQuery, but don't perform a
894
- // reobservation, since oq.reobserveCacheFirst might make a network
895
- // request, and we never want to trigger network requests in the
896
- // middle of optimistic updates.
897
- this.observe();
898
- }
899
- else {
900
- // Otherwise, make the ObservableQuery "reobserve" the latest data
901
- // using a temporary fetch policy of "cache-first", so complete cache
902
- // results have a chance to be delivered without triggering additional
903
- // network requests, even when options.fetchPolicy is "network-only"
904
- // or "cache-and-network". All other fetch policies are preserved by
905
- // this method, and are handled by calling oq.reobserve(). If this
906
- // reobservation is spurious, isDifferentFromLastResult still has a
907
- // chance to catch it before delivery to ObservableQuery subscribers.
908
- this.reobserveCacheFirst();
909
- }
1048
+ !this.activeOperations.size)) {
1049
+ const diff = this.getCacheDiff();
1050
+ if (
1051
+ // `fromOptimisticTransaction` is not avaiable through the `cache.diff`
1052
+ // code path, so we need to check it this way
1053
+ (0, equality_1.equal)(diff.result, this.getCacheDiff({ optimistic: false }).result)) {
1054
+ //If this diff did not come from an optimistic transaction
1055
+ // make the ObservableQuery "reobserve" the latest data
1056
+ // using a temporary fetch policy of "cache-first", so complete cache
1057
+ // results have a chance to be delivered without triggering additional
1058
+ // network requests, even when options.fetchPolicy is "network-only"
1059
+ // or "cache-and-network". All other fetch policies are preserved by
1060
+ // this method, and are handled by calling oq.reobserve(). If this
1061
+ // reobservation is spurious, distinctUntilChanged still has a
1062
+ // chance to catch it before delivery to ObservableQuery subscribers.
1063
+ this.reobserveCacheFirst();
1064
+ }
1065
+ else {
1066
+ // If this diff came from an optimistic transaction, deliver the
1067
+ // current cache data to the ObservableQuery, but don't perform a
1068
+ // reobservation, since oq.reobserveCacheFirst might make a network
1069
+ // request, and we never want to trigger network requests in the
1070
+ // middle of optimistic updates.
1071
+ this.input.next({
1072
+ kind: "N",
1073
+ value: {
1074
+ data: diff.result,
1075
+ dataState: diff.complete ? "complete"
1076
+ : diff.result ? "partial"
1077
+ : "empty",
1078
+ networkStatus: networkStatus_js_1.NetworkStatus.ready,
1079
+ loading: false,
1080
+ error: undefined,
1081
+ partial: !diff.complete,
1082
+ },
1083
+ source: "cache",
1084
+ query: this.query,
1085
+ variables: this.variables,
1086
+ meta: {},
1087
+ });
910
1088
  }
911
1089
  }
912
- this.dirty = false;
913
1090
  }
1091
+ activeOperations = new Set();
1092
+ pushOperation(networkStatus) {
1093
+ let aborted = false;
1094
+ // track query and variables from the start of the operation
1095
+ const { query, variables } = this;
1096
+ const finalize = () => {
1097
+ this.activeOperations.delete(operation);
1098
+ };
1099
+ const operation = {
1100
+ override: networkStatus,
1101
+ abort: () => {
1102
+ aborted = true;
1103
+ finalize();
1104
+ },
1105
+ query,
1106
+ variables,
1107
+ };
1108
+ this.activeOperations.add(operation);
1109
+ return {
1110
+ finalize,
1111
+ pushNotification: (notification, additionalMeta) => {
1112
+ if (!aborted) {
1113
+ this.input.next({
1114
+ ...notification,
1115
+ query,
1116
+ variables,
1117
+ meta: { ...additionalMeta },
1118
+ });
1119
+ }
1120
+ },
1121
+ };
1122
+ }
1123
+ calculateNetworkStatus(baseNetworkStatus) {
1124
+ if (baseNetworkStatus === networkStatus_js_1.NetworkStatus.streaming) {
1125
+ return baseNetworkStatus;
1126
+ }
1127
+ // in the future, this could be more complex logic, e.g. "refetch" and
1128
+ // "fetchMore" having priority over "polling" or "loading" network statuses
1129
+ // as for now we just take the "latest" operation that is still active,
1130
+ // as that lines up best with previous behavior[]
1131
+ const operation = Array.from(this.activeOperations.values()).findLast((operation) => isEqualQuery(operation, this) && operation.override !== undefined);
1132
+ return operation?.override ?? baseNetworkStatus;
1133
+ }
1134
+ abortActiveOperations() {
1135
+ this.activeOperations.forEach((operation) => operation.abort());
1136
+ }
1137
+ /**
1138
+ * @internal
1139
+ * Called from `clearStore`.
1140
+ * * resets the query to its initial state
1141
+ * * cancels all active operations and their subscriptions
1142
+ *
1143
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1144
+ */
1145
+ reset() {
1146
+ // exception for cache-only queries - we reset them into a "ready" state
1147
+ // as we won't trigger a refetch for them
1148
+ const resetToEmpty = this.options.fetchPolicy === "cache-only";
1149
+ this.setResult(resetToEmpty ? empty : uninitialized, {
1150
+ shouldEmit: resetToEmpty ? 1 /* EmitBehavior.force */ : 2 /* EmitBehavior.never */,
1151
+ });
1152
+ this.abortActiveOperations();
1153
+ }
1154
+ /**
1155
+ * @internal
1156
+ *
1157
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1158
+ */
1159
+ setResult(result, additionalMeta) {
1160
+ this.input.next({
1161
+ source: "setResult",
1162
+ kind: "N",
1163
+ value: result,
1164
+ query: this.query,
1165
+ variables: this.variables,
1166
+ meta: { ...additionalMeta },
1167
+ });
1168
+ }
1169
+ operator = (0, internal_1.filterMap)((notification) => {
1170
+ const { query, variables, meta } = notification;
1171
+ if (notification.source === "setResult") {
1172
+ return { query, variables, result: notification.value, meta };
1173
+ }
1174
+ if (notification.kind === "C" || !isEqualQuery(notification, this)) {
1175
+ return;
1176
+ }
1177
+ let result;
1178
+ const previous = this.subject.getValue();
1179
+ if (notification.source === "cache") {
1180
+ result = notification.value;
1181
+ if (result.networkStatus === networkStatus_js_1.NetworkStatus.ready &&
1182
+ result.partial &&
1183
+ (!this.options.returnPartialData ||
1184
+ previous.result.networkStatus === networkStatus_js_1.NetworkStatus.error) &&
1185
+ this.options.fetchPolicy !== "cache-only") {
1186
+ return;
1187
+ }
1188
+ }
1189
+ else if (notification.source === "network") {
1190
+ if (this.waitForNetworkResult) {
1191
+ this.waitForNetworkResult = false;
1192
+ this.resubscribeCache();
1193
+ }
1194
+ result =
1195
+ notification.kind === "E" ?
1196
+ {
1197
+ ...(isEqualQuery(previous, notification) ?
1198
+ previous.result
1199
+ : { data: undefined, dataState: "empty", partial: true }),
1200
+ error: notification.error,
1201
+ networkStatus: networkStatus_js_1.NetworkStatus.error,
1202
+ loading: false,
1203
+ }
1204
+ : notification.value;
1205
+ if (notification.kind === "E" && result.dataState === "streaming") {
1206
+ result.dataState = "complete";
1207
+ }
1208
+ if (result.error) {
1209
+ meta.shouldEmit = 1 /* EmitBehavior.force */;
1210
+ }
1211
+ }
1212
+ else if (notification.source === "newNetworkStatus") {
1213
+ const baseResult = isEqualQuery(previous, notification) ?
1214
+ previous.result
1215
+ : this.getInitialResult(meta.fetchPolicy);
1216
+ const { resetError } = notification.value;
1217
+ const error = resetError ? undefined : baseResult.error;
1218
+ const networkStatus = error ? networkStatus_js_1.NetworkStatus.error : networkStatus_js_1.NetworkStatus.ready;
1219
+ result = {
1220
+ ...baseResult,
1221
+ error,
1222
+ networkStatus,
1223
+ };
1224
+ }
1225
+ // every code path until here should have either returned or set a result,
1226
+ // but typescript needs a little help
1227
+ (0, invariant_1.invariant)(result);
1228
+ // normalize result shape
1229
+ if (!result.error)
1230
+ delete result.error;
1231
+ result.networkStatus = this.calculateNetworkStatus(result.networkStatus);
1232
+ result.loading = (0, networkStatus_js_1.isNetworkRequestInFlight)(result.networkStatus);
1233
+ result = this.maskResult(result);
1234
+ return { query, variables, result, meta };
1235
+ });
914
1236
  // Reobserve with fetchPolicy effectively set to "cache-first", triggering
915
1237
  // delivery of any new data from the cache, possibly falling back to the network
916
1238
  // if any cache data are missing. This allows _complete_ cache results to be
@@ -921,7 +1243,7 @@ class ObservableQuery {
921
1243
  reobserveCacheFirst() {
922
1244
  const { fetchPolicy, nextFetchPolicy } = this.options;
923
1245
  if (fetchPolicy === "cache-and-network" || fetchPolicy === "network-only") {
924
- return this.reobserve({
1246
+ this.reobserve({
925
1247
  fetchPolicy: "cache-first",
926
1248
  // Use a temporary nextFetchPolicy function that replaces itself with the
927
1249
  // previous nextFetchPolicy value and returns the original fetchPolicy.
@@ -939,18 +1261,59 @@ class ObservableQuery {
939
1261
  },
940
1262
  });
941
1263
  }
942
- return this.reobserve();
1264
+ else {
1265
+ this.reobserve();
1266
+ }
1267
+ }
1268
+ getVariablesWithDefaults(variables) {
1269
+ return this.queryManager.getVariables(this.query, variables);
943
1270
  }
944
1271
  }
945
1272
  exports.ObservableQuery = ObservableQuery;
946
1273
  function logMissingFieldErrors(missing) {
947
1274
  if (environment_1.__DEV__ && missing) {
948
- __DEV__ && invariant_1.invariant.debug(71, missing);
1275
+ __DEV__ && invariant_1.invariant.debug(84, missing);
949
1276
  }
950
1277
  }
951
- function skipCacheDataFor(fetchPolicy /* `undefined` would mean `"cache-first"` */) {
952
- return (fetchPolicy === "network-only" ||
953
- fetchPolicy === "no-cache" ||
954
- fetchPolicy === "standby");
1278
+ function isEqualQuery(a, b) {
1279
+ return !!(a && b && a.query === b.query && (0, equality_1.equal)(a.variables, b.variables));
1280
+ }
1281
+ function getTrackingOperatorPromise(filterMapCb, defaultValue) {
1282
+ let lastValue = defaultValue, resolve, reject;
1283
+ const promise = new Promise((res, rej) => {
1284
+ resolve = res;
1285
+ reject = rej;
1286
+ });
1287
+ const operator = (0, rxjs_1.tap)({
1288
+ next(value) {
1289
+ try {
1290
+ const newValue = filterMapCb(value);
1291
+ if (newValue !== undefined) {
1292
+ lastValue = newValue;
1293
+ }
1294
+ }
1295
+ catch (error) {
1296
+ reject(error);
1297
+ }
1298
+ },
1299
+ finalize: () => {
1300
+ if (lastValue) {
1301
+ resolve(lastValue);
1302
+ }
1303
+ else {
1304
+ const message = "The operation was aborted.";
1305
+ const name = "AbortError";
1306
+ reject(typeof DOMException !== "undefined" ?
1307
+ new DOMException(message, name)
1308
+ // some environments do not have `DOMException`, e.g. node
1309
+ // uses a normal `Error` with a `name` property instead: https://github.com/phryneas/node/blob/d0579b64f0f6b722f8e49bf8a471dd0d0604a21e/lib/internal/errors.js#L964
1310
+ // error.code is a legacy property that is not used anymore,
1311
+ // and also inconsistent across environments (in supporting
1312
+ // browsers it is `20`, in node `'ABORT_ERR'`) so we omit that.
1313
+ : Object.assign(new Error(message), { name }));
1314
+ }
1315
+ },
1316
+ });
1317
+ return { promise, operator };
955
1318
  }
956
1319
  //# sourceMappingURL=ObservableQuery.cjs.map