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

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 (956) hide show
  1. package/.changeset/dirty-cobras-change.md +7 -0
  2. package/.changeset/friendly-olives-refuse.md +5 -0
  3. package/.changeset/fuzzy-seahorses-hunt.md +5 -0
  4. package/.changeset/pre.json +3 -0
  5. package/CHANGELOG.md +14 -0
  6. package/__cjs/cache/core/cache.cjs +3 -3
  7. package/__cjs/cache/core/cache.cjs.map +1 -1
  8. package/__cjs/cache/core/cache.d.cts +2 -1
  9. package/__cjs/cache/core/types/DataProxy.d.cts +2 -1
  10. package/__cjs/cache/core/types/common.cjs.map +1 -1
  11. package/__cjs/cache/core/types/common.d.cts +2 -1
  12. package/__cjs/cache/index.cjs +1 -2
  13. package/__cjs/cache/index.cjs.map +1 -1
  14. package/__cjs/cache/index.d.cts +1 -1
  15. package/__cjs/cache/inmemory/entityStore.cjs +12 -11
  16. package/__cjs/cache/inmemory/entityStore.cjs.map +1 -1
  17. package/__cjs/cache/inmemory/fragmentRegistry.cjs +3 -2
  18. package/__cjs/cache/inmemory/fragmentRegistry.cjs.map +1 -1
  19. package/__cjs/cache/inmemory/helpers.cjs +10 -10
  20. package/__cjs/cache/inmemory/helpers.cjs.map +1 -1
  21. package/__cjs/cache/inmemory/helpers.d.cts +3 -3
  22. package/__cjs/cache/inmemory/inMemoryCache.cjs.map +1 -1
  23. package/__cjs/cache/inmemory/inMemoryCache.d.cts +2 -1
  24. package/__cjs/cache/inmemory/key-extractor.cjs +10 -10
  25. package/__cjs/cache/inmemory/key-extractor.cjs.map +1 -1
  26. package/__cjs/cache/inmemory/policies.cjs +14 -13
  27. package/__cjs/cache/inmemory/policies.cjs.map +1 -1
  28. package/__cjs/cache/inmemory/policies.d.cts +2 -1
  29. package/__cjs/cache/inmemory/readFromStore.cjs +17 -16
  30. package/__cjs/cache/inmemory/readFromStore.cjs.map +1 -1
  31. package/__cjs/cache/inmemory/writeToStore.cjs +50 -22
  32. package/__cjs/cache/inmemory/writeToStore.cjs.map +1 -1
  33. package/__cjs/cache/inmemory/writeToStore.d.cts +2 -1
  34. package/__cjs/core/ApolloClient.cjs +15 -17
  35. package/__cjs/core/ApolloClient.cjs.map +1 -1
  36. package/__cjs/core/ApolloClient.d.cts +1 -2
  37. package/__cjs/core/LocalState.cjs +41 -18
  38. package/__cjs/core/LocalState.cjs.map +1 -1
  39. package/__cjs/core/LocalState.d.cts +2 -1
  40. package/__cjs/core/ObservableQuery.cjs +11 -12
  41. package/__cjs/core/ObservableQuery.cjs.map +1 -1
  42. package/__cjs/core/QueryInfo.cjs +5 -7
  43. package/__cjs/core/QueryInfo.cjs.map +1 -1
  44. package/__cjs/core/QueryManager.cjs +73 -39
  45. package/__cjs/core/QueryManager.cjs.map +1 -1
  46. package/__cjs/core/equalByQuery.cjs +7 -7
  47. package/__cjs/core/equalByQuery.cjs.map +1 -1
  48. package/__cjs/core/index.cjs +1 -3
  49. package/__cjs/core/index.cjs.map +1 -1
  50. package/__cjs/core/index.d.cts +2 -2
  51. package/__cjs/core/types.d.cts +2 -2
  52. package/__cjs/core/watchQueryOptions.d.cts +1 -1
  53. package/__cjs/dev/loadErrorMessageHandler.cjs +2 -3
  54. package/__cjs/dev/loadErrorMessageHandler.cjs.map +1 -1
  55. package/__cjs/dev/setErrorMessageHandler.cjs +2 -3
  56. package/__cjs/dev/setErrorMessageHandler.cjs.map +1 -1
  57. package/__cjs/errors/CombinedGraphQLErrors.cjs +2 -2
  58. package/__cjs/errors/CombinedGraphQLErrors.cjs.map +1 -1
  59. package/__cjs/invariantErrorCodes.cjs +152 -159
  60. package/__cjs/link/batch-http/batchHttpLink.cjs +5 -16
  61. package/__cjs/link/batch-http/batchHttpLink.cjs.map +1 -1
  62. package/__cjs/link/core/ApolloLink.cjs +2 -2
  63. package/__cjs/link/http/checkFetcher.cjs +1 -1
  64. package/__cjs/link/http/createHttpLink.cjs +7 -14
  65. package/__cjs/link/http/createHttpLink.cjs.map +1 -1
  66. package/__cjs/link/http/parseAndCheckHttpResponse.cjs +11 -3
  67. package/__cjs/link/http/parseAndCheckHttpResponse.cjs.map +1 -1
  68. package/__cjs/link/http/serializeFetchParameter.cjs +1 -1
  69. package/__cjs/link/persisted-queries/index.cjs +9 -9
  70. package/__cjs/link/persisted-queries/index.cjs.map +1 -1
  71. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs +2 -1
  72. package/__cjs/link/remove-typename/removeTypenameFromVariables.cjs.map +1 -1
  73. package/__cjs/link/subscriptions/index.cjs +3 -3
  74. package/__cjs/link/subscriptions/index.cjs.map +1 -1
  75. package/__cjs/link/utils/transformOperation.cjs +2 -2
  76. package/__cjs/link/utils/transformOperation.cjs.map +1 -1
  77. package/__cjs/link/utils/validateOperation.cjs +1 -1
  78. package/__cjs/masking/__benches__/types.bench.cjs.map +1 -1
  79. package/__cjs/masking/internal/types.d.cts +1 -2
  80. package/__cjs/masking/maskDefinition.cjs +6 -6
  81. package/__cjs/masking/maskDefinition.cjs.map +1 -1
  82. package/__cjs/masking/maskDefinition.d.cts +1 -1
  83. package/__cjs/masking/maskFragment.cjs +4 -4
  84. package/__cjs/masking/maskFragment.cjs.map +1 -1
  85. package/__cjs/masking/maskOperation.cjs +4 -4
  86. package/__cjs/masking/maskOperation.cjs.map +1 -1
  87. package/__cjs/masking/types.d.cts +2 -2
  88. package/__cjs/masking/utils.cjs +30 -1
  89. package/__cjs/masking/utils.cjs.map +1 -1
  90. package/__cjs/masking/utils.d.cts +2 -0
  91. package/__cjs/react/context/ApolloConsumer.cjs +1 -1
  92. package/__cjs/react/context/ApolloContext.cjs +1 -1
  93. package/__cjs/react/context/ApolloProvider.cjs +1 -1
  94. package/__cjs/react/hooks/internal/__use.cjs +6 -6
  95. package/__cjs/react/hooks/internal/__use.cjs.map +1 -1
  96. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs +2 -2
  97. package/__cjs/react/hooks/internal/useIsomorphicLayoutEffect.cjs.map +1 -1
  98. package/__cjs/react/hooks/internal/validateSuspenseHookOptions.cjs +2 -2
  99. package/__cjs/react/hooks/useApolloClient.cjs +1 -1
  100. package/__cjs/react/hooks/useBackgroundQuery.cjs.map +1 -1
  101. package/__cjs/react/hooks/useBackgroundQuery.d.cts +1 -1
  102. package/__cjs/react/hooks/useFragment.cjs.map +1 -1
  103. package/__cjs/react/hooks/useFragment.d.cts +1 -1
  104. package/__cjs/react/hooks/useLazyQuery.cjs +4 -4
  105. package/__cjs/react/hooks/useLazyQuery.cjs.map +1 -1
  106. package/__cjs/react/hooks/useLazyQuery.d.cts +1 -1
  107. package/__cjs/react/hooks/useLoadableQuery.cjs +2 -2
  108. package/__cjs/react/hooks/useLoadableQuery.cjs.map +1 -1
  109. package/__cjs/react/hooks/useLoadableQuery.d.cts +1 -1
  110. package/__cjs/react/hooks/useMutation.cjs +2 -2
  111. package/__cjs/react/hooks/useMutation.cjs.map +1 -1
  112. package/__cjs/react/hooks/useMutation.d.cts +1 -1
  113. package/__cjs/react/hooks/useQuery.cjs +4 -4
  114. package/__cjs/react/hooks/useQuery.cjs.map +1 -1
  115. package/__cjs/react/hooks/useQuery.d.cts +1 -1
  116. package/__cjs/react/hooks/useSubscription.cjs +1 -1
  117. package/__cjs/react/hooks/useSubscription.cjs.map +1 -1
  118. package/__cjs/react/hooks/useSubscription.d.cts +1 -1
  119. package/__cjs/react/hooks/useSuspenseFragment.cjs.map +1 -1
  120. package/__cjs/react/hooks/useSuspenseFragment.d.cts +1 -1
  121. package/__cjs/react/hooks/useSuspenseQuery.cjs.map +1 -1
  122. package/__cjs/react/hooks/useSuspenseQuery.d.cts +1 -1
  123. package/__cjs/react/hooks/useSyncExternalStore.cjs +22 -3
  124. package/__cjs/react/hooks/useSyncExternalStore.cjs.map +1 -1
  125. package/__cjs/react/internal/cache/FragmentReference.cjs +4 -4
  126. package/__cjs/react/internal/cache/FragmentReference.cjs.map +1 -1
  127. package/__cjs/react/internal/cache/FragmentReference.d.cts +2 -2
  128. package/__cjs/react/internal/cache/QueryReference.cjs +6 -7
  129. package/__cjs/react/internal/cache/QueryReference.cjs.map +1 -1
  130. package/__cjs/react/internal/cache/QueryReference.d.cts +2 -2
  131. package/__cjs/react/query-preloader/createQueryPreloader.cjs.map +1 -1
  132. package/__cjs/react/query-preloader/createQueryPreloader.d.cts +1 -1
  133. package/__cjs/react/ssr/prerenderStatic.cjs +2 -2
  134. package/__cjs/testing/core/mocking/mockLink.cjs +13 -12
  135. package/__cjs/testing/core/mocking/mockLink.cjs.map +1 -1
  136. package/__cjs/testing/matchers/index.cjs +3 -0
  137. package/__cjs/testing/matchers/index.cjs.map +1 -1
  138. package/__cjs/testing/matchers/toMatchDocument.cjs +2 -1
  139. package/__cjs/testing/matchers/toMatchDocument.cjs.map +1 -1
  140. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs +52 -0
  141. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.cjs.map +1 -0
  142. package/__cjs/testing/matchers/toRerenderWithSimilarSnapshot.d.cts +13 -0
  143. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs +2 -2
  144. package/__cjs/testing/matchers/utils/getSerializableProperties.cjs.map +1 -1
  145. package/__cjs/utilities/caching/index.cjs +1 -4
  146. package/__cjs/utilities/caching/index.cjs.map +1 -1
  147. package/__cjs/utilities/caching/index.d.cts +0 -1
  148. package/__cjs/utilities/caching/sizes.cjs +1 -1
  149. package/__cjs/utilities/caching/sizes.cjs.map +1 -1
  150. package/__cjs/utilities/common/stripTypename.cjs +8 -2
  151. package/__cjs/utilities/common/stripTypename.cjs.map +1 -1
  152. package/__cjs/utilities/common/stripTypename.d.cts +7 -1
  153. package/__cjs/utilities/graphql/DocumentTransform.cjs +3 -3
  154. package/__cjs/utilities/graphql/DocumentTransform.cjs.map +1 -1
  155. package/__cjs/utilities/graphql/operations.cjs +23 -2
  156. package/__cjs/utilities/graphql/operations.cjs.map +1 -1
  157. package/__cjs/utilities/graphql/operations.d.cts +21 -0
  158. package/__cjs/utilities/graphql/print.cjs +9 -1
  159. package/__cjs/utilities/graphql/print.cjs.map +1 -1
  160. package/__cjs/utilities/graphql/print.d.cts +8 -0
  161. package/__cjs/utilities/graphql/storeUtils.cjs +5 -206
  162. package/__cjs/utilities/graphql/storeUtils.cjs.map +1 -1
  163. package/__cjs/utilities/graphql/storeUtils.d.cts +14 -22
  164. package/__cjs/utilities/graphql/transform.cjs +8 -454
  165. package/__cjs/utilities/graphql/transform.cjs.map +1 -1
  166. package/__cjs/utilities/graphql/transform.d.cts +6 -24
  167. package/__cjs/utilities/index.cjs +17 -90
  168. package/__cjs/utilities/index.cjs.map +1 -1
  169. package/__cjs/utilities/index.d.cts +18 -38
  170. package/__cjs/utilities/{common/mergeDeep.cjs → internal/DeepMerger.cjs} +6 -27
  171. package/__cjs/utilities/internal/DeepMerger.cjs.map +1 -0
  172. package/__cjs/utilities/internal/DeepMerger.d.cts +13 -0
  173. package/__cjs/utilities/internal/argumentsObjectFromField.cjs +14 -0
  174. package/__cjs/utilities/internal/argumentsObjectFromField.cjs.map +1 -0
  175. package/__cjs/utilities/internal/argumentsObjectFromField.d.cts +4 -0
  176. package/__cjs/utilities/internal/caches.cjs.map +1 -0
  177. package/__cjs/utilities/internal/canUseDOM.cjs +7 -0
  178. package/__cjs/utilities/internal/canUseDOM.cjs.map +1 -0
  179. package/__cjs/utilities/internal/canUseDOM.d.cts +3 -0
  180. package/__cjs/utilities/internal/checkDocument.cjs +32 -0
  181. package/__cjs/utilities/internal/checkDocument.cjs.map +1 -0
  182. package/__cjs/utilities/internal/checkDocument.d.cts +7 -0
  183. package/__cjs/utilities/{common → internal}/cloneDeep.cjs +6 -4
  184. package/__cjs/utilities/internal/cloneDeep.cjs.map +1 -0
  185. package/__cjs/utilities/{common → internal}/cloneDeep.d.cts +2 -0
  186. package/__cjs/utilities/{common → internal}/compact.cjs +2 -0
  187. package/__cjs/utilities/internal/compact.cjs.map +1 -0
  188. package/__cjs/utilities/{common → internal}/compact.d.cts +3 -1
  189. package/__cjs/utilities/internal/createFragmentMap.cjs +16 -0
  190. package/__cjs/utilities/internal/createFragmentMap.cjs.map +1 -0
  191. package/__cjs/utilities/internal/createFragmentMap.d.cts +9 -0
  192. package/__cjs/utilities/internal/createFulfilledPromise.cjs +11 -0
  193. package/__cjs/utilities/internal/createFulfilledPromise.cjs.map +1 -0
  194. package/__cjs/utilities/internal/createFulfilledPromise.d.cts +4 -0
  195. package/__cjs/utilities/internal/createRejectedPromise.cjs +13 -0
  196. package/__cjs/utilities/internal/createRejectedPromise.cjs.map +1 -0
  197. package/__cjs/utilities/internal/createRejectedPromise.d.cts +4 -0
  198. package/{utilities/promises/decoration.js → __cjs/utilities/internal/decoratePromise.cjs} +8 -18
  199. package/__cjs/utilities/internal/decoratePromise.cjs.map +1 -0
  200. package/__cjs/utilities/internal/decoratePromise.d.cts +4 -0
  201. package/__cjs/utilities/{common/maybeDeepFreeze.cjs → internal/deepFreeze.cjs} +4 -11
  202. package/__cjs/utilities/internal/deepFreeze.cjs.map +1 -0
  203. package/__cjs/utilities/internal/deepFreeze.d.cts +3 -0
  204. package/__cjs/utilities/internal/getDefaultValues.cjs +18 -0
  205. package/__cjs/utilities/internal/getDefaultValues.cjs.map +1 -0
  206. package/__cjs/utilities/internal/getDefaultValues.d.cts +4 -0
  207. package/__cjs/utilities/internal/getFragmentDefinition.cjs +13 -0
  208. package/__cjs/utilities/internal/getFragmentDefinition.cjs.map +1 -0
  209. package/__cjs/utilities/internal/getFragmentDefinition.d.cts +4 -0
  210. package/__cjs/utilities/internal/getFragmentDefinitions.cjs +8 -0
  211. package/__cjs/utilities/internal/getFragmentDefinitions.cjs.map +1 -0
  212. package/__cjs/utilities/internal/getFragmentDefinitions.d.cts +4 -0
  213. package/__cjs/utilities/internal/getFragmentFromSelection.cjs +23 -0
  214. package/__cjs/utilities/internal/getFragmentFromSelection.cjs.map +1 -0
  215. package/__cjs/utilities/internal/getFragmentFromSelection.d.cts +6 -0
  216. package/__cjs/utilities/{graphql/fragments.cjs → internal/getFragmentQueryDocument.cjs} +3 -45
  217. package/__cjs/utilities/internal/getFragmentQueryDocument.cjs.map +1 -0
  218. package/__cjs/utilities/internal/getFragmentQueryDocument.d.cts +27 -0
  219. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs +19 -0
  220. package/__cjs/utilities/internal/getGraphQLErrorsFromResult.cjs.map +1 -0
  221. package/{utilities/common/errorHandling.d.ts → __cjs/utilities/internal/getGraphQLErrorsFromResult.d.cts} +2 -2
  222. package/__cjs/utilities/internal/getMainDefinition.cjs +36 -0
  223. package/__cjs/utilities/internal/getMainDefinition.cjs.map +1 -0
  224. package/__cjs/utilities/internal/getMainDefinition.d.cts +10 -0
  225. package/__cjs/utilities/internal/getOperationDefinition.cjs +10 -0
  226. package/__cjs/utilities/internal/getOperationDefinition.cjs.map +1 -0
  227. package/__cjs/utilities/internal/getOperationDefinition.d.cts +4 -0
  228. package/__cjs/utilities/internal/getOperationName.cjs +10 -0
  229. package/__cjs/utilities/internal/getOperationName.cjs.map +1 -0
  230. package/__cjs/utilities/internal/getOperationName.d.cts +4 -0
  231. package/__cjs/utilities/internal/getQueryDefinition.cjs +12 -0
  232. package/__cjs/utilities/internal/getQueryDefinition.cjs.map +1 -0
  233. package/__cjs/utilities/internal/getQueryDefinition.d.cts +4 -0
  234. package/__cjs/utilities/internal/getStoreKeyName.cjs +69 -0
  235. package/__cjs/utilities/internal/getStoreKeyName.cjs.map +1 -0
  236. package/__cjs/utilities/internal/getStoreKeyName.d.cts +12 -0
  237. package/__cjs/utilities/internal/globals/global.cjs.map +1 -0
  238. package/__cjs/utilities/internal/globals/index.cjs.map +1 -0
  239. package/__cjs/utilities/internal/globals/maybe.cjs.map +1 -0
  240. package/__cjs/utilities/internal/graphQLResultHasError.cjs +11 -0
  241. package/__cjs/utilities/internal/graphQLResultHasError.cjs.map +1 -0
  242. package/__cjs/utilities/internal/graphQLResultHasError.d.cts +4 -0
  243. package/__cjs/utilities/internal/hasDirectives.cjs +20 -0
  244. package/__cjs/utilities/internal/hasDirectives.cjs.map +1 -0
  245. package/__cjs/utilities/internal/hasDirectives.d.cts +4 -0
  246. package/__cjs/utilities/internal/index.cjs +103 -5
  247. package/__cjs/utilities/internal/index.cjs.map +1 -1
  248. package/__cjs/utilities/internal/index.d.cts +64 -2
  249. package/__cjs/utilities/internal/isArray.cjs +10 -0
  250. package/__cjs/utilities/internal/isArray.cjs.map +1 -0
  251. package/__cjs/utilities/internal/isArray.d.cts +7 -0
  252. package/__cjs/utilities/internal/isDocumentNode.cjs +11 -0
  253. package/__cjs/utilities/internal/isDocumentNode.cjs.map +1 -0
  254. package/__cjs/utilities/internal/isDocumentNode.d.cts +4 -0
  255. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs +8 -0
  256. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.cjs.map +1 -0
  257. package/__cjs/utilities/internal/isExecutionPatchIncrementalResult.d.cts +4 -0
  258. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs +8 -0
  259. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.cjs.map +1 -0
  260. package/__cjs/utilities/internal/isExecutionPatchIninitialResult.d.cts +4 -0
  261. package/__cjs/utilities/internal/isExecutionPatchResult.cjs +11 -0
  262. package/__cjs/utilities/internal/isExecutionPatchResult.cjs.map +1 -0
  263. package/__cjs/utilities/internal/isExecutionPatchResult.d.cts +4 -0
  264. package/__cjs/utilities/internal/isField.cjs +8 -0
  265. package/__cjs/utilities/internal/isField.cjs.map +1 -0
  266. package/__cjs/utilities/internal/isField.d.cts +4 -0
  267. package/__cjs/utilities/{common/arrays.cjs → internal/isNonEmptyArray.cjs} +2 -4
  268. package/__cjs/utilities/internal/isNonEmptyArray.cjs.map +1 -0
  269. package/__cjs/utilities/internal/isNonEmptyArray.d.cts +3 -0
  270. package/__cjs/utilities/internal/isNonNullObject.cjs +8 -0
  271. package/__cjs/utilities/internal/isNonNullObject.cjs.map +1 -0
  272. package/__cjs/utilities/internal/isNonNullObject.d.cts +3 -0
  273. package/__cjs/utilities/{common/objects.cjs → internal/isPlainObject.cjs} +2 -5
  274. package/__cjs/utilities/internal/isPlainObject.cjs.map +1 -0
  275. package/__cjs/utilities/internal/isPlainObject.d.cts +3 -0
  276. package/__cjs/utilities/internal/makeReference.cjs +8 -0
  277. package/__cjs/utilities/internal/makeReference.cjs.map +1 -0
  278. package/__cjs/utilities/internal/makeReference.d.cts +4 -0
  279. package/__cjs/utilities/{common → internal}/makeUniqueId.cjs +6 -2
  280. package/__cjs/utilities/internal/makeUniqueId.cjs.map +1 -0
  281. package/__cjs/utilities/internal/makeUniqueId.d.cts +8 -0
  282. package/__cjs/utilities/internal/maybeDeepFreeze.cjs +13 -0
  283. package/__cjs/utilities/internal/maybeDeepFreeze.cjs.map +1 -0
  284. package/__cjs/utilities/{common → internal}/maybeDeepFreeze.d.cts +1 -2
  285. package/__cjs/utilities/internal/mergeDeep.cjs +22 -0
  286. package/__cjs/utilities/internal/mergeDeep.cjs.map +1 -0
  287. package/__cjs/utilities/internal/mergeDeep.d.cts +4 -0
  288. package/__cjs/utilities/internal/mergeDeepArray.cjs +23 -0
  289. package/__cjs/utilities/internal/mergeDeepArray.cjs.map +1 -0
  290. package/__cjs/utilities/internal/mergeDeepArray.d.cts +3 -0
  291. package/__cjs/utilities/internal/mergeIncrementalData.cjs +26 -0
  292. package/__cjs/utilities/internal/mergeIncrementalData.cjs.map +1 -0
  293. package/__cjs/utilities/internal/mergeIncrementalData.d.cts +4 -0
  294. package/__cjs/utilities/{common → internal}/mergeOptions.cjs +1 -0
  295. package/__cjs/utilities/internal/mergeOptions.cjs.map +1 -0
  296. package/__cjs/utilities/{common → internal}/mergeOptions.d.cts +1 -0
  297. package/__cjs/utilities/{common → internal}/omitDeep.cjs +3 -2
  298. package/__cjs/utilities/internal/omitDeep.cjs.map +1 -0
  299. package/__cjs/utilities/{common → internal}/omitDeep.d.cts +2 -1
  300. package/__cjs/utilities/internal/{observables.cjs → onAnyEvent.cjs} +1 -1
  301. package/__cjs/utilities/internal/onAnyEvent.cjs.map +1 -0
  302. package/{utilities/internal/observables.d.ts → __cjs/utilities/internal/onAnyEvent.d.cts} +1 -1
  303. package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs.map +1 -1
  304. package/__cjs/utilities/internal/removeClientSetsFromDocument.cjs +21 -0
  305. package/__cjs/utilities/internal/removeClientSetsFromDocument.cjs.map +1 -0
  306. package/__cjs/utilities/internal/removeClientSetsFromDocument.d.cts +8 -0
  307. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs +302 -0
  308. package/__cjs/utilities/internal/removeDirectivesFromDocument.cjs.map +1 -0
  309. package/__cjs/utilities/internal/removeDirectivesFromDocument.d.cts +10 -0
  310. package/__cjs/utilities/internal/resultKeyNameFromField.cjs +8 -0
  311. package/__cjs/utilities/internal/resultKeyNameFromField.cjs.map +1 -0
  312. package/__cjs/utilities/internal/resultKeyNameFromField.d.cts +4 -0
  313. package/__cjs/utilities/internal/shouldInclude.cjs +46 -0
  314. package/__cjs/utilities/internal/shouldInclude.cjs.map +1 -0
  315. package/__cjs/utilities/internal/shouldInclude.d.cts +4 -0
  316. package/__cjs/utilities/internal/storeKeyNameFromField.cjs +25 -0
  317. package/__cjs/utilities/internal/storeKeyNameFromField.cjs.map +1 -0
  318. package/__cjs/utilities/internal/storeKeyNameFromField.d.cts +4 -0
  319. package/__cjs/utilities/{common → internal}/stringifyForDisplay.cjs +2 -1
  320. package/__cjs/utilities/internal/stringifyForDisplay.cjs.map +1 -0
  321. package/__cjs/utilities/{common → internal}/stringifyForDisplay.d.cts +1 -0
  322. package/__cjs/utilities/internal/toQueryResult.cjs +1 -0
  323. package/__cjs/utilities/internal/toQueryResult.cjs.map +1 -1
  324. package/__cjs/utilities/internal/toQueryResult.d.cts +1 -0
  325. package/__cjs/utilities/internal/types/DecoratedPromise.cjs +3 -0
  326. package/__cjs/utilities/internal/types/DecoratedPromise.cjs.map +1 -0
  327. package/__cjs/utilities/internal/types/DecoratedPromise.d.cts +6 -0
  328. package/__cjs/utilities/{types → internal/types}/DeepOmit.d.cts +1 -0
  329. package/__cjs/utilities/internal/types/DeepPartial.cjs.map +1 -0
  330. package/__cjs/utilities/{types → internal/types}/DeepPartial.d.cts +1 -0
  331. package/__cjs/utilities/internal/types/FragmentMap.cjs +3 -0
  332. package/__cjs/utilities/internal/types/FragmentMap.cjs.map +1 -0
  333. package/__cjs/utilities/internal/types/FragmentMap.d.cts +10 -0
  334. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs +3 -0
  335. package/__cjs/utilities/internal/types/FragmentMapFunction.cjs.map +1 -0
  336. package/__cjs/utilities/internal/types/FragmentMapFunction.d.cts +4 -0
  337. package/__cjs/utilities/internal/types/FulfilledPromise.cjs +3 -0
  338. package/__cjs/utilities/internal/types/FulfilledPromise.cjs.map +1 -0
  339. package/__cjs/utilities/internal/types/FulfilledPromise.d.cts +6 -0
  340. package/__cjs/utilities/internal/types/IsAny.cjs +3 -0
  341. package/__cjs/utilities/internal/types/IsAny.cjs.map +1 -0
  342. package/__cjs/utilities/internal/types/IsAny.d.cts +3 -0
  343. package/__cjs/utilities/{types → internal/types}/NoInfer.d.cts +2 -0
  344. package/__cjs/utilities/{types/IsStrictlyAny.cjs → internal/types/PendingPromise.cjs} +1 -1
  345. package/__cjs/utilities/internal/types/PendingPromise.cjs.map +1 -0
  346. package/__cjs/utilities/internal/types/PendingPromise.d.cts +5 -0
  347. package/__cjs/utilities/{types → internal/types}/Prettify.d.cts +1 -0
  348. package/__cjs/utilities/{types → internal/types}/Primitive.d.cts +1 -0
  349. package/__cjs/utilities/internal/types/RejectedPromise.cjs +3 -0
  350. package/__cjs/utilities/internal/types/RejectedPromise.cjs.map +1 -0
  351. package/__cjs/utilities/internal/types/RejectedPromise.d.cts +6 -0
  352. package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.d.cts +1 -0
  353. package/__cjs/utilities/internal/types/TupleToIntersection.cjs +3 -0
  354. package/__cjs/utilities/internal/types/TupleToIntersection.cjs.map +1 -0
  355. package/__cjs/utilities/internal/types/TupleToIntersection.d.cts +2 -0
  356. package/__cjs/utilities/{types → internal/types}/VariablesOption.d.cts +1 -0
  357. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs +40 -0
  358. package/__cjs/utilities/internal/valueToObjectRepresentation.cjs.map +1 -0
  359. package/__cjs/utilities/internal/valueToObjectRepresentation.d.cts +4 -0
  360. package/__cjs/utilities/invariant/index.cjs +3 -2
  361. package/__cjs/utilities/invariant/index.cjs.map +1 -1
  362. package/__cjs/utilities/policies/pagination.cjs +26 -9
  363. package/__cjs/utilities/policies/pagination.cjs.map +1 -1
  364. package/__cjs/utilities/policies/pagination.d.cts +23 -0
  365. package/__cjs/utilities/{common → shared}/canonicalStringify.cjs +7 -4
  366. package/__cjs/utilities/shared/canonicalStringify.cjs.map +1 -0
  367. package/__cjs/utilities/subscriptions/relay/index.cjs +3 -3
  368. package/__cjs/utilities/subscriptions/relay/index.cjs.map +1 -1
  369. package/__cjs/version.cjs +1 -1
  370. package/cache/core/cache.d.ts +2 -1
  371. package/cache/core/cache.js +3 -3
  372. package/cache/core/cache.js.map +1 -1
  373. package/cache/core/types/DataProxy.d.ts +2 -1
  374. package/cache/core/types/common.d.ts +2 -1
  375. package/cache/core/types/common.js.map +1 -1
  376. package/cache/index.d.ts +1 -1
  377. package/cache/index.js +1 -1
  378. package/cache/index.js.map +1 -1
  379. package/cache/inmemory/entityStore.js +5 -4
  380. package/cache/inmemory/entityStore.js.map +1 -1
  381. package/cache/inmemory/fragmentRegistry.js +2 -1
  382. package/cache/inmemory/fragmentRegistry.js.map +1 -1
  383. package/cache/inmemory/helpers.d.ts +3 -3
  384. package/cache/inmemory/helpers.js +2 -2
  385. package/cache/inmemory/helpers.js.map +1 -1
  386. package/cache/inmemory/inMemoryCache.d.ts +2 -1
  387. package/cache/inmemory/inMemoryCache.js.map +1 -1
  388. package/cache/inmemory/key-extractor.js +3 -3
  389. package/cache/inmemory/key-extractor.js.map +1 -1
  390. package/cache/inmemory/policies.d.ts +2 -1
  391. package/cache/inmemory/policies.js +7 -6
  392. package/cache/inmemory/policies.js.map +1 -1
  393. package/cache/inmemory/readFromStore.js +5 -4
  394. package/cache/inmemory/readFromStore.js.map +1 -1
  395. package/cache/inmemory/writeToStore.d.ts +2 -1
  396. package/cache/inmemory/writeToStore.js +34 -6
  397. package/cache/inmemory/writeToStore.js.map +1 -1
  398. package/core/ApolloClient.d.ts +1 -2
  399. package/core/ApolloClient.js +11 -17
  400. package/core/ApolloClient.js.map +1 -1
  401. package/core/LocalState.d.ts +2 -1
  402. package/core/LocalState.js +28 -5
  403. package/core/LocalState.js.map +1 -1
  404. package/core/ObservableQuery.js +6 -7
  405. package/core/ObservableQuery.js.map +1 -1
  406. package/core/QueryInfo.js +1 -3
  407. package/core/QueryInfo.js.map +1 -1
  408. package/core/QueryManager.js +50 -16
  409. package/core/QueryManager.js.map +1 -1
  410. package/core/equalByQuery.js +1 -1
  411. package/core/equalByQuery.js.map +1 -1
  412. package/core/index.d.ts +2 -2
  413. package/core/index.js +2 -2
  414. package/core/index.js.map +1 -1
  415. package/core/types.d.ts +2 -2
  416. package/core/watchQueryOptions.d.ts +1 -1
  417. package/dev/loadErrorMessageHandler.js +1 -1
  418. package/dev/loadErrorMessageHandler.js.map +1 -1
  419. package/dev/setErrorMessageHandler.js +1 -1
  420. package/dev/setErrorMessageHandler.js.map +1 -1
  421. package/errors/CombinedGraphQLErrors.js +1 -1
  422. package/errors/CombinedGraphQLErrors.js.map +1 -1
  423. package/invariantErrorCodes.js +152 -159
  424. package/legacyEntryPoints/utilities/internal/globals/globals.cjs +1 -0
  425. package/legacyEntryPoints/utilities/internal/globals/globals.d.cts +1 -0
  426. package/legacyEntryPoints/utilities/internal/globals/index.d.ts +1 -0
  427. package/legacyEntryPoints/utilities/internal/globals/index.js +1 -0
  428. package/link/batch-http/batchHttpLink.js +3 -14
  429. package/link/batch-http/batchHttpLink.js.map +1 -1
  430. package/link/core/ApolloLink.js +2 -2
  431. package/link/http/checkFetcher.js +1 -1
  432. package/link/http/createHttpLink.js +4 -11
  433. package/link/http/createHttpLink.js.map +1 -1
  434. package/link/http/parseAndCheckHttpResponse.js +10 -2
  435. package/link/http/parseAndCheckHttpResponse.js.map +1 -1
  436. package/link/http/serializeFetchParameter.js +1 -1
  437. package/link/persisted-queries/index.js +4 -4
  438. package/link/persisted-queries/index.js.map +1 -1
  439. package/link/remove-typename/removeTypenameFromVariables.js +2 -1
  440. package/link/remove-typename/removeTypenameFromVariables.js.map +1 -1
  441. package/link/subscriptions/index.js +1 -1
  442. package/link/subscriptions/index.js.map +1 -1
  443. package/link/utils/transformOperation.js +1 -1
  444. package/link/utils/transformOperation.js.map +1 -1
  445. package/link/utils/validateOperation.js +1 -1
  446. package/masking/__benches__/types.bench.js.map +1 -1
  447. package/masking/internal/types.d.ts +1 -2
  448. package/masking/maskDefinition.d.ts +1 -1
  449. package/masking/maskDefinition.js +4 -4
  450. package/masking/maskDefinition.js.map +1 -1
  451. package/masking/maskFragment.js +3 -3
  452. package/masking/maskFragment.js.map +1 -1
  453. package/masking/maskOperation.js +2 -2
  454. package/masking/maskOperation.js.map +1 -1
  455. package/masking/types.d.ts +2 -2
  456. package/masking/utils.d.ts +2 -0
  457. package/masking/utils.js +29 -2
  458. package/masking/utils.js.map +1 -1
  459. package/package.json +11 -21
  460. package/react/context/ApolloConsumer.js +1 -1
  461. package/react/context/ApolloContext.js +1 -1
  462. package/react/context/ApolloProvider.js +1 -1
  463. package/react/hooks/internal/__use.js +6 -6
  464. package/react/hooks/internal/__use.js.map +1 -1
  465. package/react/hooks/internal/useIsomorphicLayoutEffect.js +1 -1
  466. package/react/hooks/internal/useIsomorphicLayoutEffect.js.map +1 -1
  467. package/react/hooks/internal/validateSuspenseHookOptions.js +2 -2
  468. package/react/hooks/useApolloClient.js +1 -1
  469. package/react/hooks/useBackgroundQuery.d.ts +1 -1
  470. package/react/hooks/useBackgroundQuery.js.map +1 -1
  471. package/react/hooks/useFragment.d.ts +1 -1
  472. package/react/hooks/useFragment.js.map +1 -1
  473. package/react/hooks/useLazyQuery.d.ts +1 -1
  474. package/react/hooks/useLazyQuery.js +3 -3
  475. package/react/hooks/useLazyQuery.js.map +1 -1
  476. package/react/hooks/useLoadableQuery.d.ts +1 -1
  477. package/react/hooks/useLoadableQuery.js +2 -2
  478. package/react/hooks/useLoadableQuery.js.map +1 -1
  479. package/react/hooks/useMutation.d.ts +1 -1
  480. package/react/hooks/useMutation.js +1 -1
  481. package/react/hooks/useMutation.js.map +1 -1
  482. package/react/hooks/useQuery.d.ts +1 -1
  483. package/react/hooks/useQuery.js +1 -1
  484. package/react/hooks/useQuery.js.map +1 -1
  485. package/react/hooks/useSubscription.d.ts +1 -1
  486. package/react/hooks/useSubscription.js +1 -1
  487. package/react/hooks/useSubscription.js.map +1 -1
  488. package/react/hooks/useSuspenseFragment.d.ts +1 -1
  489. package/react/hooks/useSuspenseFragment.js.map +1 -1
  490. package/react/hooks/useSuspenseQuery.d.ts +1 -1
  491. package/react/hooks/useSuspenseQuery.js.map +1 -1
  492. package/react/hooks/useSyncExternalStore.js +21 -2
  493. package/react/hooks/useSyncExternalStore.js.map +1 -1
  494. package/react/internal/cache/FragmentReference.d.ts +2 -2
  495. package/react/internal/cache/FragmentReference.js +2 -2
  496. package/react/internal/cache/FragmentReference.js.map +1 -1
  497. package/react/internal/cache/QueryReference.d.ts +2 -2
  498. package/react/internal/cache/QueryReference.js +3 -4
  499. package/react/internal/cache/QueryReference.js.map +1 -1
  500. package/react/query-preloader/createQueryPreloader.d.ts +1 -1
  501. package/react/query-preloader/createQueryPreloader.js.map +1 -1
  502. package/react/ssr/prerenderStatic.js +2 -2
  503. package/testing/core/mocking/mockLink.js +6 -5
  504. package/testing/core/mocking/mockLink.js.map +1 -1
  505. package/testing/matchers/index.js +3 -0
  506. package/testing/matchers/index.js.map +1 -1
  507. package/testing/matchers/toMatchDocument.js +2 -1
  508. package/testing/matchers/toMatchDocument.js.map +1 -1
  509. package/testing/matchers/toRerenderWithSimilarSnapshot.d.ts +13 -0
  510. package/testing/matchers/toRerenderWithSimilarSnapshot.js +47 -0
  511. package/testing/matchers/toRerenderWithSimilarSnapshot.js.map +1 -0
  512. package/testing/matchers/utils/getSerializableProperties.js +1 -1
  513. package/testing/matchers/utils/getSerializableProperties.js.map +1 -1
  514. package/utilities/caching/index.d.ts +0 -1
  515. package/utilities/caching/index.js +0 -1
  516. package/utilities/caching/index.js.map +1 -1
  517. package/utilities/caching/sizes.js +1 -1
  518. package/utilities/caching/sizes.js.map +1 -1
  519. package/utilities/common/stripTypename.d.ts +7 -1
  520. package/utilities/common/stripTypename.js +7 -1
  521. package/utilities/common/stripTypename.js.map +1 -1
  522. package/utilities/graphql/DocumentTransform.js +2 -2
  523. package/utilities/graphql/DocumentTransform.js.map +1 -1
  524. package/utilities/graphql/operations.d.ts +21 -0
  525. package/utilities/graphql/operations.js +22 -1
  526. package/utilities/graphql/operations.js.map +1 -1
  527. package/utilities/graphql/print.d.ts +8 -0
  528. package/utilities/graphql/print.js +10 -2
  529. package/utilities/graphql/print.js.map +1 -1
  530. package/utilities/graphql/storeUtils.d.ts +14 -22
  531. package/utilities/graphql/storeUtils.js +5 -196
  532. package/utilities/graphql/storeUtils.js.map +1 -1
  533. package/utilities/graphql/transform.d.ts +6 -24
  534. package/utilities/graphql/transform.js +7 -443
  535. package/utilities/graphql/transform.js.map +1 -1
  536. package/utilities/index.d.ts +18 -38
  537. package/utilities/index.js +16 -23
  538. package/utilities/index.js.map +1 -1
  539. package/utilities/internal/DeepMerger.d.ts +13 -0
  540. package/utilities/{common/mergeDeep.js → internal/DeepMerger.js} +3 -22
  541. package/utilities/internal/DeepMerger.js.map +1 -0
  542. package/utilities/internal/argumentsObjectFromField.d.ts +4 -0
  543. package/utilities/internal/argumentsObjectFromField.js +11 -0
  544. package/utilities/internal/argumentsObjectFromField.js.map +1 -0
  545. package/utilities/internal/caches.js.map +1 -0
  546. package/utilities/internal/canUseDOM.d.ts +3 -0
  547. package/utilities/internal/canUseDOM.js +4 -0
  548. package/utilities/internal/canUseDOM.js.map +1 -0
  549. package/utilities/internal/checkDocument.d.ts +7 -0
  550. package/utilities/internal/checkDocument.js +29 -0
  551. package/utilities/internal/checkDocument.js.map +1 -0
  552. package/utilities/{common → internal}/cloneDeep.d.ts +2 -0
  553. package/utilities/{common → internal}/cloneDeep.js +6 -4
  554. package/utilities/internal/cloneDeep.js.map +1 -0
  555. package/utilities/{common → internal}/compact.d.ts +3 -1
  556. package/utilities/{common → internal}/compact.js +2 -0
  557. package/utilities/internal/compact.js.map +1 -0
  558. package/utilities/internal/createFragmentMap.d.ts +9 -0
  559. package/utilities/internal/createFragmentMap.js +13 -0
  560. package/utilities/internal/createFragmentMap.js.map +1 -0
  561. package/utilities/internal/createFulfilledPromise.d.ts +4 -0
  562. package/utilities/internal/createFulfilledPromise.js +8 -0
  563. package/utilities/internal/createFulfilledPromise.js.map +1 -0
  564. package/utilities/internal/createRejectedPromise.d.ts +4 -0
  565. package/utilities/internal/createRejectedPromise.js +10 -0
  566. package/utilities/internal/createRejectedPromise.js.map +1 -0
  567. package/utilities/internal/decoratePromise.d.ts +4 -0
  568. package/utilities/internal/decoratePromise.js +26 -0
  569. package/utilities/internal/decoratePromise.js.map +1 -0
  570. package/utilities/internal/deepFreeze.d.ts +3 -0
  571. package/utilities/{common/maybeDeepFreeze.js → internal/deepFreeze.js} +2 -8
  572. package/utilities/internal/deepFreeze.js.map +1 -0
  573. package/utilities/internal/getDefaultValues.d.ts +4 -0
  574. package/utilities/internal/getDefaultValues.js +15 -0
  575. package/utilities/internal/getDefaultValues.js.map +1 -0
  576. package/utilities/internal/getFragmentDefinition.d.ts +4 -0
  577. package/utilities/internal/getFragmentDefinition.js +10 -0
  578. package/utilities/internal/getFragmentDefinition.js.map +1 -0
  579. package/utilities/internal/getFragmentDefinitions.d.ts +4 -0
  580. package/utilities/internal/getFragmentDefinitions.js +5 -0
  581. package/utilities/internal/getFragmentDefinitions.js.map +1 -0
  582. package/utilities/internal/getFragmentFromSelection.d.ts +6 -0
  583. package/utilities/internal/getFragmentFromSelection.js +20 -0
  584. package/utilities/internal/getFragmentFromSelection.js.map +1 -0
  585. package/utilities/internal/getFragmentQueryDocument.d.ts +27 -0
  586. package/utilities/{graphql/fragments.js → internal/getFragmentQueryDocument.js} +3 -42
  587. package/utilities/internal/getFragmentQueryDocument.js.map +1 -0
  588. package/{__cjs/utilities/common/errorHandling.d.cts → utilities/internal/getGraphQLErrorsFromResult.d.ts} +2 -2
  589. package/utilities/{common/errorHandling.js → internal/getGraphQLErrorsFromResult.js} +4 -7
  590. package/utilities/internal/getGraphQLErrorsFromResult.js.map +1 -0
  591. package/utilities/internal/getMainDefinition.d.ts +10 -0
  592. package/utilities/internal/getMainDefinition.js +33 -0
  593. package/utilities/internal/getMainDefinition.js.map +1 -0
  594. package/utilities/internal/getOperationDefinition.d.ts +4 -0
  595. package/utilities/internal/getOperationDefinition.js +7 -0
  596. package/utilities/internal/getOperationDefinition.js.map +1 -0
  597. package/utilities/internal/getOperationName.d.ts +4 -0
  598. package/utilities/internal/getOperationName.js +7 -0
  599. package/utilities/internal/getOperationName.js.map +1 -0
  600. package/utilities/internal/getQueryDefinition.d.ts +4 -0
  601. package/utilities/internal/getQueryDefinition.js +9 -0
  602. package/utilities/internal/getQueryDefinition.js.map +1 -0
  603. package/utilities/internal/getStoreKeyName.d.ts +12 -0
  604. package/utilities/internal/getStoreKeyName.js +66 -0
  605. package/utilities/internal/getStoreKeyName.js.map +1 -0
  606. package/utilities/internal/globals/global.js.map +1 -0
  607. package/utilities/internal/globals/index.js.map +1 -0
  608. package/utilities/internal/globals/maybe.js.map +1 -0
  609. package/utilities/internal/graphQLResultHasError.d.ts +4 -0
  610. package/utilities/internal/graphQLResultHasError.js +8 -0
  611. package/utilities/internal/graphQLResultHasError.js.map +1 -0
  612. package/utilities/internal/hasDirectives.d.ts +4 -0
  613. package/utilities/internal/hasDirectives.js +17 -0
  614. package/utilities/internal/hasDirectives.js.map +1 -0
  615. package/utilities/internal/index.d.ts +64 -2
  616. package/utilities/internal/index.js +50 -2
  617. package/utilities/internal/index.js.map +1 -1
  618. package/utilities/internal/isArray.d.ts +7 -0
  619. package/utilities/internal/isArray.js +7 -0
  620. package/utilities/internal/isArray.js.map +1 -0
  621. package/utilities/internal/isDocumentNode.d.ts +4 -0
  622. package/utilities/internal/isDocumentNode.js +8 -0
  623. package/utilities/internal/isDocumentNode.js.map +1 -0
  624. package/utilities/internal/isExecutionPatchIncrementalResult.d.ts +4 -0
  625. package/utilities/internal/isExecutionPatchIncrementalResult.js +5 -0
  626. package/utilities/internal/isExecutionPatchIncrementalResult.js.map +1 -0
  627. package/utilities/internal/isExecutionPatchIninitialResult.d.ts +4 -0
  628. package/utilities/internal/isExecutionPatchIninitialResult.js +5 -0
  629. package/utilities/internal/isExecutionPatchIninitialResult.js.map +1 -0
  630. package/utilities/internal/isExecutionPatchResult.d.ts +4 -0
  631. package/utilities/internal/isExecutionPatchResult.js +8 -0
  632. package/utilities/internal/isExecutionPatchResult.js.map +1 -0
  633. package/utilities/internal/isField.d.ts +4 -0
  634. package/utilities/internal/isField.js +5 -0
  635. package/utilities/internal/isField.js.map +1 -0
  636. package/utilities/internal/isNonEmptyArray.d.ts +3 -0
  637. package/utilities/internal/isNonEmptyArray.js +5 -0
  638. package/utilities/internal/isNonEmptyArray.js.map +1 -0
  639. package/utilities/internal/isNonNullObject.d.ts +3 -0
  640. package/utilities/internal/isNonNullObject.js +5 -0
  641. package/utilities/internal/isNonNullObject.js.map +1 -0
  642. package/utilities/internal/isPlainObject.d.ts +3 -0
  643. package/utilities/{common/objects.js → internal/isPlainObject.js} +2 -4
  644. package/utilities/internal/isPlainObject.js.map +1 -0
  645. package/utilities/internal/makeReference.d.ts +4 -0
  646. package/utilities/internal/makeReference.js +5 -0
  647. package/utilities/internal/makeReference.js.map +1 -0
  648. package/utilities/internal/makeUniqueId.d.ts +8 -0
  649. package/utilities/{common → internal}/makeUniqueId.js +6 -2
  650. package/utilities/internal/makeUniqueId.js.map +1 -0
  651. package/utilities/{common → internal}/maybeDeepFreeze.d.ts +1 -2
  652. package/utilities/internal/maybeDeepFreeze.js +10 -0
  653. package/utilities/internal/maybeDeepFreeze.js.map +1 -0
  654. package/utilities/internal/mergeDeep.d.ts +4 -0
  655. package/utilities/internal/mergeDeep.js +19 -0
  656. package/utilities/internal/mergeDeep.js.map +1 -0
  657. package/utilities/internal/mergeDeepArray.d.ts +3 -0
  658. package/utilities/internal/mergeDeepArray.js +20 -0
  659. package/utilities/internal/mergeDeepArray.js.map +1 -0
  660. package/utilities/internal/mergeIncrementalData.d.ts +4 -0
  661. package/utilities/internal/mergeIncrementalData.js +23 -0
  662. package/utilities/internal/mergeIncrementalData.js.map +1 -0
  663. package/utilities/{common → internal}/mergeOptions.d.ts +1 -0
  664. package/utilities/{common → internal}/mergeOptions.js +1 -0
  665. package/utilities/internal/mergeOptions.js.map +1 -0
  666. package/utilities/{common → internal}/omitDeep.d.ts +2 -1
  667. package/utilities/{common → internal}/omitDeep.js +2 -1
  668. package/utilities/internal/omitDeep.js.map +1 -0
  669. package/{__cjs/utilities/internal/observables.d.cts → utilities/internal/onAnyEvent.d.ts} +1 -1
  670. package/utilities/internal/{observables.js → onAnyEvent.js} +1 -1
  671. package/utilities/internal/onAnyEvent.js.map +1 -0
  672. package/utilities/{promises → internal}/preventUnhandledRejection.js.map +1 -1
  673. package/utilities/internal/removeClientSetsFromDocument.d.ts +8 -0
  674. package/utilities/internal/removeClientSetsFromDocument.js +18 -0
  675. package/utilities/internal/removeClientSetsFromDocument.js.map +1 -0
  676. package/utilities/internal/removeDirectivesFromDocument.d.ts +10 -0
  677. package/utilities/internal/removeDirectivesFromDocument.js +296 -0
  678. package/utilities/internal/removeDirectivesFromDocument.js.map +1 -0
  679. package/utilities/internal/resultKeyNameFromField.d.ts +4 -0
  680. package/utilities/internal/resultKeyNameFromField.js +5 -0
  681. package/utilities/internal/resultKeyNameFromField.js.map +1 -0
  682. package/utilities/internal/shouldInclude.d.ts +4 -0
  683. package/utilities/internal/shouldInclude.js +43 -0
  684. package/utilities/internal/shouldInclude.js.map +1 -0
  685. package/utilities/internal/storeKeyNameFromField.d.ts +4 -0
  686. package/utilities/internal/storeKeyNameFromField.js +22 -0
  687. package/utilities/internal/storeKeyNameFromField.js.map +1 -0
  688. package/utilities/{common → internal}/stringifyForDisplay.d.ts +1 -0
  689. package/utilities/{common → internal}/stringifyForDisplay.js +2 -1
  690. package/utilities/internal/stringifyForDisplay.js.map +1 -0
  691. package/utilities/internal/toQueryResult.d.ts +1 -0
  692. package/utilities/internal/toQueryResult.js +1 -0
  693. package/utilities/internal/toQueryResult.js.map +1 -1
  694. package/utilities/internal/types/DecoratedPromise.d.ts +6 -0
  695. package/utilities/internal/types/DecoratedPromise.js +2 -0
  696. package/utilities/internal/types/DecoratedPromise.js.map +1 -0
  697. package/utilities/{types → internal/types}/DeepOmit.d.ts +1 -0
  698. package/utilities/{types → internal/types}/DeepPartial.d.ts +1 -0
  699. package/utilities/internal/types/DeepPartial.js.map +1 -0
  700. package/utilities/internal/types/FragmentMap.d.ts +10 -0
  701. package/utilities/internal/types/FragmentMap.js +2 -0
  702. package/utilities/internal/types/FragmentMap.js.map +1 -0
  703. package/utilities/internal/types/FragmentMapFunction.d.ts +4 -0
  704. package/utilities/internal/types/FragmentMapFunction.js +2 -0
  705. package/utilities/internal/types/FragmentMapFunction.js.map +1 -0
  706. package/utilities/internal/types/FulfilledPromise.d.ts +6 -0
  707. package/utilities/internal/types/FulfilledPromise.js +2 -0
  708. package/utilities/internal/types/FulfilledPromise.js.map +1 -0
  709. package/utilities/internal/types/IsAny.d.ts +3 -0
  710. package/utilities/internal/types/IsAny.js +2 -0
  711. package/utilities/internal/types/IsAny.js.map +1 -0
  712. package/utilities/{types → internal/types}/NoInfer.d.ts +2 -0
  713. package/utilities/internal/types/PendingPromise.d.ts +5 -0
  714. package/utilities/internal/types/PendingPromise.js +2 -0
  715. package/utilities/internal/types/PendingPromise.js.map +1 -0
  716. package/utilities/{types → internal/types}/Prettify.d.ts +1 -0
  717. package/utilities/{types → internal/types}/Primitive.d.ts +1 -0
  718. package/utilities/internal/types/RejectedPromise.d.ts +6 -0
  719. package/utilities/internal/types/RejectedPromise.js +2 -0
  720. package/utilities/internal/types/RejectedPromise.js.map +1 -0
  721. package/utilities/{types → internal/types}/RemoveIndexSignature.d.ts +1 -0
  722. package/utilities/internal/types/TupleToIntersection.d.ts +2 -0
  723. package/utilities/internal/types/TupleToIntersection.js +2 -0
  724. package/utilities/internal/types/TupleToIntersection.js.map +1 -0
  725. package/utilities/{types → internal/types}/VariablesOption.d.ts +1 -0
  726. package/utilities/internal/valueToObjectRepresentation.d.ts +4 -0
  727. package/utilities/internal/valueToObjectRepresentation.js +37 -0
  728. package/utilities/internal/valueToObjectRepresentation.js.map +1 -0
  729. package/utilities/invariant/index.js +3 -2
  730. package/utilities/invariant/index.js.map +1 -1
  731. package/utilities/policies/pagination.d.ts +23 -0
  732. package/utilities/policies/pagination.js +24 -7
  733. package/utilities/policies/pagination.js.map +1 -1
  734. package/utilities/{common → shared}/canonicalStringify.js +5 -2
  735. package/utilities/shared/canonicalStringify.js.map +1 -0
  736. package/utilities/subscriptions/relay/index.js +1 -1
  737. package/utilities/subscriptions/relay/index.js.map +1 -1
  738. package/version.js +1 -1
  739. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs +0 -21
  740. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.cjs.map +0 -1
  741. package/__cjs/config/jest/areCombinedGraphQLErrorsEqual.d.cts +0 -3
  742. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs +0 -19
  743. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.cjs.map +0 -1
  744. package/__cjs/config/jest/areCombinedProtocolErrorsEqual.d.cts +0 -3
  745. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs +0 -11
  746. package/__cjs/config/jest/areGraphQlErrorsEqual.cjs.map +0 -1
  747. package/__cjs/config/jest/areGraphQlErrorsEqual.d.cts +0 -3
  748. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs +0 -20
  749. package/__cjs/config/jest/areMissingFieldErrorsEqual.cjs.map +0 -1
  750. package/__cjs/config/jest/areMissingFieldErrorsEqual.d.cts +0 -3
  751. package/__cjs/config/jest/areServerErrorsEqual.cjs +0 -22
  752. package/__cjs/config/jest/areServerErrorsEqual.cjs.map +0 -1
  753. package/__cjs/config/jest/areServerErrorsEqual.d.cts +0 -3
  754. package/__cjs/config/jest/resolver.cjs +0 -32
  755. package/__cjs/config/jest/resolver.cjs.map +0 -1
  756. package/__cjs/config/jest/resolver.d.cts +0 -3
  757. package/__cjs/config/jest/setup.cjs +0 -65
  758. package/__cjs/config/jest/setup.cjs.map +0 -1
  759. package/__cjs/config/jest/setup.d.cts +0 -3
  760. package/__cjs/testing/experimental/createSchemaFetch.cjs +0 -92
  761. package/__cjs/testing/experimental/createSchemaFetch.cjs.map +0 -1
  762. package/__cjs/testing/experimental/createSchemaFetch.d.cts +0 -43
  763. package/__cjs/testing/experimental/createTestSchema.cjs +0 -110
  764. package/__cjs/testing/experimental/createTestSchema.cjs.map +0 -1
  765. package/__cjs/testing/experimental/createTestSchema.d.cts +0 -57
  766. package/__cjs/testing/experimental/graphql-tools/utils.cjs +0 -177
  767. package/__cjs/testing/experimental/graphql-tools/utils.cjs.map +0 -1
  768. package/__cjs/testing/experimental/graphql-tools/utils.d.cts +0 -26
  769. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs +0 -200
  770. package/__cjs/testing/experimental/graphql-tools/utils.test.cjs.map +0 -1
  771. package/__cjs/testing/experimental/graphql-tools/utils.test.d.cts +0 -2
  772. package/__cjs/testing/experimental/index.cjs +0 -8
  773. package/__cjs/testing/experimental/index.cjs.map +0 -1
  774. package/__cjs/testing/experimental/index.d.cts +0 -3
  775. package/__cjs/utilities/caching/caches.cjs.map +0 -1
  776. package/__cjs/utilities/common/arrays.cjs.map +0 -1
  777. package/__cjs/utilities/common/arrays.d.cts +0 -3
  778. package/__cjs/utilities/common/canUse.cjs +0 -24
  779. package/__cjs/utilities/common/canUse.cjs.map +0 -1
  780. package/__cjs/utilities/common/canUse.d.cts +0 -3
  781. package/__cjs/utilities/common/canonicalStringify.cjs.map +0 -1
  782. package/__cjs/utilities/common/cloneDeep.cjs.map +0 -1
  783. package/__cjs/utilities/common/compact.cjs.map +0 -1
  784. package/__cjs/utilities/common/errorHandling.cjs +0 -23
  785. package/__cjs/utilities/common/errorHandling.cjs.map +0 -1
  786. package/__cjs/utilities/common/incrementalResult.cjs +0 -45
  787. package/__cjs/utilities/common/incrementalResult.cjs.map +0 -1
  788. package/__cjs/utilities/common/incrementalResult.d.cts +0 -7
  789. package/__cjs/utilities/common/makeUniqueId.cjs.map +0 -1
  790. package/__cjs/utilities/common/makeUniqueId.d.cts +0 -2
  791. package/__cjs/utilities/common/maybeDeepFreeze.cjs.map +0 -1
  792. package/__cjs/utilities/common/mergeDeep.cjs.map +0 -1
  793. package/__cjs/utilities/common/mergeDeep.d.cts +0 -14
  794. package/__cjs/utilities/common/mergeOptions.cjs.map +0 -1
  795. package/__cjs/utilities/common/objects.cjs.map +0 -1
  796. package/__cjs/utilities/common/objects.d.cts +0 -3
  797. package/__cjs/utilities/common/omitDeep.cjs.map +0 -1
  798. package/__cjs/utilities/common/stringifyForDisplay.cjs.map +0 -1
  799. package/__cjs/utilities/globals/global.cjs.map +0 -1
  800. package/__cjs/utilities/globals/index.cjs.map +0 -1
  801. package/__cjs/utilities/globals/maybe.cjs.map +0 -1
  802. package/__cjs/utilities/graphql/directives.cjs +0 -114
  803. package/__cjs/utilities/graphql/directives.cjs.map +0 -1
  804. package/__cjs/utilities/graphql/directives.d.cts +0 -20
  805. package/__cjs/utilities/graphql/fragments.cjs.map +0 -1
  806. package/__cjs/utilities/graphql/fragments.d.cts +0 -35
  807. package/__cjs/utilities/graphql/getFromAST.cjs +0 -101
  808. package/__cjs/utilities/graphql/getFromAST.cjs.map +0 -1
  809. package/__cjs/utilities/graphql/getFromAST.d.cts +0 -15
  810. package/__cjs/utilities/internal/observables.cjs.map +0 -1
  811. package/__cjs/utilities/promises/decoration.cjs +0 -45
  812. package/__cjs/utilities/promises/decoration.cjs.map +0 -1
  813. package/__cjs/utilities/promises/decoration.d.cts +0 -18
  814. package/__cjs/utilities/types/DeepPartial.cjs.map +0 -1
  815. package/__cjs/utilities/types/IsStrictlyAny.cjs.map +0 -1
  816. package/__cjs/utilities/types/IsStrictlyAny.d.cts +0 -5
  817. package/__cjs/utilities/types/UnionToIntersection.cjs +0 -3
  818. package/__cjs/utilities/types/UnionToIntersection.cjs.map +0 -1
  819. package/__cjs/utilities/types/UnionToIntersection.d.cts +0 -2
  820. package/config/jest/areCombinedGraphQLErrorsEqual.d.ts +0 -3
  821. package/config/jest/areCombinedGraphQLErrorsEqual.js +0 -17
  822. package/config/jest/areCombinedGraphQLErrorsEqual.js.map +0 -1
  823. package/config/jest/areCombinedProtocolErrorsEqual.d.ts +0 -3
  824. package/config/jest/areCombinedProtocolErrorsEqual.js +0 -15
  825. package/config/jest/areCombinedProtocolErrorsEqual.js.map +0 -1
  826. package/config/jest/areGraphQlErrorsEqual.d.ts +0 -3
  827. package/config/jest/areGraphQlErrorsEqual.js +0 -7
  828. package/config/jest/areGraphQlErrorsEqual.js.map +0 -1
  829. package/config/jest/areMissingFieldErrorsEqual.d.ts +0 -3
  830. package/config/jest/areMissingFieldErrorsEqual.js +0 -16
  831. package/config/jest/areMissingFieldErrorsEqual.js.map +0 -1
  832. package/config/jest/areServerErrorsEqual.d.ts +0 -3
  833. package/config/jest/areServerErrorsEqual.js +0 -18
  834. package/config/jest/areServerErrorsEqual.js.map +0 -1
  835. package/config/jest/resolver.d.ts +0 -3
  836. package/config/jest/resolver.js +0 -29
  837. package/config/jest/resolver.js.map +0 -1
  838. package/config/jest/setup.d.ts +0 -3
  839. package/config/jest/setup.js +0 -62
  840. package/config/jest/setup.js.map +0 -1
  841. package/legacyEntryPoints/testing/experimental/experimental.cjs +0 -1
  842. package/legacyEntryPoints/testing/experimental/experimental.d.cts +0 -1
  843. package/legacyEntryPoints/testing/experimental/index.d.ts +0 -1
  844. package/legacyEntryPoints/testing/experimental/index.js +0 -1
  845. package/legacyEntryPoints/utilities/globals/globals.cjs +0 -1
  846. package/legacyEntryPoints/utilities/globals/globals.d.cts +0 -1
  847. package/legacyEntryPoints/utilities/globals/index.d.ts +0 -1
  848. package/legacyEntryPoints/utilities/globals/index.js +0 -1
  849. package/testing/experimental/createSchemaFetch.d.ts +0 -43
  850. package/testing/experimental/createSchemaFetch.js +0 -89
  851. package/testing/experimental/createSchemaFetch.js.map +0 -1
  852. package/testing/experimental/createTestSchema.d.ts +0 -57
  853. package/testing/experimental/createTestSchema.js +0 -107
  854. package/testing/experimental/createTestSchema.js.map +0 -1
  855. package/testing/experimental/graphql-tools/utils.d.ts +0 -26
  856. package/testing/experimental/graphql-tools/utils.js +0 -174
  857. package/testing/experimental/graphql-tools/utils.js.map +0 -1
  858. package/testing/experimental/graphql-tools/utils.test.d.ts +0 -2
  859. package/testing/experimental/graphql-tools/utils.test.js +0 -198
  860. package/testing/experimental/graphql-tools/utils.test.js.map +0 -1
  861. package/testing/experimental/index.d.ts +0 -3
  862. package/testing/experimental/index.js +0 -3
  863. package/testing/experimental/index.js.map +0 -1
  864. package/utilities/caching/caches.js.map +0 -1
  865. package/utilities/common/arrays.d.ts +0 -3
  866. package/utilities/common/arrays.js +0 -6
  867. package/utilities/common/arrays.js.map +0 -1
  868. package/utilities/common/canUse.d.ts +0 -3
  869. package/utilities/common/canUse.js +0 -21
  870. package/utilities/common/canUse.js.map +0 -1
  871. package/utilities/common/canonicalStringify.js.map +0 -1
  872. package/utilities/common/cloneDeep.js.map +0 -1
  873. package/utilities/common/compact.js.map +0 -1
  874. package/utilities/common/errorHandling.js.map +0 -1
  875. package/utilities/common/incrementalResult.d.ts +0 -7
  876. package/utilities/common/incrementalResult.js +0 -38
  877. package/utilities/common/incrementalResult.js.map +0 -1
  878. package/utilities/common/makeUniqueId.d.ts +0 -2
  879. package/utilities/common/makeUniqueId.js.map +0 -1
  880. package/utilities/common/maybeDeepFreeze.js.map +0 -1
  881. package/utilities/common/mergeDeep.d.ts +0 -14
  882. package/utilities/common/mergeDeep.js.map +0 -1
  883. package/utilities/common/mergeOptions.js.map +0 -1
  884. package/utilities/common/objects.d.ts +0 -3
  885. package/utilities/common/objects.js.map +0 -1
  886. package/utilities/common/omitDeep.js.map +0 -1
  887. package/utilities/common/stringifyForDisplay.js.map +0 -1
  888. package/utilities/globals/global.js.map +0 -1
  889. package/utilities/globals/index.js.map +0 -1
  890. package/utilities/globals/maybe.js.map +0 -1
  891. package/utilities/graphql/directives.d.ts +0 -20
  892. package/utilities/graphql/directives.js +0 -99
  893. package/utilities/graphql/directives.js.map +0 -1
  894. package/utilities/graphql/fragments.d.ts +0 -35
  895. package/utilities/graphql/fragments.js.map +0 -1
  896. package/utilities/graphql/getFromAST.d.ts +0 -15
  897. package/utilities/graphql/getFromAST.js +0 -91
  898. package/utilities/graphql/getFromAST.js.map +0 -1
  899. package/utilities/internal/observables.js.map +0 -1
  900. package/utilities/promises/decoration.d.ts +0 -18
  901. package/utilities/promises/decoration.js.map +0 -1
  902. package/utilities/types/DeepPartial.js.map +0 -1
  903. package/utilities/types/IsStrictlyAny.d.ts +0 -5
  904. package/utilities/types/IsStrictlyAny.js +0 -2
  905. package/utilities/types/IsStrictlyAny.js.map +0 -1
  906. package/utilities/types/UnionToIntersection.d.ts +0 -2
  907. package/utilities/types/UnionToIntersection.js +0 -2
  908. package/utilities/types/UnionToIntersection.js.map +0 -1
  909. /package/__cjs/utilities/{caching → internal}/caches.cjs +0 -0
  910. /package/__cjs/utilities/{caching → internal}/caches.d.cts +0 -0
  911. /package/__cjs/utilities/{globals → internal/globals}/global.cjs +0 -0
  912. /package/__cjs/utilities/{globals → internal/globals}/global.d.cts +0 -0
  913. /package/__cjs/utilities/{globals → internal/globals}/index.cjs +0 -0
  914. /package/__cjs/utilities/{globals → internal/globals}/index.d.cts +0 -0
  915. /package/__cjs/utilities/{globals → internal/globals}/maybe.cjs +0 -0
  916. /package/__cjs/utilities/{globals → internal/globals}/maybe.d.cts +0 -0
  917. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.cjs +0 -0
  918. /package/__cjs/utilities/{promises → internal}/preventUnhandledRejection.d.cts +0 -0
  919. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs +0 -0
  920. /package/__cjs/utilities/{types → internal/types}/DeepOmit.cjs.map +0 -0
  921. /package/__cjs/utilities/{types → internal/types}/DeepPartial.cjs +0 -0
  922. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs +0 -0
  923. /package/__cjs/utilities/{types → internal/types}/NoInfer.cjs.map +0 -0
  924. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs +0 -0
  925. /package/__cjs/utilities/{types → internal/types}/Prettify.cjs.map +0 -0
  926. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs +0 -0
  927. /package/__cjs/utilities/{types → internal/types}/Primitive.cjs.map +0 -0
  928. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs +0 -0
  929. /package/__cjs/utilities/{types → internal/types}/RemoveIndexSignature.cjs.map +0 -0
  930. /package/__cjs/utilities/{types → internal/types}/VariablesOption.cjs +0 -0
  931. /package/__cjs/utilities/{types → internal/types}/VariablesOption.cjs.map +0 -0
  932. /package/__cjs/utilities/{common → shared}/canonicalStringify.d.cts +0 -0
  933. /package/utilities/{caching → internal}/caches.d.ts +0 -0
  934. /package/utilities/{caching → internal}/caches.js +0 -0
  935. /package/utilities/{globals → internal/globals}/global.d.ts +0 -0
  936. /package/utilities/{globals → internal/globals}/global.js +0 -0
  937. /package/utilities/{globals → internal/globals}/index.d.ts +0 -0
  938. /package/utilities/{globals → internal/globals}/index.js +0 -0
  939. /package/utilities/{globals → internal/globals}/maybe.d.ts +0 -0
  940. /package/utilities/{globals → internal/globals}/maybe.js +0 -0
  941. /package/utilities/{promises → internal}/preventUnhandledRejection.d.ts +0 -0
  942. /package/utilities/{promises → internal}/preventUnhandledRejection.js +0 -0
  943. /package/utilities/{types → internal/types}/DeepOmit.js +0 -0
  944. /package/utilities/{types → internal/types}/DeepOmit.js.map +0 -0
  945. /package/utilities/{types → internal/types}/DeepPartial.js +0 -0
  946. /package/utilities/{types → internal/types}/NoInfer.js +0 -0
  947. /package/utilities/{types → internal/types}/NoInfer.js.map +0 -0
  948. /package/utilities/{types → internal/types}/Prettify.js +0 -0
  949. /package/utilities/{types → internal/types}/Prettify.js.map +0 -0
  950. /package/utilities/{types → internal/types}/Primitive.js +0 -0
  951. /package/utilities/{types → internal/types}/Primitive.js.map +0 -0
  952. /package/utilities/{types → internal/types}/RemoveIndexSignature.js +0 -0
  953. /package/utilities/{types → internal/types}/RemoveIndexSignature.js.map +0 -0
  954. /package/utilities/{types → internal/types}/VariablesOption.js +0 -0
  955. /package/utilities/{types → internal/types}/VariablesOption.js.map +0 -0
  956. /package/utilities/{common → shared}/canonicalStringify.d.ts +0 -0
