@apollo/client 4.0.0-alpha.2 → 4.0.0-alpha.21

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 (1781) hide show
  1. package/CHANGELOG.md +1004 -0
  2. package/__cjs/cache/core/cache.cjs +11 -9
  3. package/__cjs/cache/core/cache.cjs.map +1 -1
  4. package/__cjs/cache/core/cache.d.cts +12 -9
  5. package/__cjs/cache/core/types/Cache.cjs.map +1 -1
  6. package/__cjs/cache/core/types/Cache.d.cts +1 -1
  7. package/__cjs/cache/core/types/DataProxy.d.cts +1 -1
  8. package/__cjs/cache/core/types/common.cjs +1 -0
  9. package/__cjs/cache/core/types/common.cjs.map +1 -1
  10. package/__cjs/cache/index.cjs +4 -5
  11. package/__cjs/cache/index.cjs.map +1 -1
  12. package/__cjs/cache/index.d.cts +3 -3
  13. package/__cjs/cache/inmemory/entityStore.cjs +16 -12
  14. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  15. package/__cjs/cache/inmemory/entityStore.d.cts +1 -0
  16. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -2
  17. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  18. package/__cjs/cache/inmemory/helpers.cjs +10 -10
  19. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  20. package/__cjs/cache/inmemory/helpers.d.cts +3 -3
  21. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  22. package/__cjs/cache/inmemory/inMemoryCache.d.cts +10 -8
  23. package/__cjs/cache/inmemory/key-extractor.cjs +10 -10
  24. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  25. package/__cjs/cache/inmemory/policies.cjs +14 -13
  26. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  27. package/__cjs/cache/inmemory/policies.d.cts +2 -1
  28. package/__cjs/cache/inmemory/reactiveVars.cjs.map +1 -1
  29. package/__cjs/cache/inmemory/reactiveVars.d.cts +1 -1
  30. package/__cjs/cache/inmemory/readFromStore.cjs +17 -16
  31. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  32. package/__cjs/cache/inmemory/types.d.cts +1 -1
  33. package/__cjs/cache/inmemory/writeToStore.cjs +50 -22
  34. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  35. package/__cjs/cache/inmemory/writeToStore.d.cts +3 -2
  36. package/__cjs/core/ApolloClient.cjs +63 -76
  37. package/__cjs/core/ApolloClient.cjs.map +1 -1
  38. package/__cjs/core/ApolloClient.d.cts +33 -53
  39. package/__cjs/core/ObservableQuery.cjs +830 -377
  40. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  41. package/__cjs/core/ObservableQuery.d.cts +256 -39
  42. package/__cjs/core/QueryInfo.cjs +343 -303
  43. package/__cjs/core/QueryInfo.cjs.map +1 -1
  44. package/__cjs/core/QueryInfo.d.cts +50 -37
  45. package/__cjs/core/QueryManager.cjs +508 -563
  46. package/__cjs/core/QueryManager.cjs.map +1 -1
  47. package/__cjs/core/QueryManager.d.cts +53 -63
  48. package/__cjs/core/equalByQuery.cjs +7 -7
  49. package/__cjs/core/equalByQuery.cjs.map +1 -1
  50. package/__cjs/core/index.cjs +42 -22
  51. package/__cjs/core/index.cjs.map +1 -1
  52. package/__cjs/core/index.d.cts +13 -13
  53. package/__cjs/core/networkStatus.cjs +7 -1
  54. package/__cjs/core/networkStatus.cjs.map +1 -1
  55. package/__cjs/core/networkStatus.d.cts +7 -1
  56. package/__cjs/core/types.d.cts +126 -14
  57. package/__cjs/core/watchQueryOptions.d.cts +33 -103
  58. package/__cjs/dev/loadErrorMessageHandler.cjs +2 -3
  59. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  60. package/__cjs/dev/setErrorMessageHandler.cjs +2 -3
  61. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  62. package/__cjs/errors/CombinedGraphQLErrors.cjs +30 -11
  63. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  64. package/__cjs/errors/CombinedGraphQLErrors.d.cts +21 -2
  65. package/__cjs/errors/CombinedProtocolErrors.cjs +13 -6
  66. package/__cjs/errors/CombinedProtocolErrors.cjs.map +1 -1
  67. package/__cjs/errors/CombinedProtocolErrors.d.cts +9 -0
  68. package/__cjs/errors/LinkError.cjs +24 -0
  69. package/__cjs/errors/LinkError.cjs.map +1 -0
  70. package/__cjs/errors/LinkError.d.cts +18 -0
  71. package/__cjs/errors/LocalStateError.cjs +27 -0
  72. package/__cjs/errors/LocalStateError.cjs.map +1 -0
  73. package/__cjs/errors/LocalStateError.d.cts +20 -0
  74. package/__cjs/errors/ServerError.cjs +9 -4
  75. package/__cjs/errors/ServerError.cjs.map +1 -1
  76. package/__cjs/errors/ServerError.d.cts +10 -8
  77. package/__cjs/errors/ServerParseError.cjs +6 -0
  78. package/__cjs/errors/ServerParseError.cjs.map +1 -1
  79. package/__cjs/errors/ServerParseError.d.cts +2 -0
  80. package/__cjs/errors/UnconventionalError.cjs +6 -0
  81. package/__cjs/errors/UnconventionalError.cjs.map +1 -1
  82. package/__cjs/errors/UnconventionalError.d.cts +2 -0
  83. package/__cjs/errors/index.cjs +23 -4
  84. package/__cjs/errors/index.cjs.map +1 -1
  85. package/__cjs/errors/index.d.cts +5 -4
  86. package/__cjs/errors/isErrorLike.cjs +12 -0
  87. package/__cjs/errors/isErrorLike.cjs.map +1 -0
  88. package/__cjs/errors/isErrorLike.d.cts +3 -0
  89. package/__cjs/errors/utils.cjs +18 -0
  90. package/__cjs/errors/utils.cjs.map +1 -0
  91. package/__cjs/errors/utils.d.cts +3 -0
  92. package/__cjs/invariantErrorCodes.cjs +276 -212
  93. package/__cjs/link/batch/batchLink.cjs +2 -2
  94. package/__cjs/link/batch/batchLink.cjs.map +1 -1
  95. package/__cjs/link/batch/batchLink.d.cts +2 -2
  96. package/__cjs/link/batch/batching.cjs.map +1 -1
  97. package/__cjs/link/batch/batching.d.cts +1 -1
  98. package/__cjs/link/batch/index.cjs +4 -2
  99. package/__cjs/link/batch/index.cjs.map +1 -1
  100. package/__cjs/link/batch/index.d.cts +2 -1
  101. package/__cjs/link/batch-http/batchHttpLink.cjs +7 -53
  102. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  103. package/__cjs/link/batch-http/batchHttpLink.d.cts +5 -4
  104. package/__cjs/link/batch-http/index.cjs +3 -2
  105. package/__cjs/link/batch-http/index.cjs.map +1 -1
  106. package/__cjs/link/batch-http/index.d.cts +1 -1
  107. package/__cjs/link/context/index.cjs +2 -2
  108. package/__cjs/link/context/index.cjs.map +1 -1
  109. package/__cjs/link/context/index.d.cts +3 -4
  110. package/__cjs/link/core/ApolloLink.cjs +19 -31
  111. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  112. package/__cjs/link/core/ApolloLink.d.cts +18 -14
  113. package/__cjs/link/core/types.d.cts +19 -8
  114. package/__cjs/link/error/index.cjs +16 -31
  115. package/__cjs/link/error/index.cjs.map +1 -1
  116. package/__cjs/link/error/index.d.cts +6 -17
  117. package/__cjs/link/http/HttpLink.cjs +2 -2
  118. package/__cjs/link/http/HttpLink.cjs.map +1 -1
  119. package/__cjs/link/http/HttpLink.d.cts +129 -4
  120. package/__cjs/link/http/checkFetcher.cjs +1 -1
  121. package/__cjs/link/http/createHttpLink.cjs +10 -17
  122. package/__cjs/link/http/createHttpLink.cjs.map +1 -1
  123. package/__cjs/link/http/createHttpLink.d.cts +3 -3
  124. package/__cjs/link/http/index.cjs.map +1 -1
  125. package/__cjs/link/http/index.d.cts +0 -1
  126. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +31 -58
  127. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  128. package/__cjs/link/http/parseAndCheckHttpResponse.d.cts +1 -3
  129. package/__cjs/link/http/rewriteURIForGET.cjs.map +1 -1
  130. package/__cjs/link/http/rewriteURIForGET.d.cts +2 -2
  131. package/__cjs/link/http/selectHttpOptionsAndBody.cjs +1 -1
  132. package/__cjs/link/http/selectHttpOptionsAndBody.cjs.map +1 -1
  133. package/__cjs/link/http/selectHttpOptionsAndBody.d.cts +8 -83
  134. package/__cjs/link/http/selectURI.cjs.map +1 -1
  135. package/__cjs/link/http/selectURI.d.cts +1 -1
  136. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  137. package/__cjs/link/index.cjs +16 -0
  138. package/__cjs/link/index.cjs.map +1 -0
  139. package/__cjs/link/index.d.cts +8 -0
  140. package/__cjs/link/persisted-queries/index.cjs +22 -20
  141. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  142. package/__cjs/link/persisted-queries/index.d.cts +4 -4
  143. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +4 -3
  144. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  145. package/__cjs/link/remove-typename/removeTypenameFromVariables.d.cts +1 -1
  146. package/__cjs/link/retry/delayFunction.cjs.map +1 -1
  147. package/__cjs/link/retry/delayFunction.d.cts +1 -1
  148. package/__cjs/link/retry/index.cjs +3 -2
  149. package/__cjs/link/retry/index.cjs.map +1 -1
  150. package/__cjs/link/retry/index.d.cts +1 -1
  151. package/__cjs/link/retry/retryFunction.cjs.map +1 -1
  152. package/__cjs/link/retry/retryFunction.d.cts +1 -1
  153. package/__cjs/link/retry/retryLink.cjs +2 -2
  154. package/__cjs/link/retry/retryLink.cjs.map +1 -1
  155. package/__cjs/link/retry/retryLink.d.cts +2 -2
  156. package/__cjs/link/schema/index.cjs +2 -2
  157. package/__cjs/link/schema/index.cjs.map +1 -1
  158. package/__cjs/link/schema/index.d.cts +2 -2
  159. package/__cjs/link/subscriptions/index.cjs +8 -6
  160. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  161. package/__cjs/link/subscriptions/index.d.cts +2 -2
  162. package/__cjs/link/utils/createOperation.cjs +5 -1
  163. package/__cjs/link/utils/createOperation.cjs.map +1 -1
  164. package/__cjs/link/utils/createOperation.d.cts +2 -2
  165. package/__cjs/link/utils/transformOperation.cjs +2 -2
  166. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  167. package/__cjs/link/utils/transformOperation.d.cts +1 -1
  168. package/__cjs/link/utils/validateOperation.cjs +1 -1
  169. package/__cjs/link/utils/validateOperation.cjs.map +1 -1
  170. package/__cjs/link/utils/validateOperation.d.cts +1 -1
  171. package/__cjs/link/ws/index.cjs +2 -2
  172. package/__cjs/link/ws/index.cjs.map +1 -1
  173. package/__cjs/link/ws/index.d.cts +2 -2
  174. package/__cjs/local-state/LocalState.cjs +535 -0
  175. package/__cjs/local-state/LocalState.cjs.map +1 -0
  176. package/__cjs/local-state/LocalState.d.cts +89 -0
  177. package/__cjs/local-state/index.cjs +6 -0
  178. package/__cjs/local-state/index.cjs.map +1 -0
  179. package/__cjs/local-state/index.d.cts +2 -0
  180. package/__cjs/masking/GraphQLCodegenDataMasking.cjs +3 -0
  181. package/__cjs/masking/GraphQLCodegenDataMasking.cjs.map +1 -0
  182. package/__cjs/masking/GraphQLCodegenDataMasking.d.cts +79 -0
  183. package/__cjs/masking/index.cjs.map +1 -1
  184. package/__cjs/masking/index.d.cts +1 -0
  185. package/__cjs/masking/internal/types.d.cts +1 -2
  186. package/__cjs/masking/maskDefinition.cjs +6 -6
  187. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  188. package/__cjs/masking/maskDefinition.d.cts +1 -1
  189. package/__cjs/masking/maskFragment.cjs +9 -13
  190. package/__cjs/masking/maskFragment.cjs.map +1 -1
  191. package/__cjs/masking/maskFragment.d.cts +6 -2
  192. package/__cjs/masking/maskOperation.cjs +9 -13
  193. package/__cjs/masking/maskOperation.cjs.map +1 -1
  194. package/__cjs/masking/maskOperation.d.cts +6 -2
  195. package/__cjs/masking/types.d.cts +11 -26
  196. package/__cjs/masking/utils.cjs +32 -7
  197. package/__cjs/masking/utils.cjs.map +1 -1
  198. package/__cjs/masking/utils.d.cts +7 -2
  199. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  200. package/__cjs/react/context/ApolloConsumer.cjs.map +1 -1
  201. package/__cjs/react/context/ApolloConsumer.d.cts +7 -4
  202. package/__cjs/react/context/ApolloContext.cjs +1 -1
  203. package/__cjs/react/context/ApolloContext.cjs.map +1 -1
  204. package/__cjs/react/context/ApolloContext.d.cts +3 -3
  205. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  206. package/__cjs/react/context/ApolloProvider.cjs.map +1 -1
  207. package/__cjs/react/context/ApolloProvider.d.cts +7 -5
  208. package/__cjs/react/hooks/internal/__use.cjs +6 -6
  209. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  210. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +2 -2
  211. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  212. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +28 -0
  213. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs.map +1 -0
  214. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.d.cts +3 -0
  215. package/__cjs/react/hooks/internal/wrapHook.cjs +62 -39
  216. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  217. package/__cjs/react/hooks/internal/wrapHook.d.cts +48 -42
  218. package/__cjs/react/hooks/useApolloClient.cjs +3 -3
  219. package/__cjs/react/hooks/useApolloClient.cjs.map +1 -1
  220. package/__cjs/react/hooks/useApolloClient.d.cts +1 -1
  221. package/__cjs/react/hooks/useBackgroundQuery.cjs +2 -2
  222. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  223. package/__cjs/react/hooks/useBackgroundQuery.d.cts +190 -56
  224. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  225. package/__cjs/react/hooks/useFragment.d.cts +51 -25
  226. package/__cjs/react/hooks/useLazyQuery.cjs +34 -35
  227. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  228. package/__cjs/react/hooks/useLazyQuery.d.cts +280 -303
  229. package/__cjs/react/hooks/useLoadableQuery.cjs +23 -4
  230. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  231. package/__cjs/react/hooks/useLoadableQuery.d.cts +105 -34
  232. package/__cjs/react/hooks/useMutation.cjs +16 -23
  233. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  234. package/__cjs/react/hooks/useMutation.d.cts +231 -4
  235. package/__cjs/react/hooks/useQuery.cjs +80 -204
  236. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  237. package/__cjs/react/hooks/useQuery.d.cts +269 -38
  238. package/__cjs/react/hooks/useQueryRefHandlers.cjs.map +1 -1
  239. package/__cjs/react/hooks/useQueryRefHandlers.d.cts +23 -22
  240. package/__cjs/react/hooks/useReactiveVar.cjs.map +1 -1
  241. package/__cjs/react/hooks/useReactiveVar.d.cts +1 -1
  242. package/__cjs/react/hooks/useReadQuery.cjs +1 -0
  243. package/__cjs/react/hooks/useReadQuery.cjs.map +1 -1
  244. package/__cjs/react/hooks/useReadQuery.d.cts +20 -25
  245. package/__cjs/react/hooks/useSubscription.cjs +20 -76
  246. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  247. package/__cjs/react/hooks/useSubscription.d.cts +94 -9
  248. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  249. package/__cjs/react/hooks/useSuspenseFragment.d.cts +40 -38
  250. package/__cjs/react/hooks/useSuspenseQuery.cjs +9 -32
  251. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  252. package/__cjs/react/hooks/useSuspenseQuery.d.cts +187 -37
  253. package/__cjs/react/hooks/useSyncExternalStore.cjs +22 -3
  254. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  255. package/__cjs/react/index.cjs +37 -11
  256. package/__cjs/react/index.cjs.map +1 -1
  257. package/__cjs/react/index.d.cts +22 -6
  258. package/__cjs/react/index.react-server.cjs +1 -5
  259. package/__cjs/react/index.react-server.cjs.map +1 -1
  260. package/__cjs/react/index.react-server.d.cts +0 -1
  261. package/__cjs/react/internal/cache/FragmentReference.cjs +8 -5
  262. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  263. package/__cjs/react/internal/cache/FragmentReference.d.cts +3 -3
  264. package/__cjs/react/internal/cache/QueryReference.cjs +25 -42
  265. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  266. package/__cjs/react/internal/cache/QueryReference.d.cts +49 -108
  267. package/__cjs/react/internal/cache/SuspenseCache.cjs.map +1 -1
  268. package/__cjs/react/internal/cache/SuspenseCache.d.cts +3 -3
  269. package/__cjs/react/internal/cache/getSuspenseCache.cjs.map +1 -1
  270. package/__cjs/react/internal/cache/getSuspenseCache.d.cts +2 -2
  271. package/__cjs/react/internal/index.cjs +3 -1
  272. package/__cjs/react/internal/index.cjs.map +1 -1
  273. package/__cjs/react/internal/index.d.cts +3 -1
  274. package/__cjs/react/internal/types.d.cts +9 -0
  275. package/__cjs/react/query-preloader/createQueryPreloader.cjs +9 -2
  276. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  277. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +46 -39
  278. package/__cjs/react/ssr/getDataFromTree.cjs +24 -30
  279. package/__cjs/react/ssr/getDataFromTree.cjs.map +1 -1
  280. package/__cjs/react/ssr/getDataFromTree.d.cts +12 -1
  281. package/__cjs/react/ssr/index.cjs +3 -3
  282. package/__cjs/react/ssr/index.cjs.map +1 -1
  283. package/__cjs/react/ssr/index.d.cts +1 -1
  284. package/__cjs/react/ssr/prerenderStatic.cjs +158 -0
  285. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -0
  286. package/__cjs/react/ssr/prerenderStatic.d.cts +122 -0
  287. package/__cjs/react/ssr/renderToStringWithData.cjs +11 -5
  288. package/__cjs/react/ssr/renderToStringWithData.cjs.map +1 -1
  289. package/__cjs/react/ssr/renderToStringWithData.d.cts +5 -0
  290. package/__cjs/react/ssr/useSSRQuery.cjs +70 -0
  291. package/__cjs/react/ssr/useSSRQuery.cjs.map +1 -0
  292. package/__cjs/react/ssr/useSSRQuery.d.cts +5 -0
  293. package/__cjs/react/types/deprecated.cjs +3 -0
  294. package/__cjs/react/types/deprecated.cjs.map +1 -0
  295. package/__cjs/react/types/deprecated.d.cts +75 -0
  296. package/__cjs/react/types/types.documentation.d.cts +18 -22
  297. package/__cjs/testing/core/mocking/mockLink.cjs +126 -121
  298. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  299. package/__cjs/testing/core/mocking/mockLink.d.cts +45 -19
  300. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs +2 -6
  301. package/__cjs/testing/core/mocking/mockSubscriptionLink.cjs.map +1 -1
  302. package/__cjs/testing/core/mocking/mockSubscriptionLink.d.cts +9 -8
  303. package/__cjs/testing/core/types/deprecated.cjs +3 -0
  304. package/__cjs/testing/core/types/deprecated.cjs.map +1 -0
  305. package/__cjs/testing/core/types/deprecated.d.cts +10 -0
  306. package/__cjs/testing/index.cjs +6 -2
  307. package/__cjs/testing/index.cjs.map +1 -1
  308. package/__cjs/testing/index.d.cts +3 -1
  309. package/__cjs/testing/react/MockedProvider.cjs +12 -8
  310. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  311. package/__cjs/testing/react/MockedProvider.d.cts +8 -7
  312. package/__cjs/utilities/DeepPartial.cjs.map +1 -0
  313. package/__cjs/utilities/DeepPartial.d.cts +15 -0
  314. package/__cjs/utilities/HKT.cjs +3 -0
  315. package/__cjs/utilities/HKT.cjs.map +1 -0
  316. package/__cjs/utilities/HKT.d.cts +35 -0
  317. package/__cjs/utilities/caching/index.cjs +1 -4
  318. package/__cjs/utilities/caching/index.cjs.map +1 -1
  319. package/__cjs/utilities/caching/index.d.cts +0 -1
  320. package/__cjs/utilities/caching/sizes.cjs +3 -3
  321. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  322. package/__cjs/utilities/caching/sizes.d.cts +2 -20
  323. package/__cjs/utilities/common/stripTypename.cjs +8 -2
  324. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  325. package/__cjs/utilities/common/stripTypename.d.cts +7 -1
  326. package/__cjs/utilities/graphql/DocumentTransform.cjs +13 -9
  327. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  328. package/__cjs/utilities/graphql/DocumentTransform.d.cts +10 -6
  329. package/__cjs/utilities/graphql/operations.cjs +23 -2
  330. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  331. package/__cjs/utilities/graphql/operations.d.cts +22 -1
  332. package/__cjs/utilities/graphql/print.cjs +9 -1
  333. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  334. package/__cjs/utilities/graphql/print.d.cts +8 -0
  335. package/__cjs/utilities/graphql/storeUtils.cjs +5 -206
  336. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  337. package/__cjs/utilities/graphql/storeUtils.d.cts +14 -22
  338. package/__cjs/utilities/graphql/transform.cjs +8 -454
  339. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  340. package/__cjs/utilities/graphql/transform.d.cts +6 -24
  341. package/__cjs/utilities/index.cjs +4 -72
  342. package/__cjs/utilities/index.cjs.map +1 -1
  343. package/__cjs/utilities/index.d.cts +7 -37
  344. package/__cjs/utilities/internal/DeepMerger.cjs +67 -0
  345. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
  346. package/__cjs/utilities/internal/DeepMerger.d.cts +17 -0
  347. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
  348. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
  349. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
  350. package/__cjs/utilities/internal/caches.cjs +76 -0
  351. package/__cjs/utilities/internal/caches.cjs.map +1 -0
  352. package/__cjs/utilities/internal/caches.d.cts +42 -0
  353. package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
  354. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
  355. package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
  356. package/__cjs/utilities/internal/checkDocument.cjs +35 -0
  357. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
  358. package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
  359. package/__cjs/utilities/internal/cloneDeep.cjs +45 -0
  360. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
  361. package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
  362. package/__cjs/utilities/internal/compact.cjs +26 -0
  363. package/__cjs/utilities/internal/compact.cjs.map +1 -0
  364. package/__cjs/utilities/internal/compact.d.cts +11 -0
  365. package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
  366. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
  367. package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
  368. package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
  369. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
  370. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
  371. package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
  372. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
  373. package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
  374. package/__cjs/utilities/internal/dealias.cjs +21 -0
  375. package/__cjs/utilities/internal/dealias.cjs.map +1 -0
  376. package/__cjs/utilities/internal/dealias.d.cts +5 -0
  377. package/__cjs/utilities/internal/decoratePromise.cjs +33 -0
  378. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
  379. package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
  380. package/__cjs/utilities/internal/deepFreeze.cjs +39 -0
  381. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
  382. package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
  383. package/__cjs/utilities/internal/filterMap.cjs +31 -0
  384. package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
  385. package/__cjs/utilities/internal/filterMap.d.cts +4 -0
  386. package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
  387. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
  388. package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
  389. package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
  390. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
  391. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
  392. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
  393. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
  394. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
  395. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
  396. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
  397. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
  398. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs +86 -0
  399. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
  400. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +29 -0
  401. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +23 -0
  402. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
  403. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +8 -0
  404. package/__cjs/utilities/internal/getMainDefinition.cjs +38 -0
  405. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
  406. package/__cjs/utilities/internal/getMainDefinition.d.cts +12 -0
  407. package/__cjs/utilities/internal/getMemoryInternals.cjs +15 -11
  408. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  409. package/__cjs/utilities/internal/getMemoryInternals.d.cts +15 -10
  410. package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
  411. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
  412. package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
  413. package/__cjs/utilities/internal/getOperationName.cjs +12 -0
  414. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
  415. package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
  416. package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
  417. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
  418. package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
  419. package/__cjs/utilities/internal/getStoreKeyName.cjs +73 -0
  420. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
  421. package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
  422. package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
  423. package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
  424. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
  425. package/__cjs/utilities/internal/graphQLResultHasError.cjs +15 -0
  426. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
  427. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
  428. package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
  429. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
  430. package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
  431. package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
  432. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
  433. package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
  434. package/__cjs/utilities/internal/index.cjs +105 -3
  435. package/__cjs/utilities/internal/index.cjs.map +1 -1
  436. package/__cjs/utilities/internal/index.d.cts +66 -1
  437. package/__cjs/utilities/internal/index.production.cjs +1 -0
  438. package/__cjs/utilities/internal/index.production.cjs.map +1 -1
  439. package/__cjs/utilities/internal/isArray.cjs +12 -0
  440. package/__cjs/utilities/internal/isArray.cjs.map +1 -0
  441. package/__cjs/utilities/internal/isArray.d.cts +9 -0
  442. package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
  443. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
  444. package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
  445. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs +12 -0
  446. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs.map +1 -0
  447. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.d.cts +8 -0
  448. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs +12 -0
  449. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs.map +1 -0
  450. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.d.cts +8 -0
  451. package/__cjs/utilities/internal/isExecutionPatchResult.cjs +15 -0
  452. package/__cjs/utilities/internal/isExecutionPatchResult.cjs.map +1 -0
  453. package/__cjs/utilities/internal/isExecutionPatchResult.d.cts +8 -0
  454. package/__cjs/utilities/internal/isField.cjs +12 -0
  455. package/__cjs/utilities/internal/isField.cjs.map +1 -0
  456. package/__cjs/utilities/internal/isField.d.cts +8 -0
  457. package/__cjs/utilities/internal/isNonEmptyArray.cjs +12 -0
  458. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
  459. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
  460. package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
  461. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
  462. package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
  463. package/__cjs/utilities/internal/isPlainObject.cjs +15 -0
  464. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
  465. package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
  466. package/__cjs/utilities/internal/makeReference.cjs +12 -0
  467. package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
  468. package/__cjs/utilities/internal/makeReference.d.cts +8 -0
  469. package/__cjs/utilities/internal/makeUniqueId.cjs +18 -0
  470. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
  471. package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
  472. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
  473. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
  474. package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
  475. package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
  476. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
  477. package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
  478. package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
  479. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
  480. package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
  481. package/__cjs/utilities/internal/mergeIncrementalData.cjs +30 -0
  482. package/__cjs/utilities/internal/mergeIncrementalData.cjs.map +1 -0
  483. package/__cjs/utilities/internal/mergeIncrementalData.d.cts +8 -0
  484. package/__cjs/utilities/internal/mergeOptions.cjs +18 -0
  485. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
  486. package/__cjs/utilities/internal/mergeOptions.d.cts +10 -0
  487. package/__cjs/utilities/internal/omitDeep.cjs +48 -0
  488. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
  489. package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
  490. package/__cjs/utilities/internal/preventUnhandledRejection.cjs.map +1 -0
  491. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +306 -0
  492. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
  493. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
  494. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
  495. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
  496. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
  497. package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
  498. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
  499. package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
  500. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
  501. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
  502. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
  503. package/__cjs/utilities/internal/stringifyForDisplay.cjs +18 -0
  504. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
  505. package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
  506. package/__cjs/utilities/internal/toQueryResult.cjs +18 -0
  507. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -0
  508. package/__cjs/utilities/internal/toQueryResult.d.cts +8 -0
  509. package/__cjs/utilities/internal/types/ApplyHKT.cjs +3 -0
  510. package/__cjs/utilities/internal/types/ApplyHKT.cjs.map +1 -0
  511. package/__cjs/utilities/internal/types/ApplyHKT.d.cts +13 -0
  512. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs +3 -0
  513. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.cjs.map +1 -0
  514. package/__cjs/utilities/internal/types/ApplyHKTImplementationWithDefault.d.cts +11 -0
  515. package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
  516. package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
  517. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
  518. package/__cjs/utilities/internal/types/DeepOmit.d.cts +15 -0
  519. package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
  520. package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
  521. package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
  522. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
  523. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
  524. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
  525. package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
  526. package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
  527. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
  528. package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
  529. package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
  530. package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
  531. package/__cjs/utilities/internal/types/NoInfer.d.cts +29 -0
  532. package/__cjs/utilities/internal/types/PendingPromise.cjs +3 -0
  533. package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
  534. package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
  535. package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
  536. package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
  537. package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
  538. package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
  539. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
  540. package/__cjs/utilities/internal/types/RemoveIndexSignature.d.cts +9 -0
  541. package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
  542. package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
  543. package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
  544. package/__cjs/utilities/internal/types/VariablesOption.cjs +3 -0
  545. package/__cjs/utilities/internal/types/VariablesOption.cjs.map +1 -0
  546. package/__cjs/utilities/internal/types/VariablesOption.d.cts +30 -0
  547. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
  548. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
  549. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
  550. package/__cjs/utilities/invariant/index.cjs +3 -2
  551. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  552. package/__cjs/utilities/invariant/index.development.cjs +1 -0
  553. package/__cjs/utilities/invariant/index.development.cjs.map +1 -1
  554. package/__cjs/utilities/policies/pagination.cjs +26 -9
  555. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  556. package/__cjs/utilities/policies/pagination.d.cts +23 -0
  557. package/__cjs/utilities/shared/canonicalStringify.cjs +91 -0
  558. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
  559. package/__cjs/utilities/subscriptions/relay/index.cjs +6 -6
  560. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  561. package/__cjs/utilities/subscriptions/relay/index.d.cts +1 -1
  562. package/__cjs/version.cjs +1 -1
  563. package/__cjs/version.cjs.map +1 -1
  564. package/__cjs/version.d.cts +1 -1
  565. package/cache/core/cache.d.ts +12 -9
  566. package/cache/core/cache.js +11 -9
  567. package/cache/core/cache.js.map +1 -1
  568. package/cache/core/types/Cache.d.ts +1 -1
  569. package/cache/core/types/Cache.js.map +1 -1
  570. package/cache/core/types/DataProxy.d.ts +1 -1
  571. package/cache/core/types/common.js +1 -0
  572. package/cache/core/types/common.js.map +1 -1
  573. package/cache/index.d.ts +3 -3
  574. package/cache/index.js +1 -1
  575. package/cache/index.js.map +1 -1
  576. package/cache/inmemory/entityStore.d.ts +1 -0
  577. package/cache/inmemory/entityStore.js +9 -5
  578. package/cache/inmemory/entityStore.js.map +1 -1
  579. package/cache/inmemory/fragmentRegistry.js +2 -1
  580. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  581. package/cache/inmemory/helpers.d.ts +3 -3
  582. package/cache/inmemory/helpers.js +2 -2
  583. package/cache/inmemory/helpers.js.map +1 -1
  584. package/cache/inmemory/inMemoryCache.d.ts +10 -8
  585. package/cache/inmemory/inMemoryCache.js.map +1 -1
  586. package/cache/inmemory/key-extractor.js +3 -3
  587. package/cache/inmemory/key-extractor.js.map +1 -1
  588. package/cache/inmemory/policies.d.ts +2 -1
  589. package/cache/inmemory/policies.js +7 -6
  590. package/cache/inmemory/policies.js.map +1 -1
  591. package/cache/inmemory/reactiveVars.d.ts +1 -1
  592. package/cache/inmemory/reactiveVars.js.map +1 -1
  593. package/cache/inmemory/readFromStore.js +5 -4
  594. package/cache/inmemory/readFromStore.js.map +1 -1
  595. package/cache/inmemory/types.d.ts +1 -1
  596. package/cache/inmemory/writeToStore.d.ts +3 -2
  597. package/cache/inmemory/writeToStore.js +34 -6
  598. package/cache/inmemory/writeToStore.js.map +1 -1
  599. package/core/ApolloClient.d.ts +33 -53
  600. package/core/ApolloClient.js +61 -78
  601. package/core/ApolloClient.js.map +1 -1
  602. package/core/ObservableQuery.d.ts +256 -39
  603. package/core/ObservableQuery.js +826 -372
  604. package/core/ObservableQuery.js.map +1 -1
  605. package/core/QueryInfo.d.ts +50 -37
  606. package/core/QueryInfo.js +339 -301
  607. package/core/QueryInfo.js.map +1 -1
  608. package/core/QueryManager.d.ts +53 -63
  609. package/core/QueryManager.js +483 -553
  610. package/core/QueryManager.js.map +1 -1
  611. package/core/equalByQuery.js +1 -1
  612. package/core/equalByQuery.js.map +1 -1
  613. package/core/index.d.ts +13 -13
  614. package/core/index.js +10 -7
  615. package/core/index.js.map +1 -1
  616. package/core/networkStatus.d.ts +7 -1
  617. package/core/networkStatus.js +7 -1
  618. package/core/networkStatus.js.map +1 -1
  619. package/core/types.d.ts +126 -14
  620. package/core/watchQueryOptions.d.ts +33 -103
  621. package/dev/loadErrorMessageHandler.js +1 -1
  622. package/dev/loadErrorMessageHandler.js.map +1 -1
  623. package/dev/setErrorMessageHandler.js +1 -1
  624. package/dev/setErrorMessageHandler.js.map +1 -1
  625. package/errors/CombinedGraphQLErrors.d.ts +21 -2
  626. package/errors/CombinedGraphQLErrors.js +30 -11
  627. package/errors/CombinedGraphQLErrors.js.map +1 -1
  628. package/errors/CombinedProtocolErrors.d.ts +9 -0
  629. package/errors/CombinedProtocolErrors.js +13 -6
  630. package/errors/CombinedProtocolErrors.js.map +1 -1
  631. package/errors/LinkError.d.ts +18 -0
  632. package/errors/LinkError.js +20 -0
  633. package/errors/LinkError.js.map +1 -0
  634. package/errors/LocalStateError.d.ts +20 -0
  635. package/errors/LocalStateError.js +23 -0
  636. package/errors/LocalStateError.js.map +1 -0
  637. package/errors/ServerError.d.ts +10 -8
  638. package/errors/ServerError.js +9 -4
  639. package/errors/ServerError.js.map +1 -1
  640. package/errors/ServerParseError.d.ts +2 -0
  641. package/errors/ServerParseError.js +6 -0
  642. package/errors/ServerParseError.js.map +1 -1
  643. package/errors/UnconventionalError.d.ts +2 -0
  644. package/errors/UnconventionalError.js +6 -0
  645. package/errors/UnconventionalError.js.map +1 -1
  646. package/errors/index.d.ts +5 -4
  647. package/errors/index.js +15 -1
  648. package/errors/index.js.map +1 -1
  649. package/errors/isErrorLike.d.ts +3 -0
  650. package/errors/isErrorLike.js +9 -0
  651. package/errors/isErrorLike.js.map +1 -0
  652. package/errors/utils.d.ts +3 -0
  653. package/errors/utils.js +14 -0
  654. package/errors/utils.js.map +1 -0
  655. package/invariantErrorCodes.js +276 -212
  656. package/legacyEntryPoints/link/index.d.ts +1 -0
  657. package/legacyEntryPoints/link/index.js +1 -0
  658. package/legacyEntryPoints/link/link.cjs +1 -0
  659. package/legacyEntryPoints/link/link.d.cts +1 -0
  660. package/legacyEntryPoints/local-state/index.d.ts +1 -0
  661. package/legacyEntryPoints/local-state/index.js +1 -0
  662. package/legacyEntryPoints/local-state/local-state.cjs +1 -0
  663. package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
  664. package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
  665. package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
  666. package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
  667. package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
  668. package/link/batch/batchLink.d.ts +2 -2
  669. package/link/batch/batchLink.js +1 -1
  670. package/link/batch/batchLink.js.map +1 -1
  671. package/link/batch/batching.d.ts +1 -1
  672. package/link/batch/batching.js.map +1 -1
  673. package/link/batch/index.d.ts +2 -1
  674. package/link/batch/index.js +1 -1
  675. package/link/batch/index.js.map +1 -1
  676. package/link/batch-http/batchHttpLink.d.ts +5 -4
  677. package/link/batch-http/batchHttpLink.js +4 -50
  678. package/link/batch-http/batchHttpLink.js.map +1 -1
  679. package/link/batch-http/index.d.ts +1 -1
  680. package/link/batch-http/index.js +1 -1
  681. package/link/batch-http/index.js.map +1 -1
  682. package/link/context/index.d.ts +3 -4
  683. package/link/context/index.js +1 -1
  684. package/link/context/index.js.map +1 -1
  685. package/link/core/ApolloLink.d.ts +18 -14
  686. package/link/core/ApolloLink.js +19 -31
  687. package/link/core/ApolloLink.js.map +1 -1
  688. package/link/core/types.d.ts +19 -8
  689. package/link/error/index.d.ts +6 -17
  690. package/link/error/index.js +15 -30
  691. package/link/error/index.js.map +1 -1
  692. package/link/http/HttpLink.d.ts +129 -4
  693. package/link/http/HttpLink.js +1 -1
  694. package/link/http/HttpLink.js.map +1 -1
  695. package/link/http/checkFetcher.js +1 -1
  696. package/link/http/createHttpLink.d.ts +3 -3
  697. package/link/http/createHttpLink.js +7 -14
  698. package/link/http/createHttpLink.js.map +1 -1
  699. package/link/http/index.d.ts +0 -1
  700. package/link/http/index.js.map +1 -1
  701. package/link/http/parseAndCheckHttpResponse.d.ts +1 -3
  702. package/link/http/parseAndCheckHttpResponse.js +30 -56
  703. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  704. package/link/http/rewriteURIForGET.d.ts +2 -2
  705. package/link/http/rewriteURIForGET.js.map +1 -1
  706. package/link/http/selectHttpOptionsAndBody.d.ts +8 -83
  707. package/link/http/selectHttpOptionsAndBody.js +1 -1
  708. package/link/http/selectHttpOptionsAndBody.js.map +1 -1
  709. package/link/http/selectURI.d.ts +1 -1
  710. package/link/http/selectURI.js.map +1 -1
  711. package/link/http/serializeFetchParameter.js +1 -1
  712. package/link/index.d.ts +8 -0
  713. package/link/index.js +7 -0
  714. package/link/index.js.map +1 -0
  715. package/link/persisted-queries/index.d.ts +4 -4
  716. package/link/persisted-queries/index.js +17 -15
  717. package/link/persisted-queries/index.js.map +1 -1
  718. package/link/remove-typename/removeTypenameFromVariables.d.ts +1 -1
  719. package/link/remove-typename/removeTypenameFromVariables.js +3 -2
  720. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  721. package/link/retry/delayFunction.d.ts +1 -1
  722. package/link/retry/delayFunction.js.map +1 -1
  723. package/link/retry/index.d.ts +1 -1
  724. package/link/retry/index.js +1 -1
  725. package/link/retry/index.js.map +1 -1
  726. package/link/retry/retryFunction.d.ts +1 -1
  727. package/link/retry/retryFunction.js.map +1 -1
  728. package/link/retry/retryLink.d.ts +2 -2
  729. package/link/retry/retryLink.js +1 -1
  730. package/link/retry/retryLink.js.map +1 -1
  731. package/link/schema/index.d.ts +2 -2
  732. package/link/schema/index.js +1 -1
  733. package/link/schema/index.js.map +1 -1
  734. package/link/subscriptions/index.d.ts +2 -2
  735. package/link/subscriptions/index.js +5 -3
  736. package/link/subscriptions/index.js.map +1 -1
  737. package/link/utils/createOperation.d.ts +2 -2
  738. package/link/utils/createOperation.js +5 -1
  739. package/link/utils/createOperation.js.map +1 -1
  740. package/link/utils/transformOperation.d.ts +1 -1
  741. package/link/utils/transformOperation.js +2 -2
  742. package/link/utils/transformOperation.js.map +1 -1
  743. package/link/utils/validateOperation.d.ts +1 -1
  744. package/link/utils/validateOperation.js +1 -1
  745. package/link/utils/validateOperation.js.map +1 -1
  746. package/link/ws/index.d.ts +2 -2
  747. package/link/ws/index.js +1 -1
  748. package/link/ws/index.js.map +1 -1
  749. package/local-state/LocalState.d.ts +89 -0
  750. package/local-state/LocalState.js +527 -0
  751. package/local-state/LocalState.js.map +1 -0
  752. package/local-state/index.d.ts +2 -0
  753. package/local-state/index.js +2 -0
  754. package/local-state/index.js.map +1 -0
  755. package/masking/GraphQLCodegenDataMasking.d.ts +79 -0
  756. package/masking/GraphQLCodegenDataMasking.js +2 -0
  757. package/masking/GraphQLCodegenDataMasking.js.map +1 -0
  758. package/masking/index.d.ts +1 -0
  759. package/masking/index.js.map +1 -1
  760. package/masking/internal/types.d.ts +1 -2
  761. package/masking/maskDefinition.d.ts +1 -1
  762. package/masking/maskDefinition.js +4 -4
  763. package/masking/maskDefinition.js.map +1 -1
  764. package/masking/maskFragment.d.ts +6 -2
  765. package/masking/maskFragment.js +8 -12
  766. package/masking/maskFragment.js.map +1 -1
  767. package/masking/maskOperation.d.ts +6 -2
  768. package/masking/maskOperation.js +7 -11
  769. package/masking/maskOperation.js.map +1 -1
  770. package/masking/types.d.ts +11 -26
  771. package/masking/utils.d.ts +7 -2
  772. package/masking/utils.js +31 -7
  773. package/masking/utils.js.map +1 -1
  774. package/package.json +31 -211
  775. package/react/context/ApolloConsumer.d.ts +7 -4
  776. package/react/context/ApolloConsumer.js +1 -1
  777. package/react/context/ApolloConsumer.js.map +1 -1
  778. package/react/context/ApolloContext.d.ts +3 -3
  779. package/react/context/ApolloContext.js +1 -1
  780. package/react/context/ApolloContext.js.map +1 -1
  781. package/react/context/ApolloProvider.d.ts +7 -5
  782. package/react/context/ApolloProvider.js +1 -1
  783. package/react/context/ApolloProvider.js.map +1 -1
  784. package/react/hooks/internal/__use.js +6 -6
  785. package/react/hooks/internal/__use.js.map +1 -1
  786. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  787. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  788. package/react/hooks/internal/validateSuspenseHookOptions.d.ts +3 -0
  789. package/react/hooks/internal/validateSuspenseHookOptions.js +22 -0
  790. package/react/hooks/internal/validateSuspenseHookOptions.js.map +1 -0
  791. package/react/hooks/internal/wrapHook.d.ts +48 -42
  792. package/react/hooks/internal/wrapHook.js +60 -39
  793. package/react/hooks/internal/wrapHook.js.map +1 -1
  794. package/react/hooks/useApolloClient.d.ts +1 -1
  795. package/react/hooks/useApolloClient.js +2 -2
  796. package/react/hooks/useApolloClient.js.map +1 -1
  797. package/react/hooks/useBackgroundQuery.d.ts +190 -56
  798. package/react/hooks/useBackgroundQuery.js +2 -2
  799. package/react/hooks/useBackgroundQuery.js.map +1 -1
  800. package/react/hooks/useFragment.d.ts +51 -25
  801. package/react/hooks/useFragment.js.map +1 -1
  802. package/react/hooks/useLazyQuery.d.ts +280 -303
  803. package/react/hooks/useLazyQuery.js +32 -33
  804. package/react/hooks/useLazyQuery.js.map +1 -1
  805. package/react/hooks/useLoadableQuery.d.ts +105 -34
  806. package/react/hooks/useLoadableQuery.js +23 -4
  807. package/react/hooks/useLoadableQuery.js.map +1 -1
  808. package/react/hooks/useMutation.d.ts +231 -4
  809. package/react/hooks/useMutation.js +15 -22
  810. package/react/hooks/useMutation.js.map +1 -1
  811. package/react/hooks/useQuery.d.ts +269 -38
  812. package/react/hooks/useQuery.js +79 -203
  813. package/react/hooks/useQuery.js.map +1 -1
  814. package/react/hooks/useQueryRefHandlers.d.ts +23 -22
  815. package/react/hooks/useQueryRefHandlers.js.map +1 -1
  816. package/react/hooks/useReactiveVar.d.ts +1 -1
  817. package/react/hooks/useReactiveVar.js.map +1 -1
  818. package/react/hooks/useReadQuery.d.ts +20 -25
  819. package/react/hooks/useReadQuery.js +1 -0
  820. package/react/hooks/useReadQuery.js.map +1 -1
  821. package/react/hooks/useSubscription.d.ts +94 -9
  822. package/react/hooks/useSubscription.js +19 -72
  823. package/react/hooks/useSubscription.js.map +1 -1
  824. package/react/hooks/useSuspenseFragment.d.ts +40 -38
  825. package/react/hooks/useSuspenseFragment.js.map +1 -1
  826. package/react/hooks/useSuspenseQuery.d.ts +187 -37
  827. package/react/hooks/useSuspenseQuery.js +7 -26
  828. package/react/hooks/useSuspenseQuery.js.map +1 -1
  829. package/react/hooks/useSyncExternalStore.js +21 -2
  830. package/react/hooks/useSyncExternalStore.js.map +1 -1
  831. package/react/index.d.ts +22 -6
  832. package/react/index.js +18 -3
  833. package/react/index.js.map +1 -1
  834. package/react/index.react-server.d.ts +0 -1
  835. package/react/index.react-server.js +0 -1
  836. package/react/index.react-server.js.map +1 -1
  837. package/react/internal/cache/FragmentReference.d.ts +3 -3
  838. package/react/internal/cache/FragmentReference.js +6 -3
  839. package/react/internal/cache/FragmentReference.js.map +1 -1
  840. package/react/internal/cache/QueryReference.d.ts +49 -108
  841. package/react/internal/cache/QueryReference.js +22 -39
  842. package/react/internal/cache/QueryReference.js.map +1 -1
  843. package/react/internal/cache/SuspenseCache.d.ts +3 -3
  844. package/react/internal/cache/SuspenseCache.js.map +1 -1
  845. package/react/internal/cache/getSuspenseCache.d.ts +2 -2
  846. package/react/internal/cache/getSuspenseCache.js.map +1 -1
  847. package/react/internal/index.d.ts +3 -1
  848. package/react/internal/index.js +2 -1
  849. package/react/internal/index.js.map +1 -1
  850. package/react/internal/types.d.ts +9 -0
  851. package/react/query-preloader/createQueryPreloader.d.ts +46 -39
  852. package/react/query-preloader/createQueryPreloader.js +10 -3
  853. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  854. package/react/ssr/getDataFromTree.d.ts +12 -1
  855. package/react/ssr/getDataFromTree.js +24 -29
  856. package/react/ssr/getDataFromTree.js.map +1 -1
  857. package/react/ssr/index.d.ts +1 -1
  858. package/react/ssr/index.js +1 -1
  859. package/react/ssr/index.js.map +1 -1
  860. package/react/ssr/prerenderStatic.d.ts +122 -0
  861. package/react/ssr/prerenderStatic.js +154 -0
  862. package/react/ssr/prerenderStatic.js.map +1 -0
  863. package/react/ssr/renderToStringWithData.d.ts +5 -0
  864. package/react/ssr/renderToStringWithData.js +11 -5
  865. package/react/ssr/renderToStringWithData.js.map +1 -1
  866. package/react/ssr/useSSRQuery.d.ts +5 -0
  867. package/react/ssr/useSSRQuery.js +66 -0
  868. package/react/ssr/useSSRQuery.js.map +1 -0
  869. package/react/types/deprecated.d.ts +75 -0
  870. package/react/types/deprecated.js +2 -0
  871. package/react/types/deprecated.js.map +1 -0
  872. package/react/types/types.documentation.d.ts +18 -22
  873. package/testing/core/mocking/mockLink.d.ts +45 -19
  874. package/testing/core/mocking/mockLink.js +123 -119
  875. package/testing/core/mocking/mockLink.js.map +1 -1
  876. package/testing/core/mocking/mockSubscriptionLink.d.ts +9 -8
  877. package/testing/core/mocking/mockSubscriptionLink.js +1 -4
  878. package/testing/core/mocking/mockSubscriptionLink.js.map +1 -1
  879. package/testing/core/types/deprecated.d.ts +10 -0
  880. package/testing/core/types/deprecated.js +2 -0
  881. package/testing/core/types/deprecated.js.map +1 -0
  882. package/testing/index.d.ts +3 -1
  883. package/testing/index.js +2 -1
  884. package/testing/index.js.map +1 -1
  885. package/testing/react/MockedProvider.d.ts +8 -7
  886. package/testing/react/MockedProvider.js +10 -6
  887. package/testing/react/MockedProvider.js.map +1 -1
  888. package/utilities/DeepPartial.d.ts +15 -0
  889. package/utilities/DeepPartial.js.map +1 -0
  890. package/utilities/HKT.d.ts +35 -0
  891. package/utilities/HKT.js +2 -0
  892. package/utilities/HKT.js.map +1 -0
  893. package/utilities/caching/index.d.ts +0 -1
  894. package/utilities/caching/index.js +0 -1
  895. package/utilities/caching/index.js.map +1 -1
  896. package/utilities/caching/sizes.d.ts +2 -20
  897. package/utilities/caching/sizes.js +3 -3
  898. package/utilities/caching/sizes.js.map +1 -1
  899. package/utilities/common/stripTypename.d.ts +7 -1
  900. package/utilities/common/stripTypename.js +7 -1
  901. package/utilities/common/stripTypename.js.map +1 -1
  902. package/utilities/graphql/DocumentTransform.d.ts +10 -6
  903. package/utilities/graphql/DocumentTransform.js +12 -8
  904. package/utilities/graphql/DocumentTransform.js.map +1 -1
  905. package/utilities/graphql/operations.d.ts +22 -1
  906. package/utilities/graphql/operations.js +22 -1
  907. package/utilities/graphql/operations.js.map +1 -1
  908. package/utilities/graphql/print.d.ts +8 -0
  909. package/utilities/graphql/print.js +10 -2
  910. package/utilities/graphql/print.js.map +1 -1
  911. package/utilities/graphql/storeUtils.d.ts +14 -22
  912. package/utilities/graphql/storeUtils.js +5 -196
  913. package/utilities/graphql/storeUtils.js.map +1 -1
  914. package/utilities/graphql/transform.d.ts +6 -24
  915. package/utilities/graphql/transform.js +7 -443
  916. package/utilities/graphql/transform.js.map +1 -1
  917. package/utilities/index.d.ts +7 -37
  918. package/utilities/index.js +4 -23
  919. package/utilities/index.js.map +1 -1
  920. package/utilities/internal/DeepMerger.d.ts +17 -0
  921. package/utilities/internal/DeepMerger.js +63 -0
  922. package/utilities/internal/DeepMerger.js.map +1 -0
  923. package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
  924. package/utilities/internal/argumentsObjectFromField.js +15 -0
  925. package/utilities/internal/argumentsObjectFromField.js.map +1 -0
  926. package/utilities/internal/caches.d.ts +42 -0
  927. package/utilities/internal/caches.js +73 -0
  928. package/utilities/internal/caches.js.map +1 -0
  929. package/utilities/internal/canUseDOM.d.ts +7 -0
  930. package/utilities/internal/canUseDOM.js +8 -0
  931. package/utilities/internal/canUseDOM.js.map +1 -0
  932. package/utilities/internal/checkDocument.d.ts +10 -0
  933. package/utilities/internal/checkDocument.js +32 -0
  934. package/utilities/internal/checkDocument.js.map +1 -0
  935. package/utilities/internal/cloneDeep.d.ts +9 -0
  936. package/utilities/internal/cloneDeep.js +42 -0
  937. package/utilities/internal/cloneDeep.js.map +1 -0
  938. package/utilities/internal/compact.d.ts +11 -0
  939. package/utilities/internal/compact.js +23 -0
  940. package/utilities/internal/compact.js.map +1 -0
  941. package/utilities/internal/createFragmentMap.d.ts +12 -0
  942. package/utilities/internal/createFragmentMap.js +16 -0
  943. package/utilities/internal/createFragmentMap.js.map +1 -0
  944. package/utilities/internal/createFulfilledPromise.d.ts +8 -0
  945. package/utilities/internal/createFulfilledPromise.js +12 -0
  946. package/utilities/internal/createFulfilledPromise.js.map +1 -0
  947. package/utilities/internal/createRejectedPromise.d.ts +8 -0
  948. package/utilities/internal/createRejectedPromise.js +14 -0
  949. package/utilities/internal/createRejectedPromise.js.map +1 -0
  950. package/utilities/internal/dealias.d.ts +5 -0
  951. package/utilities/internal/dealias.js +18 -0
  952. package/utilities/internal/dealias.js.map +1 -0
  953. package/utilities/internal/decoratePromise.d.ts +8 -0
  954. package/utilities/internal/decoratePromise.js +30 -0
  955. package/utilities/internal/decoratePromise.js.map +1 -0
  956. package/utilities/internal/deepFreeze.d.ts +7 -0
  957. package/utilities/internal/deepFreeze.js +36 -0
  958. package/utilities/internal/deepFreeze.js.map +1 -0
  959. package/utilities/internal/filterMap.d.ts +4 -0
  960. package/utilities/internal/filterMap.js +28 -0
  961. package/utilities/internal/filterMap.js.map +1 -0
  962. package/utilities/internal/getDefaultValues.d.ts +8 -0
  963. package/utilities/internal/getDefaultValues.js +19 -0
  964. package/utilities/internal/getDefaultValues.js.map +1 -0
  965. package/utilities/internal/getFragmentDefinition.d.ts +8 -0
  966. package/utilities/internal/getFragmentDefinition.js +14 -0
  967. package/utilities/internal/getFragmentDefinition.js.map +1 -0
  968. package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
  969. package/utilities/internal/getFragmentDefinitions.js +9 -0
  970. package/utilities/internal/getFragmentDefinitions.js.map +1 -0
  971. package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
  972. package/utilities/internal/getFragmentFromSelection.js +24 -0
  973. package/utilities/internal/getFragmentFromSelection.js.map +1 -0
  974. package/utilities/internal/getFragmentQueryDocument.d.ts +29 -0
  975. package/utilities/internal/getFragmentQueryDocument.js +83 -0
  976. package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
  977. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +8 -0
  978. package/utilities/internal/getGraphQLErrorsFromResult.js +20 -0
  979. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
  980. package/utilities/internal/getMainDefinition.d.ts +12 -0
  981. package/utilities/internal/getMainDefinition.js +35 -0
  982. package/utilities/internal/getMainDefinition.js.map +1 -0
  983. package/utilities/internal/getMemoryInternals.d.ts +15 -10
  984. package/utilities/internal/getMemoryInternals.js +15 -11
  985. package/utilities/internal/getMemoryInternals.js.map +1 -1
  986. package/utilities/internal/getOperationDefinition.d.ts +8 -0
  987. package/utilities/internal/getOperationDefinition.js +11 -0
  988. package/utilities/internal/getOperationDefinition.js.map +1 -0
  989. package/utilities/internal/getOperationName.d.ts +8 -0
  990. package/utilities/internal/getOperationName.js +9 -0
  991. package/utilities/internal/getOperationName.js.map +1 -0
  992. package/utilities/internal/getQueryDefinition.d.ts +8 -0
  993. package/utilities/internal/getQueryDefinition.js +13 -0
  994. package/utilities/internal/getQueryDefinition.js.map +1 -0
  995. package/utilities/internal/getStoreKeyName.d.ts +16 -0
  996. package/utilities/internal/getStoreKeyName.js +70 -0
  997. package/utilities/internal/getStoreKeyName.js.map +1 -0
  998. package/utilities/internal/globals/global.js +14 -0
  999. package/utilities/internal/globals/global.js.map +1 -0
  1000. package/utilities/internal/globals/index.js.map +1 -0
  1001. package/utilities/internal/globals/maybe.js.map +1 -0
  1002. package/utilities/internal/graphQLResultHasError.d.ts +8 -0
  1003. package/utilities/internal/graphQLResultHasError.js +12 -0
  1004. package/utilities/internal/graphQLResultHasError.js.map +1 -0
  1005. package/utilities/internal/hasDirectives.d.ts +8 -0
  1006. package/utilities/internal/hasDirectives.js +21 -0
  1007. package/utilities/internal/hasDirectives.js.map +1 -0
  1008. package/utilities/internal/hasForcedResolvers.d.ts +3 -0
  1009. package/utilities/internal/hasForcedResolvers.js +20 -0
  1010. package/utilities/internal/hasForcedResolvers.js.map +1 -0
  1011. package/utilities/internal/index.d.ts +66 -1
  1012. package/utilities/internal/index.js +52 -2
  1013. package/utilities/internal/index.js.map +1 -1
  1014. package/utilities/internal/index.production.js +1 -0
  1015. package/utilities/internal/index.production.js.map +1 -1
  1016. package/utilities/internal/isArray.d.ts +9 -0
  1017. package/utilities/internal/isArray.js +9 -0
  1018. package/utilities/internal/isArray.js.map +1 -0
  1019. package/utilities/internal/isDocumentNode.d.ts +8 -0
  1020. package/utilities/internal/isDocumentNode.js +12 -0
  1021. package/utilities/internal/isDocumentNode.js.map +1 -0
  1022. package/utilities/internal/isExecutionPatchIncrementalResult.d.ts +8 -0
  1023. package/utilities/internal/isExecutionPatchIncrementalResult.js +9 -0
  1024. package/utilities/internal/isExecutionPatchIncrementalResult.js.map +1 -0
  1025. package/utilities/internal/isExecutionPatchIninitialResult.d.ts +8 -0
  1026. package/utilities/internal/isExecutionPatchIninitialResult.js +9 -0
  1027. package/utilities/internal/isExecutionPatchIninitialResult.js.map +1 -0
  1028. package/utilities/internal/isExecutionPatchResult.d.ts +8 -0
  1029. package/utilities/internal/isExecutionPatchResult.js +12 -0
  1030. package/utilities/internal/isExecutionPatchResult.js.map +1 -0
  1031. package/utilities/internal/isField.d.ts +8 -0
  1032. package/utilities/internal/isField.js +9 -0
  1033. package/utilities/internal/isField.js.map +1 -0
  1034. package/utilities/internal/isNonEmptyArray.d.ts +7 -0
  1035. package/utilities/internal/isNonEmptyArray.js +9 -0
  1036. package/utilities/internal/isNonEmptyArray.js.map +1 -0
  1037. package/utilities/internal/isNonNullObject.d.ts +7 -0
  1038. package/utilities/internal/isNonNullObject.js +9 -0
  1039. package/utilities/internal/isNonNullObject.js.map +1 -0
  1040. package/utilities/internal/isPlainObject.d.ts +7 -0
  1041. package/utilities/internal/isPlainObject.js +12 -0
  1042. package/utilities/internal/isPlainObject.js.map +1 -0
  1043. package/utilities/internal/makeReference.d.ts +8 -0
  1044. package/utilities/internal/makeReference.js +9 -0
  1045. package/utilities/internal/makeReference.js.map +1 -0
  1046. package/utilities/internal/makeUniqueId.d.ts +10 -0
  1047. package/utilities/internal/makeUniqueId.js +15 -0
  1048. package/utilities/internal/makeUniqueId.js.map +1 -0
  1049. package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
  1050. package/utilities/internal/maybeDeepFreeze.js +14 -0
  1051. package/utilities/internal/maybeDeepFreeze.js.map +1 -0
  1052. package/utilities/internal/mergeDeep.d.ts +8 -0
  1053. package/utilities/internal/mergeDeep.js +23 -0
  1054. package/utilities/internal/mergeDeep.js.map +1 -0
  1055. package/utilities/internal/mergeDeepArray.d.ts +7 -0
  1056. package/utilities/internal/mergeDeepArray.js +24 -0
  1057. package/utilities/internal/mergeDeepArray.js.map +1 -0
  1058. package/utilities/internal/mergeIncrementalData.d.ts +8 -0
  1059. package/utilities/internal/mergeIncrementalData.js +27 -0
  1060. package/utilities/internal/mergeIncrementalData.js.map +1 -0
  1061. package/utilities/internal/mergeOptions.d.ts +10 -0
  1062. package/utilities/internal/mergeOptions.js +15 -0
  1063. package/utilities/internal/mergeOptions.js.map +1 -0
  1064. package/utilities/internal/omitDeep.d.ts +8 -0
  1065. package/utilities/internal/omitDeep.js +45 -0
  1066. package/utilities/internal/omitDeep.js.map +1 -0
  1067. package/utilities/internal/preventUnhandledRejection.js.map +1 -0
  1068. package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
  1069. package/utilities/internal/removeDirectivesFromDocument.js +300 -0
  1070. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
  1071. package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
  1072. package/utilities/internal/resultKeyNameFromField.js +9 -0
  1073. package/utilities/internal/resultKeyNameFromField.js.map +1 -0
  1074. package/utilities/internal/shouldInclude.d.ts +8 -0
  1075. package/utilities/internal/shouldInclude.js +47 -0
  1076. package/utilities/internal/shouldInclude.js.map +1 -0
  1077. package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
  1078. package/utilities/internal/storeKeyNameFromField.js +26 -0
  1079. package/utilities/internal/storeKeyNameFromField.js.map +1 -0
  1080. package/utilities/internal/stringifyForDisplay.d.ts +7 -0
  1081. package/utilities/internal/stringifyForDisplay.js +15 -0
  1082. package/utilities/internal/stringifyForDisplay.js.map +1 -0
  1083. package/utilities/internal/toQueryResult.d.ts +8 -0
  1084. package/utilities/internal/toQueryResult.js +15 -0
  1085. package/utilities/internal/toQueryResult.js.map +1 -0
  1086. package/utilities/internal/types/ApplyHKT.d.ts +13 -0
  1087. package/utilities/internal/types/ApplyHKT.js +2 -0
  1088. package/utilities/internal/types/ApplyHKT.js.map +1 -0
  1089. package/utilities/internal/types/ApplyHKTImplementationWithDefault.d.ts +11 -0
  1090. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js +2 -0
  1091. package/utilities/internal/types/ApplyHKTImplementationWithDefault.js.map +1 -0
  1092. package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
  1093. package/utilities/internal/types/DecoratedPromise.js +2 -0
  1094. package/utilities/internal/types/DecoratedPromise.js.map +1 -0
  1095. package/utilities/internal/types/DeepOmit.d.ts +15 -0
  1096. package/utilities/internal/types/FragmentMap.d.ts +12 -0
  1097. package/utilities/internal/types/FragmentMap.js +2 -0
  1098. package/utilities/internal/types/FragmentMap.js.map +1 -0
  1099. package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
  1100. package/utilities/internal/types/FragmentMapFunction.js +2 -0
  1101. package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
  1102. package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
  1103. package/utilities/internal/types/FulfilledPromise.js +2 -0
  1104. package/utilities/internal/types/FulfilledPromise.js.map +1 -0
  1105. package/utilities/internal/types/IsAny.d.ts +7 -0
  1106. package/utilities/internal/types/IsAny.js +2 -0
  1107. package/utilities/internal/types/IsAny.js.map +1 -0
  1108. package/utilities/internal/types/NoInfer.d.ts +29 -0
  1109. package/utilities/internal/types/PendingPromise.d.ts +9 -0
  1110. package/utilities/internal/types/PendingPromise.js +2 -0
  1111. package/utilities/internal/types/PendingPromise.js.map +1 -0
  1112. package/utilities/internal/types/Prettify.d.ts +9 -0
  1113. package/utilities/internal/types/Primitive.d.ts +7 -0
  1114. package/utilities/internal/types/RejectedPromise.d.ts +10 -0
  1115. package/utilities/internal/types/RejectedPromise.js +2 -0
  1116. package/utilities/internal/types/RejectedPromise.js.map +1 -0
  1117. package/utilities/internal/types/RemoveIndexSignature.d.ts +9 -0
  1118. package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
  1119. package/utilities/internal/types/TupleToIntersection.js +2 -0
  1120. package/utilities/internal/types/TupleToIntersection.js.map +1 -0
  1121. package/utilities/internal/types/VariablesOption.d.ts +30 -0
  1122. package/utilities/internal/types/VariablesOption.js +2 -0
  1123. package/utilities/internal/types/VariablesOption.js.map +1 -0
  1124. package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
  1125. package/utilities/internal/valueToObjectRepresentation.js +41 -0
  1126. package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
  1127. package/utilities/invariant/index.development.js +1 -0
  1128. package/utilities/invariant/index.development.js.map +1 -1
  1129. package/utilities/invariant/index.js +3 -2
  1130. package/utilities/invariant/index.js.map +1 -1
  1131. package/utilities/policies/pagination.d.ts +23 -0
  1132. package/utilities/policies/pagination.js +24 -7
  1133. package/utilities/policies/pagination.js.map +1 -1
  1134. package/utilities/shared/canonicalStringify.js +88 -0
  1135. package/utilities/shared/canonicalStringify.js.map +1 -0
  1136. package/utilities/subscriptions/relay/index.d.ts +1 -1
  1137. package/utilities/subscriptions/relay/index.js +4 -4
  1138. package/utilities/subscriptions/relay/index.js.map +1 -1
  1139. package/version.d.ts +1 -1
  1140. package/version.js +1 -1
  1141. package/version.js.map +1 -1
  1142. package/.changeset/README.md +0 -8
  1143. package/.changeset/brave-radios-wait.md +0 -5
  1144. package/.changeset/bright-ads-share.md +0 -5
  1145. package/.changeset/calm-frogs-remain.md +0 -7
  1146. package/.changeset/calm-seals-relate.md +0 -5
  1147. package/.changeset/chatty-planes-grin.md +0 -5
  1148. package/.changeset/clean-sheep-hide.md +0 -6
  1149. package/.changeset/clever-zebras-mate.md +0 -5
  1150. package/.changeset/config.json +0 -14
  1151. package/.changeset/cool-bikes-shake.md +0 -12
  1152. package/.changeset/cuddly-spiders-tie.md +0 -5
  1153. package/.changeset/curvy-pianos-count.md +0 -5
  1154. package/.changeset/dirty-trees-pump.md +0 -5
  1155. package/.changeset/empty-rabbits-move.md +0 -5
  1156. package/.changeset/fluffy-shoes-applaud.md +0 -5
  1157. package/.changeset/forty-hairs-occur.md +0 -5
  1158. package/.changeset/fresh-moose-hope.md +0 -5
  1159. package/.changeset/good-dolphins-peel.md +0 -113
  1160. package/.changeset/gorgeous-chefs-tap.md +0 -5
  1161. package/.changeset/healthy-apes-sneeze.md +0 -5
  1162. package/.changeset/hip-vans-act.md +0 -5
  1163. package/.changeset/hot-cycles-notice.md +0 -5
  1164. package/.changeset/itchy-drinks-refuse.md +0 -5
  1165. package/.changeset/itchy-roses-accept.md +0 -5
  1166. package/.changeset/kind-fishes-develop.md +0 -17
  1167. package/.changeset/late-trainers-peel.md +0 -7
  1168. package/.changeset/light-dolphins-taste.md +0 -5
  1169. package/.changeset/light-sloths-end.md +0 -16
  1170. package/.changeset/lucky-hats-push.md +0 -7
  1171. package/.changeset/many-papayas-hide.md +0 -5
  1172. package/.changeset/metal-needles-search.md +0 -5
  1173. package/.changeset/mighty-penguins-wink.md +0 -16
  1174. package/.changeset/modern-feet-do.md +0 -5
  1175. package/.changeset/moody-lobsters-listen.md +0 -7
  1176. package/.changeset/nervous-goats-allow.md +0 -5
  1177. package/.changeset/nice-donkeys-reflect.md +0 -5
  1178. package/.changeset/nice-waves-work.md +0 -7
  1179. package/.changeset/polite-bees-care.md +0 -26
  1180. package/.changeset/popular-games-sleep.md +0 -5
  1181. package/.changeset/pre.json +0 -78
  1182. package/.changeset/purple-lions-cough.md +0 -5
  1183. package/.changeset/rare-houses-prove.md +0 -5
  1184. package/.changeset/real-gorillas-move.md +0 -21
  1185. package/.changeset/rich-eagles-cross.md +0 -5
  1186. package/.changeset/rich-kids-carry.md +0 -9
  1187. package/.changeset/rude-fans-study.md +0 -5
  1188. package/.changeset/seven-foxes-melt.md +0 -5
  1189. package/.changeset/shiny-carrots-invent.md +0 -5
  1190. package/.changeset/short-jokes-jam.md +0 -27
  1191. package/.changeset/silly-knives-exist.md +0 -5
  1192. package/.changeset/slimy-maps-press.md +0 -5
  1193. package/.changeset/slow-ravens-explain.md +0 -19
  1194. package/.changeset/small-buttons-rhyme.md +0 -5
  1195. package/.changeset/small-cycles-rescue.md +0 -5
  1196. package/.changeset/small-kids-film.md +0 -14
  1197. package/.changeset/smart-rats-explode.md +0 -5
  1198. package/.changeset/smooth-coins-collect.md +0 -5
  1199. package/.changeset/smooth-pens-reply.md +0 -7
  1200. package/.changeset/soft-mails-clean.md +0 -5
  1201. package/.changeset/sour-pillows-guess.md +0 -7
  1202. package/.changeset/strange-seahorses-impress.md +0 -17
  1203. package/.changeset/tall-bikes-develop.md +0 -5
  1204. package/.changeset/tall-cups-suffer.md +0 -13
  1205. package/.changeset/tame-doors-shop.md +0 -14
  1206. package/.changeset/tidy-squids-poke.md +0 -12
  1207. package/.changeset/tough-taxis-smoke.md +0 -7
  1208. package/.changeset/tough-tips-drop.md +0 -15
  1209. package/.changeset/twenty-snakes-sort.md +0 -7
  1210. package/.changeset/unlucky-sheep-change.md +0 -5
  1211. package/.changeset/yellow-cats-judge.md +0 -13
  1212. package/.changeset/young-phones-fold.md +0 -5
  1213. package/.changeset/young-turtles-explode.md +0 -5
  1214. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +0 -19
  1215. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +0 -1
  1216. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.d.cts +0 -3
  1217. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +0 -19
  1218. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +0 -1
  1219. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.d.cts +0 -3
  1220. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs +0 -11
  1221. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs.map +0 -1
  1222. package/__cjs/config/jest/areGraphQlErrorsEqual.d.cts +0 -3
  1223. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +0 -21
  1224. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +0 -1
  1225. package/__cjs/config/jest/areMissingFieldErrorsEqual.d.cts +0 -3
  1226. package/__cjs/config/jest/resolver.cjs +0 -21
  1227. package/__cjs/config/jest/resolver.cjs.map +0 -1
  1228. package/__cjs/config/jest/resolver.d.cts +0 -3
  1229. package/__cjs/config/jest/setup.cjs +0 -48
  1230. package/__cjs/config/jest/setup.cjs.map +0 -1
  1231. package/__cjs/config/jest/setup.d.cts +0 -3
  1232. package/__cjs/core/LocalState.cjs +0 -333
  1233. package/__cjs/core/LocalState.cjs.map +0 -1
  1234. package/__cjs/core/LocalState.d.cts +0 -53
  1235. package/__cjs/index.cjs +0 -8
  1236. package/__cjs/index.cjs.map +0 -1
  1237. package/__cjs/index.d.cts +0 -3
  1238. package/__cjs/link/core/index.cjs +0 -16
  1239. package/__cjs/link/core/index.cjs.map +0 -1
  1240. package/__cjs/link/core/index.d.cts +0 -8
  1241. package/__cjs/masking/__benches__/types.bench.cjs +0 -223
  1242. package/__cjs/masking/__benches__/types.bench.cjs.map +0 -1
  1243. package/__cjs/masking/__benches__/types.bench.d.cts +0 -2
  1244. package/__cjs/react/context/index.cjs +0 -10
  1245. package/__cjs/react/context/index.cjs.map +0 -1
  1246. package/__cjs/react/context/index.d.cts +0 -7
  1247. package/__cjs/react/hooks/index.cjs +0 -27
  1248. package/__cjs/react/hooks/index.cjs.map +0 -1
  1249. package/__cjs/react/hooks/index.d.cts +0 -22
  1250. package/__cjs/react/parser/index.cjs +0 -115
  1251. package/__cjs/react/parser/index.cjs.map +0 -1
  1252. package/__cjs/react/parser/index.d.cts +0 -18
  1253. package/__cjs/react/ssr/RenderPromises.cjs +0 -104
  1254. package/__cjs/react/ssr/RenderPromises.cjs.map +0 -1
  1255. package/__cjs/react/ssr/RenderPromises.d.cts +0 -22
  1256. package/__cjs/react/types/types.d.cts +0 -671
  1257. package/__cjs/testing/core/index.cjs +0 -17
  1258. package/__cjs/testing/core/index.cjs.map +0 -1
  1259. package/__cjs/testing/core/index.d.cts +0 -7
  1260. package/__cjs/testing/core/mocking/mockClient.cjs +0 -18
  1261. package/__cjs/testing/core/mocking/mockClient.cjs.map +0 -1
  1262. package/__cjs/testing/core/mocking/mockClient.d.cts +0 -4
  1263. package/__cjs/testing/core/wait.cjs +0 -11
  1264. package/__cjs/testing/core/wait.cjs.map +0 -1
  1265. package/__cjs/testing/core/wait.d.cts +0 -3
  1266. package/__cjs/testing/core/withConsoleSpy.cjs +0 -33
  1267. package/__cjs/testing/core/withConsoleSpy.cjs.map +0 -1
  1268. package/__cjs/testing/core/withConsoleSpy.d.cts +0 -7
  1269. package/__cjs/testing/experimental/createSchemaFetch.cjs +0 -92
  1270. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +0 -1
  1271. package/__cjs/testing/experimental/createSchemaFetch.d.cts +0 -43
  1272. package/__cjs/testing/experimental/createTestSchema.cjs +0 -110
  1273. package/__cjs/testing/experimental/createTestSchema.cjs.map +0 -1
  1274. package/__cjs/testing/experimental/createTestSchema.d.cts +0 -57
  1275. package/__cjs/testing/experimental/graphql-tools/utils.cjs +0 -177
  1276. package/__cjs/testing/experimental/graphql-tools/utils.cjs.map +0 -1
  1277. package/__cjs/testing/experimental/graphql-tools/utils.d.cts +0 -26
  1278. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs +0 -200
  1279. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs.map +0 -1
  1280. package/__cjs/testing/experimental/graphql-tools/utils.test.d.cts +0 -2
  1281. package/__cjs/testing/experimental/index.cjs +0 -8
  1282. package/__cjs/testing/experimental/index.cjs.map +0 -1
  1283. package/__cjs/testing/experimental/index.d.cts +0 -3
  1284. package/__cjs/testing/internal/ObservableStream.cjs +0 -98
  1285. package/__cjs/testing/internal/ObservableStream.cjs.map +0 -1
  1286. package/__cjs/testing/internal/ObservableStream.d.cts +0 -28
  1287. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs +0 -19
  1288. package/__cjs/testing/internal/disposables/enableFakeTimers.cjs.map +0 -1
  1289. package/__cjs/testing/internal/disposables/enableFakeTimers.d.cts +0 -7
  1290. package/__cjs/testing/internal/disposables/index.cjs +0 -12
  1291. package/__cjs/testing/internal/disposables/index.cjs.map +0 -1
  1292. package/__cjs/testing/internal/disposables/index.d.cts +0 -5
  1293. package/__cjs/testing/internal/disposables/spyOnConsole.cjs +0 -25
  1294. package/__cjs/testing/internal/disposables/spyOnConsole.cjs.map +0 -1
  1295. package/__cjs/testing/internal/disposables/spyOnConsole.d.cts +0 -9
  1296. package/__cjs/testing/internal/disposables/withCleanup.cjs +0 -18
  1297. package/__cjs/testing/internal/disposables/withCleanup.cjs.map +0 -1
  1298. package/__cjs/testing/internal/disposables/withCleanup.d.cts +0 -3
  1299. package/__cjs/testing/internal/disposables/withProdMode.cjs +0 -17
  1300. package/__cjs/testing/internal/disposables/withProdMode.cjs.map +0 -1
  1301. package/__cjs/testing/internal/disposables/withProdMode.d.cts +0 -4
  1302. package/__cjs/testing/internal/incremental.cjs +0 -124
  1303. package/__cjs/testing/internal/incremental.cjs.map +0 -1
  1304. package/__cjs/testing/internal/incremental.d.cts +0 -16
  1305. package/__cjs/testing/internal/index.cjs +0 -25
  1306. package/__cjs/testing/internal/index.cjs.map +0 -1
  1307. package/__cjs/testing/internal/index.d.cts +0 -10
  1308. package/__cjs/testing/internal/messageChannelPolyfill.cjs +0 -18
  1309. package/__cjs/testing/internal/messageChannelPolyfill.cjs.map +0 -1
  1310. package/__cjs/testing/internal/messageChannelPolyfill.d.cts +0 -2
  1311. package/__cjs/testing/internal/renderHelpers.cjs +0 -21
  1312. package/__cjs/testing/internal/renderHelpers.cjs.map +0 -1
  1313. package/__cjs/testing/internal/renderHelpers.d.cts +0 -14
  1314. package/__cjs/testing/internal/rtl/actAsync.cjs +0 -18
  1315. package/__cjs/testing/internal/rtl/actAsync.cjs.map +0 -1
  1316. package/__cjs/testing/internal/rtl/actAsync.d.cts +0 -2
  1317. package/__cjs/testing/internal/rtl/renderAsync.cjs +0 -15
  1318. package/__cjs/testing/internal/rtl/renderAsync.cjs.map +0 -1
  1319. package/__cjs/testing/internal/rtl/renderAsync.d.cts +0 -9
  1320. package/__cjs/testing/internal/rtl/renderHookAsync.cjs +0 -37
  1321. package/__cjs/testing/internal/rtl/renderHookAsync.cjs.map +0 -1
  1322. package/__cjs/testing/internal/rtl/renderHookAsync.d.cts +0 -8
  1323. package/__cjs/testing/internal/scenarios/index.cjs +0 -102
  1324. package/__cjs/testing/internal/scenarios/index.cjs.map +0 -1
  1325. package/__cjs/testing/internal/scenarios/index.d.cts +0 -85
  1326. package/__cjs/testing/matchers/index.cjs +0 -40
  1327. package/__cjs/testing/matchers/index.cjs.map +0 -1
  1328. package/__cjs/testing/matchers/index.d.cts +0 -2
  1329. package/__cjs/testing/matchers/toBeDisposed.cjs +0 -20
  1330. package/__cjs/testing/matchers/toBeDisposed.cjs.map +0 -1
  1331. package/__cjs/testing/matchers/toBeDisposed.d.cts +0 -3
  1332. package/__cjs/testing/matchers/toBeGarbageCollected.cjs +0 -43
  1333. package/__cjs/testing/matchers/toBeGarbageCollected.cjs.map +0 -1
  1334. package/__cjs/testing/matchers/toBeGarbageCollected.d.cts +0 -8
  1335. package/__cjs/testing/matchers/toComplete.cjs +0 -30
  1336. package/__cjs/testing/matchers/toComplete.cjs.map +0 -1
  1337. package/__cjs/testing/matchers/toComplete.d.cts +0 -4
  1338. package/__cjs/testing/matchers/toEmitAnything.cjs +0 -33
  1339. package/__cjs/testing/matchers/toEmitAnything.cjs.map +0 -1
  1340. package/__cjs/testing/matchers/toEmitAnything.d.cts +0 -4
  1341. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs +0 -40
  1342. package/__cjs/testing/matchers/toEmitApolloQueryResult.cjs.map +0 -1
  1343. package/__cjs/testing/matchers/toEmitApolloQueryResult.d.cts +0 -8
  1344. package/__cjs/testing/matchers/toEmitError.cjs +0 -46
  1345. package/__cjs/testing/matchers/toEmitError.cjs.map +0 -1
  1346. package/__cjs/testing/matchers/toEmitError.d.cts +0 -7
  1347. package/__cjs/testing/matchers/toEmitFetchResult.cjs +0 -40
  1348. package/__cjs/testing/matchers/toEmitFetchResult.cjs.map +0 -1
  1349. package/__cjs/testing/matchers/toEmitFetchResult.d.cts +0 -8
  1350. package/__cjs/testing/matchers/toEmitMatchedValue.cjs +0 -40
  1351. package/__cjs/testing/matchers/toEmitMatchedValue.cjs.map +0 -1
  1352. package/__cjs/testing/matchers/toEmitMatchedValue.d.cts +0 -7
  1353. package/__cjs/testing/matchers/toEmitNext.cjs +0 -30
  1354. package/__cjs/testing/matchers/toEmitNext.cjs.map +0 -1
  1355. package/__cjs/testing/matchers/toEmitNext.d.cts +0 -4
  1356. package/__cjs/testing/matchers/toEmitValue.cjs +0 -41
  1357. package/__cjs/testing/matchers/toEmitValue.cjs.map +0 -1
  1358. package/__cjs/testing/matchers/toEmitValue.d.cts +0 -4
  1359. package/__cjs/testing/matchers/toEmitValueStrict.cjs +0 -46
  1360. package/__cjs/testing/matchers/toEmitValueStrict.cjs.map +0 -1
  1361. package/__cjs/testing/matchers/toEmitValueStrict.d.cts +0 -7
  1362. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs +0 -24
  1363. package/__cjs/testing/matchers/toEqualApolloQueryResult.cjs.map +0 -1
  1364. package/__cjs/testing/matchers/toEqualApolloQueryResult.d.cts +0 -6
  1365. package/__cjs/testing/matchers/toEqualFetchResult.cjs +0 -24
  1366. package/__cjs/testing/matchers/toEqualFetchResult.cjs.map +0 -1
  1367. package/__cjs/testing/matchers/toEqualFetchResult.d.cts +0 -4
  1368. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs +0 -40
  1369. package/__cjs/testing/matchers/toEqualLazyQueryResult.cjs.map +0 -1
  1370. package/__cjs/testing/matchers/toEqualLazyQueryResult.d.cts +0 -10
  1371. package/__cjs/testing/matchers/toEqualQueryResult.cjs +0 -40
  1372. package/__cjs/testing/matchers/toEqualQueryResult.cjs.map +0 -1
  1373. package/__cjs/testing/matchers/toEqualQueryResult.d.cts +0 -9
  1374. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs +0 -26
  1375. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.cjs.map +0 -1
  1376. package/__cjs/testing/matchers/toHaveSuspenseCacheEntryUsing.d.cts +0 -11
  1377. package/__cjs/testing/matchers/toMatchDocument.cjs +0 -36
  1378. package/__cjs/testing/matchers/toMatchDocument.cjs.map +0 -1
  1379. package/__cjs/testing/matchers/toMatchDocument.d.cts +0 -4
  1380. package/__cjs/utilities/caching/caches.cjs +0 -72
  1381. package/__cjs/utilities/caching/caches.cjs.map +0 -1
  1382. package/__cjs/utilities/caching/caches.d.cts +0 -34
  1383. package/__cjs/utilities/common/arrays.cjs +0 -10
  1384. package/__cjs/utilities/common/arrays.cjs.map +0 -1
  1385. package/__cjs/utilities/common/arrays.d.cts +0 -3
  1386. package/__cjs/utilities/common/canUse.cjs +0 -24
  1387. package/__cjs/utilities/common/canUse.cjs.map +0 -1
  1388. package/__cjs/utilities/common/canUse.d.cts +0 -3
  1389. package/__cjs/utilities/common/canonicalStringify.cjs +0 -88
  1390. package/__cjs/utilities/common/canonicalStringify.cjs.map +0 -1
  1391. package/__cjs/utilities/common/cloneDeep.cjs +0 -41
  1392. package/__cjs/utilities/common/cloneDeep.cjs.map +0 -1
  1393. package/__cjs/utilities/common/cloneDeep.d.cts +0 -5
  1394. package/__cjs/utilities/common/compact.cjs +0 -22
  1395. package/__cjs/utilities/common/compact.cjs.map +0 -1
  1396. package/__cjs/utilities/common/compact.d.cts +0 -7
  1397. package/__cjs/utilities/common/errorHandling.cjs +0 -23
  1398. package/__cjs/utilities/common/errorHandling.cjs.map +0 -1
  1399. package/__cjs/utilities/common/errorHandling.d.cts +0 -4
  1400. package/__cjs/utilities/common/incrementalResult.cjs +0 -45
  1401. package/__cjs/utilities/common/incrementalResult.cjs.map +0 -1
  1402. package/__cjs/utilities/common/incrementalResult.d.cts +0 -7
  1403. package/__cjs/utilities/common/makeUniqueId.cjs +0 -12
  1404. package/__cjs/utilities/common/makeUniqueId.cjs.map +0 -1
  1405. package/__cjs/utilities/common/makeUniqueId.d.cts +0 -2
  1406. package/__cjs/utilities/common/maybeDeepFreeze.cjs +0 -42
  1407. package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +0 -1
  1408. package/__cjs/utilities/common/maybeDeepFreeze.d.cts +0 -4
  1409. package/__cjs/utilities/common/mergeDeep.cjs +0 -84
  1410. package/__cjs/utilities/common/mergeDeep.cjs.map +0 -1
  1411. package/__cjs/utilities/common/mergeDeep.d.cts +0 -14
  1412. package/__cjs/utilities/common/mergeOptions.cjs +0 -13
  1413. package/__cjs/utilities/common/mergeOptions.cjs.map +0 -1
  1414. package/__cjs/utilities/common/mergeOptions.d.cts +0 -5
  1415. package/__cjs/utilities/common/objects.cjs +0 -14
  1416. package/__cjs/utilities/common/objects.cjs.map +0 -1
  1417. package/__cjs/utilities/common/objects.d.cts +0 -3
  1418. package/__cjs/utilities/common/omitDeep.cjs +0 -43
  1419. package/__cjs/utilities/common/omitDeep.cjs.map +0 -1
  1420. package/__cjs/utilities/common/omitDeep.d.cts +0 -3
  1421. package/__cjs/utilities/common/stringifyForDisplay.cjs +0 -13
  1422. package/__cjs/utilities/common/stringifyForDisplay.cjs.map +0 -1
  1423. package/__cjs/utilities/common/stringifyForDisplay.d.cts +0 -2
  1424. package/__cjs/utilities/globals/global.cjs.map +0 -1
  1425. package/__cjs/utilities/globals/index.cjs.map +0 -1
  1426. package/__cjs/utilities/globals/maybe.cjs.map +0 -1
  1427. package/__cjs/utilities/graphql/directives.cjs +0 -114
  1428. package/__cjs/utilities/graphql/directives.cjs.map +0 -1
  1429. package/__cjs/utilities/graphql/directives.d.cts +0 -20
  1430. package/__cjs/utilities/graphql/fragments.cjs +0 -126
  1431. package/__cjs/utilities/graphql/fragments.cjs.map +0 -1
  1432. package/__cjs/utilities/graphql/fragments.d.cts +0 -35
  1433. package/__cjs/utilities/graphql/getFromAST.cjs +0 -92
  1434. package/__cjs/utilities/graphql/getFromAST.cjs.map +0 -1
  1435. package/__cjs/utilities/graphql/getFromAST.d.cts +0 -15
  1436. package/__cjs/utilities/internal/observables.cjs +0 -29
  1437. package/__cjs/utilities/internal/observables.cjs.map +0 -1
  1438. package/__cjs/utilities/internal/observables.d.cts +0 -14
  1439. package/__cjs/utilities/promises/decoration.cjs +0 -45
  1440. package/__cjs/utilities/promises/decoration.cjs.map +0 -1
  1441. package/__cjs/utilities/promises/decoration.d.cts +0 -18
  1442. package/__cjs/utilities/promises/preventUnhandledRejection.cjs.map +0 -1
  1443. package/__cjs/utilities/types/DeepOmit.d.cts +0 -10
  1444. package/__cjs/utilities/types/DeepPartial.cjs.map +0 -1
  1445. package/__cjs/utilities/types/DeepPartial.d.cts +0 -12
  1446. package/__cjs/utilities/types/IsStrictlyAny.cjs +0 -3
  1447. package/__cjs/utilities/types/IsStrictlyAny.cjs.map +0 -1
  1448. package/__cjs/utilities/types/IsStrictlyAny.d.cts +0 -5
  1449. package/__cjs/utilities/types/NoInfer.d.cts +0 -27
  1450. package/__cjs/utilities/types/OnlyRequiredProperties.cjs +0 -3
  1451. package/__cjs/utilities/types/OnlyRequiredProperties.cjs.map +0 -1
  1452. package/__cjs/utilities/types/OnlyRequiredProperties.d.cts +0 -7
  1453. package/__cjs/utilities/types/Prettify.d.cts +0 -4
  1454. package/__cjs/utilities/types/Primitive.d.cts +0 -2
  1455. package/__cjs/utilities/types/RemoveIndexSignature.d.cts +0 -4
  1456. package/__cjs/utilities/types/TODO.cjs +0 -3
  1457. package/__cjs/utilities/types/TODO.cjs.map +0 -1
  1458. package/__cjs/utilities/types/TODO.d.cts +0 -3
  1459. package/__cjs/utilities/types/UnionToIntersection.cjs +0 -3
  1460. package/__cjs/utilities/types/UnionToIntersection.cjs.map +0 -1
  1461. package/__cjs/utilities/types/UnionToIntersection.d.cts +0 -2
  1462. package/config/jest/areCombinedGraphQLErrorsEqual.d.ts +0 -3
  1463. package/config/jest/areCombinedGraphQLErrorsEqual.js +0 -15
  1464. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +0 -1
  1465. package/config/jest/areCombinedProtocolErrorsEqual.d.ts +0 -3
  1466. package/config/jest/areCombinedProtocolErrorsEqual.js +0 -15
  1467. package/config/jest/areCombinedProtocolErrorsEqual.js.map +0 -1
  1468. package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
  1469. package/config/jest/areGraphQlErrorsEqual.js +0 -7
  1470. package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
  1471. package/config/jest/areMissingFieldErrorsEqual.d.ts +0 -3
  1472. package/config/jest/areMissingFieldErrorsEqual.js +0 -17
  1473. package/config/jest/areMissingFieldErrorsEqual.js.map +0 -1
  1474. package/config/jest/resolver.d.ts +0 -3
  1475. package/config/jest/resolver.js +0 -18
  1476. package/config/jest/resolver.js.map +0 -1
  1477. package/config/jest/setup.d.ts +0 -3
  1478. package/config/jest/setup.js +0 -45
  1479. package/config/jest/setup.js.map +0 -1
  1480. package/core/LocalState.d.ts +0 -53
  1481. package/core/LocalState.js +0 -329
  1482. package/core/LocalState.js.map +0 -1
  1483. package/index.d.ts +0 -3
  1484. package/index.js +0 -3
  1485. package/index.js.map +0 -1
  1486. package/legacyEntryPoints/link/core/core.cjs +0 -1
  1487. package/legacyEntryPoints/link/core/core.d.cts +0 -1
  1488. package/legacyEntryPoints/link/core/index.d.ts +0 -1
  1489. package/legacyEntryPoints/link/core/index.js +0 -1
  1490. package/legacyEntryPoints/react/context/context.cjs +0 -1
  1491. package/legacyEntryPoints/react/context/context.d.cts +0 -1
  1492. package/legacyEntryPoints/react/context/index.d.ts +0 -1
  1493. package/legacyEntryPoints/react/context/index.js +0 -1
  1494. package/legacyEntryPoints/react/hooks/hooks.cjs +0 -1
  1495. package/legacyEntryPoints/react/hooks/hooks.d.cts +0 -1
  1496. package/legacyEntryPoints/react/hooks/index.d.ts +0 -1
  1497. package/legacyEntryPoints/react/hooks/index.js +0 -1
  1498. package/legacyEntryPoints/react/parser/index.d.ts +0 -1
  1499. package/legacyEntryPoints/react/parser/index.js +0 -1
  1500. package/legacyEntryPoints/react/parser/parser.cjs +0 -1
  1501. package/legacyEntryPoints/react/parser/parser.d.cts +0 -1
  1502. package/legacyEntryPoints/testing/core/core.cjs +0 -1
  1503. package/legacyEntryPoints/testing/core/core.d.cts +0 -1
  1504. package/legacyEntryPoints/testing/core/index.d.ts +0 -1
  1505. package/legacyEntryPoints/testing/core/index.js +0 -1
  1506. package/legacyEntryPoints/testing/experimental/experimental.cjs +0 -1
  1507. package/legacyEntryPoints/testing/experimental/experimental.d.cts +0 -1
  1508. package/legacyEntryPoints/testing/experimental/index.d.ts +0 -1
  1509. package/legacyEntryPoints/testing/experimental/index.js +0 -1
  1510. package/legacyEntryPoints/utilities/globals/globals.cjs +0 -1
  1511. package/legacyEntryPoints/utilities/globals/globals.d.cts +0 -1
  1512. package/legacyEntryPoints/utilities/globals/index.d.ts +0 -1
  1513. package/legacyEntryPoints/utilities/globals/index.js +0 -1
  1514. package/link/core/index.d.ts +0 -8
  1515. package/link/core/index.js +0 -7
  1516. package/link/core/index.js.map +0 -1
  1517. package/masking/__benches__/types.bench.d.ts +0 -2
  1518. package/masking/__benches__/types.bench.js +0 -221
  1519. package/masking/__benches__/types.bench.js.map +0 -1
  1520. package/react/context/index.d.ts +0 -7
  1521. package/react/context/index.js +0 -4
  1522. package/react/context/index.js.map +0 -1
  1523. package/react/hooks/index.d.ts +0 -22
  1524. package/react/hooks/index.js +0 -15
  1525. package/react/hooks/index.js.map +0 -1
  1526. package/react/parser/index.d.ts +0 -18
  1527. package/react/parser/index.js +0 -109
  1528. package/react/parser/index.js.map +0 -1
  1529. package/react/ssr/RenderPromises.d.ts +0 -22
  1530. package/react/ssr/RenderPromises.js +0 -100
  1531. package/react/ssr/RenderPromises.js.map +0 -1
  1532. package/react/types/types.d.ts +0 -671
  1533. package/testing/core/index.d.ts +0 -7
  1534. package/testing/core/index.js +0 -6
  1535. package/testing/core/index.js.map +0 -1
  1536. package/testing/core/mocking/mockClient.d.ts +0 -4
  1537. package/testing/core/mocking/mockClient.js +0 -15
  1538. package/testing/core/mocking/mockClient.js.map +0 -1
  1539. package/testing/core/wait.d.ts +0 -3
  1540. package/testing/core/wait.js +0 -7
  1541. package/testing/core/wait.js.map +0 -1
  1542. package/testing/core/withConsoleSpy.d.ts +0 -7
  1543. package/testing/core/withConsoleSpy.js +0 -28
  1544. package/testing/core/withConsoleSpy.js.map +0 -1
  1545. package/testing/experimental/createSchemaFetch.d.ts +0 -43
  1546. package/testing/experimental/createSchemaFetch.js +0 -89
  1547. package/testing/experimental/createSchemaFetch.js.map +0 -1
  1548. package/testing/experimental/createTestSchema.d.ts +0 -57
  1549. package/testing/experimental/createTestSchema.js +0 -107
  1550. package/testing/experimental/createTestSchema.js.map +0 -1
  1551. package/testing/experimental/graphql-tools/utils.d.ts +0 -26
  1552. package/testing/experimental/graphql-tools/utils.js +0 -174
  1553. package/testing/experimental/graphql-tools/utils.js.map +0 -1
  1554. package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
  1555. package/testing/experimental/graphql-tools/utils.test.js +0 -198
  1556. package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
  1557. package/testing/experimental/index.d.ts +0 -3
  1558. package/testing/experimental/index.js +0 -3
  1559. package/testing/experimental/index.js.map +0 -1
  1560. package/testing/internal/ObservableStream.d.ts +0 -28
  1561. package/testing/internal/ObservableStream.js +0 -93
  1562. package/testing/internal/ObservableStream.js.map +0 -1
  1563. package/testing/internal/disposables/enableFakeTimers.d.ts +0 -7
  1564. package/testing/internal/disposables/enableFakeTimers.js +0 -16
  1565. package/testing/internal/disposables/enableFakeTimers.js.map +0 -1
  1566. package/testing/internal/disposables/index.d.ts +0 -5
  1567. package/testing/internal/disposables/index.js +0 -5
  1568. package/testing/internal/disposables/index.js.map +0 -1
  1569. package/testing/internal/disposables/spyOnConsole.d.ts +0 -9
  1570. package/testing/internal/disposables/spyOnConsole.js +0 -22
  1571. package/testing/internal/disposables/spyOnConsole.js.map +0 -1
  1572. package/testing/internal/disposables/withCleanup.d.ts +0 -3
  1573. package/testing/internal/disposables/withCleanup.js +0 -15
  1574. package/testing/internal/disposables/withCleanup.js.map +0 -1
  1575. package/testing/internal/disposables/withProdMode.d.ts +0 -4
  1576. package/testing/internal/disposables/withProdMode.js +0 -13
  1577. package/testing/internal/disposables/withProdMode.js.map +0 -1
  1578. package/testing/internal/incremental.d.ts +0 -16
  1579. package/testing/internal/incremental.js +0 -120
  1580. package/testing/internal/incremental.js.map +0 -1
  1581. package/testing/internal/index.d.ts +0 -10
  1582. package/testing/internal/index.js +0 -9
  1583. package/testing/internal/index.js.map +0 -1
  1584. package/testing/internal/messageChannelPolyfill.d.ts +0 -2
  1585. package/testing/internal/messageChannelPolyfill.js +0 -16
  1586. package/testing/internal/messageChannelPolyfill.js.map +0 -1
  1587. package/testing/internal/renderHelpers.d.ts +0 -14
  1588. package/testing/internal/renderHelpers.js +0 -16
  1589. package/testing/internal/renderHelpers.js.map +0 -1
  1590. package/testing/internal/rtl/actAsync.d.ts +0 -2
  1591. package/testing/internal/rtl/actAsync.js +0 -14
  1592. package/testing/internal/rtl/actAsync.js.map +0 -1
  1593. package/testing/internal/rtl/renderAsync.d.ts +0 -9
  1594. package/testing/internal/rtl/renderAsync.js +0 -12
  1595. package/testing/internal/rtl/renderAsync.js.map +0 -1
  1596. package/testing/internal/rtl/renderHookAsync.d.ts +0 -8
  1597. package/testing/internal/rtl/renderHookAsync.js +0 -33
  1598. package/testing/internal/rtl/renderHookAsync.js.map +0 -1
  1599. package/testing/internal/scenarios/index.d.ts +0 -85
  1600. package/testing/internal/scenarios/index.js +0 -95
  1601. package/testing/internal/scenarios/index.js.map +0 -1
  1602. package/testing/matchers/index.d.ts +0 -2
  1603. package/testing/matchers/index.js +0 -38
  1604. package/testing/matchers/index.js.map +0 -1
  1605. package/testing/matchers/toBeDisposed.d.ts +0 -3
  1606. package/testing/matchers/toBeDisposed.js +0 -16
  1607. package/testing/matchers/toBeDisposed.js.map +0 -1
  1608. package/testing/matchers/toBeGarbageCollected.d.ts +0 -8
  1609. package/testing/matchers/toBeGarbageCollected.js +0 -39
  1610. package/testing/matchers/toBeGarbageCollected.js.map +0 -1
  1611. package/testing/matchers/toComplete.d.ts +0 -4
  1612. package/testing/matchers/toComplete.js +0 -26
  1613. package/testing/matchers/toComplete.js.map +0 -1
  1614. package/testing/matchers/toEmitAnything.d.ts +0 -4
  1615. package/testing/matchers/toEmitAnything.js +0 -29
  1616. package/testing/matchers/toEmitAnything.js.map +0 -1
  1617. package/testing/matchers/toEmitApolloQueryResult.d.ts +0 -8
  1618. package/testing/matchers/toEmitApolloQueryResult.js +0 -36
  1619. package/testing/matchers/toEmitApolloQueryResult.js.map +0 -1
  1620. package/testing/matchers/toEmitError.d.ts +0 -7
  1621. package/testing/matchers/toEmitError.js +0 -42
  1622. package/testing/matchers/toEmitError.js.map +0 -1
  1623. package/testing/matchers/toEmitFetchResult.d.ts +0 -8
  1624. package/testing/matchers/toEmitFetchResult.js +0 -36
  1625. package/testing/matchers/toEmitFetchResult.js.map +0 -1
  1626. package/testing/matchers/toEmitMatchedValue.d.ts +0 -7
  1627. package/testing/matchers/toEmitMatchedValue.js +0 -36
  1628. package/testing/matchers/toEmitMatchedValue.js.map +0 -1
  1629. package/testing/matchers/toEmitNext.d.ts +0 -4
  1630. package/testing/matchers/toEmitNext.js +0 -26
  1631. package/testing/matchers/toEmitNext.js.map +0 -1
  1632. package/testing/matchers/toEmitValue.d.ts +0 -4
  1633. package/testing/matchers/toEmitValue.js +0 -37
  1634. package/testing/matchers/toEmitValue.js.map +0 -1
  1635. package/testing/matchers/toEmitValueStrict.d.ts +0 -7
  1636. package/testing/matchers/toEmitValueStrict.js +0 -42
  1637. package/testing/matchers/toEmitValueStrict.js.map +0 -1
  1638. package/testing/matchers/toEqualApolloQueryResult.d.ts +0 -6
  1639. package/testing/matchers/toEqualApolloQueryResult.js +0 -20
  1640. package/testing/matchers/toEqualApolloQueryResult.js.map +0 -1
  1641. package/testing/matchers/toEqualFetchResult.d.ts +0 -4
  1642. package/testing/matchers/toEqualFetchResult.js +0 -20
  1643. package/testing/matchers/toEqualFetchResult.js.map +0 -1
  1644. package/testing/matchers/toEqualLazyQueryResult.d.ts +0 -10
  1645. package/testing/matchers/toEqualLazyQueryResult.js +0 -36
  1646. package/testing/matchers/toEqualLazyQueryResult.js.map +0 -1
  1647. package/testing/matchers/toEqualQueryResult.d.ts +0 -9
  1648. package/testing/matchers/toEqualQueryResult.js +0 -36
  1649. package/testing/matchers/toEqualQueryResult.js.map +0 -1
  1650. package/testing/matchers/toHaveSuspenseCacheEntryUsing.d.ts +0 -11
  1651. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js +0 -22
  1652. package/testing/matchers/toHaveSuspenseCacheEntryUsing.js.map +0 -1
  1653. package/testing/matchers/toMatchDocument.d.ts +0 -4
  1654. package/testing/matchers/toMatchDocument.js +0 -32
  1655. package/testing/matchers/toMatchDocument.js.map +0 -1
  1656. package/utilities/caching/caches.d.ts +0 -34
  1657. package/utilities/caching/caches.js +0 -69
  1658. package/utilities/caching/caches.js.map +0 -1
  1659. package/utilities/common/arrays.d.ts +0 -3
  1660. package/utilities/common/arrays.js +0 -6
  1661. package/utilities/common/arrays.js.map +0 -1
  1662. package/utilities/common/canUse.d.ts +0 -3
  1663. package/utilities/common/canUse.js +0 -21
  1664. package/utilities/common/canUse.js.map +0 -1
  1665. package/utilities/common/canonicalStringify.js +0 -85
  1666. package/utilities/common/canonicalStringify.js.map +0 -1
  1667. package/utilities/common/cloneDeep.d.ts +0 -5
  1668. package/utilities/common/cloneDeep.js +0 -38
  1669. package/utilities/common/cloneDeep.js.map +0 -1
  1670. package/utilities/common/compact.d.ts +0 -7
  1671. package/utilities/common/compact.js +0 -19
  1672. package/utilities/common/compact.js.map +0 -1
  1673. package/utilities/common/errorHandling.d.ts +0 -4
  1674. package/utilities/common/errorHandling.js +0 -19
  1675. package/utilities/common/errorHandling.js.map +0 -1
  1676. package/utilities/common/incrementalResult.d.ts +0 -7
  1677. package/utilities/common/incrementalResult.js +0 -38
  1678. package/utilities/common/incrementalResult.js.map +0 -1
  1679. package/utilities/common/makeUniqueId.d.ts +0 -2
  1680. package/utilities/common/makeUniqueId.js +0 -9
  1681. package/utilities/common/makeUniqueId.js.map +0 -1
  1682. package/utilities/common/maybeDeepFreeze.d.ts +0 -4
  1683. package/utilities/common/maybeDeepFreeze.js +0 -38
  1684. package/utilities/common/maybeDeepFreeze.js.map +0 -1
  1685. package/utilities/common/mergeDeep.d.ts +0 -14
  1686. package/utilities/common/mergeDeep.js +0 -78
  1687. package/utilities/common/mergeDeep.js.map +0 -1
  1688. package/utilities/common/mergeOptions.d.ts +0 -5
  1689. package/utilities/common/mergeOptions.js +0 -10
  1690. package/utilities/common/mergeOptions.js.map +0 -1
  1691. package/utilities/common/objects.d.ts +0 -3
  1692. package/utilities/common/objects.js +0 -10
  1693. package/utilities/common/objects.js.map +0 -1
  1694. package/utilities/common/omitDeep.d.ts +0 -3
  1695. package/utilities/common/omitDeep.js +0 -40
  1696. package/utilities/common/omitDeep.js.map +0 -1
  1697. package/utilities/common/stringifyForDisplay.d.ts +0 -2
  1698. package/utilities/common/stringifyForDisplay.js +0 -10
  1699. package/utilities/common/stringifyForDisplay.js.map +0 -1
  1700. package/utilities/globals/global.js +0 -14
  1701. package/utilities/globals/global.js.map +0 -1
  1702. package/utilities/globals/index.js.map +0 -1
  1703. package/utilities/globals/maybe.js.map +0 -1
  1704. package/utilities/graphql/directives.d.ts +0 -20
  1705. package/utilities/graphql/directives.js +0 -99
  1706. package/utilities/graphql/directives.js.map +0 -1
  1707. package/utilities/graphql/fragments.d.ts +0 -35
  1708. package/utilities/graphql/fragments.js +0 -120
  1709. package/utilities/graphql/fragments.js.map +0 -1
  1710. package/utilities/graphql/getFromAST.d.ts +0 -15
  1711. package/utilities/graphql/getFromAST.js +0 -82
  1712. package/utilities/graphql/getFromAST.js.map +0 -1
  1713. package/utilities/internal/observables.d.ts +0 -14
  1714. package/utilities/internal/observables.js +0 -26
  1715. package/utilities/internal/observables.js.map +0 -1
  1716. package/utilities/promises/decoration.d.ts +0 -18
  1717. package/utilities/promises/decoration.js +0 -39
  1718. package/utilities/promises/decoration.js.map +0 -1
  1719. package/utilities/promises/preventUnhandledRejection.js.map +0 -1
  1720. package/utilities/types/DeepOmit.d.ts +0 -10
  1721. package/utilities/types/DeepPartial.d.ts +0 -12
  1722. package/utilities/types/DeepPartial.js.map +0 -1
  1723. package/utilities/types/IsStrictlyAny.d.ts +0 -5
  1724. package/utilities/types/IsStrictlyAny.js +0 -2
  1725. package/utilities/types/IsStrictlyAny.js.map +0 -1
  1726. package/utilities/types/NoInfer.d.ts +0 -27
  1727. package/utilities/types/OnlyRequiredProperties.d.ts +0 -7
  1728. package/utilities/types/OnlyRequiredProperties.js +0 -2
  1729. package/utilities/types/OnlyRequiredProperties.js.map +0 -1
  1730. package/utilities/types/Prettify.d.ts +0 -4
  1731. package/utilities/types/Primitive.d.ts +0 -2
  1732. package/utilities/types/RemoveIndexSignature.d.ts +0 -4
  1733. package/utilities/types/TODO.d.ts +0 -3
  1734. package/utilities/types/TODO.js +0 -2
  1735. package/utilities/types/TODO.js.map +0 -1
  1736. package/utilities/types/UnionToIntersection.d.ts +0 -2
  1737. package/utilities/types/UnionToIntersection.js +0 -2
  1738. package/utilities/types/UnionToIntersection.js.map +0 -1
  1739. /package/__cjs/react/{types → internal}/types.cjs +0 -0
  1740. /package/__cjs/react/{types → internal}/types.cjs.map +0 -0
  1741. /package/__cjs/utilities/{types/DeepPartial.cjs → DeepPartial.cjs} +0 -0
  1742. /package/__cjs/utilities/{globals → internal/globals}/global.cjs +0 -0
  1743. /package/__cjs/utilities/{globals → internal/globals}/global.d.cts +0 -0
  1744. /package/__cjs/utilities/{globals → internal/globals}/index.cjs +0 -0
  1745. /package/__cjs/utilities/{globals → internal/globals}/index.d.cts +0 -0
  1746. /package/__cjs/utilities/{globals → internal/globals}/maybe.cjs +0 -0
  1747. /package/__cjs/utilities/{globals → internal/globals}/maybe.d.cts +0 -0
  1748. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs +0 -0
  1749. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.d.cts +0 -0
  1750. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs +0 -0
  1751. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs.map +0 -0
  1752. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs +0 -0
  1753. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs.map +0 -0
  1754. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs +0 -0
  1755. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs.map +0 -0
  1756. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs +0 -0
  1757. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs.map +0 -0
  1758. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs +0 -0
  1759. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs.map +0 -0
  1760. /package/__cjs/utilities/{common → shared}/canonicalStringify.d.cts +0 -0
  1761. /package/react/{types → internal}/types.js +0 -0
  1762. /package/react/{types → internal}/types.js.map +0 -0
  1763. /package/utilities/{types/DeepPartial.js → DeepPartial.js} +0 -0
  1764. /package/utilities/{globals → internal/globals}/global.d.ts +0 -0
  1765. /package/utilities/{globals → internal/globals}/index.d.ts +0 -0
  1766. /package/utilities/{globals → internal/globals}/index.js +0 -0
  1767. /package/utilities/{globals → internal/globals}/maybe.d.ts +0 -0
  1768. /package/utilities/{globals → internal/globals}/maybe.js +0 -0
  1769. /package/utilities/{promises → internal}/preventUnhandledRejection.d.ts +0 -0
  1770. /package/utilities/{promises → internal}/preventUnhandledRejection.js +0 -0
  1771. /package/utilities/{types → internal/types}/DeepOmit.js +0 -0
  1772. /package/utilities/{types → internal/types}/DeepOmit.js.map +0 -0
  1773. /package/utilities/{types → internal/types}/NoInfer.js +0 -0
  1774. /package/utilities/{types → internal/types}/NoInfer.js.map +0 -0
  1775. /package/utilities/{types → internal/types}/Prettify.js +0 -0
  1776. /package/utilities/{types → internal/types}/Prettify.js.map +0 -0
  1777. /package/utilities/{types → internal/types}/Primitive.js +0 -0
  1778. /package/utilities/{types → internal/types}/Primitive.js.map +0 -0
  1779. /package/utilities/{types → internal/types}/RemoveIndexSignature.js +0 -0
  1780. /package/utilities/{types → internal/types}/RemoveIndexSignature.js.map +0 -0
  1781. /package/utilities/{common → shared}/canonicalStringify.d.ts +0 -0
