@apollo/client 4.0.0-alpha.12 → 4.0.0-alpha.14

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 (1096) hide show
  1. package/.changeset/curvy-flies-accept.md +5 -0
  2. package/.changeset/dirty-cobras-change.md +7 -0
  3. package/.changeset/few-crabs-move.md +6 -0
  4. package/.changeset/friendly-olives-refuse.md +5 -0
  5. package/.changeset/funny-boats-wink.md +35 -0
  6. package/.changeset/fuzzy-seahorses-hunt.md +5 -0
  7. package/.changeset/gold-oranges-double.md +5 -0
  8. package/.changeset/little-parrots-bow.md +14 -0
  9. package/.changeset/olive-cougars-ring.md +9 -0
  10. package/.changeset/pre.json +16 -0
  11. package/.changeset/serious-items-develop.md +17 -0
  12. package/.changeset/sixty-bats-cry.md +6 -0
  13. package/.changeset/spotty-mugs-poke.md +5 -0
  14. package/.changeset/strong-rivers-fry.md +34 -0
  15. package/.changeset/stupid-pumpkins-travel.md +13 -0
  16. package/.changeset/thirty-pens-jump.md +5 -0
  17. package/.changeset/wicked-kiwis-buy.md +5 -0
  18. package/CHANGELOG.md +148 -0
  19. package/__cjs/cache/core/cache.cjs +11 -9
  20. package/__cjs/cache/core/cache.cjs.map +1 -1
  21. package/__cjs/cache/core/cache.d.cts +11 -8
  22. package/__cjs/cache/core/types/DataProxy.d.cts +2 -1
  23. package/__cjs/cache/core/types/common.cjs.map +1 -1
  24. package/__cjs/cache/core/types/common.d.cts +2 -1
  25. package/__cjs/cache/index.cjs +1 -2
  26. package/__cjs/cache/index.cjs.map +1 -1
  27. package/__cjs/cache/index.d.cts +1 -1
  28. package/__cjs/cache/inmemory/entityStore.cjs +12 -11
  29. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  30. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -2
  31. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  32. package/__cjs/cache/inmemory/helpers.cjs +10 -10
  33. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  34. package/__cjs/cache/inmemory/helpers.d.cts +3 -3
  35. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  36. package/__cjs/cache/inmemory/inMemoryCache.d.cts +11 -8
  37. package/__cjs/cache/inmemory/key-extractor.cjs +10 -10
  38. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  39. package/__cjs/cache/inmemory/policies.cjs +14 -13
  40. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  41. package/__cjs/cache/inmemory/policies.d.cts +2 -1
  42. package/__cjs/cache/inmemory/readFromStore.cjs +17 -16
  43. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  44. package/__cjs/cache/inmemory/writeToStore.cjs +50 -22
  45. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  46. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
  47. package/__cjs/core/ApolloClient.cjs +28 -52
  48. package/__cjs/core/ApolloClient.cjs.map +1 -1
  49. package/__cjs/core/ApolloClient.d.cts +10 -23
  50. package/__cjs/core/ObservableQuery.cjs +569 -352
  51. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  52. package/__cjs/core/ObservableQuery.d.cts +95 -33
  53. package/__cjs/core/QueryInfo.cjs +111 -183
  54. package/__cjs/core/QueryInfo.cjs.map +1 -1
  55. package/__cjs/core/QueryInfo.d.cts +9 -14
  56. package/__cjs/core/QueryManager.cjs +232 -138
  57. package/__cjs/core/QueryManager.cjs.map +1 -1
  58. package/__cjs/core/QueryManager.d.cts +12 -8
  59. package/__cjs/core/equalByQuery.cjs +7 -7
  60. package/__cjs/core/equalByQuery.cjs.map +1 -1
  61. package/__cjs/core/index.cjs +2 -3
  62. package/__cjs/core/index.cjs.map +1 -1
  63. package/__cjs/core/index.d.cts +4 -5
  64. package/__cjs/core/types.d.cts +20 -8
  65. package/__cjs/core/watchQueryOptions.d.cts +1 -1
  66. package/__cjs/dev/loadErrorMessageHandler.cjs +2 -3
  67. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  68. package/__cjs/dev/setErrorMessageHandler.cjs +2 -3
  69. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  70. package/__cjs/errors/CombinedGraphQLErrors.cjs +2 -2
  71. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  72. package/__cjs/errors/LinkError.cjs +5 -1
  73. package/__cjs/errors/LinkError.cjs.map +1 -1
  74. package/__cjs/errors/LinkError.d.cts +5 -1
  75. package/__cjs/errors/LocalStateError.cjs +27 -0
  76. package/__cjs/errors/LocalStateError.cjs.map +1 -0
  77. package/__cjs/errors/LocalStateError.d.cts +20 -0
  78. package/__cjs/errors/index.cjs +5 -1
  79. package/__cjs/errors/index.cjs.map +1 -1
  80. package/__cjs/errors/index.d.cts +2 -0
  81. package/__cjs/invariantErrorCodes.cjs +230 -164
  82. package/__cjs/link/batch-http/batchHttpLink.cjs +5 -16
  83. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  84. package/__cjs/link/core/ApolloLink.cjs +17 -11
  85. package/__cjs/link/core/ApolloLink.cjs.map +1 -1
  86. package/__cjs/link/core/ApolloLink.d.cts +15 -9
  87. package/__cjs/link/http/checkFetcher.cjs +1 -1
  88. package/__cjs/link/http/createHttpLink.cjs +7 -14
  89. package/__cjs/link/http/createHttpLink.cjs.map +1 -1
  90. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +11 -3
  91. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  92. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  93. package/__cjs/link/persisted-queries/index.cjs +9 -9
  94. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  95. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +2 -1
  96. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  97. package/__cjs/link/subscriptions/index.cjs +3 -3
  98. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  99. package/__cjs/link/utils/transformOperation.cjs +2 -2
  100. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  101. package/__cjs/link/utils/validateOperation.cjs +1 -1
  102. package/__cjs/local-state/LocalState.cjs +535 -0
  103. package/__cjs/local-state/LocalState.cjs.map +1 -0
  104. package/__cjs/local-state/LocalState.d.cts +89 -0
  105. package/__cjs/local-state/index.cjs +6 -0
  106. package/__cjs/local-state/index.cjs.map +1 -0
  107. package/__cjs/local-state/index.d.cts +2 -0
  108. package/__cjs/masking/__benches__/types.bench.cjs.map +1 -1
  109. package/__cjs/masking/internal/types.d.cts +1 -2
  110. package/__cjs/masking/maskDefinition.cjs +6 -6
  111. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  112. package/__cjs/masking/maskDefinition.d.cts +1 -1
  113. package/__cjs/masking/maskFragment.cjs +9 -5
  114. package/__cjs/masking/maskFragment.cjs.map +1 -1
  115. package/__cjs/masking/maskFragment.d.cts +5 -1
  116. package/__cjs/masking/maskOperation.cjs +9 -5
  117. package/__cjs/masking/maskOperation.cjs.map +1 -1
  118. package/__cjs/masking/maskOperation.d.cts +5 -1
  119. package/__cjs/masking/types.d.cts +2 -2
  120. package/__cjs/masking/utils.cjs +35 -2
  121. package/__cjs/masking/utils.cjs.map +1 -1
  122. package/__cjs/masking/utils.d.cts +7 -1
  123. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  124. package/__cjs/react/context/ApolloContext.cjs +1 -1
  125. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  126. package/__cjs/react/hooks/internal/__use.cjs +6 -6
  127. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  128. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +2 -2
  129. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  130. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +2 -2
  131. package/__cjs/react/hooks/internal/wrapHook.cjs +36 -34
  132. package/__cjs/react/hooks/internal/wrapHook.cjs.map +1 -1
  133. package/__cjs/react/hooks/internal/wrapHook.d.cts +42 -38
  134. package/__cjs/react/hooks/useApolloClient.cjs +1 -1
  135. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  136. package/__cjs/react/hooks/useBackgroundQuery.d.cts +1 -1
  137. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  138. package/__cjs/react/hooks/useFragment.d.cts +1 -1
  139. package/__cjs/react/hooks/useLazyQuery.cjs +4 -4
  140. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  141. package/__cjs/react/hooks/useLazyQuery.d.cts +1 -1
  142. package/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
  143. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  144. package/__cjs/react/hooks/useLoadableQuery.d.cts +1 -1
  145. package/__cjs/react/hooks/useMutation.cjs +2 -2
  146. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  147. package/__cjs/react/hooks/useMutation.d.cts +1 -1
  148. package/__cjs/react/hooks/useQuery.cjs +4 -4
  149. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  150. package/__cjs/react/hooks/useQuery.d.cts +1 -1
  151. package/__cjs/react/hooks/useSubscription.cjs +1 -1
  152. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  153. package/__cjs/react/hooks/useSubscription.d.cts +1 -1
  154. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  155. package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -1
  156. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  157. package/__cjs/react/hooks/useSuspenseQuery.d.cts +1 -1
  158. package/__cjs/react/hooks/useSyncExternalStore.cjs +22 -3
  159. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  160. package/__cjs/react/internal/cache/FragmentReference.cjs +4 -4
  161. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  162. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -2
  163. package/__cjs/react/internal/cache/QueryReference.cjs +12 -16
  164. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  165. package/__cjs/react/internal/cache/QueryReference.d.cts +27 -9
  166. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  167. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +1 -1
  168. package/__cjs/react/ssr/prerenderStatic.cjs +9 -2
  169. package/__cjs/react/ssr/prerenderStatic.cjs.map +1 -1
  170. package/__cjs/testing/core/mocking/mockLink.cjs +19 -14
  171. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  172. package/__cjs/testing/core/mocking/mockLink.d.cts +10 -2
  173. package/__cjs/testing/internal/ObservableStream.cjs +13 -1
  174. package/__cjs/testing/internal/ObservableStream.cjs.map +1 -1
  175. package/__cjs/testing/internal/ObservableStream.d.cts +12 -1
  176. package/__cjs/testing/internal/disposables/withCleanup.cjs +5 -1
  177. package/__cjs/testing/internal/disposables/withCleanup.cjs.map +1 -1
  178. package/__cjs/testing/internal/disposables/withCleanup.d.cts +5 -1
  179. package/__cjs/testing/matchers/index.cjs +3 -0
  180. package/__cjs/testing/matchers/index.cjs.map +1 -1
  181. package/__cjs/testing/matchers/toEmitTypedValue.cjs +1 -1
  182. package/__cjs/testing/matchers/toEmitTypedValue.cjs.map +1 -1
  183. package/__cjs/testing/matchers/toEmitTypedValue.d.cts +6 -1
  184. package/__cjs/testing/matchers/toMatchDocument.cjs +2 -1
  185. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  186. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs +65 -0
  187. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs.map +1 -0
  188. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.d.cts +20 -0
  189. package/__cjs/testing/matchers/toStrictEqualTyped.cjs +1 -1
  190. package/__cjs/testing/matchers/toStrictEqualTyped.cjs.map +1 -1
  191. package/__cjs/testing/matchers/toStrictEqualTyped.d.cts +4 -0
  192. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +16 -4
  193. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -1
  194. package/__cjs/testing/react/MockedProvider.cjs +2 -2
  195. package/__cjs/testing/react/MockedProvider.cjs.map +1 -1
  196. package/__cjs/testing/react/MockedProvider.d.cts +2 -2
  197. package/__cjs/utilities/caching/index.cjs +1 -4
  198. package/__cjs/utilities/caching/index.cjs.map +1 -1
  199. package/__cjs/utilities/caching/index.d.cts +0 -1
  200. package/__cjs/utilities/caching/sizes.cjs +1 -1
  201. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  202. package/__cjs/utilities/common/stripTypename.cjs +8 -2
  203. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  204. package/__cjs/utilities/common/stripTypename.d.cts +7 -1
  205. package/__cjs/utilities/graphql/DocumentTransform.cjs +13 -9
  206. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  207. package/__cjs/utilities/graphql/DocumentTransform.d.cts +10 -6
  208. package/__cjs/utilities/graphql/operations.cjs +23 -2
  209. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  210. package/__cjs/utilities/graphql/operations.d.cts +21 -0
  211. package/__cjs/utilities/graphql/print.cjs +9 -1
  212. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  213. package/__cjs/utilities/graphql/print.d.cts +8 -0
  214. package/__cjs/utilities/graphql/storeUtils.cjs +5 -206
  215. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  216. package/__cjs/utilities/graphql/storeUtils.d.cts +14 -22
  217. package/__cjs/utilities/graphql/transform.cjs +8 -454
  218. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  219. package/__cjs/utilities/graphql/transform.d.cts +6 -24
  220. package/__cjs/utilities/index.cjs +17 -90
  221. package/__cjs/utilities/index.cjs.map +1 -1
  222. package/__cjs/utilities/index.d.cts +18 -38
  223. package/__cjs/utilities/{common/mergeDeep.cjs → internal/DeepMerger.cjs} +10 -27
  224. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
  225. package/__cjs/utilities/internal/DeepMerger.d.cts +17 -0
  226. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +18 -0
  227. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
  228. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +8 -0
  229. package/__cjs/utilities/{caching → internal}/caches.cjs +24 -20
  230. package/__cjs/utilities/internal/caches.cjs.map +1 -0
  231. package/__cjs/utilities/internal/caches.d.cts +42 -0
  232. package/__cjs/utilities/internal/canUseDOM.cjs +11 -0
  233. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
  234. package/__cjs/utilities/internal/canUseDOM.d.cts +7 -0
  235. package/__cjs/utilities/internal/checkDocument.cjs +35 -0
  236. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
  237. package/__cjs/utilities/internal/checkDocument.d.cts +10 -0
  238. package/__cjs/utilities/{common → internal}/cloneDeep.cjs +10 -6
  239. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
  240. package/__cjs/utilities/internal/cloneDeep.d.cts +9 -0
  241. package/__cjs/utilities/{common → internal}/compact.cjs +7 -3
  242. package/__cjs/utilities/internal/compact.cjs.map +1 -0
  243. package/__cjs/utilities/internal/compact.d.cts +11 -0
  244. package/__cjs/utilities/internal/createFragmentMap.cjs +19 -0
  245. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
  246. package/__cjs/utilities/internal/createFragmentMap.d.cts +12 -0
  247. package/__cjs/utilities/internal/createFulfilledPromise.cjs +15 -0
  248. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
  249. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +8 -0
  250. package/__cjs/utilities/internal/createRejectedPromise.cjs +17 -0
  251. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
  252. package/__cjs/utilities/internal/createRejectedPromise.d.cts +8 -0
  253. package/__cjs/utilities/internal/dealias.cjs +21 -0
  254. package/__cjs/utilities/internal/dealias.cjs.map +1 -0
  255. package/__cjs/utilities/internal/dealias.d.cts +5 -0
  256. package/{utilities/promises/decoration.js → __cjs/utilities/internal/decoratePromise.cjs} +12 -18
  257. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
  258. package/__cjs/utilities/internal/decoratePromise.d.cts +8 -0
  259. package/__cjs/utilities/{common/maybeDeepFreeze.cjs → internal/deepFreeze.cjs} +9 -12
  260. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
  261. package/__cjs/utilities/internal/deepFreeze.d.cts +7 -0
  262. package/__cjs/utilities/internal/filterMap.cjs +31 -0
  263. package/__cjs/utilities/internal/filterMap.cjs.map +1 -0
  264. package/__cjs/utilities/internal/filterMap.d.cts +4 -0
  265. package/__cjs/utilities/internal/getDefaultValues.cjs +22 -0
  266. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
  267. package/__cjs/utilities/internal/getDefaultValues.d.cts +8 -0
  268. package/__cjs/utilities/internal/getFragmentDefinition.cjs +17 -0
  269. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
  270. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +8 -0
  271. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +12 -0
  272. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
  273. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +8 -0
  274. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +27 -0
  275. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
  276. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +10 -0
  277. package/__cjs/utilities/{graphql/fragments.cjs → internal/getFragmentQueryDocument.cjs} +26 -66
  278. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
  279. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +29 -0
  280. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +23 -0
  281. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
  282. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts +8 -0
  283. package/__cjs/utilities/internal/getMainDefinition.cjs +38 -0
  284. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
  285. package/__cjs/utilities/internal/getMainDefinition.d.cts +12 -0
  286. package/__cjs/utilities/internal/getMemoryInternals.cjs +15 -9
  287. package/__cjs/utilities/internal/getMemoryInternals.cjs.map +1 -1
  288. package/__cjs/utilities/internal/getMemoryInternals.d.cts +15 -9
  289. package/__cjs/utilities/internal/getOperationDefinition.cjs +14 -0
  290. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
  291. package/__cjs/utilities/internal/getOperationDefinition.d.cts +8 -0
  292. package/__cjs/utilities/internal/getOperationName.cjs +12 -0
  293. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
  294. package/__cjs/utilities/internal/getOperationName.d.cts +8 -0
  295. package/__cjs/utilities/internal/getQueryDefinition.cjs +16 -0
  296. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
  297. package/__cjs/utilities/internal/getQueryDefinition.d.cts +8 -0
  298. package/__cjs/utilities/internal/getStoreKeyName.cjs +73 -0
  299. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
  300. package/__cjs/utilities/internal/getStoreKeyName.d.cts +16 -0
  301. package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
  302. package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
  303. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
  304. package/__cjs/utilities/internal/graphQLResultHasError.cjs +15 -0
  305. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
  306. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +8 -0
  307. package/__cjs/utilities/internal/hasDirectives.cjs +24 -0
  308. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
  309. package/__cjs/utilities/internal/hasDirectives.d.cts +8 -0
  310. package/__cjs/utilities/internal/hasForcedResolvers.cjs +23 -0
  311. package/__cjs/utilities/internal/hasForcedResolvers.cjs.map +1 -0
  312. package/__cjs/utilities/internal/hasForcedResolvers.d.cts +3 -0
  313. package/__cjs/utilities/internal/index.cjs +107 -5
  314. package/__cjs/utilities/internal/index.cjs.map +1 -1
  315. package/__cjs/utilities/internal/index.d.cts +66 -2
  316. package/__cjs/utilities/internal/isArray.cjs +12 -0
  317. package/__cjs/utilities/internal/isArray.cjs.map +1 -0
  318. package/__cjs/utilities/internal/isArray.d.cts +9 -0
  319. package/__cjs/utilities/internal/isDocumentNode.cjs +15 -0
  320. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
  321. package/__cjs/utilities/internal/isDocumentNode.d.cts +8 -0
  322. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs +12 -0
  323. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs.map +1 -0
  324. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.d.cts +8 -0
  325. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs +12 -0
  326. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs.map +1 -0
  327. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.d.cts +8 -0
  328. package/__cjs/utilities/internal/isExecutionPatchResult.cjs +15 -0
  329. package/__cjs/utilities/internal/isExecutionPatchResult.cjs.map +1 -0
  330. package/__cjs/utilities/internal/isExecutionPatchResult.d.cts +8 -0
  331. package/__cjs/utilities/internal/isField.cjs +12 -0
  332. package/__cjs/utilities/internal/isField.cjs.map +1 -0
  333. package/__cjs/utilities/internal/isField.d.cts +8 -0
  334. package/__cjs/utilities/{common/arrays.cjs → internal/isNonEmptyArray.cjs} +6 -4
  335. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
  336. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +7 -0
  337. package/__cjs/utilities/internal/isNonNullObject.cjs +12 -0
  338. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
  339. package/__cjs/utilities/internal/isNonNullObject.d.cts +7 -0
  340. package/__cjs/utilities/{common/objects.cjs → internal/isPlainObject.cjs} +6 -5
  341. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
  342. package/__cjs/utilities/internal/isPlainObject.d.cts +7 -0
  343. package/__cjs/utilities/internal/makeReference.cjs +12 -0
  344. package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
  345. package/__cjs/utilities/internal/makeReference.d.cts +8 -0
  346. package/__cjs/utilities/{common → internal}/makeUniqueId.cjs +8 -2
  347. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
  348. package/__cjs/utilities/internal/makeUniqueId.d.cts +10 -0
  349. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +17 -0
  350. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
  351. package/__cjs/utilities/internal/maybeDeepFreeze.d.cts +7 -0
  352. package/__cjs/utilities/internal/mergeDeep.cjs +26 -0
  353. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
  354. package/__cjs/utilities/internal/mergeDeep.d.cts +8 -0
  355. package/__cjs/utilities/internal/mergeDeepArray.cjs +27 -0
  356. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
  357. package/__cjs/utilities/internal/mergeDeepArray.d.cts +7 -0
  358. package/__cjs/utilities/internal/mergeIncrementalData.cjs +30 -0
  359. package/__cjs/utilities/internal/mergeIncrementalData.cjs.map +1 -0
  360. package/__cjs/utilities/internal/mergeIncrementalData.d.cts +8 -0
  361. package/__cjs/utilities/{common → internal}/mergeOptions.cjs +5 -0
  362. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
  363. package/__cjs/utilities/{common → internal}/mergeOptions.d.cts +5 -0
  364. package/__cjs/utilities/{common → internal}/omitDeep.cjs +7 -2
  365. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
  366. package/__cjs/utilities/internal/omitDeep.d.cts +8 -0
  367. package/__cjs/utilities/internal/{observables.cjs → onAnyEvent.cjs} +6 -2
  368. package/__cjs/utilities/internal/onAnyEvent.cjs.map +1 -0
  369. package/__cjs/utilities/internal/{observables.d.cts → onAnyEvent.d.cts} +6 -2
  370. package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs.map +1 -1
  371. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +306 -0
  372. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
  373. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +14 -0
  374. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +12 -0
  375. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
  376. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +8 -0
  377. package/__cjs/utilities/internal/shouldInclude.cjs +50 -0
  378. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
  379. package/__cjs/utilities/internal/shouldInclude.d.cts +8 -0
  380. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +29 -0
  381. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
  382. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +8 -0
  383. package/__cjs/utilities/{common → internal}/stringifyForDisplay.cjs +6 -1
  384. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
  385. package/__cjs/utilities/internal/stringifyForDisplay.d.cts +7 -0
  386. package/__cjs/utilities/internal/toQueryResult.cjs +5 -0
  387. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  388. package/__cjs/utilities/internal/toQueryResult.d.cts +5 -0
  389. package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
  390. package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
  391. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +10 -0
  392. package/__cjs/utilities/{types → internal/types}/DeepOmit.d.cts +5 -0
  393. package/__cjs/utilities/internal/types/DeepPartial.cjs.map +1 -0
  394. package/__cjs/utilities/{types → internal/types}/DeepPartial.d.cts +5 -0
  395. package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
  396. package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
  397. package/__cjs/utilities/internal/types/FragmentMap.d.cts +12 -0
  398. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
  399. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
  400. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +8 -0
  401. package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
  402. package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
  403. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +10 -0
  404. package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
  405. package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
  406. package/__cjs/utilities/internal/types/IsAny.d.cts +7 -0
  407. package/__cjs/utilities/{types → internal/types}/NoInfer.d.cts +2 -0
  408. package/__cjs/utilities/{types/IsStrictlyAny.cjs → internal/types/PendingPromise.cjs} +1 -1
  409. package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
  410. package/__cjs/utilities/internal/types/PendingPromise.d.cts +9 -0
  411. package/__cjs/utilities/internal/types/Prettify.d.cts +9 -0
  412. package/__cjs/utilities/internal/types/Primitive.d.cts +7 -0
  413. package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
  414. package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
  415. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +10 -0
  416. package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.d.cts +5 -0
  417. package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
  418. package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
  419. package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
  420. package/__cjs/utilities/{types → internal/types}/VariablesOption.d.cts +5 -0
  421. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +44 -0
  422. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
  423. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +8 -0
  424. package/__cjs/utilities/invariant/index.cjs +3 -2
  425. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  426. package/__cjs/utilities/policies/pagination.cjs +26 -9
  427. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  428. package/__cjs/utilities/policies/pagination.d.cts +23 -0
  429. package/__cjs/utilities/{common → shared}/canonicalStringify.cjs +7 -4
  430. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
  431. package/__cjs/utilities/subscriptions/relay/index.cjs +3 -3
  432. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  433. package/__cjs/version.cjs +1 -1
  434. package/cache/core/cache.d.ts +11 -8
  435. package/cache/core/cache.js +11 -9
  436. package/cache/core/cache.js.map +1 -1
  437. package/cache/core/types/DataProxy.d.ts +2 -1
  438. package/cache/core/types/common.d.ts +2 -1
  439. package/cache/core/types/common.js.map +1 -1
  440. package/cache/index.d.ts +1 -1
  441. package/cache/index.js +1 -1
  442. package/cache/index.js.map +1 -1
  443. package/cache/inmemory/entityStore.js +5 -4
  444. package/cache/inmemory/entityStore.js.map +1 -1
  445. package/cache/inmemory/fragmentRegistry.js +2 -1
  446. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  447. package/cache/inmemory/helpers.d.ts +3 -3
  448. package/cache/inmemory/helpers.js +2 -2
  449. package/cache/inmemory/helpers.js.map +1 -1
  450. package/cache/inmemory/inMemoryCache.d.ts +11 -8
  451. package/cache/inmemory/inMemoryCache.js.map +1 -1
  452. package/cache/inmemory/key-extractor.js +3 -3
  453. package/cache/inmemory/key-extractor.js.map +1 -1
  454. package/cache/inmemory/policies.d.ts +2 -1
  455. package/cache/inmemory/policies.js +7 -6
  456. package/cache/inmemory/policies.js.map +1 -1
  457. package/cache/inmemory/readFromStore.js +5 -4
  458. package/cache/inmemory/readFromStore.js.map +1 -1
  459. package/cache/inmemory/writeToStore.d.ts +2 -1
  460. package/cache/inmemory/writeToStore.js +34 -6
  461. package/cache/inmemory/writeToStore.js.map +1 -1
  462. package/core/ApolloClient.d.ts +10 -23
  463. package/core/ApolloClient.js +24 -52
  464. package/core/ApolloClient.js.map +1 -1
  465. package/core/ObservableQuery.d.ts +95 -33
  466. package/core/ObservableQuery.js +569 -352
  467. package/core/ObservableQuery.js.map +1 -1
  468. package/core/QueryInfo.d.ts +9 -14
  469. package/core/QueryInfo.js +110 -182
  470. package/core/QueryInfo.js.map +1 -1
  471. package/core/QueryManager.d.ts +12 -8
  472. package/core/QueryManager.js +192 -117
  473. package/core/QueryManager.js.map +1 -1
  474. package/core/equalByQuery.js +1 -1
  475. package/core/equalByQuery.js.map +1 -1
  476. package/core/index.d.ts +4 -5
  477. package/core/index.js +3 -3
  478. package/core/index.js.map +1 -1
  479. package/core/types.d.ts +20 -8
  480. package/core/watchQueryOptions.d.ts +1 -1
  481. package/dev/loadErrorMessageHandler.js +1 -1
  482. package/dev/loadErrorMessageHandler.js.map +1 -1
  483. package/dev/setErrorMessageHandler.js +1 -1
  484. package/dev/setErrorMessageHandler.js.map +1 -1
  485. package/errors/CombinedGraphQLErrors.js +1 -1
  486. package/errors/CombinedGraphQLErrors.js.map +1 -1
  487. package/errors/LinkError.d.ts +5 -1
  488. package/errors/LinkError.js +5 -1
  489. package/errors/LinkError.js.map +1 -1
  490. package/errors/LocalStateError.d.ts +20 -0
  491. package/errors/LocalStateError.js +23 -0
  492. package/errors/LocalStateError.js.map +1 -0
  493. package/errors/index.d.ts +2 -0
  494. package/errors/index.js +2 -0
  495. package/errors/index.js.map +1 -1
  496. package/invariantErrorCodes.js +230 -164
  497. package/legacyEntryPoints/local-state/index.d.ts +1 -0
  498. package/legacyEntryPoints/local-state/index.js +1 -0
  499. package/legacyEntryPoints/local-state/local-state.cjs +1 -0
  500. package/legacyEntryPoints/local-state/local-state.d.cts +1 -0
  501. package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
  502. package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
  503. package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
  504. package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
  505. package/link/batch-http/batchHttpLink.js +3 -14
  506. package/link/batch-http/batchHttpLink.js.map +1 -1
  507. package/link/core/ApolloLink.d.ts +15 -9
  508. package/link/core/ApolloLink.js +17 -11
  509. package/link/core/ApolloLink.js.map +1 -1
  510. package/link/http/checkFetcher.js +1 -1
  511. package/link/http/createHttpLink.js +4 -11
  512. package/link/http/createHttpLink.js.map +1 -1
  513. package/link/http/parseAndCheckHttpResponse.js +10 -2
  514. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  515. package/link/http/serializeFetchParameter.js +1 -1
  516. package/link/persisted-queries/index.js +4 -4
  517. package/link/persisted-queries/index.js.map +1 -1
  518. package/link/remove-typename/removeTypenameFromVariables.js +2 -1
  519. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  520. package/link/subscriptions/index.js +1 -1
  521. package/link/subscriptions/index.js.map +1 -1
  522. package/link/utils/transformOperation.js +2 -2
  523. package/link/utils/transformOperation.js.map +1 -1
  524. package/link/utils/validateOperation.js +1 -1
  525. package/local-state/LocalState.d.ts +89 -0
  526. package/local-state/LocalState.js +527 -0
  527. package/local-state/LocalState.js.map +1 -0
  528. package/local-state/index.d.ts +2 -0
  529. package/local-state/index.js +2 -0
  530. package/local-state/index.js.map +1 -0
  531. package/masking/__benches__/types.bench.js.map +1 -1
  532. package/masking/internal/types.d.ts +1 -2
  533. package/masking/maskDefinition.d.ts +1 -1
  534. package/masking/maskDefinition.js +4 -4
  535. package/masking/maskDefinition.js.map +1 -1
  536. package/masking/maskFragment.d.ts +5 -1
  537. package/masking/maskFragment.js +8 -4
  538. package/masking/maskFragment.js.map +1 -1
  539. package/masking/maskOperation.d.ts +5 -1
  540. package/masking/maskOperation.js +7 -3
  541. package/masking/maskOperation.js.map +1 -1
  542. package/masking/types.d.ts +2 -2
  543. package/masking/utils.d.ts +7 -1
  544. package/masking/utils.js +34 -3
  545. package/masking/utils.js.map +1 -1
  546. package/package.json +21 -21
  547. package/react/context/ApolloConsumer.js +1 -1
  548. package/react/context/ApolloContext.js +1 -1
  549. package/react/context/ApolloProvider.js +1 -1
  550. package/react/hooks/internal/__use.js +6 -6
  551. package/react/hooks/internal/__use.js.map +1 -1
  552. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  553. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  554. package/react/hooks/internal/validateSuspenseHookOptions.js +2 -2
  555. package/react/hooks/internal/wrapHook.d.ts +42 -38
  556. package/react/hooks/internal/wrapHook.js +36 -34
  557. package/react/hooks/internal/wrapHook.js.map +1 -1
  558. package/react/hooks/useApolloClient.js +1 -1
  559. package/react/hooks/useBackgroundQuery.d.ts +1 -1
  560. package/react/hooks/useBackgroundQuery.js.map +1 -1
  561. package/react/hooks/useFragment.d.ts +1 -1
  562. package/react/hooks/useFragment.js.map +1 -1
  563. package/react/hooks/useLazyQuery.d.ts +1 -1
  564. package/react/hooks/useLazyQuery.js +3 -3
  565. package/react/hooks/useLazyQuery.js.map +1 -1
  566. package/react/hooks/useLoadableQuery.d.ts +1 -1
  567. package/react/hooks/useLoadableQuery.js +2 -2
  568. package/react/hooks/useLoadableQuery.js.map +1 -1
  569. package/react/hooks/useMutation.d.ts +1 -1
  570. package/react/hooks/useMutation.js +1 -1
  571. package/react/hooks/useMutation.js.map +1 -1
  572. package/react/hooks/useQuery.d.ts +1 -1
  573. package/react/hooks/useQuery.js +1 -1
  574. package/react/hooks/useQuery.js.map +1 -1
  575. package/react/hooks/useSubscription.d.ts +1 -1
  576. package/react/hooks/useSubscription.js +1 -1
  577. package/react/hooks/useSubscription.js.map +1 -1
  578. package/react/hooks/useSuspenseFragment.d.ts +1 -1
  579. package/react/hooks/useSuspenseFragment.js.map +1 -1
  580. package/react/hooks/useSuspenseQuery.d.ts +1 -1
  581. package/react/hooks/useSuspenseQuery.js.map +1 -1
  582. package/react/hooks/useSyncExternalStore.js +21 -2
  583. package/react/hooks/useSyncExternalStore.js.map +1 -1
  584. package/react/internal/cache/FragmentReference.d.ts +2 -2
  585. package/react/internal/cache/FragmentReference.js +2 -2
  586. package/react/internal/cache/FragmentReference.js.map +1 -1
  587. package/react/internal/cache/QueryReference.d.ts +27 -9
  588. package/react/internal/cache/QueryReference.js +9 -13
  589. package/react/internal/cache/QueryReference.js.map +1 -1
  590. package/react/query-preloader/createQueryPreloader.d.ts +1 -1
  591. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  592. package/react/ssr/prerenderStatic.js +9 -2
  593. package/react/ssr/prerenderStatic.js.map +1 -1
  594. package/testing/core/mocking/mockLink.d.ts +10 -2
  595. package/testing/core/mocking/mockLink.js +14 -9
  596. package/testing/core/mocking/mockLink.js.map +1 -1
  597. package/testing/internal/ObservableStream.d.ts +12 -1
  598. package/testing/internal/ObservableStream.js +13 -1
  599. package/testing/internal/ObservableStream.js.map +1 -1
  600. package/testing/internal/disposables/withCleanup.d.ts +5 -1
  601. package/testing/internal/disposables/withCleanup.js +5 -1
  602. package/testing/internal/disposables/withCleanup.js.map +1 -1
  603. package/testing/matchers/index.js +3 -0
  604. package/testing/matchers/index.js.map +1 -1
  605. package/testing/matchers/toEmitTypedValue.d.ts +6 -1
  606. package/testing/matchers/toEmitTypedValue.js +1 -1
  607. package/testing/matchers/toEmitTypedValue.js.map +1 -1
  608. package/testing/matchers/toMatchDocument.js +2 -1
  609. package/testing/matchers/toMatchDocument.js.map +1 -1
  610. package/testing/matchers/toRerenderWithSimilarSnapshot.d.ts +20 -0
  611. package/testing/matchers/toRerenderWithSimilarSnapshot.js +62 -0
  612. package/testing/matchers/toRerenderWithSimilarSnapshot.js.map +1 -0
  613. package/testing/matchers/toStrictEqualTyped.d.ts +4 -0
  614. package/testing/matchers/toStrictEqualTyped.js +1 -1
  615. package/testing/matchers/toStrictEqualTyped.js.map +1 -1
  616. package/testing/matchers/utils/getSerializableProperties.js +15 -3
  617. package/testing/matchers/utils/getSerializableProperties.js.map +1 -1
  618. package/testing/react/MockedProvider.d.ts +2 -2
  619. package/testing/react/MockedProvider.js +2 -2
  620. package/testing/react/MockedProvider.js.map +1 -1
  621. package/utilities/caching/index.d.ts +0 -1
  622. package/utilities/caching/index.js +0 -1
  623. package/utilities/caching/index.js.map +1 -1
  624. package/utilities/caching/sizes.js +1 -1
  625. package/utilities/caching/sizes.js.map +1 -1
  626. package/utilities/common/stripTypename.d.ts +7 -1
  627. package/utilities/common/stripTypename.js +7 -1
  628. package/utilities/common/stripTypename.js.map +1 -1
  629. package/utilities/graphql/DocumentTransform.d.ts +10 -6
  630. package/utilities/graphql/DocumentTransform.js +12 -8
  631. package/utilities/graphql/DocumentTransform.js.map +1 -1
  632. package/utilities/graphql/operations.d.ts +21 -0
  633. package/utilities/graphql/operations.js +22 -1
  634. package/utilities/graphql/operations.js.map +1 -1
  635. package/utilities/graphql/print.d.ts +8 -0
  636. package/utilities/graphql/print.js +10 -2
  637. package/utilities/graphql/print.js.map +1 -1
  638. package/utilities/graphql/storeUtils.d.ts +14 -22
  639. package/utilities/graphql/storeUtils.js +5 -196
  640. package/utilities/graphql/storeUtils.js.map +1 -1
  641. package/utilities/graphql/transform.d.ts +6 -24
  642. package/utilities/graphql/transform.js +7 -443
  643. package/utilities/graphql/transform.js.map +1 -1
  644. package/utilities/index.d.ts +18 -38
  645. package/utilities/index.js +16 -23
  646. package/utilities/index.js.map +1 -1
  647. package/utilities/internal/DeepMerger.d.ts +17 -0
  648. package/utilities/{common/mergeDeep.js → internal/DeepMerger.js} +7 -22
  649. package/utilities/internal/DeepMerger.js.map +1 -0
  650. package/utilities/internal/argumentsObjectFromField.d.ts +8 -0
  651. package/utilities/internal/argumentsObjectFromField.js +15 -0
  652. package/utilities/internal/argumentsObjectFromField.js.map +1 -0
  653. package/utilities/internal/caches.d.ts +42 -0
  654. package/utilities/{caching → internal}/caches.js +24 -20
  655. package/utilities/internal/caches.js.map +1 -0
  656. package/utilities/internal/canUseDOM.d.ts +7 -0
  657. package/utilities/internal/canUseDOM.js +8 -0
  658. package/utilities/internal/canUseDOM.js.map +1 -0
  659. package/utilities/internal/checkDocument.d.ts +10 -0
  660. package/utilities/internal/checkDocument.js +32 -0
  661. package/utilities/internal/checkDocument.js.map +1 -0
  662. package/utilities/internal/cloneDeep.d.ts +9 -0
  663. package/utilities/{common → internal}/cloneDeep.js +10 -6
  664. package/utilities/internal/cloneDeep.js.map +1 -0
  665. package/utilities/internal/compact.d.ts +11 -0
  666. package/utilities/{common → internal}/compact.js +7 -3
  667. package/utilities/internal/compact.js.map +1 -0
  668. package/utilities/internal/createFragmentMap.d.ts +12 -0
  669. package/utilities/internal/createFragmentMap.js +16 -0
  670. package/utilities/internal/createFragmentMap.js.map +1 -0
  671. package/utilities/internal/createFulfilledPromise.d.ts +8 -0
  672. package/utilities/internal/createFulfilledPromise.js +12 -0
  673. package/utilities/internal/createFulfilledPromise.js.map +1 -0
  674. package/utilities/internal/createRejectedPromise.d.ts +8 -0
  675. package/utilities/internal/createRejectedPromise.js +14 -0
  676. package/utilities/internal/createRejectedPromise.js.map +1 -0
  677. package/utilities/internal/dealias.d.ts +5 -0
  678. package/utilities/internal/dealias.js +18 -0
  679. package/utilities/internal/dealias.js.map +1 -0
  680. package/utilities/internal/decoratePromise.d.ts +8 -0
  681. package/utilities/internal/decoratePromise.js +30 -0
  682. package/utilities/internal/decoratePromise.js.map +1 -0
  683. package/utilities/internal/deepFreeze.d.ts +7 -0
  684. package/utilities/{common/maybeDeepFreeze.js → internal/deepFreeze.js} +7 -9
  685. package/utilities/internal/deepFreeze.js.map +1 -0
  686. package/utilities/internal/filterMap.d.ts +4 -0
  687. package/utilities/internal/filterMap.js +28 -0
  688. package/utilities/internal/filterMap.js.map +1 -0
  689. package/utilities/internal/getDefaultValues.d.ts +8 -0
  690. package/utilities/internal/getDefaultValues.js +19 -0
  691. package/utilities/internal/getDefaultValues.js.map +1 -0
  692. package/utilities/internal/getFragmentDefinition.d.ts +8 -0
  693. package/utilities/internal/getFragmentDefinition.js +14 -0
  694. package/utilities/internal/getFragmentDefinition.js.map +1 -0
  695. package/utilities/internal/getFragmentDefinitions.d.ts +8 -0
  696. package/utilities/internal/getFragmentDefinitions.js +9 -0
  697. package/utilities/internal/getFragmentDefinitions.js.map +1 -0
  698. package/utilities/internal/getFragmentFromSelection.d.ts +10 -0
  699. package/utilities/internal/getFragmentFromSelection.js +24 -0
  700. package/utilities/internal/getFragmentFromSelection.js.map +1 -0
  701. package/utilities/internal/getFragmentQueryDocument.d.ts +29 -0
  702. package/utilities/{graphql/fragments.js → internal/getFragmentQueryDocument.js} +26 -63
  703. package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
  704. package/utilities/internal/getGraphQLErrorsFromResult.d.ts +8 -0
  705. package/utilities/{common/errorHandling.js → internal/getGraphQLErrorsFromResult.js} +8 -7
  706. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
  707. package/utilities/internal/getMainDefinition.d.ts +12 -0
  708. package/utilities/internal/getMainDefinition.js +35 -0
  709. package/utilities/internal/getMainDefinition.js.map +1 -0
  710. package/utilities/internal/getMemoryInternals.d.ts +15 -9
  711. package/utilities/internal/getMemoryInternals.js +15 -9
  712. package/utilities/internal/getMemoryInternals.js.map +1 -1
  713. package/utilities/internal/getOperationDefinition.d.ts +8 -0
  714. package/utilities/internal/getOperationDefinition.js +11 -0
  715. package/utilities/internal/getOperationDefinition.js.map +1 -0
  716. package/utilities/internal/getOperationName.d.ts +8 -0
  717. package/utilities/internal/getOperationName.js +9 -0
  718. package/utilities/internal/getOperationName.js.map +1 -0
  719. package/utilities/internal/getQueryDefinition.d.ts +8 -0
  720. package/utilities/internal/getQueryDefinition.js +13 -0
  721. package/utilities/internal/getQueryDefinition.js.map +1 -0
  722. package/utilities/internal/getStoreKeyName.d.ts +16 -0
  723. package/utilities/internal/getStoreKeyName.js +70 -0
  724. package/utilities/internal/getStoreKeyName.js.map +1 -0
  725. package/utilities/{globals → internal/globals}/global.js +2 -2
  726. package/utilities/internal/globals/global.js.map +1 -0
  727. package/utilities/internal/globals/index.js.map +1 -0
  728. package/utilities/internal/globals/maybe.js.map +1 -0
  729. package/utilities/internal/graphQLResultHasError.d.ts +8 -0
  730. package/utilities/internal/graphQLResultHasError.js +12 -0
  731. package/utilities/internal/graphQLResultHasError.js.map +1 -0
  732. package/utilities/internal/hasDirectives.d.ts +8 -0
  733. package/utilities/internal/hasDirectives.js +21 -0
  734. package/utilities/internal/hasDirectives.js.map +1 -0
  735. package/utilities/internal/hasForcedResolvers.d.ts +3 -0
  736. package/utilities/internal/hasForcedResolvers.js +20 -0
  737. package/utilities/internal/hasForcedResolvers.js.map +1 -0
  738. package/utilities/internal/index.d.ts +66 -2
  739. package/utilities/internal/index.js +52 -2
  740. package/utilities/internal/index.js.map +1 -1
  741. package/utilities/internal/isArray.d.ts +9 -0
  742. package/utilities/internal/isArray.js +9 -0
  743. package/utilities/internal/isArray.js.map +1 -0
  744. package/utilities/internal/isDocumentNode.d.ts +8 -0
  745. package/utilities/internal/isDocumentNode.js +12 -0
  746. package/utilities/internal/isDocumentNode.js.map +1 -0
  747. package/utilities/internal/isExecutionPatchIncrementalResult.d.ts +8 -0
  748. package/utilities/internal/isExecutionPatchIncrementalResult.js +9 -0
  749. package/utilities/internal/isExecutionPatchIncrementalResult.js.map +1 -0
  750. package/utilities/internal/isExecutionPatchIninitialResult.d.ts +8 -0
  751. package/utilities/internal/isExecutionPatchIninitialResult.js +9 -0
  752. package/utilities/internal/isExecutionPatchIninitialResult.js.map +1 -0
  753. package/utilities/internal/isExecutionPatchResult.d.ts +8 -0
  754. package/utilities/internal/isExecutionPatchResult.js +12 -0
  755. package/utilities/internal/isExecutionPatchResult.js.map +1 -0
  756. package/utilities/internal/isField.d.ts +8 -0
  757. package/utilities/internal/isField.js +9 -0
  758. package/utilities/internal/isField.js.map +1 -0
  759. package/utilities/internal/isNonEmptyArray.d.ts +7 -0
  760. package/utilities/internal/isNonEmptyArray.js +9 -0
  761. package/utilities/internal/isNonEmptyArray.js.map +1 -0
  762. package/utilities/internal/isNonNullObject.d.ts +7 -0
  763. package/utilities/internal/isNonNullObject.js +9 -0
  764. package/utilities/internal/isNonNullObject.js.map +1 -0
  765. package/utilities/internal/isPlainObject.d.ts +7 -0
  766. package/utilities/{common/objects.js → internal/isPlainObject.js} +6 -4
  767. package/utilities/internal/isPlainObject.js.map +1 -0
  768. package/utilities/internal/makeReference.d.ts +8 -0
  769. package/utilities/internal/makeReference.js +9 -0
  770. package/utilities/internal/makeReference.js.map +1 -0
  771. package/utilities/internal/makeUniqueId.d.ts +10 -0
  772. package/utilities/internal/makeUniqueId.js +15 -0
  773. package/utilities/internal/makeUniqueId.js.map +1 -0
  774. package/utilities/internal/maybeDeepFreeze.d.ts +7 -0
  775. package/utilities/internal/maybeDeepFreeze.js +14 -0
  776. package/utilities/internal/maybeDeepFreeze.js.map +1 -0
  777. package/utilities/internal/mergeDeep.d.ts +8 -0
  778. package/utilities/internal/mergeDeep.js +23 -0
  779. package/utilities/internal/mergeDeep.js.map +1 -0
  780. package/utilities/internal/mergeDeepArray.d.ts +7 -0
  781. package/utilities/internal/mergeDeepArray.js +24 -0
  782. package/utilities/internal/mergeDeepArray.js.map +1 -0
  783. package/utilities/internal/mergeIncrementalData.d.ts +8 -0
  784. package/utilities/internal/mergeIncrementalData.js +27 -0
  785. package/utilities/internal/mergeIncrementalData.js.map +1 -0
  786. package/utilities/{common → internal}/mergeOptions.d.ts +5 -0
  787. package/utilities/{common → internal}/mergeOptions.js +5 -0
  788. package/utilities/internal/mergeOptions.js.map +1 -0
  789. package/utilities/internal/omitDeep.d.ts +8 -0
  790. package/utilities/{common → internal}/omitDeep.js +6 -1
  791. package/utilities/internal/omitDeep.js.map +1 -0
  792. package/utilities/internal/{observables.d.ts → onAnyEvent.d.ts} +6 -2
  793. package/utilities/internal/{observables.js → onAnyEvent.js} +6 -2
  794. package/utilities/internal/onAnyEvent.js.map +1 -0
  795. package/utilities/{promises → internal}/preventUnhandledRejection.js.map +1 -1
  796. package/utilities/internal/removeDirectivesFromDocument.d.ts +14 -0
  797. package/utilities/internal/removeDirectivesFromDocument.js +300 -0
  798. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
  799. package/utilities/internal/resultKeyNameFromField.d.ts +8 -0
  800. package/utilities/internal/resultKeyNameFromField.js +9 -0
  801. package/utilities/internal/resultKeyNameFromField.js.map +1 -0
  802. package/utilities/internal/shouldInclude.d.ts +8 -0
  803. package/utilities/internal/shouldInclude.js +47 -0
  804. package/utilities/internal/shouldInclude.js.map +1 -0
  805. package/utilities/internal/storeKeyNameFromField.d.ts +8 -0
  806. package/utilities/internal/storeKeyNameFromField.js +26 -0
  807. package/utilities/internal/storeKeyNameFromField.js.map +1 -0
  808. package/utilities/internal/stringifyForDisplay.d.ts +7 -0
  809. package/utilities/{common → internal}/stringifyForDisplay.js +6 -1
  810. package/utilities/internal/stringifyForDisplay.js.map +1 -0
  811. package/utilities/internal/toQueryResult.d.ts +5 -0
  812. package/utilities/internal/toQueryResult.js +5 -0
  813. package/utilities/internal/toQueryResult.js.map +1 -1
  814. package/utilities/internal/types/DecoratedPromise.d.ts +10 -0
  815. package/utilities/internal/types/DecoratedPromise.js +2 -0
  816. package/utilities/internal/types/DecoratedPromise.js.map +1 -0
  817. package/utilities/{types → internal/types}/DeepOmit.d.ts +5 -0
  818. package/utilities/{types → internal/types}/DeepPartial.d.ts +5 -0
  819. package/utilities/internal/types/DeepPartial.js.map +1 -0
  820. package/utilities/internal/types/FragmentMap.d.ts +12 -0
  821. package/utilities/internal/types/FragmentMap.js +2 -0
  822. package/utilities/internal/types/FragmentMap.js.map +1 -0
  823. package/utilities/internal/types/FragmentMapFunction.d.ts +8 -0
  824. package/utilities/internal/types/FragmentMapFunction.js +2 -0
  825. package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
  826. package/utilities/internal/types/FulfilledPromise.d.ts +10 -0
  827. package/utilities/internal/types/FulfilledPromise.js +2 -0
  828. package/utilities/internal/types/FulfilledPromise.js.map +1 -0
  829. package/utilities/internal/types/IsAny.d.ts +7 -0
  830. package/utilities/internal/types/IsAny.js +2 -0
  831. package/utilities/internal/types/IsAny.js.map +1 -0
  832. package/utilities/{types → internal/types}/NoInfer.d.ts +2 -0
  833. package/utilities/internal/types/PendingPromise.d.ts +9 -0
  834. package/utilities/internal/types/PendingPromise.js +2 -0
  835. package/utilities/internal/types/PendingPromise.js.map +1 -0
  836. package/utilities/internal/types/Prettify.d.ts +9 -0
  837. package/utilities/internal/types/Primitive.d.ts +7 -0
  838. package/utilities/internal/types/RejectedPromise.d.ts +10 -0
  839. package/utilities/internal/types/RejectedPromise.js +2 -0
  840. package/utilities/internal/types/RejectedPromise.js.map +1 -0
  841. package/utilities/{types → internal/types}/RemoveIndexSignature.d.ts +5 -0
  842. package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
  843. package/utilities/internal/types/TupleToIntersection.js +2 -0
  844. package/utilities/internal/types/TupleToIntersection.js.map +1 -0
  845. package/utilities/{types → internal/types}/VariablesOption.d.ts +5 -0
  846. package/utilities/internal/valueToObjectRepresentation.d.ts +8 -0
  847. package/utilities/internal/valueToObjectRepresentation.js +41 -0
  848. package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
  849. package/utilities/invariant/index.js +3 -2
  850. package/utilities/invariant/index.js.map +1 -1
  851. package/utilities/policies/pagination.d.ts +23 -0
  852. package/utilities/policies/pagination.js +24 -7
  853. package/utilities/policies/pagination.js.map +1 -1
  854. package/utilities/{common → shared}/canonicalStringify.js +5 -2
  855. package/utilities/shared/canonicalStringify.js.map +1 -0
  856. package/utilities/subscriptions/relay/index.js +1 -1
  857. package/utilities/subscriptions/relay/index.js.map +1 -1
  858. package/version.js +1 -1
  859. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +0 -21
  860. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +0 -1
  861. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.d.cts +0 -3
  862. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +0 -19
  863. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +0 -1
  864. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.d.cts +0 -3
  865. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs +0 -11
  866. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs.map +0 -1
  867. package/__cjs/config/jest/areGraphQlErrorsEqual.d.cts +0 -3
  868. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +0 -20
  869. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +0 -1
  870. package/__cjs/config/jest/areMissingFieldErrorsEqual.d.cts +0 -3
  871. package/__cjs/config/jest/areServerErrorsEqual.cjs +0 -22
  872. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +0 -1
  873. package/__cjs/config/jest/areServerErrorsEqual.d.cts +0 -3
  874. package/__cjs/config/jest/resolver.cjs +0 -32
  875. package/__cjs/config/jest/resolver.cjs.map +0 -1
  876. package/__cjs/config/jest/resolver.d.cts +0 -3
  877. package/__cjs/config/jest/setup.cjs +0 -65
  878. package/__cjs/config/jest/setup.cjs.map +0 -1
  879. package/__cjs/config/jest/setup.d.cts +0 -3
  880. package/__cjs/core/LocalState.cjs +0 -332
  881. package/__cjs/core/LocalState.cjs.map +0 -1
  882. package/__cjs/core/LocalState.d.cts +0 -52
  883. package/__cjs/testing/experimental/createSchemaFetch.cjs +0 -92
  884. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +0 -1
  885. package/__cjs/testing/experimental/createSchemaFetch.d.cts +0 -43
  886. package/__cjs/testing/experimental/createTestSchema.cjs +0 -110
  887. package/__cjs/testing/experimental/createTestSchema.cjs.map +0 -1
  888. package/__cjs/testing/experimental/createTestSchema.d.cts +0 -57
  889. package/__cjs/testing/experimental/graphql-tools/utils.cjs +0 -177
  890. package/__cjs/testing/experimental/graphql-tools/utils.cjs.map +0 -1
  891. package/__cjs/testing/experimental/graphql-tools/utils.d.cts +0 -26
  892. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs +0 -200
  893. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs.map +0 -1
  894. package/__cjs/testing/experimental/graphql-tools/utils.test.d.cts +0 -2
  895. package/__cjs/testing/experimental/index.cjs +0 -8
  896. package/__cjs/testing/experimental/index.cjs.map +0 -1
  897. package/__cjs/testing/experimental/index.d.cts +0 -3
  898. package/__cjs/utilities/caching/caches.cjs.map +0 -1
  899. package/__cjs/utilities/caching/caches.d.cts +0 -34
  900. package/__cjs/utilities/common/arrays.cjs.map +0 -1
  901. package/__cjs/utilities/common/arrays.d.cts +0 -3
  902. package/__cjs/utilities/common/canUse.cjs +0 -24
  903. package/__cjs/utilities/common/canUse.cjs.map +0 -1
  904. package/__cjs/utilities/common/canUse.d.cts +0 -3
  905. package/__cjs/utilities/common/canonicalStringify.cjs.map +0 -1
  906. package/__cjs/utilities/common/cloneDeep.cjs.map +0 -1
  907. package/__cjs/utilities/common/cloneDeep.d.cts +0 -5
  908. package/__cjs/utilities/common/compact.cjs.map +0 -1
  909. package/__cjs/utilities/common/compact.d.cts +0 -7
  910. package/__cjs/utilities/common/errorHandling.cjs +0 -23
  911. package/__cjs/utilities/common/errorHandling.cjs.map +0 -1
  912. package/__cjs/utilities/common/errorHandling.d.cts +0 -4
  913. package/__cjs/utilities/common/incrementalResult.cjs +0 -45
  914. package/__cjs/utilities/common/incrementalResult.cjs.map +0 -1
  915. package/__cjs/utilities/common/incrementalResult.d.cts +0 -7
  916. package/__cjs/utilities/common/makeUniqueId.cjs.map +0 -1
  917. package/__cjs/utilities/common/makeUniqueId.d.cts +0 -2
  918. package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +0 -1
  919. package/__cjs/utilities/common/maybeDeepFreeze.d.cts +0 -4
  920. package/__cjs/utilities/common/mergeDeep.cjs.map +0 -1
  921. package/__cjs/utilities/common/mergeDeep.d.cts +0 -14
  922. package/__cjs/utilities/common/mergeOptions.cjs.map +0 -1
  923. package/__cjs/utilities/common/objects.cjs.map +0 -1
  924. package/__cjs/utilities/common/objects.d.cts +0 -3
  925. package/__cjs/utilities/common/omitDeep.cjs.map +0 -1
  926. package/__cjs/utilities/common/omitDeep.d.cts +0 -3
  927. package/__cjs/utilities/common/stringifyForDisplay.cjs.map +0 -1
  928. package/__cjs/utilities/common/stringifyForDisplay.d.cts +0 -2
  929. package/__cjs/utilities/globals/global.cjs.map +0 -1
  930. package/__cjs/utilities/globals/index.cjs.map +0 -1
  931. package/__cjs/utilities/globals/maybe.cjs.map +0 -1
  932. package/__cjs/utilities/graphql/directives.cjs +0 -114
  933. package/__cjs/utilities/graphql/directives.cjs.map +0 -1
  934. package/__cjs/utilities/graphql/directives.d.cts +0 -20
  935. package/__cjs/utilities/graphql/fragments.cjs.map +0 -1
  936. package/__cjs/utilities/graphql/fragments.d.cts +0 -35
  937. package/__cjs/utilities/graphql/getFromAST.cjs +0 -101
  938. package/__cjs/utilities/graphql/getFromAST.cjs.map +0 -1
  939. package/__cjs/utilities/graphql/getFromAST.d.cts +0 -15
  940. package/__cjs/utilities/internal/observables.cjs.map +0 -1
  941. package/__cjs/utilities/promises/decoration.cjs +0 -45
  942. package/__cjs/utilities/promises/decoration.cjs.map +0 -1
  943. package/__cjs/utilities/promises/decoration.d.cts +0 -18
  944. package/__cjs/utilities/types/DeepPartial.cjs.map +0 -1
  945. package/__cjs/utilities/types/IsStrictlyAny.cjs.map +0 -1
  946. package/__cjs/utilities/types/IsStrictlyAny.d.cts +0 -5
  947. package/__cjs/utilities/types/Prettify.d.cts +0 -4
  948. package/__cjs/utilities/types/Primitive.d.cts +0 -2
  949. package/__cjs/utilities/types/UnionToIntersection.cjs +0 -3
  950. package/__cjs/utilities/types/UnionToIntersection.cjs.map +0 -1
  951. package/__cjs/utilities/types/UnionToIntersection.d.cts +0 -2
  952. package/config/jest/areCombinedGraphQLErrorsEqual.d.ts +0 -3
  953. package/config/jest/areCombinedGraphQLErrorsEqual.js +0 -17
  954. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +0 -1
  955. package/config/jest/areCombinedProtocolErrorsEqual.d.ts +0 -3
  956. package/config/jest/areCombinedProtocolErrorsEqual.js +0 -15
  957. package/config/jest/areCombinedProtocolErrorsEqual.js.map +0 -1
  958. package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
  959. package/config/jest/areGraphQlErrorsEqual.js +0 -7
  960. package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
  961. package/config/jest/areMissingFieldErrorsEqual.d.ts +0 -3
  962. package/config/jest/areMissingFieldErrorsEqual.js +0 -16
  963. package/config/jest/areMissingFieldErrorsEqual.js.map +0 -1
  964. package/config/jest/areServerErrorsEqual.d.ts +0 -3
  965. package/config/jest/areServerErrorsEqual.js +0 -18
  966. package/config/jest/areServerErrorsEqual.js.map +0 -1
  967. package/config/jest/resolver.d.ts +0 -3
  968. package/config/jest/resolver.js +0 -29
  969. package/config/jest/resolver.js.map +0 -1
  970. package/config/jest/setup.d.ts +0 -3
  971. package/config/jest/setup.js +0 -62
  972. package/config/jest/setup.js.map +0 -1
  973. package/core/LocalState.d.ts +0 -52
  974. package/core/LocalState.js +0 -328
  975. package/core/LocalState.js.map +0 -1
  976. package/legacyEntryPoints/testing/experimental/experimental.cjs +0 -1
  977. package/legacyEntryPoints/testing/experimental/experimental.d.cts +0 -1
  978. package/legacyEntryPoints/testing/experimental/index.d.ts +0 -1
  979. package/legacyEntryPoints/testing/experimental/index.js +0 -1
  980. package/legacyEntryPoints/utilities/globals/globals.cjs +0 -1
  981. package/legacyEntryPoints/utilities/globals/globals.d.cts +0 -1
  982. package/legacyEntryPoints/utilities/globals/index.d.ts +0 -1
  983. package/legacyEntryPoints/utilities/globals/index.js +0 -1
  984. package/testing/experimental/createSchemaFetch.d.ts +0 -43
  985. package/testing/experimental/createSchemaFetch.js +0 -89
  986. package/testing/experimental/createSchemaFetch.js.map +0 -1
  987. package/testing/experimental/createTestSchema.d.ts +0 -57
  988. package/testing/experimental/createTestSchema.js +0 -107
  989. package/testing/experimental/createTestSchema.js.map +0 -1
  990. package/testing/experimental/graphql-tools/utils.d.ts +0 -26
  991. package/testing/experimental/graphql-tools/utils.js +0 -174
  992. package/testing/experimental/graphql-tools/utils.js.map +0 -1
  993. package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
  994. package/testing/experimental/graphql-tools/utils.test.js +0 -198
  995. package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
  996. package/testing/experimental/index.d.ts +0 -3
  997. package/testing/experimental/index.js +0 -3
  998. package/testing/experimental/index.js.map +0 -1
  999. package/utilities/caching/caches.d.ts +0 -34
  1000. package/utilities/caching/caches.js.map +0 -1
  1001. package/utilities/common/arrays.d.ts +0 -3
  1002. package/utilities/common/arrays.js +0 -6
  1003. package/utilities/common/arrays.js.map +0 -1
  1004. package/utilities/common/canUse.d.ts +0 -3
  1005. package/utilities/common/canUse.js +0 -21
  1006. package/utilities/common/canUse.js.map +0 -1
  1007. package/utilities/common/canonicalStringify.js.map +0 -1
  1008. package/utilities/common/cloneDeep.d.ts +0 -5
  1009. package/utilities/common/cloneDeep.js.map +0 -1
  1010. package/utilities/common/compact.d.ts +0 -7
  1011. package/utilities/common/compact.js.map +0 -1
  1012. package/utilities/common/errorHandling.d.ts +0 -4
  1013. package/utilities/common/errorHandling.js.map +0 -1
  1014. package/utilities/common/incrementalResult.d.ts +0 -7
  1015. package/utilities/common/incrementalResult.js +0 -38
  1016. package/utilities/common/incrementalResult.js.map +0 -1
  1017. package/utilities/common/makeUniqueId.d.ts +0 -2
  1018. package/utilities/common/makeUniqueId.js +0 -9
  1019. package/utilities/common/makeUniqueId.js.map +0 -1
  1020. package/utilities/common/maybeDeepFreeze.d.ts +0 -4
  1021. package/utilities/common/maybeDeepFreeze.js.map +0 -1
  1022. package/utilities/common/mergeDeep.d.ts +0 -14
  1023. package/utilities/common/mergeDeep.js.map +0 -1
  1024. package/utilities/common/mergeOptions.js.map +0 -1
  1025. package/utilities/common/objects.d.ts +0 -3
  1026. package/utilities/common/objects.js.map +0 -1
  1027. package/utilities/common/omitDeep.d.ts +0 -3
  1028. package/utilities/common/omitDeep.js.map +0 -1
  1029. package/utilities/common/stringifyForDisplay.d.ts +0 -2
  1030. package/utilities/common/stringifyForDisplay.js.map +0 -1
  1031. package/utilities/globals/global.js.map +0 -1
  1032. package/utilities/globals/index.js.map +0 -1
  1033. package/utilities/globals/maybe.js.map +0 -1
  1034. package/utilities/graphql/directives.d.ts +0 -20
  1035. package/utilities/graphql/directives.js +0 -99
  1036. package/utilities/graphql/directives.js.map +0 -1
  1037. package/utilities/graphql/fragments.d.ts +0 -35
  1038. package/utilities/graphql/fragments.js.map +0 -1
  1039. package/utilities/graphql/getFromAST.d.ts +0 -15
  1040. package/utilities/graphql/getFromAST.js +0 -91
  1041. package/utilities/graphql/getFromAST.js.map +0 -1
  1042. package/utilities/internal/observables.js.map +0 -1
  1043. package/utilities/promises/decoration.d.ts +0 -18
  1044. package/utilities/promises/decoration.js.map +0 -1
  1045. package/utilities/types/DeepPartial.js.map +0 -1
  1046. package/utilities/types/IsStrictlyAny.d.ts +0 -5
  1047. package/utilities/types/IsStrictlyAny.js +0 -2
  1048. package/utilities/types/IsStrictlyAny.js.map +0 -1
  1049. package/utilities/types/Prettify.d.ts +0 -4
  1050. package/utilities/types/Primitive.d.ts +0 -2
  1051. package/utilities/types/UnionToIntersection.d.ts +0 -2
  1052. package/utilities/types/UnionToIntersection.js +0 -2
  1053. package/utilities/types/UnionToIntersection.js.map +0 -1
  1054. /package/__cjs/utilities/{globals → internal/globals}/global.cjs +0 -0
  1055. /package/__cjs/utilities/{globals → internal/globals}/global.d.cts +0 -0
  1056. /package/__cjs/utilities/{globals → internal/globals}/index.cjs +0 -0
  1057. /package/__cjs/utilities/{globals → internal/globals}/index.d.cts +0 -0
  1058. /package/__cjs/utilities/{globals → internal/globals}/maybe.cjs +0 -0
  1059. /package/__cjs/utilities/{globals → internal/globals}/maybe.d.cts +0 -0
  1060. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs +0 -0
  1061. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.d.cts +0 -0
  1062. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs +0 -0
  1063. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs.map +0 -0
  1064. /package/__cjs/utilities/{types → internal/types}/DeepPartial.cjs +0 -0
  1065. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs +0 -0
  1066. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs.map +0 -0
  1067. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs +0 -0
  1068. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs.map +0 -0
  1069. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs +0 -0
  1070. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs.map +0 -0
  1071. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs +0 -0
  1072. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs.map +0 -0
  1073. /package/__cjs/utilities/{types → internal/types}/VariablesOption.cjs +0 -0
  1074. /package/__cjs/utilities/{types → internal/types}/VariablesOption.cjs.map +0 -0
  1075. /package/__cjs/utilities/{common → shared}/canonicalStringify.d.cts +0 -0
  1076. /package/utilities/{globals → internal/globals}/global.d.ts +0 -0
  1077. /package/utilities/{globals → internal/globals}/index.d.ts +0 -0
  1078. /package/utilities/{globals → internal/globals}/index.js +0 -0
  1079. /package/utilities/{globals → internal/globals}/maybe.d.ts +0 -0
  1080. /package/utilities/{globals → internal/globals}/maybe.js +0 -0
  1081. /package/utilities/{promises → internal}/preventUnhandledRejection.d.ts +0 -0
  1082. /package/utilities/{promises → internal}/preventUnhandledRejection.js +0 -0
  1083. /package/utilities/{types → internal/types}/DeepOmit.js +0 -0
  1084. /package/utilities/{types → internal/types}/DeepOmit.js.map +0 -0
  1085. /package/utilities/{types → internal/types}/DeepPartial.js +0 -0
  1086. /package/utilities/{types → internal/types}/NoInfer.js +0 -0
  1087. /package/utilities/{types → internal/types}/NoInfer.js.map +0 -0
  1088. /package/utilities/{types → internal/types}/Prettify.js +0 -0
  1089. /package/utilities/{types → internal/types}/Prettify.js.map +0 -0
  1090. /package/utilities/{types → internal/types}/Primitive.js +0 -0
  1091. /package/utilities/{types → internal/types}/Primitive.js.map +0 -0
  1092. /package/utilities/{types → internal/types}/RemoveIndexSignature.js +0 -0
  1093. /package/utilities/{types → internal/types}/RemoveIndexSignature.js.map +0 -0
  1094. /package/utilities/{types → internal/types}/VariablesOption.js +0 -0
  1095. /package/utilities/{types → internal/types}/VariablesOption.js.map +0 -0
  1096. /package/utilities/{common → shared}/canonicalStringify.d.ts +0 -0
