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

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