@@ -1,101 +1,77 @@
1
1
  import { equal } from "@wry/equality";
2
- import { BehaviorSubject, filter, lastValueFrom, tap } from "rxjs";
3
- import { cloneDeep, compact, getOperationDefinition, getQueryDefinition, preventUnhandledRejection, } from "@apollo/client/utilities";
2
+ import { BehaviorSubject, Observable, share, Subject, tap } from "rxjs";
4
3
  import { __DEV__ } from "@apollo/client/utilities/environment";
4
+ import { compact, filterMap, getOperationDefinition, getQueryDefinition, preventUnhandledRejection, toQueryResult, } from "@apollo/client/utilities/internal";
5
5
  import { invariant } from "@apollo/client/utilities/invariant";
6
6
  import { equalByQuery } from "./equalByQuery.js";
7
7
  import { isNetworkRequestInFlight, NetworkStatus } from "./networkStatus.js";
8
8
  const { assign, hasOwnProperty } = Object;
9
+ const uninitialized = {
10
+ loading: true,
11
+ networkStatus: NetworkStatus.loading,
12
+ data: undefined,
13
+ dataState: "empty",
14
+ partial: true,
15
+ };
16
+ const empty = {
17
+ loading: false,
18
+ networkStatus: NetworkStatus.ready,
19
+ data: undefined,
20
+ dataState: "empty",
21
+ partial: true,
22
+ };
9
23
  export class ObservableQuery {
10
24
  options;
11
- queryId;
12
25
  queryName;
26
+ /**
27
+ * @internal will be read and written from `QueryInfo`
28
+ *
29
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
30
+ */
31
+ _lastWrite;
13
32
  // The `query` computed property will always reflect the document transformed
14
33
  // by the last run query. `this.options.query` will always reflect the raw
15
34
  // untransformed query to ensure document transforms with runtime conditionals
16
35
  // are run on the original document.
17
36
  get query() {
18
- return this.lastQuery || this.options.query;
37
+ return this.lastQuery;
19
38
  }
20
- // Computed shorthand for this.options.variables, preserved for
21
- // backwards compatibility.
22
39
  /**
23
40
  * An object containing the variables that were provided for the query.
24
41
  */
25
42
  get variables() {
26
43
  return this.options.variables;
27
44
  }
45
+ unsubscribeFromCache;
46
+ input;
28
47
  subject;
29
- observable;
30
- initialResult;
31
48
  isTornDown;
32
49
  queryManager;
33
50
  subscriptions = new Set();
34
- waitForOwnResult;
35
- last;
51
+ /**
52
+ * If an `ObservableQuery` is created with a `network-only` fetch policy,
53
+ * it should actually start receiving cache updates, but not before it has
54
+ * received the first result from the network.
55
+ */
56
+ waitForNetworkResult;
36
57
  lastQuery;
37
- queryInfo;
38
58
  linkSubscription;
39
- linkObservable;
40
59
  pollingInfo;
41
- networkStatus;
42
- constructor({ queryManager, queryInfo, options, }) {
43
- this.networkStatus = NetworkStatus.loading;
44
- this.initialResult = {
45
- data: undefined,
46
- loading: true,
47
- networkStatus: this.networkStatus,
48
- partial: true,
49
- };
50
- this.subject = new BehaviorSubject(this.initialResult);
51
- this.observable = this.subject.pipe(tap({
52
- subscribe: () => {
53
- if (!this.subject.observed) {
54
- this.reobserve();
55
- // TODO: See if we can rework updatePolling to better handle this.
56
- // reobserve calls updatePolling but this `subscribe` callback is
57
- // called before the subject is subscribed to so `updatePolling`
58
- // can't accurately detect if there is an active subscription.
59
- // Calling it again here ensures that it can detect if it can poll
60
- setTimeout(() => this.updatePolling());
61
- }
62
- },
63
- unsubscribe: () => {
64
- if (!this.subject.observed) {
65
- this.tearDownQuery();
66
- }
67
- },
68
- }),
69
- // TODO: Conditionally filter when notifyOnNetworkStatusChange is true or
70
- // not. We want to emit the loading result if notifyOnNetworkStatusChange
71
- // is true.
72
- filter((result) =>
73
- // TODO: Remove this behavior when unifying loading state for notifyOnNetworkStatusChange
74
- (this.options.fetchPolicy === "no-cache" &&
75
- this.options.notifyOnNetworkStatusChange) ||
76
- // TODO: Remove this behavior when unifying loading state for notifyOnNetworkStatusChange
77
- (this.options.fetchPolicy === "network-only" &&
78
- this.queryInfo.getDiff().complete) ||
79
- result !== this.initialResult));
80
- this["@@observable"] = () => this;
81
- if (Symbol.observable) {
82
- this[Symbol.observable] = () => this;
83
- }
84
- this.pipe = this.observable.pipe.bind(this.observable);
85
- this.subscribe = this.observable.subscribe.bind(this.observable);
86
- // related classes
87
- this.queryInfo = queryInfo;
60
+ get networkStatus() {
61
+ return this.subject.getValue().result.networkStatus;
62
+ }
63
+ constructor({ queryManager, options, transformedQuery = queryManager.transform(options.query), }) {
88
64
  this.queryManager = queryManager;
89
65
  // active state
90
- this.waitForOwnResult = skipCacheDataFor(options.fetchPolicy);
66
+ this.waitForNetworkResult = options.fetchPolicy === "network-only";
91
67
  this.isTornDown = false;
92
- this.subscribe = this.subscribe.bind(this);
93
68
  this.subscribeToMore = this.subscribeToMore.bind(this);
94
69
  this.maskResult = this.maskResult.bind(this);
95
70
  const { watchQuery: { fetchPolicy: defaultFetchPolicy = "cache-first" } = {}, } = queryManager.defaultOptions;
96
71
  const { fetchPolicy = defaultFetchPolicy,
97
72
  // Make sure we don't store "standby" as the initialFetchPolicy.
98
73
  initialFetchPolicy = fetchPolicy === "standby" ? defaultFetchPolicy : (fetchPolicy), } = options;
74
+ this.lastQuery = transformedQuery;
99
75
  this.options = {
100
76
  ...options,
101
77
  // Remember the initial options.fetchPolicy so we can revert back to this
@@ -105,11 +81,84 @@ export class ObservableQuery {
105
81
  // This ensures this.options.fetchPolicy always has a string value, in
106
82
  // case options.fetchPolicy was not provided.
107
83
  fetchPolicy,
84
+ variables: this.getVariablesWithDefaults(options.variables),
108
85
  };
109
- this.queryId = queryInfo.queryId || queryManager.generateQueryId();
86
+ this.initializeObservablesQueue();
87
+ this["@@observable"] = () => this;
88
+ if (Symbol.observable) {
89
+ this[Symbol.observable] = () => this;
90
+ }
110
91
  const opDef = getOperationDefinition(this.query);
111
92
  this.queryName = opDef && opDef.name && opDef.name.value;
112
93
  }
94
+ initializeObservablesQueue() {
95
+ this.subject = new BehaviorSubject({
96
+ query: this.query,
97
+ variables: this.variables,
98
+ result: uninitialized,
99
+ meta: {},
100
+ });
101
+ const observable = this.subject.pipe(tap({
102
+ subscribe: () => {
103
+ if (!this.subject.observed) {
104
+ this.reobserve();
105
+ // TODO: See if we can rework updatePolling to better handle this.
106
+ // reobserve calls updatePolling but this `subscribe` callback is
107
+ // called before the subject is subscribed to so `updatePolling`
108
+ // can't accurately detect if there is an active subscription.
109
+ // Calling it again here ensures that it can detect if it can poll
110
+ setTimeout(() => this.updatePolling());
111
+ }
112
+ },
113
+ unsubscribe: () => {
114
+ if (!this.subject.observed) {
115
+ this.tearDownQuery();
116
+ }
117
+ },
118
+ }), filterMap(({ query, variables, result: current, meta }, context) => {
119
+ const { shouldEmit } = meta;
120
+ if (current === uninitialized) {
121
+ // reset internal state after `ObservableQuery.reset()`
122
+ context.previous = undefined;
123
+ context.previousVariables = undefined;
124
+ }
125
+ if (this.options.fetchPolicy === "standby" ||
126
+ shouldEmit === 2 /* EmitBehavior.never */)
127
+ return;
128
+ if (shouldEmit === 1 /* EmitBehavior.force */)
129
+ return emit();
130
+ const { previous, previousVariables } = context;
131
+ if (previous) {
132
+ const documentInfo = this.queryManager.getDocumentInfo(query);
133
+ const dataMasking = this.queryManager.dataMasking;
134
+ const maskedQuery = dataMasking ? documentInfo.nonReactiveQuery : query;
135
+ const resultIsEqual = dataMasking || documentInfo.hasNonreactiveDirective ?
136
+ equalByQuery(maskedQuery, previous, current, variables)
137
+ : equal(previous, current);
138
+ if (resultIsEqual && equal(previousVariables, variables)) {
139
+ return;
140
+ }
141
+ }
142
+ if (shouldEmit === 3 /* EmitBehavior.networkStatusChange */ &&
143
+ (!this.options.notifyOnNetworkStatusChange ||
144
+ equal(previous, current))) {
145
+ return;
146
+ }
147
+ return emit();
148
+ function emit() {
149
+ context.previous = current;
150
+ context.previousVariables = variables;
151
+ return current;
152
+ }
153
+ }, () => ({})));
154
+ this.pipe = observable.pipe.bind(observable);
155
+ this.subscribe = observable.subscribe.bind(observable);
156
+ this.input = new Subject();
157
+ // we want to feed many streams into `this.subject`, but none of them should
158
+ // be able to close `this.input`
159
+ this.input.complete = () => { };
160
+ this.input.pipe(this.operator).subscribe(this.subject);
161
+ }
113
162
  // We can't use Observable['subscribe'] here as the type as it conflicts with
114
163
  // the ability to infer T from Subscribable<T>. This limits the surface area
115
164
  // to the non-deprecated signature which works properly with type inference.
@@ -117,118 +166,158 @@ export class ObservableQuery {
117
166
  pipe;
118
167
  [Symbol.observable];
119
168
  ["@@observable"];
120
- /** @internal */
121
- resetDiff() {
122
- this.queryInfo.resetDiff();
123
- }
124
- getCurrentFullResult(saveAsLastResult = true) {
125
- // Use the last result as long as the variables match this.variables.
126
- const lastResult = this.getLastResult(true);
127
- const networkStatus = this.networkStatus;
128
- const result = {
169
+ /**
170
+ * @internal
171
+ *
172
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
173
+ */
174
+ getCacheDiff({ optimistic = true } = {}) {
175
+ return this.queryManager.cache.diff({
176
+ query: this.query,
177
+ variables: this.variables,
178
+ returnPartialData: true,
179
+ optimistic,
180
+ });
181
+ }
182
+ getInitialResult(initialFetchPolicy) {
183
+ const fetchPolicy = this.queryManager.prioritizeCacheValues ?
184
+ "cache-first"
185
+ : initialFetchPolicy || this.options.fetchPolicy;
186
+ const defaultResult = {
129
187
  data: undefined,
188
+ dataState: "empty",
189
+ loading: true,
190
+ networkStatus: NetworkStatus.loading,
130
191
  partial: true,
131
- ...lastResult,
132
- loading: isNetworkRequestInFlight(networkStatus),
133
- networkStatus,
134
192
  };
135
- const { fetchPolicy = "cache-first" } = this.options;
136
- if (
137
- // These fetch policies should never deliver data from the cache, unless
138
- // redelivering a previously delivered result.
139
- skipCacheDataFor(fetchPolicy) ||
140
- // If this.options.query has @client(always: true) fields, we cannot
141
- // trust diff.result, since it was read from the cache without running
142
- // local resolvers (and it's too late to run resolvers now, since we must
143
- // return a result synchronously).
144
- this.queryManager.getDocumentInfo(this.query).hasForcedResolvers) {
145
- // Fall through.
146
- }
147
- else if (this.waitForOwnResult) {
148
- // This would usually be a part of `QueryInfo.getDiff()`.
149
- // which we skip in the waitForOwnResult case since we are not
150
- // interested in the diff.
151
- this.queryInfo["updateWatch"]();
193
+ const cacheResult = () => {
194
+ const diff = this.getCacheDiff();
195
+ // TODO: queryInfo.getDiff should handle this since cache.diff returns a
196
+ // null when returnPartialData is false
197
+ const data = this.options.returnPartialData || diff.complete ?
198
+ diff.result ?? undefined
199
+ : undefined;
200
+ return this.maskResult({
201
+ data,
202
+ dataState: diff.complete ? "complete"
203
+ : data === undefined ? "empty"
204
+ : "partial",
205
+ loading: !diff.complete,
206
+ networkStatus: diff.complete ? NetworkStatus.ready : NetworkStatus.loading,
207
+ partial: !diff.complete,
208
+ });
209
+ };
210
+ switch (fetchPolicy) {
211
+ case "cache-only":
212
+ case "cache-first":
213
+ return cacheResult();
214
+ case "cache-and-network":
215
+ return {
216
+ ...cacheResult(),
217
+ loading: true,
218
+ networkStatus: NetworkStatus.loading,
219
+ };
220
+ case "standby":
221
+ return {
222
+ ...defaultResult,
223
+ loading: false,
224
+ networkStatus: NetworkStatus.ready,
225
+ };
226
+ default:
227
+ return defaultResult;
152
228
  }
153
- else {
154
- const diff = this.queryInfo.getDiff();
155
- result.partial = !diff.complete;
156
- if (diff.complete || this.options.returnPartialData) {
157
- result.data = diff.result;
158
- }
159
- if (result.data === null) {
160
- result.data = void 0;
161
- }
162
- if (diff.complete) {
163
- // If the diff is complete, and we're using a FetchPolicy that
164
- // terminates after a complete cache read, we can assume the next result
165
- // we receive will have NetworkStatus.ready and !loading.
166
- if (diff.complete &&
167
- result.networkStatus === NetworkStatus.loading &&
168
- (fetchPolicy === "cache-first" || fetchPolicy === "cache-only")) {
169
- result.networkStatus = NetworkStatus.ready;
170
- result.loading = false;
229
+ }
230
+ resubscribeCache() {
231
+ const { variables, fetchPolicy } = this.options;
232
+ const query = this.query;
233
+ const shouldUnsubscribe = fetchPolicy === "standby" ||
234
+ fetchPolicy === "no-cache" ||
235
+ this.waitForNetworkResult;
236
+ const shouldResubscribe = !isEqualQuery({ query, variables }, this.unsubscribeFromCache) &&
237
+ !this.waitForNetworkResult;
238
+ if (shouldUnsubscribe || shouldResubscribe) {
239
+ this.unsubscribeFromCache?.();
240
+ }
241
+ if (shouldUnsubscribe || !shouldResubscribe) {
242
+ return;
243
+ }
244
+ const watch = {
245
+ query,
246
+ variables,
247
+ optimistic: true,
248
+ watcher: this,
249
+ callback: (diff) => {
250
+ const info = this.queryManager.getDocumentInfo(query);
251
+ if (info.hasClientExports || info.hasForcedResolvers) {
252
+ // If this is not set to something different than `diff`, we will
253
+ // not be notified about future cache changes with an equal `diff`.
254
+ // That would be the case if we are working with client-only fields
255
+ // that are forced or with `exports` fields that might change, causing
256
+ // local resovlers to return a new result.
257
+ // This is based on an implementation detail of `InMemoryCache`, which
258
+ // is not optimal - but the only alternative to this would be to
259
+ // resubscribe to the cache asynchonouly, which would bear the risk of
260
+ // missing further synchronous updates.
261
+ watch.lastDiff = undefined;
171
262
  }
172
- }
173
- // We need to check for both both `error` and `errors` field because there
174
- // are cases where sometimes `error` is set, but not `errors` and
175
- // vice-versa. This will be updated in the next major version when
176
- // `errors` is deprecated in favor of `error`.
177
- if (result.networkStatus === NetworkStatus.ready && result.error) {
178
- result.networkStatus = NetworkStatus.error;
179
- }
180
- if (__DEV__ &&
181
- !diff.complete &&
182
- !result.loading &&
183
- !result.data &&
184
- !result.error) {
185
- logMissingFieldErrors(diff.missing);
186
- }
187
- }
188
- if (saveAsLastResult) {
189
- this.updateLastResult(result);
190
- }
191
- return result;
192
- }
193
- getCurrentResult(saveAsLastResult = true) {
194
- return this.maskResult(this.getCurrentFullResult(saveAsLastResult));
195
- }
196
- // Compares newResult to the snapshot we took of this.lastResult when it was
197
- // first received.
198
- isDifferentFromLastResult(newResult, variables) {
199
- if (!this.last) {
200
- return true;
201
- }
202
- const documentInfo = this.queryManager.getDocumentInfo(this.query);
203
- const dataMasking = this.queryManager.dataMasking;
204
- const query = dataMasking ? documentInfo.nonReactiveQuery : this.query;
205
- const resultIsDifferent = dataMasking || documentInfo.hasNonreactiveDirective ?
206
- !equalByQuery(query, this.last.result, newResult, this.variables)
207
- : !equal(this.last.result, newResult);
208
- return (resultIsDifferent || (variables && !equal(this.last.variables, variables)));
209
- }
210
- getLast(key, variablesMustMatch) {
211
- const last = this.last;
212
- if (last &&
213
- last[key] &&
214
- (!variablesMustMatch || equal(last.variables, this.variables))) {
215
- return last[key];
216
- }
217
- }
218
- // TODO: Consider deprecating this function
219
- getLastResult(variablesMustMatch) {
220
- return this.getLast("result", variablesMustMatch);
221
- }
222
- // TODO: Consider deprecating this function
223
- getLastError(variablesMustMatch) {
224
- return this.getLast("error", variablesMustMatch);
225
- }
226
- // TODO: Consider deprecating this function
227
- resetLastResults() {
228
- delete this.last;
229
- // TODO: This will need to be removed when tearing down an ObservableQuery
230
- // since the observable will terminate.
231
- this.isTornDown = false;
263
+ if (watch.lastOwnDiff === diff) {
264
+ // skip cache updates that were caused by our own writes
265
+ return;
266
+ }
267
+ const { result: previousResult } = this.subject.getValue();
268
+ if (!diff.complete &&
269
+ // If we are trying to deliver an incomplete cache result, we avoid
270
+ // reporting it if the query has errored, otherwise we let the broadcast try
271
+ // and repair the partial result by refetching the query. This check avoids
272
+ // a situation where a query that errors and another succeeds with
273
+ // overlapping data does not report the partial data result to the errored
274
+ // query.
275
+ //
276
+ // See https://github.com/apollographql/apollo-client/issues/11400 for more
277
+ // information on this issue.
278
+ (previousResult.error ||
279
+ // Prevent to schedule a notify directly after the `ObservableQuery`
280
+ // has been `reset` (which will set the `previousResult` to `uninitialized` or `empty`)
281
+ // as in those cases, `resetCache` will manually call `refetch` with more intentional timing.
282
+ previousResult === uninitialized ||
283
+ previousResult === empty)) {
284
+ return;
285
+ }
286
+ if (!equal(previousResult.data, diff.result)) {
287
+ this.scheduleNotify();
288
+ }
289
+ },
290
+ };
291
+ const cancelWatch = this.queryManager.cache.watch(watch);
292
+ this.unsubscribeFromCache = Object.assign(() => {
293
+ this.unsubscribeFromCache = undefined;
294
+ cancelWatch();
295
+ }, { query, variables });
296
+ }
297
+ stableLastResult;
298
+ getCurrentResult() {
299
+ const { result: current } = this.subject.getValue();
300
+ let value = (
301
+ // if the `current` result is in an error state, we will always return that
302
+ // error state, even if we have no observers
303
+ (current.networkStatus === NetworkStatus.error ||
304
+ // if we have observers, we are watching the cache and
305
+ // this.subject.getValue() will always be up to date
306
+ this.hasObservers() || // if we are using a `no-cache` fetch policy in which case this
307
+ // `ObservableQuery` cannot have been updated from the outside - in
308
+ // that case, we prefer to keep the current value
309
+ this.options.fetchPolicy === "no-cache")) ?
310
+ current
311
+ // otherwise, the `current` value might be outdated due to missed
312
+ // external updates - calculate it again
313
+ : this.getInitialResult();
314
+ if (value === uninitialized) {
315
+ value = this.getInitialResult();
316
+ }
317
+ if (!equal(this.stableLastResult, value)) {
318
+ this.stableLastResult = value;
319
+ }
320
+ return this.stableLastResult;
232
321
  }
233
322
  /**
234
323
  * Update the variables of this observable query, and fetch the new results.
@@ -256,18 +345,18 @@ export class ObservableQuery {
256
345
  const queryDef = getQueryDefinition(this.query);
257
346
  const vars = queryDef.variableDefinitions;
258
347
  if (!vars || !vars.some((v) => v.variable.name.value === "variables")) {
259
- __DEV__ && invariant.warn(67, variables, queryDef.name?.value || queryDef);
348
+ __DEV__ && invariant.warn(76, variables, queryDef.name?.value || queryDef);
260
349
  }
261
350
  }
262
- if (variables && !equal(this.options.variables, variables)) {
351
+ if (variables && !equal(this.variables, variables)) {
263
352
  // Update the existing options with new variables
264
- reobserveOptions.variables = this.options.variables = {
265
- ...this.options.variables,
266
- ...variables,
267
- };
353
+ reobserveOptions.variables = this.options.variables =
354
+ this.getVariablesWithDefaults({ ...this.variables, ...variables });
268
355
  }
269
- this.queryInfo.resetLastWrite();
270
- return this.reobserve(reobserveOptions, NetworkStatus.refetch);
356
+ this._lastWrite = undefined;
357
+ return this._reobserve(reobserveOptions, {
358
+ newNetworkStatus: NetworkStatus.refetch,
359
+ });
271
360
  }
272
361
  /**
273
362
  * 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/).
@@ -279,7 +368,7 @@ export class ObservableQuery {
279
368
  query: this.options.query,
280
369
  ...fetchMoreOptions,
281
370
  variables: {
282
- ...this.options.variables,
371
+ ...this.variables,
283
372
  ...fetchMoreOptions.variables,
284
373
  },
285
374
  })),
@@ -289,9 +378,9 @@ export class ObservableQuery {
289
378
  // fetchMore to provide an updateQuery callback that determines how
290
379
  // the data gets written to the cache.
291
380
  fetchPolicy: "no-cache",
381
+ notifyOnNetworkStatusChange: this.options.notifyOnNetworkStatusChange,
292
382
  };
293
383
  combinedOptions.query = this.transformDocument(combinedOptions.query);
294
- const qid = this.queryManager.generateQueryId();
295
384
  // If a temporary query is passed to `fetchMore`, we don't want to store
296
385
  // it as the last query result since it may be an optimized query for
297
386
  // pagination. We will however run the transforms on the original document
@@ -301,26 +390,26 @@ export class ObservableQuery {
301
390
  fetchMoreOptions.query ?
302
391
  this.transformDocument(this.options.query)
303
392
  : combinedOptions.query;
304
- // Simulate a loading result for the original query with
305
- // result.networkStatus === NetworkStatus.fetchMore.
306
- const originalNetworkStatus = this.networkStatus;
307
- this.networkStatus = NetworkStatus.fetchMore;
308
- if (combinedOptions.notifyOnNetworkStatusChange) {
309
- this.observe();
310
- }
311
- const updatedQuerySet = new Set();
393
+ let wasUpdated = false;
312
394
  const updateQuery = fetchMoreOptions?.updateQuery;
313
395
  const isCached = this.options.fetchPolicy !== "no-cache";
314
396
  if (!isCached) {
315
- invariant(updateQuery, 68);
397
+ invariant(updateQuery, 77);
316
398
  }
399
+ const { finalize, pushNotification } = this.pushOperation(NetworkStatus.fetchMore);
400
+ pushNotification({
401
+ source: "newNetworkStatus",
402
+ kind: "N",
403
+ value: {},
404
+ }, { shouldEmit: 3 /* EmitBehavior.networkStatusChange */ });
317
405
  return this.queryManager
318
- .fetchQuery(qid, combinedOptions, NetworkStatus.fetchMore)
406
+ .fetchQuery(combinedOptions, NetworkStatus.fetchMore)
319
407
  .then((fetchMoreResult) => {
320
- this.queryManager.removeQuery(qid);
321
- if (this.networkStatus === NetworkStatus.fetchMore) {
322
- this.networkStatus = originalNetworkStatus;
323
- }
408
+ // disable the `fetchMore` override that is currently active
409
+ // the next updates caused by this should not be `fetchMore` anymore,
410
+ // but `ready` or whatever other calculated loading state is currently
411
+ // appropriate
412
+ finalize();
324
413
  if (isCached) {
325
414
  // Performing this cache update inside a cache.batch transaction ensures
326
415
  // any affected cache.watch watchers are notified at most once about any
@@ -355,9 +444,9 @@ export class ObservableQuery {
355
444
  }
356
445
  },
357
446
  onWatchUpdated: (watch) => {
358
- // Record the DocumentNode associated with any watched query whose
359
- // data were updated by the cache writes above.
360
- updatedQuerySet.add(watch.query);
447
+ if (watch.watcher === this) {
448
+ wasUpdated = true;
449
+ }
361
450
  },
362
451
  });
363
452
  }
@@ -376,28 +465,41 @@ export class ObservableQuery {
376
465
  // adjustment to the types on `updateQuery` since that function
377
466
  // expects that the first argument always contains previous result
378
467
  // data, but not `undefined`.
379
- const lastResult = this.getLast("result");
468
+ const lastResult = this.getCurrentResult();
380
469
  const data = updateQuery(lastResult.data, {
381
470
  fetchMoreResult: fetchMoreResult.data,
382
471
  variables: combinedOptions.variables,
383
472
  });
384
- this.reportResult({
385
- ...lastResult,
386
- networkStatus: originalNetworkStatus,
387
- loading: isNetworkRequestInFlight(originalNetworkStatus),
388
- data: data,
389
- }, this.variables);
473
+ // was reportResult
474
+ pushNotification({
475
+ kind: "N",
476
+ value: {
477
+ ...lastResult,
478
+ networkStatus: NetworkStatus.ready,
479
+ // will be overwritten anyways, just here for types sake
480
+ loading: false,
481
+ data: data,
482
+ dataState: lastResult.dataState === "streaming" ? "streaming" : "complete",
483
+ },
484
+ source: "network",
485
+ });
390
486
  }
391
487
  return this.maskResult(fetchMoreResult);
392
488
  })
393
489
  .finally(() => {
490
+ // call `finalize` a second time in case the `.then` case above was not reached
491
+ finalize();
394
492
  // In case the cache writes above did not generate a broadcast
395
493
  // notification (which would have been intercepted by onWatchUpdated),
396
494
  // likely because the written data were the same as what was already in
397
495
  // the cache, we still want fetchMore to deliver its final loading:false
398
496
  // result with the unchanged data.
399
- if (isCached && !updatedQuerySet.has(this.query)) {
400
- reobserveCacheFirst(this);
497
+ if (isCached && !wasUpdated) {
498
+ pushNotification({
499
+ kind: "N",
500
+ source: "newNetworkStatus",
501
+ value: {},
502
+ }, { shouldEmit: 1 /* EmitBehavior.force */ });
401
503
  }
402
504
  });
403
505
  }
@@ -418,7 +520,17 @@ export class ObservableQuery {
418
520
  })
419
521
  .subscribe({
420
522
  next: (subscriptionData) => {
421
- const { updateQuery } = options;
523
+ const { updateQuery, onError } = options;
524
+ const { error } = subscriptionData;
525
+ if (error) {
526
+ if (onError) {
527
+ onError(error);
528
+ }
529
+ else {
530
+ __DEV__ && invariant.error(78, error);
531
+ }
532
+ return;
533
+ }
422
534
  if (updateQuery) {
423
535
  this.updateQuery((previous, updateOptions) => updateQuery(previous, {
424
536
  subscriptionData: subscriptionData,
@@ -426,13 +538,6 @@ export class ObservableQuery {
426
538
  }));
427
539
  }
428
540
  },
429
- error: (err) => {
430
- if (options.onError) {
431
- options.onError(err);
432
- return;
433
- }
434
- __DEV__ && invariant.error(69, err);
435
- },
436
541
  });
437
542
  this.subscriptions.add(subscription);
438
543
  return () => {
@@ -441,9 +546,11 @@ export class ObservableQuery {
441
546
  }
442
547
  };
443
548
  }
444
- setOptions(newOptions) {
445
- return this.reobserve(newOptions);
446
- }
549
+ /**
550
+ * @internal
551
+ *
552
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
553
+ */
447
554
  silentSetOptions(newOptions) {
448
555
  const mergedOptions = compact(this.options, newOptions || {});
449
556
  assign(this.options, mergedOptions);
@@ -467,22 +574,23 @@ export class ObservableQuery {
467
574
  * the previous values of those variables will be used.
468
575
  */
469
576
  async setVariables(variables) {
577
+ variables = this.getVariablesWithDefaults(variables);
470
578
  if (equal(this.variables, variables)) {
471
579
  // If we have no observers, then we don't actually want to make a network
472
580
  // request. As soon as someone observes the query, the request will kick
473
581
  // off. For now, we just store any changes. (See #1077)
474
- return this.subject.getValue();
582
+ return toQueryResult(this.getCurrentResult());
475
583
  }
476
584
  this.options.variables = variables;
477
585
  // See comment above
478
586
  if (!this.hasObservers()) {
479
- return this.subject.getValue();
587
+ return toQueryResult(this.getCurrentResult());
480
588
  }
481
- return this.reobserve({
589
+ return this._reobserve({
482
590
  // Reset options.fetchPolicy to its original value.
483
591
  fetchPolicy: this.options.initialFetchPolicy,
484
592
  variables,
485
- }, NetworkStatus.setVariables);
593
+ }, { newNetworkStatus: NetworkStatus.setVariables });
486
594
  }
487
595
  /**
488
596
  * A function that enables you to update the query's cached result without executing a followup GraphQL operation.
@@ -491,12 +599,7 @@ export class ObservableQuery {
491
599
  */
492
600
  updateQuery(mapFn) {
493
601
  const { queryManager } = this;
494
- const { result, complete } = queryManager.cache.diff({
495
- query: this.options.query,
496
- variables: this.variables,
497
- returnPartialData: true,
498
- optimistic: false,
499
- });
602
+ const { result, complete } = this.getCacheDiff({ optimistic: false });
500
603
  const newResult = mapFn(result, {
501
604
  variables: this.variables,
502
605
  complete: !!complete,
@@ -547,13 +650,8 @@ export class ObservableQuery {
547
650
  // requests to be triggered only if the cache result is incomplete. To
548
651
  // that end, the options.nextFetchPolicy option provides an easy way to
549
652
  // update options.fetchPolicy after the initial network request, without
550
- // having to call observableQuery.setOptions.
551
- options.fetchPolicy = options.nextFetchPolicy(fetchPolicy, {
552
- reason,
553
- options,
554
- observable: this,
555
- initialFetchPolicy,
556
- });
653
+ // having to call observableQuery.reobserve.
654
+ options.fetchPolicy = options.nextFetchPolicy.call(options, fetchPolicy, { reason, options, observable: this, initialFetchPolicy });
557
655
  }
558
656
  else if (reason === "variables-changed") {
559
657
  options.fetchPolicy = initialFetchPolicy;
@@ -564,11 +662,102 @@ export class ObservableQuery {
564
662
  }
565
663
  return options.fetchPolicy;
566
664
  }
567
- fetch(options, newNetworkStatus, emitLoadingState, query) {
665
+ fetch(options, networkStatus, fetchQuery, operator) {
568
666
  // TODO Make sure we update the networkStatus (and infer fetchVariables)
569
667
  // before actually committing to the fetch.
570
- this.queryManager.setObservableQuery(this);
571
- return this.queryManager.fetchObservableWithInfo(this.queryId, options, newNetworkStatus, query, emitLoadingState);
668
+ const initialFetchPolicy = this.options.fetchPolicy;
669
+ options.context ??= {};
670
+ let synchronouslyEmitted = false;
671
+ const onCacheHit = () => {
672
+ synchronouslyEmitted = true;
673
+ };
674
+ const fetchQueryOperator = // we cannot use `tap` here, since it allows only for a "before subscription"
675
+
676
+ // hook with `subscribe` and we care for "directly before and after subscription"
677
+ (source) => new Observable((subscriber) => {
678
+ try {
679
+ return source.subscribe({
680
+ next(value) {
681
+ synchronouslyEmitted = true;
682
+ subscriber.next(value);
683
+ },
684
+ error: (error) => subscriber.error(error),
685
+ complete: () => subscriber.complete(),
686
+ });
687
+ }
688
+ finally {
689
+ if (!synchronouslyEmitted) {
690
+ operation.override = networkStatus;
691
+ this.input.next({
692
+ kind: "N",
693
+ source: "newNetworkStatus",
694
+ value: {
695
+ resetError: true,
696
+ },
697
+ query,
698
+ variables,
699
+ meta: {
700
+ shouldEmit: 3 /* EmitBehavior.networkStatusChange */,
701
+ /*
702
+ * The moment this notification is emitted, `nextFetchPolicy`
703
+ * might already have switched from a `network-only` to a
704
+ * `cache-something` policy, so we want to ensure that the
705
+ * loading state emit doesn't accidentally read from the cache
706
+ * in those cases.
707
+ */
708
+ fetchPolicy: initialFetchPolicy,
709
+ },
710
+ });
711
+ }
712
+ }
713
+ });
714
+ let { observable, fromLink } = this.queryManager.fetchObservableWithInfo(options, {
715
+ networkStatus,
716
+ query: fetchQuery,
717
+ onCacheHit,
718
+ fetchQueryOperator,
719
+ observableQuery: this,
720
+ });
721
+ // track query and variables from the start of the operation
722
+ const { query, variables } = this;
723
+ const operation = {
724
+ abort: () => {
725
+ subscription.unsubscribe();
726
+ },
727
+ query,
728
+ variables,
729
+ };
730
+ this.activeOperations.add(operation);
731
+ let forceFirstValueEmit = networkStatus == NetworkStatus.refetch ||
732
+ networkStatus == NetworkStatus.setVariables;
733
+ observable = observable.pipe(operator, share());
734
+ const subscription = observable
735
+ .pipe(tap({
736
+ next: (notification) => {
737
+ if (notification.source === "newNetworkStatus" ||
738
+ (notification.kind === "N" && notification.value.loading)) {
739
+ operation.override = networkStatus;
740
+ }
741
+ else {
742
+ delete operation.override;
743
+ }
744
+ },
745
+ finalize: () => this.activeOperations.delete(operation),
746
+ }))
747
+ .subscribe({
748
+ next: (value) => {
749
+ const meta = {};
750
+ if (forceFirstValueEmit &&
751
+ value.kind === "N" &&
752
+ "loading" in value.value &&
753
+ !value.value.loading) {
754
+ forceFirstValueEmit = false;
755
+ meta.shouldEmit = 1 /* EmitBehavior.force */;
756
+ }
757
+ this.input.next({ ...value, query, variables, meta });
758
+ },
759
+ });
760
+ return { fromLink, subscription, observable };
572
761
  }
573
762
  // Turns polling on or off based on this.options.pollInterval.
574
763
  updatePolling() {
@@ -578,23 +767,20 @@ export class ObservableQuery {
578
767
  }
579
768
  const { pollingInfo, options: { pollInterval }, } = this;
580
769
  if (!pollInterval || !this.hasObservers()) {
581
- if (pollingInfo) {
582
- clearTimeout(pollingInfo.timeout);
583
- delete this.pollingInfo;
584
- }
770
+ this.cancelPolling();
585
771
  return;
586
772
  }
587
773
  if (pollingInfo && pollingInfo.interval === pollInterval) {
588
774
  return;
589
775
  }
590
- invariant(pollInterval, 70);
776
+ invariant(pollInterval, 79);
591
777
  const info = pollingInfo || (this.pollingInfo = {});
592
778
  info.interval = pollInterval;
593
779
  const maybeFetch = () => {
594
780
  if (this.pollingInfo) {
595
781
  if (!isNetworkRequestInFlight(this.networkStatus) &&
596
782
  !this.options.skipPollAttempt?.()) {
597
- this.reobserve({
783
+ this._reobserve({
598
784
  // Most fetchPolicy options don't make sense to use in a polling context, as
599
785
  // users wouldn't want to be polling the cache directly. However, network-only and
600
786
  // no-cache are both useful for when the user wants to control whether or not the
@@ -602,7 +788,9 @@ export class ObservableQuery {
602
788
  fetchPolicy: this.options.initialFetchPolicy === "no-cache" ?
603
789
  "no-cache"
604
790
  : "network-only",
605
- }, NetworkStatus.poll).then(poll, poll);
791
+ }, {
792
+ newNetworkStatus: NetworkStatus.poll,
793
+ }).then(poll, poll);
606
794
  }
607
795
  else {
608
796
  poll();
@@ -618,37 +806,34 @@ export class ObservableQuery {
618
806
  };
619
807
  poll();
620
808
  }
621
- updateLastResult(newResult, variables = this.variables) {
622
- let error = this.getLastError();
623
- // Preserve this.last.error unless the variables have changed.
624
- if (error && this.last && !equal(variables, this.last.variables)) {
625
- error = void 0;
809
+ // This differs from stopPolling in that it does not set pollInterval to 0
810
+ cancelPolling() {
811
+ if (this.pollingInfo) {
812
+ clearTimeout(this.pollingInfo.timeout);
813
+ delete this.pollingInfo;
626
814
  }
627
- return (this.last = {
628
- result: this.queryManager.assumeImmutableResults ?
629
- newResult
630
- : cloneDeep(newResult),
631
- variables,
632
- ...(error ? { error } : null),
633
- });
634
815
  }
635
- // TODO: catch `EmptyError` and rethrow as network error if `complete`
636
- // notification is emitted without a value.
637
- reobserve(newOptions, newNetworkStatus) {
816
+ /**
817
+ * Reevaluate the query, optionally against new options. New options will be
818
+ * merged with the current options when given.
819
+ */
820
+ reobserve(newOptions) {
821
+ return this._reobserve(newOptions);
822
+ }
823
+ _reobserve(newOptions, internalOptions) {
638
824
  this.isTornDown = false;
825
+ let { newNetworkStatus } = internalOptions || {};
826
+ this.queryManager.obsQueries.add(this);
639
827
  const useDisposableObservable =
640
828
  // Refetching uses a disposable Observable to allow refetches using different
641
- // options/variables, without permanently altering the options of the
829
+ // options, without permanently altering the options of the
642
830
  // original ObservableQuery.
643
831
  newNetworkStatus === NetworkStatus.refetch ||
644
- // The fetchMore method does not actually call the reobserve method, but,
645
- // if it did, it would definitely use a disposable Observable.
646
- newNetworkStatus === NetworkStatus.fetchMore ||
647
832
  // Polling uses a disposable Observable so the polling options (which force
648
833
  // fetchPolicy to be "network-only" or "no-cache") won't override the original options.
649
834
  newNetworkStatus === NetworkStatus.poll;
650
835
  // Save the old variables, since Object.assign may modify them below.
651
- const oldVariables = this.options.variables;
836
+ const oldVariables = this.variables;
652
837
  const oldFetchPolicy = this.options.fetchPolicy;
653
838
  const mergedOptions = compact(this.options, newOptions || {});
654
839
  const options = useDisposableObservable ?
@@ -662,6 +847,16 @@ export class ObservableQuery {
662
847
  // time a request is made against the original query.
663
848
  const query = this.transformDocument(options.query);
664
849
  this.lastQuery = query;
850
+ // Reevaluate variables to allow resetting variables with variables: undefined,
851
+ // otherwise `compact` will ignore the `variables` key in `newOptions`. We
852
+ // do this after we run the query transform to ensure we get default
853
+ // variables from the transformed query.
854
+ //
855
+ // Note: updating options.variables may mutate this.options.variables
856
+ // in the case of a non-disposable query. This is intentional.
857
+ if (newOptions && "variables" in newOptions) {
858
+ options.variables = this.getVariablesWithDefaults(newOptions.variables);
859
+ }
665
860
  if (!useDisposableObservable) {
666
861
  // We can skip calling updatePolling if we're not changing this.options.
667
862
  this.updatePolling();
@@ -678,6 +873,7 @@ export class ObservableQuery {
678
873
  // A `nextFetchPolicy` function has even higher priority, though,
679
874
  // so in that case `applyNextFetchPolicy` must be called.
680
875
  typeof options.nextFetchPolicy === "function")) {
876
+ // This might mutate options.fetchPolicy
681
877
  this.applyNextFetchPolicy("variables-changed", options);
682
878
  if (newNetworkStatus === void 0) {
683
879
  newNetworkStatus = NetworkStatus.setVariables;
@@ -692,105 +888,86 @@ export class ObservableQuery {
692
888
  !equal(newOptions.variables, oldVariables)) {
693
889
  newNetworkStatus = NetworkStatus.setVariables;
694
890
  }
891
+ // QueryManager does not emit any values for standby fetch policies so we
892
+ // want ensure that the networkStatus remains ready.
893
+ if (options.fetchPolicy === "standby") {
894
+ newNetworkStatus = NetworkStatus.ready;
895
+ }
896
+ }
897
+ if (options.fetchPolicy === "standby") {
898
+ this.cancelPolling();
695
899
  }
696
- this.networkStatus = newNetworkStatus;
697
- this.waitForOwnResult &&= skipCacheDataFor(options.fetchPolicy);
698
- const finishWaitingForOwnResult = () => {
699
- if (this.linkObservable === observable) {
700
- this.waitForOwnResult = false;
900
+ this.resubscribeCache();
901
+ const { promise, operator: promiseOperator } = getTrackingOperatorPromise((value) => {
902
+ switch (value.kind) {
903
+ case "E":
904
+ throw value.error;
905
+ case "N":
906
+ if (value.source !== "newNetworkStatus" && !value.value.loading)
907
+ return value.value;
701
908
  }
702
- };
703
- const variables = options.variables && { ...options.variables };
704
- const { notifyOnNetworkStatusChange = false } = options;
705
- const { observable, fromLink } = this.fetch(options, newNetworkStatus, notifyOnNetworkStatusChange &&
706
- oldNetworkStatus !== newNetworkStatus &&
707
- isNetworkRequestInFlight(newNetworkStatus), query);
708
- const observer = {
709
- next: (result) => {
710
- if (equal(this.variables, variables)) {
711
- finishWaitingForOwnResult();
712
- this.reportResult(result, variables);
713
- }
714
- },
715
- error: (error) => {
716
- if (equal(this.variables, variables)) {
717
- finishWaitingForOwnResult();
718
- this.reportError(error, variables);
719
- }
720
- },
721
- };
909
+ },
910
+ // This default value should only be used when using a `fetchPolicy` of
911
+ // `standby` since that fetch policy completes without emitting a
912
+ // result. Since we are converting this to a QueryResult type, we
913
+ // omit the extra fields from ApolloQueryResult in the default value.
914
+ options.fetchPolicy === "standby" ?
915
+ { data: undefined }
916
+ : undefined);
917
+ const { subscription, observable, fromLink } = this.fetch(options, newNetworkStatus, query, promiseOperator);
722
918
  if (!useDisposableObservable && (fromLink || !this.linkSubscription)) {
723
919
  if (this.linkSubscription) {
724
920
  this.linkSubscription.unsubscribe();
725
921
  }
726
- this.linkObservable = observable;
727
- this.linkSubscription = observable.subscribe(observer);
922
+ this.linkSubscription = subscription;
728
923
  }
729
- else {
730
- observable.subscribe(observer);
731
- }
732
- return preventUnhandledRejection(
733
- // Note: lastValueFrom will create a separate subscription to the
734
- // observable which means that terminating this ObservableQuery will not
735
- // cancel the request from the link chain.
736
- lastValueFrom(observable).then(this.maskResult));
737
- }
738
- // (Re)deliver the current result to this.observers without applying fetch
739
- // policies or making network requests.
740
- observe() {
741
- this.reportResult(
742
- // Passing false is important so that this.getCurrentResult doesn't
743
- // save the fetchMore result as this.lastResult, causing it to be
744
- // ignored due to the this.isDifferentFromLastResult check in
745
- // this.reportResult.
746
- this.getCurrentFullResult(false), this.variables);
747
- }
748
- reportResult(result, variables) {
749
- const lastError = this.getLastError();
750
- const isDifferent = this.isDifferentFromLastResult(result, variables);
751
- // Update the last result even when isDifferentFromLastResult returns false,
752
- // because the query may be using the @nonreactive directive, and we want to
753
- // save the the latest version of any nonreactive subtrees (in case
754
- // getCurrentResult is called), even though we skip broadcasting changes.
755
- this.updateLastResult(result, variables);
756
- this.networkStatus = result.networkStatus;
757
- if (lastError || isDifferent) {
758
- this.subject.next(this.maskResult(result));
759
- }
760
- }
761
- reportError(error, variables) {
762
- // Since we don't get the current result on errors, only the error, we
763
- // must mirror the updates that occur in QueryStore.markQueryError here
764
- const errorResult = {
765
- data: undefined,
766
- partial: true,
767
- ...this.getLastResult(),
768
- error,
769
- networkStatus: NetworkStatus.error,
770
- loading: false,
771
- };
772
- this.updateLastResult(errorResult, variables);
773
- this.networkStatus = NetworkStatus.error;
774
- this.last.error = error;
775
- this.subject.next(errorResult);
924
+ const ret = Object.assign(preventUnhandledRejection(promise
925
+ .then((result) => toQueryResult(this.maskResult(result)))
926
+ .finally(() => {
927
+ if (!this.hasObservers() && this.activeOperations.size === 0) {
928
+ // If `reobserve` was called on a query without any obervers,
929
+ // the teardown logic would never be called, so we need to
930
+ // call it here to ensure the query is properly torn down.
931
+ this.tearDownQuery();
932
+ }
933
+ })), {
934
+ retain: () => {
935
+ const subscription = observable.subscribe({});
936
+ const unsubscribe = () => subscription.unsubscribe();
937
+ promise.then(unsubscribe, unsubscribe);
938
+ return ret;
939
+ },
940
+ });
941
+ return ret;
776
942
  }
777
943
  hasObservers() {
778
944
  return this.subject.observed;
779
945
  }
946
+ /**
947
+ * Tears down the `ObservableQuery` and stops all active operations by sending a `complete` notification.
948
+ */
949
+ stop() {
950
+ this.subject.complete();
951
+ this.initializeObservablesQueue();
952
+ this.tearDownQuery();
953
+ }
780
954
  tearDownQuery() {
781
955
  if (this.isTornDown)
782
956
  return;
783
- if (this.linkObservable && this.linkSubscription) {
957
+ this.resetNotifications();
958
+ this.unsubscribeFromCache?.();
959
+ if (this.linkSubscription) {
784
960
  this.linkSubscription.unsubscribe();
785
- delete this.linkObservable;
786
961
  delete this.linkSubscription;
787
962
  }
788
963
  this.stopPolling();
789
964
  // stop all active GraphQL subscriptions
790
965
  this.subscriptions.forEach((sub) => sub.unsubscribe());
791
966
  this.subscriptions.clear();
792
- this.queryManager.stopQuery(this.queryId);
967
+ this.queryManager.obsQueries.delete(this);
793
968
  this.isTornDown = true;
969
+ this.abortActiveOperations();
970
+ this._lastWrite = undefined;
794
971
  }
795
972
  transformDocument(document) {
796
973
  return this.queryManager.transform(document);
@@ -803,50 +980,327 @@ export class ObservableQuery {
803
980
  document: this.query,
804
981
  data: result.data,
805
982
  fetchPolicy: this.options.fetchPolicy,
806
- id: this.queryId,
983
+ cause: this,
807
984
  }),
808
985
  }
809
986
  : result;
810
987
  }
811
- }
812
- // Reobserve with fetchPolicy effectively set to "cache-first", triggering
813
- // delivery of any new data from the cache, possibly falling back to the network
814
- // if any cache data are missing. This allows _complete_ cache results to be
815
- // delivered without also kicking off unnecessary network requests when
816
- // this.options.fetchPolicy is "cache-and-network" or "network-only". When
817
- // this.options.fetchPolicy is any other policy ("cache-first", "cache-only",
818
- // "standby", or "no-cache"), we call this.reobserve() as usual.
819
- export function reobserveCacheFirst(obsQuery) {
820
- const { fetchPolicy, nextFetchPolicy } = obsQuery.options;
821
- if (fetchPolicy === "cache-and-network" || fetchPolicy === "network-only") {
822
- return obsQuery.reobserve({
823
- fetchPolicy: "cache-first",
824
- // Use a temporary nextFetchPolicy function that replaces itself with the
825
- // previous nextFetchPolicy value and returns the original fetchPolicy.
826
- nextFetchPolicy(currentFetchPolicy, context) {
827
- // Replace this nextFetchPolicy function in the options object with the
828
- // original this.options.nextFetchPolicy value.
829
- this.nextFetchPolicy = nextFetchPolicy;
830
- // If the original nextFetchPolicy value was a function, give it a
831
- // chance to decide what happens here.
832
- if (typeof this.nextFetchPolicy === "function") {
833
- return this.nextFetchPolicy(currentFetchPolicy, context);
988
+ dirty = false;
989
+ notifyTimeout;
990
+ /**
991
+ * @internal
992
+ *
993
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
994
+ */
995
+ resetNotifications() {
996
+ if (this.notifyTimeout) {
997
+ clearTimeout(this.notifyTimeout);
998
+ this.notifyTimeout = void 0;
999
+ }
1000
+ this.dirty = false;
1001
+ }
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
+ */
1007
+ scheduleNotify() {
1008
+ if (this.dirty)
1009
+ return;
1010
+ this.dirty = true;
1011
+ if (!this.notifyTimeout) {
1012
+ this.notifyTimeout = setTimeout(() => this.notify(true), 0);
1013
+ }
1014
+ }
1015
+ /**
1016
+ * @internal
1017
+ *
1018
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1019
+ */
1020
+ notify(scheduled = false) {
1021
+ if (!scheduled) {
1022
+ // For queries with client exports or forced resolvers, we don't want to
1023
+ // synchronously reobserve the cache on broadcast,
1024
+ // but actually wait for the `scheduleNotify` timeout triggered by the
1025
+ // `cache.watch` callback from `resubscribeCache`.
1026
+ const info = this.queryManager.getDocumentInfo(this.query);
1027
+ if (info.hasClientExports || info.hasForcedResolvers) {
1028
+ return;
1029
+ }
1030
+ }
1031
+ const { dirty } = this;
1032
+ this.resetNotifications();
1033
+ if (dirty &&
1034
+ (this.options.fetchPolicy == "cache-only" ||
1035
+ this.options.fetchPolicy == "cache-and-network" ||
1036
+ !this.activeOperations.size)) {
1037
+ const diff = this.getCacheDiff();
1038
+ if (
1039
+ // `fromOptimisticTransaction` is not avaiable through the `cache.diff`
1040
+ // code path, so we need to check it this way
1041
+ equal(diff.result, this.getCacheDiff({ optimistic: false }).result)) {
1042
+ //If this diff did not come from an optimistic transaction
1043
+ // make the ObservableQuery "reobserve" the latest data
1044
+ // using a temporary fetch policy of "cache-first", so complete cache
1045
+ // results have a chance to be delivered without triggering additional
1046
+ // network requests, even when options.fetchPolicy is "network-only"
1047
+ // or "cache-and-network". All other fetch policies are preserved by
1048
+ // this method, and are handled by calling oq.reobserve(). If this
1049
+ // reobservation is spurious, distinctUntilChanged still has a
1050
+ // chance to catch it before delivery to ObservableQuery subscribers.
1051
+ this.reobserveCacheFirst();
1052
+ }
1053
+ else {
1054
+ // If this diff came from an optimistic transaction, deliver the
1055
+ // current cache data to the ObservableQuery, but don't perform a
1056
+ // reobservation, since oq.reobserveCacheFirst might make a network
1057
+ // request, and we never want to trigger network requests in the
1058
+ // middle of optimistic updates.
1059
+ this.input.next({
1060
+ kind: "N",
1061
+ value: {
1062
+ data: diff.result,
1063
+ dataState: diff.complete ? "complete"
1064
+ : diff.result ? "partial"
1065
+ : "empty",
1066
+ networkStatus: NetworkStatus.ready,
1067
+ loading: false,
1068
+ error: undefined,
1069
+ partial: !diff.complete,
1070
+ },
1071
+ source: "cache",
1072
+ query: this.query,
1073
+ variables: this.variables,
1074
+ meta: {},
1075
+ });
1076
+ }
1077
+ }
1078
+ }
1079
+ activeOperations = new Set();
1080
+ pushOperation(networkStatus) {
1081
+ let aborted = false;
1082
+ // track query and variables from the start of the operation
1083
+ const { query, variables } = this;
1084
+ const finalize = () => {
1085
+ this.activeOperations.delete(operation);
1086
+ };
1087
+ const operation = {
1088
+ override: networkStatus,
1089
+ abort: () => {
1090
+ aborted = true;
1091
+ finalize();
1092
+ },
1093
+ query,
1094
+ variables,
1095
+ };
1096
+ this.activeOperations.add(operation);
1097
+ return {
1098
+ finalize,
1099
+ pushNotification: (notification, additionalMeta) => {
1100
+ if (!aborted) {
1101
+ this.input.next({
1102
+ ...notification,
1103
+ query,
1104
+ variables,
1105
+ meta: { ...additionalMeta },
1106
+ });
834
1107
  }
835
- // Otherwise go back to the original this.options.fetchPolicy.
836
- return fetchPolicy;
837
1108
  },
1109
+ };
1110
+ }
1111
+ calculateNetworkStatus(baseNetworkStatus) {
1112
+ if (baseNetworkStatus === NetworkStatus.streaming) {
1113
+ return baseNetworkStatus;
1114
+ }
1115
+ // in the future, this could be more complex logic, e.g. "refetch" and
1116
+ // "fetchMore" having priority over "polling" or "loading" network statuses
1117
+ // as for now we just take the "latest" operation that is still active,
1118
+ // as that lines up best with previous behavior[]
1119
+ const operation = Array.from(this.activeOperations.values()).findLast((operation) => isEqualQuery(operation, this) && operation.override !== undefined);
1120
+ return operation?.override ?? baseNetworkStatus;
1121
+ }
1122
+ abortActiveOperations() {
1123
+ this.activeOperations.forEach((operation) => operation.abort());
1124
+ }
1125
+ /**
1126
+ * @internal
1127
+ * Called from `clearStore`.
1128
+ * * resets the query to its initial state
1129
+ * * cancels all active operations and their subscriptions
1130
+ *
1131
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1132
+ */
1133
+ reset() {
1134
+ // exception for cache-only queries - we reset them into a "ready" state
1135
+ // as we won't trigger a refetch for them
1136
+ const resetToEmpty = this.options.fetchPolicy === "cache-only";
1137
+ this.setResult(resetToEmpty ? empty : uninitialized, {
1138
+ shouldEmit: resetToEmpty ? 1 /* EmitBehavior.force */ : 2 /* EmitBehavior.never */,
1139
+ });
1140
+ this.abortActiveOperations();
1141
+ }
1142
+ /**
1143
+ * @internal
1144
+ *
1145
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
1146
+ */
1147
+ setResult(result, additionalMeta) {
1148
+ this.input.next({
1149
+ source: "setResult",
1150
+ kind: "N",
1151
+ value: result,
1152
+ query: this.query,
1153
+ variables: this.variables,
1154
+ meta: { ...additionalMeta },
838
1155
  });
839
1156
  }
840
- return obsQuery.reobserve();
1157
+ operator = filterMap((notification) => {
1158
+ const { query, variables, meta } = notification;
1159
+ if (notification.source === "setResult") {
1160
+ return { query, variables, result: notification.value, meta };
1161
+ }
1162
+ if (notification.kind === "C" || !isEqualQuery(notification, this)) {
1163
+ return;
1164
+ }
1165
+ let result;
1166
+ const previous = this.subject.getValue();
1167
+ if (notification.source === "cache") {
1168
+ result = notification.value;
1169
+ if (result.networkStatus === NetworkStatus.ready &&
1170
+ result.partial &&
1171
+ (!this.options.returnPartialData ||
1172
+ previous.result.networkStatus === NetworkStatus.error) &&
1173
+ this.options.fetchPolicy !== "cache-only") {
1174
+ return;
1175
+ }
1176
+ }
1177
+ else if (notification.source === "network") {
1178
+ if (this.waitForNetworkResult) {
1179
+ this.waitForNetworkResult = false;
1180
+ this.resubscribeCache();
1181
+ }
1182
+ result =
1183
+ notification.kind === "E" ?
1184
+ {
1185
+ ...(isEqualQuery(previous, notification) ?
1186
+ previous.result
1187
+ : { data: undefined, dataState: "empty", partial: true }),
1188
+ error: notification.error,
1189
+ networkStatus: NetworkStatus.error,
1190
+ loading: false,
1191
+ }
1192
+ : notification.value;
1193
+ if (result.error && result.dataState === "streaming") {
1194
+ result.dataState = "complete";
1195
+ }
1196
+ if (result.error) {
1197
+ meta.shouldEmit = 1 /* EmitBehavior.force */;
1198
+ }
1199
+ }
1200
+ else if (notification.source === "newNetworkStatus") {
1201
+ const baseResult = isEqualQuery(previous, notification) ?
1202
+ previous.result
1203
+ : this.getInitialResult(meta.fetchPolicy);
1204
+ const { resetError } = notification.value;
1205
+ const error = resetError ? undefined : baseResult.error;
1206
+ const networkStatus = error ? NetworkStatus.error : NetworkStatus.ready;
1207
+ result = {
1208
+ ...baseResult,
1209
+ error,
1210
+ networkStatus,
1211
+ };
1212
+ }
1213
+ // every code path until here should have either returned or set a result,
1214
+ // but typescript needs a little help
1215
+ invariant(result);
1216
+ // normalize result shape
1217
+ if (!result.error)
1218
+ delete result.error;
1219
+ result.networkStatus = this.calculateNetworkStatus(result.networkStatus);
1220
+ result.loading = isNetworkRequestInFlight(result.networkStatus);
1221
+ result = this.maskResult(result);
1222
+ return { query, variables, result, meta };
1223
+ });
1224
+ // Reobserve with fetchPolicy effectively set to "cache-first", triggering
1225
+ // delivery of any new data from the cache, possibly falling back to the network
1226
+ // if any cache data are missing. This allows _complete_ cache results to be
1227
+ // delivered without also kicking off unnecessary network requests when
1228
+ // this.options.fetchPolicy is "cache-and-network" or "network-only". When
1229
+ // this.options.fetchPolicy is any other policy ("cache-first", "cache-only",
1230
+ // "standby", or "no-cache"), we call this.reobserve() as usual.
1231
+ reobserveCacheFirst() {
1232
+ const { fetchPolicy, nextFetchPolicy } = this.options;
1233
+ if (fetchPolicy === "cache-and-network" || fetchPolicy === "network-only") {
1234
+ this.reobserve({
1235
+ fetchPolicy: "cache-first",
1236
+ // Use a temporary nextFetchPolicy function that replaces itself with the
1237
+ // previous nextFetchPolicy value and returns the original fetchPolicy.
1238
+ nextFetchPolicy(currentFetchPolicy, context) {
1239
+ // Replace this nextFetchPolicy function in the options object with the
1240
+ // original this.options.nextFetchPolicy value.
1241
+ this.nextFetchPolicy = nextFetchPolicy;
1242
+ // If the original nextFetchPolicy value was a function, give it a
1243
+ // chance to decide what happens here.
1244
+ if (typeof this.nextFetchPolicy === "function") {
1245
+ return this.nextFetchPolicy(currentFetchPolicy, context);
1246
+ }
1247
+ // Otherwise go back to the original this.options.fetchPolicy.
1248
+ return fetchPolicy;
1249
+ },
1250
+ });
1251
+ }
1252
+ else {
1253
+ this.reobserve();
1254
+ }
1255
+ }
1256
+ getVariablesWithDefaults(variables) {
1257
+ return this.queryManager.getVariables(this.query, variables);
1258
+ }
841
1259
  }
842
1260
  export function logMissingFieldErrors(missing) {
843
1261
  if (__DEV__ && missing) {
844
- __DEV__ && invariant.debug(71, missing);
1262
+ __DEV__ && invariant.debug(80, missing);
845
1263
  }
846
1264
  }
847
- function skipCacheDataFor(fetchPolicy /* `undefined` would mean `"cache-first"` */) {
848
- return (fetchPolicy === "network-only" ||
849
- fetchPolicy === "no-cache" ||
850
- fetchPolicy === "standby");
1265
+ function isEqualQuery(a, b) {
1266
+ return !!(a && b && a.query === b.query && equal(a.variables, b.variables));
1267
+ }
1268
+ function getTrackingOperatorPromise(filterMapCb, defaultValue) {
1269
+ let lastValue = defaultValue, resolve, reject;
1270
+ const promise = new Promise((res, rej) => {
1271
+ resolve = res;
1272
+ reject = rej;
1273
+ });
1274
+ const operator = tap({
1275
+ next(value) {
1276
+ try {
1277
+ const newValue = filterMapCb(value);
1278
+ if (newValue !== undefined) {
1279
+ lastValue = newValue;
1280
+ }
1281
+ }
1282
+ catch (error) {
1283
+ reject(error);
1284
+ }
1285
+ },
1286
+ finalize: () => {
1287
+ if (lastValue) {
1288
+ resolve(lastValue);
1289
+ }
1290
+ else {
1291
+ const message = "The operation was aborted.";
1292
+ const name = "AbortError";
1293
+ reject(typeof DOMException !== "undefined" ?
1294
+ new DOMException(message, name)
1295
+ // some environments do not have `DOMException`, e.g. node
1296
+ // uses a normal `Error` with a `name` property instead: https://github.com/phryneas/node/blob/d0579b64f0f6b722f8e49bf8a471dd0d0604a21e/lib/internal/errors.js#L964
1297
+ // error.code is a legacy property that is not used anymore,
1298
+ // and also inconsistent across environments (in supporting
1299
+ // browsers it is `20`, in node `'ABORT_ERR'`) so we omit that.
1300
+ : Object.assign(new Error(message), { name }));
1301
+ }
1302
+ },
1303
+ });
1304
+ return { promise, operator };
851
1305
  }
852
1306
  //# sourceMappingURL=ObservableQuery.js.map