@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 +1 @@
1
- {"version":3,"file":"transformOperation.js","sources":["../../../src/link/utils/transformOperation.ts"],"sourcesContent":["import type { GraphQLRequest, Operation } from \"@apollo/client/link\";\nimport { getOperationName } from \"@apollo/client/utilities\";\n\nexport function transformOperation(operation: GraphQLRequest): GraphQLRequest {\n const transformedOperation: GraphQLRequest = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n\n // Best guess at an operation name\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== \"string\" ?\n getOperationName(transformedOperation.query) || undefined\n : \"\";\n }\n\n return transformedOperation as Operation;\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transformOperation.js","sources":["../../../src/link/utils/transformOperation.ts"],"sourcesContent":["import type { GraphQLRequest, Operation } from \"@apollo/client/link\";\nimport { getOperationName } from \"@apollo/client/utilities/internal\";\n\nexport function transformOperation(operation: GraphQLRequest): GraphQLRequest {\n const transformedOperation: GraphQLRequest = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n\n // Best guess at an operation name\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== \"string\" ?\n getOperationName(transformedOperation.query) || undefined\n : \"\";\n }\n\n return transformedOperation as Operation;\n}\n"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export function validateOperation(operation) {
9
9
  ];
10
10
  for (let key of Object.keys(operation)) {
11
11
  if (OPERATION_FIELDS.indexOf(key) < 0) {
12
- throw newInvariantError(49, key);
12
+ throw newInvariantError(48, key);
13
13
  }
14
14
  }
15
15
  return operation;
@@ -1 +1 @@
1
- {"version":3,"file":"types.bench.js","sources":["../../../src/masking/__benches__/types.bench.ts"],"sourcesContent":["import { attest, bench } from \"@ark/attest\";\nimport { setup } from \"@ark/attest\";\nimport { expectTypeOf } from \"expect-type\";\n\nimport type { TypedDocumentNode } from \"@apollo/client\";\nimport type { MaybeMasked, Unmasked } from \"@apollo/client/masking\";\nimport type { DeepPartial } from \"@apollo/client/utilities\";\n\nimport type { ContainsFragmentsRefs } from \"../internal/types.js\";\n\nsetup({\n updateSnapshots: !process.env.CI,\n});\n\nfunction test(name: string, fn: (name: string) => void) {\n fn(name + \": \");\n}\n\ntype UnrelatedType = {\n __typename: \"Unrelated\";\n} & { \" $fragmentName\"?: \"Unrelated\" } & {\n \" $fragmentRefs\"?: {\n Unrelated: {\n __unrelated: boolean;\n };\n };\n};\n// @ts-ignore\ntype _TypeCacheWarmup = Unmasked<UnrelatedType> | MaybeMasked<UnrelatedType>;\n\ntest(\"unmasks deeply nested fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n JobFieldsFragment: JobFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"User\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"User\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n job: string;\n position: string;\n }>();\n });\n});\n\ntest(\"unmasks deeply nested fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n jobs: Array<\n {\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } }\n >;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"Job\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"Job\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n jobs: Array<{\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n }>;\n }>();\n });\n});\n\ntest(\"unmasks deeply nested nullable fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n career:\n | ({\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } })\n | null;\n jobs: Array<\n | ({\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } })\n | null\n >;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"Job\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"Job\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n career: {\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n } | null;\n jobs: Array<{\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n } | null>;\n }>();\n });\n});\n\ntest(\"unmasks DeepPartial types\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type Source = DeepPartial<UserFieldsFragment>;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename?: \"User\";\n id?: number;\n age?: number;\n firstName?: string;\n lastName?: string;\n }>();\n });\n});\n\ntest(\"Unmasked handles odd types\", (prefix) => {\n bench(prefix + \"empty type instantiations\", () => {\n attest<{}, Unmasked<{}>>();\n }).types([111, \"instantiations\"]);\n\n bench(prefix + \"empty type functionality\", () => {\n expectTypeOf<Unmasked<{}>>().toEqualTypeOf<{}>();\n });\n\n bench(prefix + \"generic record type instantiations\", () => {\n attest<Record<string, any>, Unmasked<Record<string, any>>>();\n }).types([115, \"instantiations\"]);\n\n bench(prefix + \"generic record type functionality\", () => {\n expectTypeOf<Unmasked<Record<string, any>>>().toEqualTypeOf<\n Record<string, any>\n >();\n });\n\n bench(prefix + \"unknown instantiations\", () => {\n attest<unknown, Unmasked<unknown>>();\n }).types([47, \"instantiations\"]);\n\n bench(prefix + \"unknown functionality\", () => {\n expectTypeOf<Unmasked<unknown>>().toBeUnknown();\n });\n\n bench(prefix + \"any instantiations\", () => {\n attest<any, Unmasked<any>>();\n }).types([48, \"instantiations\"]);\n\n bench(prefix + \"any functionality\", () => {\n expectTypeOf<Unmasked<any>>().toBeAny();\n });\n});\n\ntest(\"MaybeMasked handles odd types\", (prefix) => {\n bench(prefix + \"empty type instantiations\", () => {\n attest<{}, MaybeMasked<{}>>();\n }).types([41, \"instantiations\"]);\n\n bench(prefix + \"empty type functionality\", () => {\n expectTypeOf<MaybeMasked<{}>>().toEqualTypeOf<{}>();\n });\n\n bench(prefix + \"generic record type instantiations\", () => {\n attest<Record<string, any>, MaybeMasked<Record<string, any>>>();\n }).types([46, \"instantiations\"]);\n bench(prefix + \"generic record type functionality\", () => {\n expectTypeOf<MaybeMasked<Record<string, any>>>().toEqualTypeOf<\n Record<string, any>\n >();\n });\n\n bench(prefix + \"unknown instantiations\", () => {\n attest<unknown, MaybeMasked<unknown>>();\n }).types([41, \"instantiations\"]);\n bench(prefix + \"unknown functionality\", () => {\n expectTypeOf<MaybeMasked<unknown>>().toBeUnknown();\n });\n\n bench(prefix + \"any instantiations\", () => {\n attest<any, MaybeMasked<any>>();\n }).types([43, \"instantiations\"]);\n bench(prefix + \"any functionality\", () => {\n expectTypeOf<MaybeMasked<any>>().toBeAny();\n });\n});\n\ntest(\"distributed members on MaybeMasked\", (prefix) => {\n (function unresolvedGeneric<T>() {\n bench(prefix + \"one unresolved generic mixed with null|undefined\", () => {\n attest<\n [MaybeMasked<T> | null | undefined],\n [MaybeMasked<T | null | undefined>]\n >();\n }).types([49, \"instantiations\"]);\n })();\n\n (function unresolvedGenerics<T, V>() {\n bench(prefix + \"two unresolved generics distribute\", () => {\n attest<[MaybeMasked<T> | MaybeMasked<V>], [MaybeMasked<T | V>]>();\n }).types([50, \"instantiations\"]);\n })();\n});\n\ntest(\"deals with overlapping array from parent fragment\", (prefix) => {\n type Source = {\n __typename: \"Track\";\n /** comment: id */\n id: number;\n /** comment: artists */\n artists?: Array<{\n __typename: \"Artist\";\n /** comment: artists.id */\n id: number;\n \" $fragmentRefs\"?: {\n ArtistFragment: ArtistFragment;\n };\n }> | null;\n \" $fragmentRefs\"?: {\n NestedTrackFragment: NestedTrackFragment;\n };\n };\n\n type ArtistFragment = {\n \" $fragmentName\"?: \"Fragment__Artist\";\n __typename: \"Artist\";\n /** comment: artists.birthday */\n birthdate: string;\n };\n\n type NestedTrackFragment = {\n \" $fragmentName\"?: \"Fragment__Track\";\n __typename: \"Track\";\n artists?: Array<{\n __typename: \"Artist\";\n /** comment: artists.lastname */\n lastname: string;\n }> | null;\n };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n // some fields for hovering\n x.id;\n x.artists;\n x.artists?.[0]?.id;\n x.artists?.[0]?.birthdate;\n x.artists?.[0]?.lastname;\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Track\";\n id: number;\n artists?:\n | Array<{\n __typename: \"Artist\";\n id: number;\n birthdate: string;\n lastname: string;\n }>\n | null\n | undefined;\n }>();\n });\n});\n\ntest(\"base type, multiple fragments on sub-types\", (prefix) => {\n type Source = {\n __typename: \"Track\";\n id: number;\n artists?: Array<{\n __typename: \"Person\" | \"Animatronic\" | \"CartoonCharacter\";\n id: number;\n name: string;\n \" $fragmentRefs\"?: {\n PersonFragment: PersonFragment;\n AnimatronicFragment: AnimatronicFragment;\n CartoonCharacterFragment: CartoonCharacterFragment;\n };\n }> | null;\n };\n\n type PersonFragment = {\n \" $fragmentName\"?: \"Fragment__Person\";\n __typename: \"Person\";\n birthdate: string;\n };\n type AnimatronicFragment = {\n \" $fragmentName\"?: \"Fragment__Animatronic\";\n __typename: \"Animatronic\";\n manufacturer: string;\n warrantyEndDate: string;\n };\n type CartoonCharacterFragment = {\n \" $fragmentName\"?: \"Fragment__CartoonCharacter\";\n __typename: \"CartoonCharacter\";\n animator: string;\n voiceActor: string;\n };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Track\";\n id: number;\n artists?:\n | Array<\n | {\n __typename: \"Person\";\n id: number;\n name: string;\n birthdate: string;\n }\n | {\n __typename: \"Animatronic\";\n id: number;\n name: string;\n manufacturer: string;\n warrantyEndDate: string;\n }\n | {\n __typename: \"CartoonCharacter\";\n id: number;\n name: string;\n animator: string;\n voiceActor: string;\n }\n >\n | null\n | undefined;\n }>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` if type contains `any`\", (prefix) => {\n interface Source {\n foo: { bar: any[] };\n \" $fragmentName\": \"foo\";\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"leaves tuples alone\", (prefix) => {\n interface Source {\n coords: [long: number, lat: number];\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n coords: [long: number, lat: number];\n }>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` if type is a record type\", (prefix) => {\n interface MetadataItem {\n foo: string;\n }\n\n interface Source {\n metadata: Record<string, MetadataItem>;\n \" $fragmentName\": \"Source\";\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` on types with index signatures\", (prefix) => {\n interface Source {\n foo: string;\n \" $fragmentName\": \"Source\";\n [key: string]: string;\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"detects `$fragmentRefs` on types with index signatures\", (prefix) => {\n type Source = {\n __typename: \"Foo\";\n id: number;\n metadata: Record<string, number>;\n structuredMetadata: StructuredMetadata;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n FooFragment: FooFragment;\n };\n };\n\n interface StructuredMetadata {\n bar: number;\n [index: string]: number;\n }\n\n type FooFragment = {\n __typename: \"Foo\";\n foo: string;\n } & { \" $fragmentName\"?: \"FooFragment\" };\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n const y = {} as ContainsFragmentsRefs<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Foo\";\n id: number;\n metadata: Record<string, number>;\n foo: string;\n structuredMetadata: StructuredMetadata;\n }>();\n expectTypeOf(y).toEqualTypeOf<true>();\n });\n});\n\ntest(\"recursive types: no error 'Type instantiation is excessively deep and possibly infinite.'\", (prefix) => {\n // this type is self-recursive\n type Source = import(\"graphql\").IntrospectionQuery;\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"MaybeMasked can be called with a generic if `mode` is not set to `unmask`\", (prefix) => {\n function withGenericResult<T extends { [key: string]: string }>(\n arg: TypedDocumentNode<T, {}>\n ) {\n bench(prefix + \"Result generic - instantiations\", () => {\n const maybeMasked: MaybeMasked<typeof arg> = arg;\n return maybeMasked;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"Result generic - functionality\", () => {\n const maybeMasked: MaybeMasked<typeof arg> = arg;\n expectTypeOf(maybeMasked).toEqualTypeOf(arg);\n });\n }\n function withGenericDocument<T extends TypedDocumentNode>(arg: T) {\n bench(prefix + \"Result generic - instantiations\", () => {\n const maybeMasked: MaybeMasked<T> = arg;\n return maybeMasked;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"Result generic - functionality\", () => {\n const maybeMasked: MaybeMasked<T> = arg;\n // cannot use unresolved generic with `expectTypeOf` here so we just try an assignment the other way round\n const test: T = maybeMasked;\n return test;\n });\n }\n withGenericResult({} as any);\n withGenericDocument({} as any);\n});\n\ntest(\"Unmasked handles branded primitive types\", (prefix) => {\n type Branded<T, Name extends string> = T & { __branded?: Name };\n type UUID = Branded<string, \"UUID\">;\n type Source = {\n __typename: \"Foo\";\n id: UUID;\n name: string;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n FooFragment: FooFragment;\n };\n };\n type FooFragment = {\n __typename: \"Foo\";\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Foo\";\n id: UUID;\n name: string;\n age: number;\n }>();\n });\n});\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.bench.js","sources":["../../../src/masking/__benches__/types.bench.ts"],"sourcesContent":["import { attest, bench } from \"@ark/attest\";\nimport { setup } from \"@ark/attest\";\nimport { expectTypeOf } from \"expect-type\";\n\nimport type { TypedDocumentNode } from \"@apollo/client\";\nimport type { MaybeMasked, Unmasked } from \"@apollo/client/masking\";\nimport type { DeepPartial } from \"@apollo/client/utilities/internal\";\n\nimport type { ContainsFragmentsRefs } from \"../internal/types.js\";\n\nsetup({\n updateSnapshots: !process.env.CI,\n});\n\nfunction test(name: string, fn: (name: string) => void) {\n fn(name + \": \");\n}\n\ntype UnrelatedType = {\n __typename: \"Unrelated\";\n} & { \" $fragmentName\"?: \"Unrelated\" } & {\n \" $fragmentRefs\"?: {\n Unrelated: {\n __unrelated: boolean;\n };\n };\n};\n// @ts-ignore\ntype _TypeCacheWarmup = Unmasked<UnrelatedType> | MaybeMasked<UnrelatedType>;\n\ntest(\"unmasks deeply nested fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n JobFieldsFragment: JobFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"User\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"User\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n job: string;\n position: string;\n }>();\n });\n});\n\ntest(\"unmasks deeply nested fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n jobs: Array<\n {\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } }\n >;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"Job\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"Job\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n jobs: Array<{\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n }>;\n }>();\n });\n});\n\ntest(\"unmasks deeply nested nullable fragments\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n career:\n | ({\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } })\n | null;\n jobs: Array<\n | ({\n __typename: \"Job\";\n id: string;\n title: string;\n } & { \" $fragmentRefs\"?: { JobFieldsFragment: JobFieldsFragment } })\n | null\n >;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type JobFieldsFragment = {\n __typename: \"Job\";\n job: string;\n } & { \" $fragmentName\"?: \"JobFieldsFragment\" } & {\n \" $fragmentRefs\"?: { CareerFieldsFragment: CareerFieldsFragment };\n };\n\n type CareerFieldsFragment = {\n __typename: \"Job\";\n position: string;\n } & { \" $fragmentName\"?: \"CareerFieldsFragment\" };\n\n type Source = UserFieldsFragment;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename: \"User\";\n id: number;\n age: number;\n firstName: string;\n lastName: string;\n career: {\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n } | null;\n jobs: Array<{\n __typename: \"Job\";\n id: string;\n title: string;\n job: string;\n position: string;\n } | null>;\n }>();\n });\n});\n\ntest(\"unmasks DeepPartial types\", (prefix) => {\n type UserFieldsFragment = {\n __typename: \"User\";\n id: number;\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n NameFieldsFragment: NameFieldsFragment;\n };\n };\n\n type NameFieldsFragment = {\n __typename: \"User\";\n firstName: string;\n lastName: string;\n } & { \" $fragmentName\"?: \"NameFieldsFragment\" };\n\n type Source = DeepPartial<UserFieldsFragment>;\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n expectTypeOf<Unmasked<Source>>().toEqualTypeOf<{\n __typename?: \"User\";\n id?: number;\n age?: number;\n firstName?: string;\n lastName?: string;\n }>();\n });\n});\n\ntest(\"Unmasked handles odd types\", (prefix) => {\n bench(prefix + \"empty type instantiations\", () => {\n attest<{}, Unmasked<{}>>();\n }).types([111, \"instantiations\"]);\n\n bench(prefix + \"empty type functionality\", () => {\n expectTypeOf<Unmasked<{}>>().toEqualTypeOf<{}>();\n });\n\n bench(prefix + \"generic record type instantiations\", () => {\n attest<Record<string, any>, Unmasked<Record<string, any>>>();\n }).types([115, \"instantiations\"]);\n\n bench(prefix + \"generic record type functionality\", () => {\n expectTypeOf<Unmasked<Record<string, any>>>().toEqualTypeOf<\n Record<string, any>\n >();\n });\n\n bench(prefix + \"unknown instantiations\", () => {\n attest<unknown, Unmasked<unknown>>();\n }).types([47, \"instantiations\"]);\n\n bench(prefix + \"unknown functionality\", () => {\n expectTypeOf<Unmasked<unknown>>().toBeUnknown();\n });\n\n bench(prefix + \"any instantiations\", () => {\n attest<any, Unmasked<any>>();\n }).types([48, \"instantiations\"]);\n\n bench(prefix + \"any functionality\", () => {\n expectTypeOf<Unmasked<any>>().toBeAny();\n });\n});\n\ntest(\"MaybeMasked handles odd types\", (prefix) => {\n bench(prefix + \"empty type instantiations\", () => {\n attest<{}, MaybeMasked<{}>>();\n }).types([41, \"instantiations\"]);\n\n bench(prefix + \"empty type functionality\", () => {\n expectTypeOf<MaybeMasked<{}>>().toEqualTypeOf<{}>();\n });\n\n bench(prefix + \"generic record type instantiations\", () => {\n attest<Record<string, any>, MaybeMasked<Record<string, any>>>();\n }).types([46, \"instantiations\"]);\n bench(prefix + \"generic record type functionality\", () => {\n expectTypeOf<MaybeMasked<Record<string, any>>>().toEqualTypeOf<\n Record<string, any>\n >();\n });\n\n bench(prefix + \"unknown instantiations\", () => {\n attest<unknown, MaybeMasked<unknown>>();\n }).types([41, \"instantiations\"]);\n bench(prefix + \"unknown functionality\", () => {\n expectTypeOf<MaybeMasked<unknown>>().toBeUnknown();\n });\n\n bench(prefix + \"any instantiations\", () => {\n attest<any, MaybeMasked<any>>();\n }).types([43, \"instantiations\"]);\n bench(prefix + \"any functionality\", () => {\n expectTypeOf<MaybeMasked<any>>().toBeAny();\n });\n});\n\ntest(\"distributed members on MaybeMasked\", (prefix) => {\n (function unresolvedGeneric<T>() {\n bench(prefix + \"one unresolved generic mixed with null|undefined\", () => {\n attest<\n [MaybeMasked<T> | null | undefined],\n [MaybeMasked<T | null | undefined>]\n >();\n }).types([49, \"instantiations\"]);\n })();\n\n (function unresolvedGenerics<T, V>() {\n bench(prefix + \"two unresolved generics distribute\", () => {\n attest<[MaybeMasked<T> | MaybeMasked<V>], [MaybeMasked<T | V>]>();\n }).types([50, \"instantiations\"]);\n })();\n});\n\ntest(\"deals with overlapping array from parent fragment\", (prefix) => {\n type Source = {\n __typename: \"Track\";\n /** comment: id */\n id: number;\n /** comment: artists */\n artists?: Array<{\n __typename: \"Artist\";\n /** comment: artists.id */\n id: number;\n \" $fragmentRefs\"?: {\n ArtistFragment: ArtistFragment;\n };\n }> | null;\n \" $fragmentRefs\"?: {\n NestedTrackFragment: NestedTrackFragment;\n };\n };\n\n type ArtistFragment = {\n \" $fragmentName\"?: \"Fragment__Artist\";\n __typename: \"Artist\";\n /** comment: artists.birthday */\n birthdate: string;\n };\n\n type NestedTrackFragment = {\n \" $fragmentName\"?: \"Fragment__Track\";\n __typename: \"Track\";\n artists?: Array<{\n __typename: \"Artist\";\n /** comment: artists.lastname */\n lastname: string;\n }> | null;\n };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n // some fields for hovering\n x.id;\n x.artists;\n x.artists?.[0]?.id;\n x.artists?.[0]?.birthdate;\n x.artists?.[0]?.lastname;\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Track\";\n id: number;\n artists?:\n | Array<{\n __typename: \"Artist\";\n id: number;\n birthdate: string;\n lastname: string;\n }>\n | null\n | undefined;\n }>();\n });\n});\n\ntest(\"base type, multiple fragments on sub-types\", (prefix) => {\n type Source = {\n __typename: \"Track\";\n id: number;\n artists?: Array<{\n __typename: \"Person\" | \"Animatronic\" | \"CartoonCharacter\";\n id: number;\n name: string;\n \" $fragmentRefs\"?: {\n PersonFragment: PersonFragment;\n AnimatronicFragment: AnimatronicFragment;\n CartoonCharacterFragment: CartoonCharacterFragment;\n };\n }> | null;\n };\n\n type PersonFragment = {\n \" $fragmentName\"?: \"Fragment__Person\";\n __typename: \"Person\";\n birthdate: string;\n };\n type AnimatronicFragment = {\n \" $fragmentName\"?: \"Fragment__Animatronic\";\n __typename: \"Animatronic\";\n manufacturer: string;\n warrantyEndDate: string;\n };\n type CartoonCharacterFragment = {\n \" $fragmentName\"?: \"Fragment__CartoonCharacter\";\n __typename: \"CartoonCharacter\";\n animator: string;\n voiceActor: string;\n };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Track\";\n id: number;\n artists?:\n | Array<\n | {\n __typename: \"Person\";\n id: number;\n name: string;\n birthdate: string;\n }\n | {\n __typename: \"Animatronic\";\n id: number;\n name: string;\n manufacturer: string;\n warrantyEndDate: string;\n }\n | {\n __typename: \"CartoonCharacter\";\n id: number;\n name: string;\n animator: string;\n voiceActor: string;\n }\n >\n | null\n | undefined;\n }>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` if type contains `any`\", (prefix) => {\n interface Source {\n foo: { bar: any[] };\n \" $fragmentName\": \"foo\";\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"leaves tuples alone\", (prefix) => {\n interface Source {\n coords: [long: number, lat: number];\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n coords: [long: number, lat: number];\n }>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` if type is a record type\", (prefix) => {\n interface MetadataItem {\n foo: string;\n }\n\n interface Source {\n metadata: Record<string, MetadataItem>;\n \" $fragmentName\": \"Source\";\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"does not detect `$fragmentRefs` on types with index signatures\", (prefix) => {\n interface Source {\n foo: string;\n \" $fragmentName\": \"Source\";\n [key: string]: string;\n }\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"detects `$fragmentRefs` on types with index signatures\", (prefix) => {\n type Source = {\n __typename: \"Foo\";\n id: number;\n metadata: Record<string, number>;\n structuredMetadata: StructuredMetadata;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n FooFragment: FooFragment;\n };\n };\n\n interface StructuredMetadata {\n bar: number;\n [index: string]: number;\n }\n\n type FooFragment = {\n __typename: \"Foo\";\n foo: string;\n } & { \" $fragmentName\"?: \"FooFragment\" };\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n const y = {} as ContainsFragmentsRefs<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Foo\";\n id: number;\n metadata: Record<string, number>;\n foo: string;\n structuredMetadata: StructuredMetadata;\n }>();\n expectTypeOf(y).toEqualTypeOf<true>();\n });\n});\n\ntest(\"recursive types: no error 'Type instantiation is excessively deep and possibly infinite.'\", (prefix) => {\n // this type is self-recursive\n type Source = import(\"graphql\").IntrospectionQuery;\n\n bench(prefix + \"instantiations\", () => {\n return {} as MaybeMasked<Source>;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as MaybeMasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<Source>();\n });\n});\n\ntest(\"MaybeMasked can be called with a generic if `mode` is not set to `unmask`\", (prefix) => {\n function withGenericResult<T extends { [key: string]: string }>(\n arg: TypedDocumentNode<T, {}>\n ) {\n bench(prefix + \"Result generic - instantiations\", () => {\n const maybeMasked: MaybeMasked<typeof arg> = arg;\n return maybeMasked;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"Result generic - functionality\", () => {\n const maybeMasked: MaybeMasked<typeof arg> = arg;\n expectTypeOf(maybeMasked).toEqualTypeOf(arg);\n });\n }\n function withGenericDocument<T extends TypedDocumentNode>(arg: T) {\n bench(prefix + \"Result generic - instantiations\", () => {\n const maybeMasked: MaybeMasked<T> = arg;\n return maybeMasked;\n }).types([1, \"instantiations\"]);\n\n bench(prefix + \"Result generic - functionality\", () => {\n const maybeMasked: MaybeMasked<T> = arg;\n // cannot use unresolved generic with `expectTypeOf` here so we just try an assignment the other way round\n const test: T = maybeMasked;\n return test;\n });\n }\n withGenericResult({} as any);\n withGenericDocument({} as any);\n});\n\ntest(\"Unmasked handles branded primitive types\", (prefix) => {\n type Branded<T, Name extends string> = T & { __branded?: Name };\n type UUID = Branded<string, \"UUID\">;\n type Source = {\n __typename: \"Foo\";\n id: UUID;\n name: string;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" } & {\n \" $fragmentRefs\"?: {\n FooFragment: FooFragment;\n };\n };\n type FooFragment = {\n __typename: \"Foo\";\n age: number;\n } & { \" $fragmentName\"?: \"UserFieldsFragment\" };\n\n bench(prefix + \"instantiations\", () => {\n return {} as Unmasked<Source>;\n }).types([5, \"instantiations\"]);\n\n bench(prefix + \"functionality\", () => {\n const x = {} as Unmasked<Source>;\n\n expectTypeOf(x).branded.toEqualTypeOf<{\n __typename: \"Foo\";\n id: UUID;\n name: string;\n age: number;\n }>();\n });\n});\n"],"names":[],"mappings":"AAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA8B,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C;AAC3C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmC;AACnC,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA6B,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0C;AAQ1C,CAAA,CAAA,CAAA,CAAA,CAAK,CAAC;IACJ,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAA+B,CAAC,CAAhC,CAAkC;AAClC,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAa,CAAC,CAAd,CAAA,CAAA,CAA0B,EAAE,CAA5B,CAAsD,EAAtD;IACE,CAAF,CAAI,CAAC,CAAL,CAAA,CAAA,EAAA,EAAY,CAAZ,EAAA,CAAgB,CAAC;AACjB;AAcA,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,EAAE,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAA+C,EAAE,CAAjD,EAAA;IAgCE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkD,CAAlD,CAQQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsC,EAAE,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAA+C,EAAE,CAAjD,EAAA;IAsCE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkD,CAAlD,CAaQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,EAAE,CAAC,CAAlD,CAAA,CAAA,CAAA,CAAA,CAAwD,EAAE,CAA1D,EAAA;IA8CE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkD,CAAlD,CAoBQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAyC,EAAE,CAA3C,EAAA;IAmBE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkD,CAAlD,CAMQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,CAA0C,EAAE,CAA5C,EAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,EAAE,CAA9C,EAAiD,CAAjD,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAA8B;IAC5B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAC;IAEjC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C,EAAE,CAA7C,EAAgD,CAAhD,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAgC,CAAC,CAAjC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8C,CAA9C,CAAoD;IAClD,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,EAAE,CAAvD,EAA0D,CAA1D,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAgE;IAC9D,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAC;IAEjC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,EAAE,CAAtD,EAAyD,CAAzD,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAiD,CAAC,CAAlD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+D,CAA/D,CAEO;IACL,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,EAAE,CAA3C,EAA8C,CAA9C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAwC;IACtC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAC;IAEhC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,EAAE,CAA1C,EAA6C,CAA7C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAqC,CAAC,CAAtC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD,CAAjD,CAAmD;IACjD,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqC,EAAE,CAAvC,EAA0C,CAA1C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAgC;IAC9B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAC;IAEhC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,EAAE,CAAtC,EAAyC,CAAzC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAiC,CAAC,CAAlC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAA2C;IACzC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,EAAE,CAAC,CAAvC,CAAA,CAAA,CAAA,CAAA,CAA6C,EAAE,CAA/C,EAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,EAAE,CAA9C,EAAiD,CAAjD,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAC;IAEhC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C,EAAE,CAA7C,EAAgD,CAAhD,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAmC,CAAC,CAApC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD,CAAjD,CAAuD;IACrD,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,EAAE,CAAvD,EAA0D,CAA1D,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAmE;IACjE,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAC;IAChC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,EAAE,CAAtD,EAAyD,CAAzD,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAoD,CAAC,CAArD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkE,CAAlE,CAEO;IACL,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,EAAE,CAA3C,EAA8C,CAA9C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAA2C;IACzC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAC;IAChC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,EAAE,CAA1C,EAA6C,CAA7C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAwC,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,CAApD,CAAsD;IACpD,CAAC,CAAC;IAEF,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqC,EAAE,CAAvC,EAA0C,CAA1C,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAU,CAAV,CAAmC;IACjC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAZ,CAAc,EAAE,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,CAAC,CAAC;IAChC,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoC,EAAE,CAAtC,EAAyC,CAAzC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAhB,CAAoC,CAAC,CAArC,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4C,CAA5C,CAA8C;IAC5C,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,EAAE,CAAC,CAA5C,CAAA,CAAA,CAAA,CAAA,CAAkD,EAAE,CAApD,EAAA;IACE,CAAC,CAAH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAA7B,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqE,EAAE,CAAvE,EAA0E,CAA1E,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAY,CAAZ,CAGS;QACL,CAAC,CAAC,CAAC,CAAP,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAd,CAAgB,EAAE,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAJ,CAAM;IAEJ,CAAC,CAAH,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAA9B,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuD,EAAE,CAAzD,EAA4D,CAA5D,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,CAAA,CAAY,CAAZ,CAAuE;QACnE,CAAC,CAAC,CAAC,CAAP,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAd,CAAgB,EAAE,CAAlB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAJ,CAAM;AACN,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwD,EAAE,CAAC,CAA3D,CAAA,CAAA,CAAA,CAAA,CAAiE,EAAE,CAAnE,EAAA;IAoCE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAoC;QAChC,CAAJ,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAC,CAAC,CAAN,CAAQ;QACJ,CAAC,CAAC,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa;QACT,CAAC,CAAC,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAb,CAAe,CAAC,CAAC,CAAC,CAAlB,CAAoB,CAApB,CAAsB;QAClB,CAAC,CAAC,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAb,CAAe,CAAC,CAAC,CAAC,CAAlB,CAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B;QACzB,CAAC,CAAC,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAb,CAAe,CAAC,CAAC,CAAC,CAAlB,CAAoB,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B;QACxB,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAYQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiD,EAAE,CAAC,CAApD,CAAA,CAAA,CAAA,CAAA,CAA0D,EAAE,CAA5D,EAAA;IAkCE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAoC;QAChC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CA4BQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6D,EAAE,CAAC,CAAhE,CAAA,CAAA,CAAA,CAAA,CAAsE,EAAE,CAAxE,EAAA;IAME,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAoC;IAClC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAuC;QAEnC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAAmD;IACjD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B,EAAE,CAAC,CAA7B,CAAA,CAAA,CAAA,CAAA,CAAmC,EAAE,CAArC,EAAA;IAKE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAoC;QAEhC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAEQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAA+D,EAAE,CAAC,CAAlE,CAAA,CAAA,CAAA,CAAA,CAAwE,EAAE,CAA1E,EAAA;IAUE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAoC;IAClC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAuC;QAEnC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAAmD;IACjD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqE,EAAE,CAAC,CAAxE,CAAA,CAAA,CAAA,CAAA,CAA8E,EAAE,CAAhF,EAAA;IAOE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAoC;IAClC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAuC;QAEnC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAAmD;IACjD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6D,EAAE,CAAC,CAAhE,CAAA,CAAA,CAAA,CAAA,CAAsE,EAAE,CAAxE,EAAA;IAsBE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAoC;IAClC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAoC;QAChC,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAiD;QAE7C,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAMQ;QACJ,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAjC,CAAyC;IACvC,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgG,EAAE,CAAC,CAAnG,CAAA,CAAA,CAAA,CAAA,CAAyG,EAAE,CAA3G,EAAA;IAIE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAoC;IAClC,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAuC;QAEnC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAAmD;IACjD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgF,EAAE,CAAC,CAAnF,CAAA,CAAA,CAAA,CAAA,CAAyF,EAAE,CAA3F,EAAA;IACE,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,CACxB,CADJ,CAAA,CACiC,EADjC;QAGI,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,EAAE,CAAtD,EAAyD,CAAzD,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmD,CAAnD,CAAA,CAAsD;YAChD,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB;QACpB,CAAC,CAAC,CAAC,CAAP,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAC,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAC;QAE/B,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmD,EAAE,CAArD,EAAwD,CAAxD,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmD,CAAnD,CAAA,CAAsD;YAChD,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,CAAC,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAAC,CAAC,CAAhC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6C,CAAC,CAA9C,CAAA,CAAiD,CAAC;QAC9C,CAAC,CAAC;IACJ;IACA,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B,CAA8B,CAA5D,CAAA,CAAkE,EAAlE;QACI,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,EAAE,CAAtD,EAAyD,CAAzD,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0C,CAA1C,CAAA,CAA6C;YACvC,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwB;QACpB,CAAC,CAAC,CAAC,CAAP,CAAA,CAAA,CAAA,CAAY,CAAC,CAAC,CAAC,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,CAAC,CAAC;QAE/B,CAAJ,CAAA,CAAA,CAAA,CAAS,CAAC,CAAV,CAAA,CAAA,CAAA,CAAA,EAAA,EAAmB,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmD,EAAE,CAArD,EAAwD,CAAxD,EAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAA0C,CAA1C,CAAA,CAA6C;YACvC,CAAN,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;YACM,CAAN,CAAA,CAAA,CAAA,EAAY,CAAZ,CAAA,CAAA,EAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC;YAC3B,CAAN,CAAA,CAAA,CAAA,CAAA,EAAa,CAAb,CAAA,CAAA,CAAiB;QACb,CAAC,CAAC;IACJ;IACA,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAmB,CAAC,CAApB,CAA6B,CAAC;IAC5B,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB,CAAC,CAAtB,CAA+B,CAAC;AAChC,CAAC,CAAC;AAEF,CAAA,CAAA,CAAA,CAAI,CAAC,CAAL,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C,EAAE,CAAC,CAAlD,CAAA,CAAA,CAAA,CAAA,CAAwD,EAAE,CAA1D,EAAA;IAiBE,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC,EAAE,CAAnC,EAAsC,CAAtC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAiC;IAC/B,CAAC,CAAC,CAAC,CAAL,CAAA,CAAA,CAAA,CAAU,CAAC,CAAC,CAAC,EAAE,CAAf,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAAC,CAAC;IAE/B,CAAF,CAAA,CAAA,CAAA,CAAO,CAAC,CAAR,CAAA,CAAA,CAAA,CAAA,EAAA,EAAiB,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgC,EAAE,CAAlC,EAAqC,CAArC,EAAA;QACI,CAAJ,CAAA,CAAA,CAAA,EAAU,EAAV,EAAc,CAAd,CAAoC;QAEhC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,CAAC,CAAC,CAAC,CAAC,CAApB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2B,CAAC,CAA5B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyC,CAAzC,CAKQ;IACN,CAAC,CAAC;AACJ,CAAC,CAAD;"}
@@ -1,5 +1,4 @@
1
- import type { Prettify, Primitive, RemoveIndexSignature } from "@apollo/client/utilities";
2
- export type IsAny<T> = 0 extends 1 & T ? true : false;
1
+ import type { IsAny, Prettify, Primitive, RemoveIndexSignature } from "@apollo/client/utilities/internal";
3
2
  export type UnwrapFragmentRefs<TData> = true extends IsAny<TData> ? TData : TData extends any ? TData extends Primitive ? TData : string extends keyof TData ? TData : keyof TData extends never ? TData : TData extends {
4
3
  " $fragmentRefs"?: infer FragmentRefs;
5
4
  } ? UnwrapFragmentRefs<CombineIntersection<Omit<TData, " $fragmentRefs"> | RemoveFragmentName<NonNullable<NonNullable<FragmentRefs>[keyof NonNullable<FragmentRefs>]>>>> : TData extends object ? {
@@ -1,6 +1,6 @@
1
1
  import type { SelectionSetNode } from "graphql";
2
2
  import type { ApolloCache } from "@apollo/client/cache";
3
- import type { FragmentMap } from "@apollo/client/utilities";
3
+ import type { FragmentMap } from "@apollo/client/utilities/internal";
4
4
  interface MaskingContext {
5
5
  operationType: "query" | "mutation" | "subscription" | "fragment";
6
6
  operationName: string | undefined;
@@ -1,8 +1,8 @@
1
1
  import { Kind } from "graphql";
2
- import { getFragmentMaskMode, maybeDeepFreeze, resultKeyNameFromField, } from "@apollo/client/utilities";
3
2
  import { __DEV__ } from "@apollo/client/utilities/environment";
3
+ import { maybeDeepFreeze, resultKeyNameFromField, } from "@apollo/client/utilities/internal";
4
4
  import { invariant } from "@apollo/client/utilities/invariant";
5
- import { disableWarningsSlot } from "./utils.js";
5
+ import { disableWarningsSlot, getFragmentMaskMode } from "./utils.js";
6
6
  export function maskDefinition(data, selectionSet, context) {
7
7
  return disableWarningsSlot.withValue(true, () => {
8
8
  const masked = maskSelectionSet(data, selectionSet, context, false);
@@ -86,7 +86,7 @@ function maskSelectionSet(data, selectionSet, context, migration, path) {
86
86
  const fragment = context.fragmentMap[fragmentName] ||
87
87
  (context.fragmentMap[fragmentName] =
88
88
  context.cache.lookupFragment(fragmentName));
89
- invariant(fragment, 43, fragmentName);
89
+ invariant(fragment, 39, fragmentName);
90
90
  const mode = getFragmentMaskMode(selection);
91
91
  if (mode !== "mask") {
92
92
  value = maskSelectionSet(data, fragment.selectionSet, context, mode === "migrate", path);
@@ -112,7 +112,7 @@ function getAccessorWarningDescriptor(fieldName, value, path, operationName, ope
112
112
  if (disableWarningsSlot.getValue()) {
113
113
  return value;
114
114
  }
115
- __DEV__ && invariant.warn(44, operationName ?
115
+ __DEV__ && invariant.warn(40, operationName ?
116
116
  `${operationType} '${operationName}'`
117
117
  : `anonymous ${operationType}`, `${path}.${fieldName}`.replace(/^\./, ""));
118
118
  getValue = () => value;
@@ -1 +1 @@
1
- {"version":3,"file":"maskDefinition.js","sources":["../../src/masking/maskDefinition.ts"],"sourcesContent":["import type { FragmentDefinitionNode, SelectionSetNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { ApolloCache } from \"@apollo/client/cache\";\nimport type { FragmentMap } from \"@apollo/client/utilities\";\nimport {\n getFragmentMaskMode,\n maybeDeepFreeze,\n resultKeyNameFromField,\n} from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { disableWarningsSlot } from \"./utils.js\";\n\ninterface MaskingContext {\n operationType: \"query\" | \"mutation\" | \"subscription\" | \"fragment\";\n operationName: string | undefined;\n fragmentMap: FragmentMap;\n cache: ApolloCache;\n mutableTargets: WeakMap<any, any>;\n knownChanged: WeakSet<any>;\n}\n\nexport function maskDefinition(\n data: Record<string, any>,\n selectionSet: SelectionSetNode,\n context: MaskingContext\n) {\n return disableWarningsSlot.withValue(true, () => {\n const masked = maskSelectionSet(data, selectionSet, context, false);\n\n if (Object.isFrozen(data)) {\n maybeDeepFreeze(masked);\n }\n return masked;\n });\n}\n\nfunction getMutableTarget(\n data: Record<string, any>,\n mutableTargets: WeakMap<any, any>\n): typeof data {\n if (mutableTargets.has(data)) {\n return mutableTargets.get(data);\n }\n\n const mutableTarget = Array.isArray(data) ? [] : {};\n mutableTargets.set(data, mutableTarget);\n return mutableTarget;\n}\n\nfunction maskSelectionSet(\n data: any,\n selectionSet: SelectionSetNode,\n context: MaskingContext,\n migration: boolean,\n path?: string | undefined\n): typeof data {\n const { knownChanged } = context;\n const memo = getMutableTarget(data, context.mutableTargets);\n\n if (Array.isArray(data)) {\n for (const [index, item] of Array.from(data.entries())) {\n if (item === null) {\n memo[index] = null;\n continue;\n }\n\n const masked = maskSelectionSet(\n item,\n selectionSet,\n context,\n migration,\n __DEV__ ? `${path || \"\"}[${index}]` : void 0\n );\n if (knownChanged.has(masked)) {\n knownChanged.add(memo);\n }\n\n memo[index] = masked;\n }\n\n return knownChanged.has(memo) ? memo : data;\n }\n\n for (const selection of selectionSet.selections) {\n let value: any;\n\n // we later want to add acessor warnings to the final result\n // so we need a new object to add the accessor warning to\n if (migration) {\n knownChanged.add(memo);\n }\n\n if (selection.kind === Kind.FIELD) {\n const keyName = resultKeyNameFromField(selection);\n const childSelectionSet = selection.selectionSet;\n\n value = memo[keyName] || data[keyName];\n\n if (value === void 0) {\n continue;\n }\n\n if (childSelectionSet && value !== null) {\n const masked = maskSelectionSet(\n data[keyName],\n childSelectionSet,\n context,\n migration,\n __DEV__ ? `${path || \"\"}.${keyName}` : void 0\n );\n\n if (knownChanged.has(masked)) {\n value = masked;\n }\n }\n\n if (!__DEV__) {\n memo[keyName] = value;\n }\n if (__DEV__) {\n if (\n migration &&\n keyName !== \"__typename\" &&\n // either the field is not present in the memo object\n // or it has a `get` descriptor, not a `value` descriptor\n // => it is a warning accessor and we can overwrite it\n // with another accessor\n !Object.getOwnPropertyDescriptor(memo, keyName)?.value\n ) {\n Object.defineProperty(\n memo,\n keyName,\n getAccessorWarningDescriptor(\n keyName,\n value,\n path || \"\",\n context.operationName,\n context.operationType\n )\n );\n } else {\n delete memo[keyName];\n memo[keyName] = value;\n }\n }\n }\n\n if (\n selection.kind === Kind.INLINE_FRAGMENT &&\n (!selection.typeCondition ||\n context.cache.fragmentMatches!(selection, data.__typename))\n ) {\n value = maskSelectionSet(\n data,\n selection.selectionSet,\n context,\n migration,\n path\n );\n }\n\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n const fragmentName = selection.name.value;\n const fragment: FragmentDefinitionNode | null =\n context.fragmentMap[fragmentName] ||\n (context.fragmentMap[fragmentName] =\n context.cache.lookupFragment(fragmentName)!);\n invariant(\n fragment,\n \"Could not find fragment with name '%s'.\",\n fragmentName\n );\n\n const mode = getFragmentMaskMode(selection);\n\n if (mode !== \"mask\") {\n value = maskSelectionSet(\n data,\n fragment.selectionSet,\n context,\n mode === \"migrate\",\n path\n );\n }\n }\n\n if (knownChanged.has(value)) {\n knownChanged.add(memo);\n }\n }\n\n if (\"__typename\" in data && !(\"__typename\" in memo)) {\n memo.__typename = data.__typename;\n }\n\n // This check prevents cases where masked fields may accidentally be\n // returned as part of this object when the fragment also selects\n // additional fields from the same child selection.\n if (Object.keys(memo).length !== Object.keys(data).length) {\n knownChanged.add(memo);\n }\n\n return knownChanged.has(memo) ? memo : data;\n}\n\nfunction getAccessorWarningDescriptor(\n fieldName: string,\n value: any,\n path: string,\n operationName: string | undefined,\n operationType: string\n): PropertyDescriptor {\n let getValue = () => {\n if (disableWarningsSlot.getValue()) {\n return value;\n }\n\n invariant.warn(\n \"Accessing unmasked field on %s at path '%s'. This field will not be available when masking is enabled. Please read the field from the fragment instead.\",\n operationName ?\n `${operationType} '${operationName}'`\n : `anonymous ${operationType}`,\n `${path}.${fieldName}`.replace(/^\\./, \"\")\n );\n\n getValue = () => value;\n\n return value;\n };\n\n return {\n get() {\n return getValue();\n },\n set(newValue) {\n getValue = () => newValue;\n },\n enumerable: true,\n configurable: true,\n };\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maskDefinition.js","sources":["../../src/masking/maskDefinition.ts"],"sourcesContent":["import type { FragmentDefinitionNode, SelectionSetNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type { ApolloCache } from \"@apollo/client/cache\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport type { FragmentMap } from \"@apollo/client/utilities/internal\";\nimport {\n maybeDeepFreeze,\n resultKeyNameFromField,\n} from \"@apollo/client/utilities/internal\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { disableWarningsSlot, getFragmentMaskMode } from \"./utils.js\";\n\ninterface MaskingContext {\n operationType: \"query\" | \"mutation\" | \"subscription\" | \"fragment\";\n operationName: string | undefined;\n fragmentMap: FragmentMap;\n cache: ApolloCache;\n mutableTargets: WeakMap<any, any>;\n knownChanged: WeakSet<any>;\n}\n\nexport function maskDefinition(\n data: Record<string, any>,\n selectionSet: SelectionSetNode,\n context: MaskingContext\n) {\n return disableWarningsSlot.withValue(true, () => {\n const masked = maskSelectionSet(data, selectionSet, context, false);\n\n if (Object.isFrozen(data)) {\n maybeDeepFreeze(masked);\n }\n return masked;\n });\n}\n\nfunction getMutableTarget(\n data: Record<string, any>,\n mutableTargets: WeakMap<any, any>\n): typeof data {\n if (mutableTargets.has(data)) {\n return mutableTargets.get(data);\n }\n\n const mutableTarget = Array.isArray(data) ? [] : {};\n mutableTargets.set(data, mutableTarget);\n return mutableTarget;\n}\n\nfunction maskSelectionSet(\n data: any,\n selectionSet: SelectionSetNode,\n context: MaskingContext,\n migration: boolean,\n path?: string | undefined\n): typeof data {\n const { knownChanged } = context;\n const memo = getMutableTarget(data, context.mutableTargets);\n\n if (Array.isArray(data)) {\n for (const [index, item] of Array.from(data.entries())) {\n if (item === null) {\n memo[index] = null;\n continue;\n }\n\n const masked = maskSelectionSet(\n item,\n selectionSet,\n context,\n migration,\n __DEV__ ? `${path || \"\"}[${index}]` : void 0\n );\n if (knownChanged.has(masked)) {\n knownChanged.add(memo);\n }\n\n memo[index] = masked;\n }\n\n return knownChanged.has(memo) ? memo : data;\n }\n\n for (const selection of selectionSet.selections) {\n let value: any;\n\n // we later want to add acessor warnings to the final result\n // so we need a new object to add the accessor warning to\n if (migration) {\n knownChanged.add(memo);\n }\n\n if (selection.kind === Kind.FIELD) {\n const keyName = resultKeyNameFromField(selection);\n const childSelectionSet = selection.selectionSet;\n\n value = memo[keyName] || data[keyName];\n\n if (value === void 0) {\n continue;\n }\n\n if (childSelectionSet && value !== null) {\n const masked = maskSelectionSet(\n data[keyName],\n childSelectionSet,\n context,\n migration,\n __DEV__ ? `${path || \"\"}.${keyName}` : void 0\n );\n\n if (knownChanged.has(masked)) {\n value = masked;\n }\n }\n\n if (!__DEV__) {\n memo[keyName] = value;\n }\n if (__DEV__) {\n if (\n migration &&\n keyName !== \"__typename\" &&\n // either the field is not present in the memo object\n // or it has a `get` descriptor, not a `value` descriptor\n // => it is a warning accessor and we can overwrite it\n // with another accessor\n !Object.getOwnPropertyDescriptor(memo, keyName)?.value\n ) {\n Object.defineProperty(\n memo,\n keyName,\n getAccessorWarningDescriptor(\n keyName,\n value,\n path || \"\",\n context.operationName,\n context.operationType\n )\n );\n } else {\n delete memo[keyName];\n memo[keyName] = value;\n }\n }\n }\n\n if (\n selection.kind === Kind.INLINE_FRAGMENT &&\n (!selection.typeCondition ||\n context.cache.fragmentMatches!(selection, data.__typename))\n ) {\n value = maskSelectionSet(\n data,\n selection.selectionSet,\n context,\n migration,\n path\n );\n }\n\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n const fragmentName = selection.name.value;\n const fragment: FragmentDefinitionNode | null =\n context.fragmentMap[fragmentName] ||\n (context.fragmentMap[fragmentName] =\n context.cache.lookupFragment(fragmentName)!);\n invariant(\n fragment,\n \"Could not find fragment with name '%s'.\",\n fragmentName\n );\n\n const mode = getFragmentMaskMode(selection);\n\n if (mode !== \"mask\") {\n value = maskSelectionSet(\n data,\n fragment.selectionSet,\n context,\n mode === \"migrate\",\n path\n );\n }\n }\n\n if (knownChanged.has(value)) {\n knownChanged.add(memo);\n }\n }\n\n if (\"__typename\" in data && !(\"__typename\" in memo)) {\n memo.__typename = data.__typename;\n }\n\n // This check prevents cases where masked fields may accidentally be\n // returned as part of this object when the fragment also selects\n // additional fields from the same child selection.\n if (Object.keys(memo).length !== Object.keys(data).length) {\n knownChanged.add(memo);\n }\n\n return knownChanged.has(memo) ? memo : data;\n}\n\nfunction getAccessorWarningDescriptor(\n fieldName: string,\n value: any,\n path: string,\n operationName: string | undefined,\n operationType: string\n): PropertyDescriptor {\n let getValue = () => {\n if (disableWarningsSlot.getValue()) {\n return value;\n }\n\n invariant.warn(\n \"Accessing unmasked field on %s at path '%s'. This field will not be available when masking is enabled. Please read the field from the fragment instead.\",\n operationName ?\n `${operationType} '${operationName}'`\n : `anonymous ${operationType}`,\n `${path}.${fieldName}`.replace(/^\\./, \"\")\n );\n\n getValue = () => value;\n\n return value;\n };\n\n return {\n get() {\n return getValue();\n },\n set(newValue) {\n getValue = () => newValue;\n },\n enumerable: true,\n configurable: true,\n };\n}\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import equal from "@wry/equality";
2
2
  import { Kind } from "graphql";
3
- import { createFragmentMap, getFragmentDefinitions, } from "@apollo/client/utilities";
4
3
  import { __DEV__ } from "@apollo/client/utilities/environment";
4
+ import { createFragmentMap, getFragmentDefinitions, } from "@apollo/client/utilities/internal";
5
5
  import { invariant } from "@apollo/client/utilities/invariant";
6
6
  import { maskDefinition } from "./maskDefinition.js";
7
7
  import { warnOnImproperCacheImplementation } from "./utils.js";
@@ -15,11 +15,11 @@ export function maskFragment(data, document, cache, fragmentName) {
15
15
  }
16
16
  const fragments = document.definitions.filter((node) => node.kind === Kind.FRAGMENT_DEFINITION);
17
17
  if (typeof fragmentName === "undefined") {
18
- invariant(fragments.length === 1, 45, fragments.length);
18
+ invariant(fragments.length === 1, 41, fragments.length);
19
19
  fragmentName = fragments[0].name.value;
20
20
  }
21
21
  const fragment = fragments.find((fragment) => fragment.name.value === fragmentName);
22
- invariant(!!fragment, 46, fragmentName);
22
+ invariant(!!fragment, 42, fragmentName);
23
23
  if (data == null) {
24
24
  // Maintain the original `null` or `undefined` value
25
25
  return data;
@@ -1 +1 @@
1
- {"version":3,"file":"maskFragment.js","sources":["../../src/masking/maskFragment.ts"],"sourcesContent":["import equal from \"@wry/equality\";\nimport type { FragmentDefinitionNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type {\n ApolloCache,\n DocumentNode,\n TypedDocumentNode,\n} from \"@apollo/client\";\nimport {\n createFragmentMap,\n getFragmentDefinitions,\n} from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { maskDefinition } from \"./maskDefinition.js\";\nimport { warnOnImproperCacheImplementation } from \"./utils.js\";\n\n/** @internal */\nexport function maskFragment<TData = unknown>(\n data: TData,\n document: TypedDocumentNode<TData> | DocumentNode,\n cache: ApolloCache,\n fragmentName?: string\n): TData {\n if (!cache.fragmentMatches) {\n if (__DEV__) {\n warnOnImproperCacheImplementation();\n }\n\n return data;\n }\n\n const fragments = document.definitions.filter(\n (node): node is FragmentDefinitionNode =>\n node.kind === Kind.FRAGMENT_DEFINITION\n );\n\n if (typeof fragmentName === \"undefined\") {\n invariant(\n fragments.length === 1,\n `Found %s fragments. \\`fragmentName\\` must be provided when there is not exactly 1 fragment.`,\n fragments.length\n );\n fragmentName = fragments[0].name.value;\n }\n\n const fragment = fragments.find(\n (fragment) => fragment.name.value === fragmentName\n );\n\n invariant(\n !!fragment,\n `Could not find fragment with name \"%s\".`,\n fragmentName\n );\n\n if (data == null) {\n // Maintain the original `null` or `undefined` value\n return data;\n }\n\n if (equal(data, {})) {\n // Return early and skip the masking algorithm if we don't have any data\n // yet. This can happen when cache.diff returns an empty object which is\n // used from watchFragment.\n return data;\n }\n\n return maskDefinition(data, fragment.selectionSet, {\n operationType: \"fragment\",\n operationName: fragment.name.value,\n fragmentMap: createFragmentMap(getFragmentDefinitions(document)),\n cache,\n mutableTargets: new WeakMap(),\n knownChanged: new WeakSet(),\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maskFragment.js","sources":["../../src/masking/maskFragment.ts"],"sourcesContent":["import equal from \"@wry/equality\";\nimport type { FragmentDefinitionNode } from \"graphql\";\nimport { Kind } from \"graphql\";\n\nimport type {\n ApolloCache,\n DocumentNode,\n TypedDocumentNode,\n} from \"@apollo/client\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport {\n createFragmentMap,\n getFragmentDefinitions,\n} from \"@apollo/client/utilities/internal\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { maskDefinition } from \"./maskDefinition.js\";\nimport { warnOnImproperCacheImplementation } from \"./utils.js\";\n\n/** @internal */\nexport function maskFragment<TData = unknown>(\n data: TData,\n document: TypedDocumentNode<TData> | DocumentNode,\n cache: ApolloCache,\n fragmentName?: string\n): TData {\n if (!cache.fragmentMatches) {\n if (__DEV__) {\n warnOnImproperCacheImplementation();\n }\n\n return data;\n }\n\n const fragments = document.definitions.filter(\n (node): node is FragmentDefinitionNode =>\n node.kind === Kind.FRAGMENT_DEFINITION\n );\n\n if (typeof fragmentName === \"undefined\") {\n invariant(\n fragments.length === 1,\n `Found %s fragments. \\`fragmentName\\` must be provided when there is not exactly 1 fragment.`,\n fragments.length\n );\n fragmentName = fragments[0].name.value;\n }\n\n const fragment = fragments.find(\n (fragment) => fragment.name.value === fragmentName\n );\n\n invariant(\n !!fragment,\n `Could not find fragment with name \"%s\".`,\n fragmentName\n );\n\n if (data == null) {\n // Maintain the original `null` or `undefined` value\n return data;\n }\n\n if (equal(data, {})) {\n // Return early and skip the masking algorithm if we don't have any data\n // yet. This can happen when cache.diff returns an empty object which is\n // used from watchFragment.\n return data;\n }\n\n return maskDefinition(data, fragment.selectionSet, {\n operationType: \"fragment\",\n operationName: fragment.name.value,\n fragmentMap: createFragmentMap(getFragmentDefinitions(document)),\n cache,\n mutableTargets: new WeakMap(),\n knownChanged: new WeakSet(),\n });\n}\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { createFragmentMap, getFragmentDefinitions, getOperationDefinition, } from "@apollo/client/utilities";
2
1
  import { __DEV__ } from "@apollo/client/utilities/environment";
2
+ import { createFragmentMap, getFragmentDefinitions, getOperationDefinition, } from "@apollo/client/utilities/internal";
3
3
  import { invariant } from "@apollo/client/utilities/invariant";
4
4
  import { maskDefinition } from "./maskDefinition.js";
5
5
  import { warnOnImproperCacheImplementation } from "./utils.js";
@@ -12,7 +12,7 @@ export function maskOperation(data, document, cache) {
12
12
  return data;
13
13
  }
14
14
  const definition = getOperationDefinition(document);
15
- invariant(definition, 47);
15
+ invariant(definition, 43);
16
16
  if (data == null) {
17
17
  // Maintain the original `null` or `undefined` value
18
18
  return data;
@@ -1 +1 @@
1
- {"version":3,"file":"maskOperation.js","sources":["../../src/masking/maskOperation.ts"],"sourcesContent":["import type {\n ApolloCache,\n DocumentNode,\n TypedDocumentNode,\n} from \"@apollo/client\";\nimport {\n createFragmentMap,\n getFragmentDefinitions,\n getOperationDefinition,\n} from \"@apollo/client/utilities\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { maskDefinition } from \"./maskDefinition.js\";\nimport { warnOnImproperCacheImplementation } from \"./utils.js\";\n\n/** @internal */\nexport function maskOperation<TData = unknown>(\n data: TData,\n document: DocumentNode | TypedDocumentNode<TData>,\n cache: ApolloCache\n): TData {\n if (!cache.fragmentMatches) {\n if (__DEV__) {\n warnOnImproperCacheImplementation();\n }\n\n return data;\n }\n\n const definition = getOperationDefinition(document);\n\n invariant(\n definition,\n \"Expected a parsed GraphQL document with a query, mutation, or subscription.\"\n );\n\n if (data == null) {\n // Maintain the original `null` or `undefined` value\n return data;\n }\n\n return maskDefinition(data, definition.selectionSet, {\n operationType: definition.operation,\n operationName: definition.name?.value,\n fragmentMap: createFragmentMap(getFragmentDefinitions(document)),\n cache,\n mutableTargets: new WeakMap(),\n knownChanged: new WeakSet(),\n });\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"maskOperation.js","sources":["../../src/masking/maskOperation.ts"],"sourcesContent":["import type {\n ApolloCache,\n DocumentNode,\n TypedDocumentNode,\n} from \"@apollo/client\";\nimport { __DEV__ } from \"@apollo/client/utilities/environment\";\nimport {\n createFragmentMap,\n getFragmentDefinitions,\n getOperationDefinition,\n} from \"@apollo/client/utilities/internal\";\nimport { invariant } from \"@apollo/client/utilities/invariant\";\n\nimport { maskDefinition } from \"./maskDefinition.js\";\nimport { warnOnImproperCacheImplementation } from \"./utils.js\";\n\n/** @internal */\nexport function maskOperation<TData = unknown>(\n data: TData,\n document: DocumentNode | TypedDocumentNode<TData>,\n cache: ApolloCache\n): TData {\n if (!cache.fragmentMatches) {\n if (__DEV__) {\n warnOnImproperCacheImplementation();\n }\n\n return data;\n }\n\n const definition = getOperationDefinition(document);\n\n invariant(\n definition,\n \"Expected a parsed GraphQL document with a query, mutation, or subscription.\"\n );\n\n if (data == null) {\n // Maintain the original `null` or `undefined` value\n return data;\n }\n\n return maskDefinition(data, definition.selectionSet, {\n operationType: definition.operation,\n operationName: definition.name?.value,\n fragmentMap: createFragmentMap(getFragmentDefinitions(document)),\n cache,\n mutableTargets: new WeakMap(),\n knownChanged: new WeakSet(),\n });\n}\n"],"names":[],"mappings":"AAKA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAwB,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8D;AAC9D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EACL,CADF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACmB,EACjB,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAEwB,EACtB,CAHF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAGwB,EAHxB,EAAA,CAAA,CAAA,CAAA,EAIO,CAJP,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAI0C;AAC1C,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA0B,CAA1B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8D;AAE9D,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAA+B,CAA/B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD;AACpD,CAAA,CAAA,CAAA,CAAA,CAAA,EAAO,EAAE,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,EAAkD,CAAlD,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8D;AAE9D,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA;AACA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAgB,CAAhB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACE,CADF,CAAA,CAAA,CAAA,EAEE,CAFF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAGE,CAHF,CAAA,CAAA,CAAA,CAAA,EAAA;IAKE,CAAF,EAAA,CAAM,CAAC,CAAP,CAAA,CAAA,CAAA,CAAY,CAAC,CAAb,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B,EAAE;QAC1B,CAAJ,EAAA,CAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE;YACX,CAAN,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC,CAAvC,CAAyC;QACrC;QAEA,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAe;IACb;IAEA,CAAF,CAAA,CAAA,CAAA,EAAQ,CAAR,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,EAAqB,CAArB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA2C,CAAC,CAA5C,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAoD,CAAC;IAEnD,CAAF,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EACI,CADJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,MAGG;IAED,CAAF,EAAA,CAAM,CAAN,CAAA,CAAA,EAAA,CAAA,EAAc,CAAd,CAAA,CAAA,CAAkB,EAAE;QAChB,CAAJ,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA;QACI,CAAJ,CAAA,CAAA,CAAA,CAAA,EAAW,CAAX,CAAA,CAAA,CAAe;IACb;IAEA,CAAF,CAAA,CAAA,CAAA,CAAA,EAAS,CAAT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuB,CAAC,CAAxB,CAAA,CAAA,CAA4B,EAAE,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAwC,CAAC,CAAzC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqD,EAAE;QACnD,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAA9B,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAuC;QACnC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiB,EAAE,CAAnB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAAC,CAA9B,CAAA,CAAA,CAAkC,CAAlC,CAAoC,CAApC,CAAA,CAAA,CAAA,CAAyC;QACrC,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAe,EAAE,CAAjB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkC,CAAC,CAAnC,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyD,CAAC,CAA1D,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkE,CAAC,CAAC;QAChE,CAAJ,CAAA,CAAA,CAAA,CAAS;QACL,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB,EAAE,CAApB,CAAA,EAAwB,CAAxB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+B,CAA/B,CAAiC;QAC7B,CAAJ,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAgB,EAAE,CAAlB,CAAA,EAAsB,CAAtB,CAAA,CAAA,CAAA,CAAA,CAAA,CAA6B,CAA7B,CAA+B;IAC/B,CAAG,CAAC;AACJ;"}
@@ -1,6 +1,6 @@
1
1
  import type { TypedDocumentNode } from "@graphql-typed-document-node/core";
2
- import type { Prettify } from "@apollo/client/utilities";
3
- import type { ContainsFragmentsRefs, IsAny, RemoveFragmentName, RemoveMaskedMarker, UnwrapFragmentRefs } from "./internal/types.js";
2
+ import type { IsAny, Prettify } from "@apollo/client/utilities/internal";
3
+ import type { ContainsFragmentsRefs, RemoveFragmentName, RemoveMaskedMarker, UnwrapFragmentRefs } from "./internal/types.js";
4
4
  export interface DataMasking {
5
5
  }
6
6
  /**
@@ -1,3 +1,4 @@
1
+ import type { FragmentSpreadNode } from "graphql";
1
2
  /** @internal */
2
3
  export declare const disableWarningsSlot: {
3
4
  readonly id: string;
@@ -6,4 +7,5 @@ export declare const disableWarningsSlot: {
6
7
  withValue<TResult, TArgs extends any[], TThis = any>(value: boolean, callback: (this: TThis, ...args: TArgs) => TResult, args?: TArgs | undefined, thisArg?: TThis | undefined): TResult;
7
8
  };
8
9
  export declare function warnOnImproperCacheImplementation(): void;
10
+ export declare function getFragmentMaskMode(fragment: FragmentSpreadNode): "mask" | "migrate" | "unmask";
9
11
  //# sourceMappingURL=utils.d.ts.map