@@ -1,12 +1,12 @@
1
1
  import type { DocumentNode } from "graphql";
2
2
  import type { InteropObservable, Observer, Subscribable, Subscription } from "rxjs";
3
- import type { Observable } from "rxjs";
4
- import type { MissingFieldError } from "@apollo/client/cache";
3
+ import { Observable } from "rxjs";
4
+ import type { Cache, MissingFieldError } from "@apollo/client/cache";
5
5
  import type { MissingTree } from "@apollo/client/cache";
6
6
  import type { MaybeMasked, Unmasked } from "@apollo/client/masking";
7
7
  import type { QueryInfo } from "./QueryInfo.cjs";
8
8
  import type { QueryManager } from "./QueryManager.cjs";
9
- import type { ApolloQueryResult, DefaultContext, ErrorLike, OperationVariables, QueryResult, TypedDocumentNode } from "./types.cjs";
9
+ import type { ApolloQueryResult, DefaultContext, OperationVariables, QueryResult, TypedDocumentNode } from "./types.cjs";
10
10
  import type { ErrorPolicy, FetchMoreQueryOptions, NextFetchPolicyContext, RefetchWritePolicy, SubscribeToMoreOptions, UpdateQueryMapFn, WatchQueryFetchPolicy, WatchQueryOptions } from "./watchQueryOptions.cjs";