@@ -1,10 +1,4 @@
1
- import { __DEV__ } from "@apollo/client/utilities/environment";
2
1
  import { Kind, visit } from "graphql";
3
- import { invariant } from "@apollo/client/utilities/invariant";
4
- import { isArray, isNonEmptyArray } from "../common/arrays.js";
5
- import { createFragmentMap } from "./fragments.js";
6
- import { checkDocument, getFragmentDefinition, getFragmentDefinitions, getMainDefinition, getOperationDefinition, } from "./getFromAST.js";
7
- import { isField } from "./storeUtils.js";
8
2
  const TYPENAME_FIELD = {
9
3
  kind: Kind.FIELD,
10
4
  name: {
@@ -12,290 +6,11 @@ const TYPENAME_FIELD = {
12
6
  value: "__typename",
13
7
  },
14
8
  };
15
- function isEmpty(op, fragmentMap) {
16
- return (!op ||
17
- op.selectionSet.selections.every((selection) => selection.kind === Kind.FRAGMENT_SPREAD &&
18
- isEmpty(fragmentMap[selection.name.value], fragmentMap)));
19
- }
20
- function nullIfDocIsEmpty(doc) {
21
- return (isEmpty(getOperationDefinition(doc) || getFragmentDefinition(doc), createFragmentMap(getFragmentDefinitions(doc)))) ?
22
- null
23
- : doc;
24
- }
25
- function getDirectiveMatcher(configs) {
26
- const names = new Map();
27
- const tests = new Map();
28
- configs.forEach((directive) => {
29
- if (directive) {
30
- if (directive.name) {
31
- names.set(directive.name, directive);
32
- }
33
- else if (directive.test) {
34
- tests.set(directive.test, directive);
35
- }
36
- }
37
- });
38
- return (directive) => {
39
- let config = names.get(directive.name.value);
40
- if (!config && tests.size) {
41
- tests.forEach((testConfig, test) => {
42
- if (test(directive)) {
43
- config = testConfig;
44
- }
45
- });
46
- }
47
- return config;
48
- };
49
- }
50
- function makeInUseGetterFunction(defaultKey) {
51
- const map = new Map();
52
- return function inUseGetterFunction(key = defaultKey) {
53
- let inUse = map.get(key);
54
- if (!inUse) {
55
- map.set(key, (inUse = {
56
- // Variable and fragment spread names used directly within this
57
- // operation or fragment definition, as identified by key. These sets
58
- // will be populated during the first traversal of the document in
59
- // removeDirectivesFromDocument below.
60
- variables: new Set(),
61
- fragmentSpreads: new Set(),
62
- }));
63
- }
64
- return inUse;
65
- };
66
- }
67
- export function removeDirectivesFromDocument(directives, doc) {
68
- checkDocument(doc);
69
- // Passing empty strings to makeInUseGetterFunction means we handle anonymous
70
- // operations as if their names were "". Anonymous fragment definitions are
71
- // not supposed to be possible, but the same default naming strategy seems
72
- // appropriate for that case as well.
73
- const getInUseByOperationName = makeInUseGetterFunction("");
74
- const getInUseByFragmentName = makeInUseGetterFunction("");
75
- const getInUse = (ancestors) => {
76
- for (let p = 0, ancestor; p < ancestors.length && (ancestor = ancestors[p]); ++p) {
77
- if (isArray(ancestor))
78
- continue;
79
- if (ancestor.kind === Kind.OPERATION_DEFINITION) {
80
- // If an operation is anonymous, we use the empty string as its key.
81
- return getInUseByOperationName(ancestor.name && ancestor.name.value);
82
- }
83
- if (ancestor.kind === Kind.FRAGMENT_DEFINITION) {
84
- return getInUseByFragmentName(ancestor.name.value);
85
- }
86
- }
87
- __DEV__ && invariant.error(22);
88
- return null;
89
- };
90
- let operationCount = 0;
91
- for (let i = doc.definitions.length - 1; i >= 0; --i) {
92
- if (doc.definitions[i].kind === Kind.OPERATION_DEFINITION) {
93
- ++operationCount;
94
- }
95
- }
96
- const directiveMatcher = getDirectiveMatcher(directives);
97
- const shouldRemoveField = (nodeDirectives) => isNonEmptyArray(nodeDirectives) &&
98
- nodeDirectives
99
- .map(directiveMatcher)
100
- .some((config) => config && config.remove);
101
- const originalFragmentDefsByPath = new Map();
102
- // Any time the first traversal of the document below makes a change like
103
- // removing a fragment (by returning null), this variable should be set to
104
- // true. Once it becomes true, it should never be set to false again. If this
105
- // variable remains false throughout the traversal, then we can return the
106
- // original doc immediately without any modifications.
107
- let firstVisitMadeChanges = false;
108
- const fieldOrInlineFragmentVisitor = {
109
- enter(node) {
110
- if (shouldRemoveField(node.directives)) {
111
- firstVisitMadeChanges = true;
112
- return null;
113
- }
114
- },
115
- };
116
- const docWithoutDirectiveSubtrees = visit(doc, {
117
- // These two AST node types share the same implementation, defined above.
118
- Field: fieldOrInlineFragmentVisitor,
119
- InlineFragment: fieldOrInlineFragmentVisitor,
120
- VariableDefinition: {
121
- enter() {
122
- // VariableDefinition nodes do not count as variables in use, though
123
- // they do contain Variable nodes that might be visited below. To avoid
124
- // counting variable declarations as usages, we skip visiting the
125
- // contents of this VariableDefinition node by returning false.
126
- return false;
127
- },
128
- },
129
- Variable: {
130
- enter(node, _key, _parent, _path, ancestors) {
131
- const inUse = getInUse(ancestors);
132
- if (inUse) {
133
- inUse.variables.add(node.name.value);
134
- }
135
- },
136
- },
137
- FragmentSpread: {
138
- enter(node, _key, _parent, _path, ancestors) {
139
- if (shouldRemoveField(node.directives)) {
140
- firstVisitMadeChanges = true;
141
- return null;
142
- }
143
- const inUse = getInUse(ancestors);
144
- if (inUse) {
145
- inUse.fragmentSpreads.add(node.name.value);
146
- }
147
- // We might like to remove this FragmentSpread by returning null here if
148
- // the corresponding FragmentDefinition node is also going to be removed
149
- // by the logic below, but we can't control the relative order of those
150
- // events, so we have to postpone the removal of dangling FragmentSpread
151
- // nodes until after the current visit of the document has finished.
152
- },
153
- },
154
- FragmentDefinition: {
155
- enter(node, _key, _parent, path) {
156
- originalFragmentDefsByPath.set(JSON.stringify(path), node);
157
- },
158
- leave(node, _key, _parent, path) {
159
- const originalNode = originalFragmentDefsByPath.get(JSON.stringify(path));
160
- if (node === originalNode) {
161
- // If the FragmentNode received by this leave function is identical to
162
- // the one received by the corresponding enter function (above), then
163
- // the visitor must not have made any changes within this
164
- // FragmentDefinition node. This fragment definition may still be
165
- // removed if there are no ...spread references to it, but it won't be
166
- // removed just because it has only a __typename field.
167
- return node;
168
- }
169
- if (
170
- // This logic applies only if the document contains one or more
171
- // operations, since removing all fragments from a document containing
172
- // only fragments makes the document useless.
173
- operationCount > 0 &&
174
- node.selectionSet.selections.every((selection) => selection.kind === Kind.FIELD &&
175
- selection.name.value === "__typename")) {
176
- // This is a somewhat opinionated choice: if a FragmentDefinition ends
177
- // up having no fields other than __typename, we remove the whole
178
- // fragment definition, and later prune ...spread references to it.
179
- getInUseByFragmentName(node.name.value).removed = true;
180
- firstVisitMadeChanges = true;
181
- return null;
182
- }
183
- },
184
- },
185
- Directive: {
186
- leave(node) {
187
- // If a matching directive is found, remove the directive itself. Note
188
- // that this does not remove the target (field, argument, etc) of the
189
- // directive, but only the directive itself.
190
- if (directiveMatcher(node)) {
191
- firstVisitMadeChanges = true;
192
- return null;
193
- }
194
- },
195
- },
196
- });
197
- if (!firstVisitMadeChanges) {
198
- // If our first pass did not change anything about the document, then there
199
- // is no cleanup we need to do, and we can return the original doc.
200
- return doc;
201
- }
202
- // Utility for making sure inUse.transitiveVars is recursively populated.
203
- // Because this logic assumes inUse.fragmentSpreads has been completely
204
- // populated and inUse.removed has been set if appropriate,
205
- // populateTransitiveVars must be called after that information has been
206
- // collected by the first traversal of the document.
207
- const populateTransitiveVars = (inUse) => {
208
- if (!inUse.transitiveVars) {
209
- inUse.transitiveVars = new Set(inUse.variables);
210
- if (!inUse.removed) {
211
- inUse.fragmentSpreads.forEach((childFragmentName) => {
212
- populateTransitiveVars(getInUseByFragmentName(childFragmentName)).transitiveVars.forEach((varName) => {
213
- inUse.transitiveVars.add(varName);
214
- });
215
- });
216
- }
217
- }
218
- return inUse;
219
- };
220
- // Since we've been keeping track of fragment spreads used by particular
221
- // operations and fragment definitions, we now need to compute the set of all
222
- // spreads used (transitively) by any operations in the document.
223
- const allFragmentNamesUsed = new Set();
224
- docWithoutDirectiveSubtrees.definitions.forEach((def) => {
225
- if (def.kind === Kind.OPERATION_DEFINITION) {
226
- populateTransitiveVars(getInUseByOperationName(def.name && def.name.value)).fragmentSpreads.forEach((childFragmentName) => {
227
- allFragmentNamesUsed.add(childFragmentName);
228
- });
229
- }
230
- else if (def.kind === Kind.FRAGMENT_DEFINITION &&
231
- // If there are no operations in the document, then all fragment
232
- // definitions count as usages of their own fragment names. This heuristic
233
- // prevents accidentally removing all fragment definitions from the
234
- // document just because it contains no operations that use the fragments.
235
- operationCount === 0 &&
236
- !getInUseByFragmentName(def.name.value).removed) {
237
- allFragmentNamesUsed.add(def.name.value);
238
- }
239
- });
240
- // Now that we have added all fragment spreads used by operations to the
241
- // allFragmentNamesUsed set, we can complete the set by transitively adding
242
- // all fragment spreads used by those fragments, and so on.
243
- allFragmentNamesUsed.forEach((fragmentName) => {
244
- // Once all the childFragmentName strings added here have been seen already,
245
- // the top-level allFragmentNamesUsed.forEach loop will terminate.
246
- populateTransitiveVars(getInUseByFragmentName(fragmentName)).fragmentSpreads.forEach((childFragmentName) => {
247
- allFragmentNamesUsed.add(childFragmentName);
248
- });
249
- });
250
- const fragmentWillBeRemoved = (fragmentName) => !!(
251
- // A fragment definition will be removed if there are no spreads that refer
252
- // to it, or the fragment was explicitly removed because it had no fields
253
- // other than __typename.
254
- (!allFragmentNamesUsed.has(fragmentName) ||
255
- getInUseByFragmentName(fragmentName).removed));
256
- const enterVisitor = {
257
- enter(node) {
258
- if (fragmentWillBeRemoved(node.name.value)) {
259
- return null;
260
- }
261
- },
262
- };
263
- return nullIfDocIsEmpty(visit(docWithoutDirectiveSubtrees, {
264
- // If the fragment is going to be removed, then leaving any dangling
265
- // FragmentSpread nodes with the same name would be a mistake.
266
- FragmentSpread: enterVisitor,
267
- // This is where the fragment definition is actually removed.
268
- FragmentDefinition: enterVisitor,
269
- OperationDefinition: {
270
- leave(node) {
271
- // Upon leaving each operation in the depth-first AST traversal, prune
272
- // any variables that are declared by the operation but unused within.
273
- if (node.variableDefinitions) {
274
- const usedVariableNames = populateTransitiveVars(
275
- // If an operation is anonymous, we use the empty string as its key.
276
- getInUseByOperationName(node.name && node.name.value)).transitiveVars;
277
- // According to the GraphQL spec, all variables declared by an
278
- // operation must either be used by that operation or used by some
279
- // fragment included transitively into that operation:
280
- // https://spec.graphql.org/draft/#sec-All-Variables-Used
281
- //
282
- // To stay on the right side of this validation rule, if/when we
283
- // remove the last $var references from an operation or its fragments,
284
- // we must also remove the corresponding $var declaration from the
285
- // enclosing operation. This pruning applies only to operations and
286
- // not fragment definitions, at the moment. Fragments may be able to
287
- // declare variables eventually, but today they can only consume them.
288
- if (usedVariableNames.size < node.variableDefinitions.length) {
289
- return {
290
- ...node,
291
- variableDefinitions: node.variableDefinitions.filter((varDef) => usedVariableNames.has(varDef.variable.name.value)),
292
- };
293
- }
294
- }
295
- },
296
- },
297
- }));
298
- }
9
+ /**
10
+ * Adds `__typename` to all selection sets in the document.
11
+ *
12
+ * @param doc - The `ASTNode` to add `__typename` to
13
+ */
299
14
  export const addTypenameToDocument = Object.assign(function (doc) {
300
15
  return visit(doc, {
301
16
  SelectionSet: {
@@ -314,7 +29,7 @@ export const addTypenameToDocument = Object.assign(function (doc) {
314
29
  // If selections already have a __typename, or are part of an
315
30
  // introspection query, do nothing.
316
31
  const skip = selections.some((selection) => {
317
- return (isField(selection) &&
32
+ return (selection.kind === Kind.FIELD &&
318
33
  (selection.name.value === "__typename" ||
319
34
  selection.name.value.lastIndexOf("__", 0) === 0));
320
35
  });
@@ -324,7 +39,7 @@ export const addTypenameToDocument = Object.assign(function (doc) {
324
39
  // If this SelectionSet is @export-ed as an input variable, it should
325
40
  // not have a __typename field (see issue #4691).
326
41
  const field = parent;
327
- if (isField(field) &&
42
+ if (field.kind === Kind.FIELD &&
328
43
  field.directives &&
329
44
  field.directives.some((d) => d.name.value === "export")) {
330
45
  return;
@@ -342,155 +57,4 @@ export const addTypenameToDocument = Object.assign(function (doc) {
342
57
  return field === TYPENAME_FIELD;
343
58
  },
344
59
  });
345
- const connectionRemoveConfig = {
346
- test: (directive) => {
347
- const willRemove = directive.name.value === "connection";
348
- if (willRemove) {
349
- if (!directive.arguments ||
350
- !directive.arguments.some((arg) => arg.name.value === "key")) {
351
- __DEV__ && invariant.warn(23);
352
- }
353
- }
354
- return willRemove;
355
- },
356
- };
357
- export function removeConnectionDirectiveFromDocument(doc) {
358
- return removeDirectivesFromDocument([connectionRemoveConfig], checkDocument(doc));
359
- }
360
- function hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck = true) {
361
- return (!!selectionSet &&
362
- selectionSet.selections &&
363
- selectionSet.selections.some((selection) => hasDirectivesInSelection(directives, selection, nestedCheck)));
364
- }
365
- function hasDirectivesInSelection(directives, selection, nestedCheck = true) {
366
- if (!isField(selection)) {
367
- return true;
368
- }
369
- if (!selection.directives) {
370
- return false;
371
- }
372
- return (selection.directives.some(getDirectiveMatcher(directives)) ||
373
- (nestedCheck &&
374
- hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck)));
375
- }
376
- function getArgumentMatcher(config) {
377
- return function argumentMatcher(argument) {
378
- return config.some((aConfig) => argument.value &&
379
- argument.value.kind === Kind.VARIABLE &&
380
- argument.value.name &&
381
- (aConfig.name === argument.value.name.value ||
382
- (aConfig.test && aConfig.test(argument))));
383
- };
384
- }
385
- export function removeArgumentsFromDocument(config, doc) {
386
- const argMatcher = getArgumentMatcher(config);
387
- return nullIfDocIsEmpty(visit(doc, {
388
- OperationDefinition: {
389
- enter(node) {
390
- return {
391
- ...node,
392
- // Remove matching top level variables definitions.
393
- variableDefinitions: node.variableDefinitions ?
394
- node.variableDefinitions.filter((varDef) => !config.some((arg) => arg.name === varDef.variable.name.value))
395
- : [],
396
- };
397
- },
398
- },
399
- Field: {
400
- enter(node) {
401
- // If `remove` is set to true for an argument, and an argument match
402
- // is found for a field, remove the field as well.
403
- const shouldRemoveField = config.some((argConfig) => argConfig.remove);
404
- if (shouldRemoveField) {
405
- let argMatchCount = 0;
406
- if (node.arguments) {
407
- node.arguments.forEach((arg) => {
408
- if (argMatcher(arg)) {
409
- argMatchCount += 1;
410
- }
411
- });
412
- }
413
- if (argMatchCount === 1) {
414
- return null;
415
- }
416
- }
417
- },
418
- },
419
- Argument: {
420
- enter(node) {
421
- // Remove all matching arguments.
422
- if (argMatcher(node)) {
423
- return null;
424
- }
425
- },
426
- },
427
- }));
428
- }
429
- export function removeFragmentSpreadFromDocument(config, doc) {
430
- function enter(node) {
431
- if (config.some((def) => def.name === node.name.value)) {
432
- return null;
433
- }
434
- }
435
- return nullIfDocIsEmpty(visit(doc, {
436
- FragmentSpread: { enter },
437
- FragmentDefinition: { enter },
438
- }));
439
- }
440
- // If the incoming document is a query, return it as is. Otherwise, build a
441
- // new document containing a query operation based on the selection set
442
- // of the previous main operation.
443
- export function buildQueryFromSelectionSet(document) {
444
- const definition = getMainDefinition(document);
445
- const definitionOperation = definition.operation;
446
- if (definitionOperation === "query") {
447
- // Already a query, so return the existing document.
448
- return document;
449
- }
450
- // Build a new query using the selection set of the main operation.
451
- const modifiedDoc = visit(document, {
452
- OperationDefinition: {
453
- enter(node) {
454
- return {
455
- ...node,
456
- operation: "query",
457
- };
458
- },
459
- },
460
- });
461
- return modifiedDoc;
462
- }
463
- // Remove fields / selection sets that include an @client directive.
464
- export function removeClientSetsFromDocument(document) {
465
- checkDocument(document);
466
- let modifiedDoc = removeDirectivesFromDocument([
467
- {
468
- test: (directive) => directive.name.value === "client",
469
- remove: true,
470
- },
471
- ], document);
472
- return modifiedDoc;
473
- }
474
- export function addNonReactiveToNamedFragments(document) {
475
- checkDocument(document);
476
- return visit(document, {
477
- FragmentSpread: (node) => {
478
- // Do not add `@nonreactive` if the fragment is marked with `@unmask`
479
- // since we want to react to changes in this fragment.
480
- if (node.directives?.some((directive) => directive.name.value === "unmask")) {
481
- return;
482
- }
483
- return {
484
- ...node,
485
- directives: [
486
- ...(node.directives || []),
487
- {
488
- kind: Kind.DIRECTIVE,
489
- name: { kind: Kind.NAME, value: "nonreactive" },
490
- },
491
- ],
492
- };
493
- },
494
- });
495
- }
496
60
  //# sourceMappingURL=transform.js.map