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