11
11
  export interface FetchMoreOptions<TData = unknown, TVariables = OperationVariables> {
12
12
  updateQuery?: (previousQueryResult: TData, options: {
@@ -129,15 +129,40 @@ export declare namespace ObservableQuery {
129
129
  */
130
130
  variables: TVariables;
131
131
  };
132
+ /**
133
+ * @internal
134
+ * This describes the `WatchOptions` used by `ObservableQuery` to
135
+ * subscribe to the cache.
136
+ *
137
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
138
+ */
139
+ interface CacheWatchOptions<TData = unknown, TVariables extends OperationVariables = OperationVariables> extends Cache.WatchOptions<TData, TVariables> {
140
+ /**
141
+ * @internal
142
+ * We cannot suppress the broadcast completely, since that would
143
+ * result in external updates to be lost if we go from
144
+ * (external A) -> (own B) -> (external C) when A and C have the same
145
+ * value.
146
+ * Without the `own B` being broadcast, the `cache.watch` would swallow
147
+ * C.
148
+ * So instead we track the last "own diff" and suppress further processing
149
+ * in the callback.
150
+ *
151
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
152
+ */
153
+ lastOwnDiff?: Cache.DiffResult<TData>;
154
+ }
132
155
  }
133
156
  export declare class ObservableQuery<TData = unknown, TVariables extends OperationVariables = OperationVariables> implements Subscribable<ApolloQueryResult<MaybeMasked<TData>>>, InteropObservable<ApolloQueryResult<MaybeMasked<TData>>> {
134
157
  /**
135
- * @internal
136
- * A slot used by the `useQuery` hook to indicate that `client.watchQuery`
137
- * should not register the query immediately, but instead wait for the query to
138
- * be started registered with the `QueryManager` when `useSyncExternalStore`
139
- * actively subscribes to it.
140
- */
158
+ * @internal
159
+ * A slot used by the `useQuery` hook to indicate that `client.watchQuery`
160
+ * should not register the query immediately, but instead wait for the query to
161
+ * be started registered with the `QueryManager` when `useSyncExternalStore`
162
+ * actively subscribes to it.
163
+ *
164
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
165
+ */
141
166
  private static inactiveOnCreation;
142
167
  readonly options: ObservableQuery.Options<TData, TVariables>;
143
168
  readonly queryId: string;
@@ -147,19 +172,24 @@ export declare class ObservableQuery<TData = unknown, TVariables extends Operati
147
172
  * An object containing the variables that were provided for the query.
148
173
  */
149
174
  get variables(): TVariables;
175
+ private unsubscribeFromCache?;
176
+ private input;
150
177
  private subject;
151
178
  private readonly observable;
152
179
  private isTornDown;
153
180
  private queryManager;
154
181
  private subscriptions;
155
- private waitForOwnResult;
156
- private last?;
182
+ /**
183
+ * If an `ObservableQuery` is created with a `network-only` fetch policy,
184
+ * it should actually start receiving cache updates, but not before it has
185
+ * received the first result from the network.
186
+ */
187
+ private waitForNetworkResult;
157
188
  private lastQuery;
158
189
  private queryInfo;
159
190
  private linkSubscription?;
160
- private linkObservable?;
161
191
  private pollingInfo?;
162
- private networkStatus;
192
+ private get networkStatus();
163
193
  constructor({ queryManager, queryInfo, options, }: {
164
194
  queryManager: QueryManager;
165
195
  queryInfo: QueryInfo;
@@ -169,16 +199,17 @@ export declare class ObservableQuery<TData = unknown, TVariables extends Operati
169
199
  pipe: Observable<ApolloQueryResult<MaybeMasked<TData>>>["pipe"];
170
200
  [Symbol.observable]: () => Subscribable<ApolloQueryResult<MaybeMasked<TData>>>;
171
201
  ["@@observable"]: () => Subscribable<ApolloQueryResult<MaybeMasked<TData>>>;
172
- /** @internal */
202
+ /**
203
+ * @internal
204
+ *
205
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
206
+ */
173
207
  resetDiff(): void;
208
+ private getCacheDiff;
174
209
  private getInitialResult;
175
- private getCurrentFullResult;
176
- getCurrentResult(saveAsLastResult?: boolean): ApolloQueryResult<MaybeMasked<TData>>;
177
- isDifferentFromLastResult(newResult: ApolloQueryResult<TData>, variables?: TVariables): boolean | undefined;
178
- private getLast;
179
- getLastResult(variablesMustMatch?: boolean): ApolloQueryResult<TData> | undefined;
180
- getLastError(variablesMustMatch?: boolean): ErrorLike | undefined;
181
- resetLastResults(): void;
210
+ private resubscribeCache;
211
+ private stableLastResult?;
212
+ getCurrentResult(): ApolloQueryResult<MaybeMasked<TData>>;
182
213
  /**
183
214
  * Update the variables of this observable query, and fetch the new results.
184
215
  * This method should be preferred over `setVariables` in most use cases.
@@ -202,7 +233,11 @@ export declare class ObservableQuery<TData = unknown, TVariables extends Operati
202
233
  * This function returns _another_ function that you can call to terminate the subscription.
203
234
  */
204
235
  subscribeToMore<TSubscriptionData = TData, TSubscriptionVariables extends OperationVariables = TVariables>(options: SubscribeToMoreOptions<TData, TSubscriptionVariables, TSubscriptionData, TVariables>): () => void;
205
- /** @internal */
236
+ /**
237
+ * @internal
238
+ *
239
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
240
+ */
206
241
  silentSetOptions(newOptions: Partial<ObservableQuery.Options<TData, TVariables>>): void;
207
242
  /**
208
243
  * Update the variables of this observable query, and fetch the new results
@@ -241,28 +276,55 @@ export declare class ObservableQuery<TData = unknown, TVariables extends Operati
241
276
  private fetch;
242
277
  private updatePolling;
243
278
  private cancelPolling;
244
- private updateLastResult;
245
279
  /**
246
280
  * Reevaluate the query, optionally against new options. New options will be
247
281
  * merged with the current options when given.
248
282
  */
249
283
  reobserve(newOptions?: Partial<ObservableQuery.Options<TData, TVariables>>): Promise<QueryResult<MaybeMasked<TData>>>;
250
- private observe;
251
- private reportResult;
252
- private reportError;
253
284
  hasObservers(): boolean;
254
285
  private tearDownQuery;
255
286
  private transformDocument;
256
287
  private maskResult;
257
288
  private dirty;
258
289
  private notifyTimeout?;
259
- /** @internal */
260
- protected resetNotifications(): void;
261
- private cancelNotifyTimeout;
262
- /** @internal */
263
- protected scheduleNotify(): void;
264
- /** @internal */
265
- protected notify(): void;
290
+ /**
291
+ * @internal
292
+ *
293
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
294
+ */
295
+ private resetNotifications;
296
+ /**
297
+ * @internal
298
+ *
299
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
300
+ */
301
+ private scheduleNotify;
302
+ /**
303
+ * @internal
304
+ *
305
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
306
+ */
307
+ notify(scheduled?: boolean): void;
308
+ private activeOperations;
309
+ private pushOperation;
310
+ private calculateNetworkStatus;
311
+ private abortActiveOperations;
312
+ /**
313
+ * @internal
314
+ * Called from `clearStore`.
315
+ * * resets the query to its initial state
316
+ * * cancels all active operations and their subscriptions
317
+ *
318
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
319
+ */
320
+ reset(): void;
321
+ /**
322
+ * @internal
323
+ *
324
+ * @deprecated This is an internal API and should not be used directly. This can be removed or changed at any time.
325
+ */
326
+ private setResult;
327
+ private operator;
266
328
  private reobserveCacheFirst;
267
329
  private getVariablesWithDefaults;
268
330
  }
@@ -3,9 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.QueryInfo = void 0;
4
4
  exports.shouldWriteResult = shouldWriteResult;
5
5
  const equality_1 = require("@wry/equality");
6
- const utilities_1 = require("@apollo/client/utilities");
7
- const utilities_2 = require("@apollo/client/utilities");
8
- const utilities_3 = require("@apollo/client/utilities");
6
+ const internal_1 = require("@apollo/client/utilities/internal");
9
7
  const destructiveMethodCounts = new WeakMap();
10
8
  function wrapDestructiveCacheMethod(cache, methodName) {
11
9
  const original = cache[methodName];
@@ -40,8 +38,6 @@ class QueryInfo {
40
38
  document = null;
41
39
  lastRequestId = 1;
42
40
  variables;
43
- stopped = false;
44
- cancelWatch;
45
41
  cache;
46
42
  constructor(queryManager, queryId = queryManager.generateQueryId()) {
47
43
  this.queryId = queryId;
@@ -60,9 +56,7 @@ class QueryInfo {
60
56
  }
61
57
  init(query) {
62
58
  if (!(0, equality_1.equal)(query.variables, this.variables)) {
63
- this.lastDiff = void 0;
64
- // Ensure we don't continue to receive cache updates for old variables
65
- this.cancel();
59
+ this.resetDiff();
66
60
  }
67
61
  Object.assign(this, {
68
62
  document: query.document,
@@ -70,33 +64,6 @@ class QueryInfo {
70
64
  });
71
65
  return this;
72
66
  }
73
- resetDiff() {
74
- this.lastDiff = void 0;
75
- }
76
- getDiff() {
77
- const options = this.getDiffOptions();
78
- if (this.lastDiff && (0, equality_1.equal)(options, this.lastDiff.options)) {
79
- return this.lastDiff.diff;
80
- }
81
- this.updateWatch(this.variables);
82
- const oq = this.observableQuery;
83
- if (oq && oq.options.fetchPolicy === "no-cache") {
84
- return { result: null, complete: false };
85
- }
86
- const diff = this.cache.diff(options);
87
- this.updateLastDiff(diff, options);
88
- return diff;
89
- }
90
- lastDiff;
91
- updateLastDiff(diff, options) {
92
- this.lastDiff =
93
- diff ?
94
- {
95
- diff,
96
- options: options || this.getDiffOptions(),
97
- }
98
- : void 0;
99
- }
100
67
  getDiffOptions(variables = this.variables) {
101
68
  return {
102
69
  query: this.document,
@@ -105,25 +72,6 @@ class QueryInfo {
105
72
  optimistic: true,
106
73
  };
107
74
  }
108
- setDiff(diff) {
109
- const oldDiff = this.lastDiff && this.lastDiff.diff;
110
- // If we are trying to deliver an incomplete cache result, we avoid
111
- // reporting it if the query has errored, otherwise we let the broadcast try
112
- // and repair the partial result by refetching the query. This check avoids
113
- // a situation where a query that errors and another succeeds with
114
- // overlapping data does not report the partial data result to the errored
115
- // query.
116
- //
117
- // See https://github.com/apollographql/apollo-client/issues/11400 for more
118
- // information on this issue.
119
- if (diff && !diff.complete && this.observableQuery?.getLastError()) {
120
- return;
121
- }
122
- this.updateLastDiff(diff);
123
- if (!(0, equality_1.equal)(oldDiff && oldDiff.result, diff && diff.result)) {
124
- this.observableQuery?.["scheduleNotify"]();
125
- }
126
- }
127
75
  observableQuery = null;
128
76
  setObservableQuery(oq) {
129
77
  if (oq === this.observableQuery)
@@ -133,40 +81,6 @@ class QueryInfo {
133
81
  oq["queryInfo"] = this;
134
82
  }
135
83
  }
136
- stop() {
137
- if (!this.stopped) {
138
- this.stopped = true;
139
- // Cancel the pending notify timeout
140
- this.observableQuery?.["resetNotifications"]();
141
- this.cancel();
142
- const oq = this.observableQuery;
143
- if (oq)
144
- oq.stopPolling();
145
- }
146
- }
147
- cancel() {
148
- this.cancelWatch?.();
149
- this.cancelWatch = void 0;
150
- }
151
- lastWatch;
152
- updateWatch(variables = this.variables) {
153
- const oq = this.observableQuery;
154
- if (oq && oq.options.fetchPolicy === "no-cache") {
155
- return;
156
- }
157
- const watchOptions = {
158
- // Although this.getDiffOptions returns Cache.DiffOptions instead of
159
- // Cache.WatchOptions, all the overlapping options should be the same, so
160
- // we can reuse getDiffOptions here, for consistency.
161
- ...this.getDiffOptions(variables),
162
- watcher: this,
163
- callback: (diff) => this.setDiff(diff),
164
- };
165
- if (!this.lastWatch || !(0, equality_1.equal)(watchOptions, this.lastWatch)) {
166
- this.cancel();
167
- this.cancelWatch = this.cache.watch((this.lastWatch = watchOptions));
168
- }
169
- }
170
84
  lastWrite;
171
85
  resetLastWrite() {
172
86
  this.lastWrite = void 0;
@@ -181,111 +95,110 @@ class QueryInfo {
181
95
  (0, equality_1.equal)(variables, lastWrite.variables) &&
182
96
  (0, equality_1.equal)(result.data, lastWrite.result.data));
183
97
  }
98
+ resetDiff() {
99
+ this.lastDiff = void 0;
100
+ }
101
+ lastDiff;
184
102
  markResult(result, document, options, cacheWriteBehavior) {
185
- const merger = new utilities_3.DeepMerger();
186
103
  // Cancel the pending notify timeout (if it exists) to prevent extraneous network
187
104
  // requests. To allow future notify timeouts, diff and dirty are reset as well.
188
105
  this.observableQuery?.["resetNotifications"]();
189
- if ("incremental" in result && (0, utilities_1.isNonEmptyArray)(result.incremental)) {
190
- const mergedData = (0, utilities_2.mergeIncrementalData)(this.getDiff().result, result);
191
- result.data = mergedData;
192
- // Detect the first chunk of a deferred query and merge it with existing
193
- // cache data. This ensures a `cache-first` fetch policy that returns
194
- // partial cache data or a `cache-and-network` fetch policy that already
195
- // has full data in the cache does not complain when trying to merge the
196
- // initial deferred server data with existing cache data.
106
+ if (cacheWriteBehavior === 0 /* CacheWriteBehavior.FORBID */) {
107
+ const diffOptions = this.getDiffOptions(options.variables);
108
+ const lastDiff = this.lastDiff && (0, equality_1.equal)(diffOptions, this.lastDiff.options) ?
109
+ this.lastDiff.diff
110
+ : { result: null, complete: false };
111
+ handleIncrementalResult(result, lastDiff);
112
+ this.lastDiff = {
113
+ diff: { result: result.data, complete: true },
114
+ options: diffOptions,
115
+ };
197
116
  }
198
- else if ("hasNext" in result && result.hasNext) {
199
- const diff = this.getDiff();
200
- result.data = merger.merge(diff.result, result.data);
201
- }
202
- if (options.fetchPolicy === "no-cache") {
203
- this.updateLastDiff({ result: result.data, complete: true }, this.getDiffOptions(options.variables));
204
- }
205
- else if (cacheWriteBehavior !== 0 /* CacheWriteBehavior.FORBID */) {
117
+ else {
118
+ const lastDiff = this.cache.diff(this.getDiffOptions());
119
+ handleIncrementalResult(result, lastDiff);
206
120
  if (shouldWriteResult(result, options.errorPolicy)) {
207
121
  // Using a transaction here so we have a chance to read the result
208
122
  // back from the cache before the watch callback fires as a result
209
123
  // of writeQuery, so we can store the new diff quietly and ignore
210
124
  // it when we receive it redundantly from the watch callback.
211
- this.cache.performTransaction((cache) => {
212
- if (this.shouldWrite(result, options.variables)) {
213
- cache.writeQuery({
214
- query: document,
215
- data: result.data,
216
- variables: options.variables,
217
- overwrite: cacheWriteBehavior === 1 /* CacheWriteBehavior.OVERWRITE */,
218
- });
219
- this.lastWrite = {
220
- result,
221
- variables: options.variables,
222
- dmCount: destructiveMethodCounts.get(this.cache),
223
- };
224
- }
225
- else {
226
- // If result is the same as the last result we received from
227
- // the network (and the variables match too), avoid writing
228
- // result into the cache again. The wisdom of skipping this
229
- // cache write is far from obvious, since any cache write
230
- // could be the one that puts the cache back into a desired
231
- // state, fixing corruption or missing data. However, if we
232
- // always write every network result into the cache, we enable
233
- // feuds between queries competing to update the same data in
234
- // incompatible ways, which can lead to an endless cycle of
235
- // cache broadcasts and useless network requests. As with any
236
- // feud, eventually one side must step back from the brink,
237
- // letting the other side(s) have the last word(s). There may
238
- // be other points where we could break this cycle, such as
239
- // silencing the broadcast for cache.writeQuery (not a good
240
- // idea, since it just delays the feud a bit) or somehow
241
- // avoiding the network request that just happened (also bad,
242
- // because the server could return useful new data). All
243
- // options considered, skipping this cache write seems to be
244
- // the least damaging place to break the cycle, because it
245
- // reflects the intuition that we recently wrote this exact
246
- // result into the cache, so the cache *should* already/still
247
- // contain this data. If some other query has clobbered that
248
- // data in the meantime, that's too bad, but there will be no
249
- // winners if every query blindly reverts to its own version
250
- // of the data. This approach also gives the network a chance
251
- // to return new data, which will be written into the cache as
252
- // usual, notifying only those queries that are directly
253
- // affected by the cache updates, as usual. In the future, an
254
- // even more sophisticated cache could perhaps prevent or
255
- // mitigate the clobbering somehow, but that would make this
256
- // particular cache write even less important, and thus
257
- // skipping it would be even safer than it is today.
258
- if (this.lastDiff && this.lastDiff.diff.complete) {
259
- // Reuse data from the last good (complete) diff that we
260
- // received, when possible.
261
- result.data = this.lastDiff.diff.result;
262
- return;
125
+ this.cache.batch({
126
+ onWatchUpdated: (
127
+ // all additional options on ObservableQuery.CacheWatchOptions are
128
+ // optional so we can use the type here
129
+ watch, diff) => {
130
+ if (watch.watcher === this.observableQuery) {
131
+ // see comment on `lastOwnDiff` for explanation
132
+ watch.lastOwnDiff = diff;
133
+ }
134
+ },
135
+ update: (cache) => {
136
+ if (this.shouldWrite(result, options.variables)) {
137
+ cache.writeQuery({
138
+ query: document,
139
+ data: result.data,
140
+ variables: options.variables,
141
+ overwrite: cacheWriteBehavior === 1 /* CacheWriteBehavior.OVERWRITE */,
142
+ });
143
+ this.lastWrite = {
144
+ result,
145
+ variables: options.variables,
146
+ dmCount: destructiveMethodCounts.get(this.cache),
147
+ };
148
+ }
149
+ else {
150
+ // If result is the same as the last result we received from
151
+ // the network (and the variables match too), avoid writing
152
+ // result into the cache again. The wisdom of skipping this
153
+ // cache write is far from obvious, since any cache write
154
+ // could be the one that puts the cache back into a desired
155
+ // state, fixing corruption or missing data. However, if we
156
+ // always write every network result into the cache, we enable
157
+ // feuds between queries competing to update the same data in
158
+ // incompatible ways, which can lead to an endless cycle of
159
+ // cache broadcasts and useless network requests. As with any
160
+ // feud, eventually one side must step back from the brink,
161
+ // letting the other side(s) have the last word(s). There may
162
+ // be other points where we could break this cycle, such as
163
+ // silencing the broadcast for cache.writeQuery (not a good
164
+ // idea, since it just delays the feud a bit) or somehow
165
+ // avoiding the network request that just happened (also bad,
166
+ // because the server could return useful new data). All
167
+ // options considered, skipping this cache write seems to be
168
+ // the least damaging place to break the cycle, because it
169
+ // reflects the intuition that we recently wrote this exact
170
+ // result into the cache, so the cache *should* already/still
171
+ // contain this data. If some other query has clobbered that
172
+ // data in the meantime, that's too bad, but there will be no
173
+ // winners if every query blindly reverts to its own version
174
+ // of the data. This approach also gives the network a chance
175
+ // to return new data, which will be written into the cache as
176
+ // usual, notifying only those queries that are directly
177
+ // affected by the cache updates, as usual. In the future, an
178
+ // even more sophisticated cache could perhaps prevent or
179
+ // mitigate the clobbering somehow, but that would make this
180
+ // particular cache write even less important, and thus
181
+ // skipping it would be even safer than it is today.
182
+ if (lastDiff && lastDiff.complete) {
183
+ // Reuse data from the last good (complete) diff that we
184
+ // received, when possible.
185
+ result.data = lastDiff.result;
186
+ return;
187
+ }
188
+ // If the previous this.diff was incomplete, fall through to
189
+ // re-reading the latest data with cache.diff, below.
263
190
  }
264
- // If the previous this.diff was incomplete, fall through to
265
- // re-reading the latest data with cache.diff, below.
266
- }
267
- const diffOptions = this.getDiffOptions(options.variables);
268
- const diff = cache.diff(diffOptions);
269
- // In case the QueryManager stops this QueryInfo before its
270
- // results are delivered, it's important to avoid restarting the
271
- // cache watch when markResult is called. We also avoid updating
272
- // the watch if we are writing a result that doesn't match the current
273
- // variables to avoid race conditions from broadcasting the wrong
274
- // result.
275
- if (!this.stopped && (0, equality_1.equal)(this.variables, options.variables)) {
276
- // Any time we're about to update this.diff, we need to make
277
- // sure we've started watching the cache.
278
- this.updateWatch(options.variables);
279
- }
280
- // If we're allowed to write to the cache, and we can read a
281
- // complete result from the cache, update result.data to be the
282
- // result from the cache, rather than the raw network result.
283
- // Set without setDiff to avoid triggering a notify call, since
284
- // we have other ways of notifying for this result.
285
- this.updateLastDiff(diff, diffOptions);
286
- if (diff.complete) {
287
- result.data = diff.result;
288
- }
191
+ const diffOptions = this.getDiffOptions(options.variables);
192
+ const diff = cache.diff(diffOptions);
193
+ // If we're allowed to write to the cache, and we can read a
194
+ // complete result from the cache, update result.data to be the
195
+ // result from the cache, rather than the raw network result.
196
+ // Set without setDiff to avoid triggering a notify call, since
197
+ // we have other ways of notifying for this result.
198
+ if (diff.complete) {
199
+ result.data = diff.result;
200
+ }
201
+ },
289
202
  });
290
203
  }
291
204
  else {
@@ -295,9 +208,24 @@ class QueryInfo {
295
208
  }
296
209
  }
297
210
  exports.QueryInfo = QueryInfo;
211
+ function handleIncrementalResult(result, lastDiff) {
212
+ if ("incremental" in result && (0, internal_1.isNonEmptyArray)(result.incremental)) {
213
+ const mergedData = (0, internal_1.mergeIncrementalData)(lastDiff.result, result);
214
+ result.data = mergedData;
215
+ // Detect the first chunk of a deferred query and merge it with existing
216
+ // cache data. This ensures a `cache-first` fetch policy that returns
217
+ // partial cache data or a `cache-and-network` fetch policy that already
218
+ // has full data in the cache does not complain when trying to merge the
219
+ // initial deferred server data with existing cache data.
220
+ }
221
+ else if ("hasNext" in result && result.hasNext) {
222
+ const merger = new internal_1.DeepMerger();
223
+ result.data = merger.merge(lastDiff.result, result.data);
224
+ }
225
+ }
298
226
  function shouldWriteResult(result, errorPolicy = "none") {
299
227
  const ignoreErrors = errorPolicy === "ignore" || errorPolicy === "all";
300
- let writeWithErrors = !(0, utilities_1.graphQLResultHasError)(result);
228
+ let writeWithErrors = !(0, internal_1.graphQLResultHasError)(result);
301
229
  if (!writeWithErrors && ignoreErrors && result.data) {
302
230
  writeWithErrors = true;
303
231
  }