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