graphql 17.0.0-beta.0 → 17.0.0-beta.2

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 (1193) hide show
  1. package/__dev__/devMode.d.ts +1 -1
  2. package/__dev__/error/GraphQLError.d.ts +1 -1
  3. package/__dev__/error/ensureGraphQLError.d.ts +1 -1
  4. package/__dev__/error/index.d.ts +1 -1
  5. package/__dev__/error/locatedError.d.ts +1 -1
  6. package/__dev__/error/syntaxError.d.ts +1 -1
  7. package/__dev__/execution/AbortedGraphQLExecutionError.d.ts +1 -1
  8. package/__dev__/execution/AsyncWorkTracker.d.ts +1 -1
  9. package/__dev__/execution/ExecutionArgs.d.mts +1 -0
  10. package/__dev__/execution/ExecutionArgs.d.ts +1 -0
  11. package/__dev__/execution/ExecutionArgs.js +3 -0
  12. package/__dev__/execution/ExecutionArgs.mjs +3 -0
  13. package/__dev__/execution/Executor.d.ts +1 -1
  14. package/__dev__/execution/ExecutorThrowingOnIncremental.d.ts +1 -1
  15. package/__dev__/execution/buildResolveInfo.d.mts +1 -0
  16. package/__dev__/execution/buildResolveInfo.d.ts +1 -0
  17. package/__dev__/execution/buildResolveInfo.js +3 -0
  18. package/__dev__/execution/buildResolveInfo.mjs +3 -0
  19. package/__dev__/execution/cancellablePromise.d.ts +1 -1
  20. package/__dev__/execution/collectFields.d.ts +1 -1
  21. package/__dev__/execution/collectIteratorPromises.d.ts +1 -1
  22. package/__dev__/execution/createSharedExecutionContext.d.ts +1 -1
  23. package/__dev__/execution/execute.d.ts +1 -1
  24. package/__dev__/execution/getStreamUsage.d.ts +1 -1
  25. package/__dev__/execution/getVariableSignature.d.ts +1 -1
  26. package/__dev__/execution/hooks.d.ts +1 -1
  27. package/__dev__/execution/incremental/Computation.d.ts +1 -1
  28. package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -1
  29. package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -1
  30. package/__dev__/execution/incremental/Queue.d.ts +1 -1
  31. package/__dev__/execution/incremental/WorkQueue.d.ts +1 -1
  32. package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -1
  33. package/__dev__/execution/index.d.ts +1 -1
  34. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +1 -0
  35. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +1 -0
  36. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.js +3 -0
  37. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +3 -0
  38. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +1 -0
  39. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +1 -0
  40. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.js +3 -0
  41. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +3 -0
  42. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +1 -0
  43. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +1 -0
  44. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.js +3 -0
  45. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.mjs +3 -0
  46. package/__dev__/execution/mapAsyncIterable.d.ts +1 -1
  47. package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -1
  48. package/__dev__/execution/values.d.ts +1 -1
  49. package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -1
  50. package/__dev__/graphql.d.ts +1 -1
  51. package/__dev__/harness.d.ts +1 -1
  52. package/__dev__/index.d.ts +1 -1
  53. package/__dev__/jsutils/AccumulatorMap.d.ts +1 -1
  54. package/__dev__/jsutils/Maybe.d.ts +1 -1
  55. package/__dev__/jsutils/ObjMap.d.ts +1 -1
  56. package/__dev__/jsutils/Path.d.ts +1 -1
  57. package/__dev__/jsutils/PromiseOrValue.d.ts +1 -1
  58. package/__dev__/jsutils/capitalize.d.ts +1 -1
  59. package/__dev__/jsutils/devAssert.d.ts +1 -1
  60. package/__dev__/jsutils/didYouMean.d.ts +1 -1
  61. package/__dev__/jsutils/formatList.d.ts +1 -1
  62. package/__dev__/jsutils/getBySet.d.ts +1 -1
  63. package/__dev__/jsutils/groupBy.d.ts +1 -1
  64. package/__dev__/jsutils/identityFunc.d.ts +1 -1
  65. package/__dev__/jsutils/inspect.d.ts +1 -1
  66. package/__dev__/jsutils/instanceOf.d.ts +1 -1
  67. package/__dev__/jsutils/invariant.d.ts +1 -1
  68. package/__dev__/jsutils/isAsyncIterable.d.ts +1 -1
  69. package/__dev__/jsutils/isIterableObject.d.ts +1 -1
  70. package/__dev__/jsutils/isObjectLike.d.ts +1 -1
  71. package/__dev__/jsutils/isPromise.d.ts +1 -1
  72. package/__dev__/jsutils/isSameSet.d.ts +1 -1
  73. package/__dev__/jsutils/keyMap.d.ts +1 -1
  74. package/__dev__/jsutils/keyValMap.d.ts +1 -1
  75. package/__dev__/jsutils/mapValue.d.ts +1 -1
  76. package/__dev__/jsutils/memoize1.d.ts +1 -1
  77. package/__dev__/jsutils/memoize2.d.ts +1 -1
  78. package/__dev__/jsutils/memoize3.d.ts +1 -1
  79. package/__dev__/jsutils/naturalCompare.d.ts +1 -1
  80. package/__dev__/jsutils/printPathArray.d.ts +1 -1
  81. package/__dev__/jsutils/promiseForObject.d.ts +1 -1
  82. package/__dev__/jsutils/promiseReduce.d.ts +1 -1
  83. package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -1
  84. package/__dev__/jsutils/suggestionList.d.ts +1 -1
  85. package/__dev__/jsutils/toError.d.ts +1 -1
  86. package/__dev__/jsutils/toObjMap.d.ts +1 -1
  87. package/__dev__/language/KindTypeMap.d.ts +1 -1
  88. package/__dev__/language/ast.d.ts +1 -1
  89. package/__dev__/language/blockString.d.ts +1 -1
  90. package/__dev__/language/characterClasses.d.ts +1 -1
  91. package/__dev__/language/directiveLocation.d.ts +1 -1
  92. package/__dev__/language/index.d.ts +1 -1
  93. package/__dev__/language/kinds.d.ts +1 -1
  94. package/__dev__/language/kinds_.d.ts +1 -1
  95. package/__dev__/language/lexer.d.ts +1 -1
  96. package/__dev__/language/location.d.ts +1 -1
  97. package/__dev__/language/parser.d.ts +1 -1
  98. package/__dev__/language/predicates.d.ts +1 -1
  99. package/__dev__/language/printLocation.d.ts +1 -1
  100. package/__dev__/language/printString.d.ts +1 -1
  101. package/__dev__/language/printer.d.ts +1 -1
  102. package/__dev__/language/schemaCoordinateLexer.d.ts +1 -1
  103. package/__dev__/language/source.d.ts +1 -1
  104. package/__dev__/language/tokenKind.d.ts +1 -1
  105. package/__dev__/language/visitor.d.ts +1 -1
  106. package/__dev__/type/assertName.d.ts +1 -1
  107. package/__dev__/type/definition.d.ts +1 -1
  108. package/__dev__/type/directives.d.ts +1 -1
  109. package/__dev__/type/index.d.ts +1 -1
  110. package/__dev__/type/introspection.d.ts +1 -1
  111. package/__dev__/type/scalars.d.ts +1 -1
  112. package/__dev__/type/schema.d.ts +1 -1
  113. package/__dev__/type/validate.d.ts +1 -1
  114. package/__dev__/utilities/TypeInfo.d.ts +1 -1
  115. package/__dev__/utilities/astFromValue.d.ts +1 -1
  116. package/__dev__/utilities/buildASTSchema.d.ts +1 -1
  117. package/__dev__/utilities/buildClientSchema.d.ts +1 -1
  118. package/__dev__/utilities/coerceInputValue.d.ts +1 -1
  119. package/__dev__/utilities/concatAST.d.ts +1 -1
  120. package/__dev__/utilities/extendSchema.d.ts +1 -1
  121. package/__dev__/utilities/findSchemaChanges.d.ts +1 -1
  122. package/__dev__/utilities/getDefaultValueAST.d.ts +1 -1
  123. package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -1
  124. package/__dev__/utilities/getOperationAST.d.ts +1 -1
  125. package/__dev__/utilities/index.d.ts +1 -1
  126. package/__dev__/utilities/introspectionFromSchema.d.ts +1 -1
  127. package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -1
  128. package/__dev__/utilities/mapSchemaConfig.d.ts +1 -1
  129. package/__dev__/utilities/printSchema.d.ts +1 -1
  130. package/__dev__/utilities/replaceVariables.d.ts +1 -1
  131. package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -1
  132. package/__dev__/utilities/separateOperations.d.ts +1 -1
  133. package/__dev__/utilities/sortValueNode.d.ts +1 -1
  134. package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -1
  135. package/__dev__/utilities/typeComparators.d.ts +1 -1
  136. package/__dev__/utilities/typeFromAST.d.ts +1 -1
  137. package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -1
  138. package/__dev__/utilities/validateInputValue.d.ts +1 -1
  139. package/__dev__/utilities/valueFromAST.d.ts +1 -1
  140. package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -1
  141. package/__dev__/utilities/valueToLiteral.d.ts +1 -1
  142. package/__dev__/validation/ValidationContext.d.ts +1 -1
  143. package/__dev__/validation/index.d.ts +1 -1
  144. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -1
  145. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -1
  146. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -1
  147. package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -1
  148. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -1
  149. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -1
  150. package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -1
  151. package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -1
  152. package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -1
  153. package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -1
  154. package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -1
  155. package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -1
  156. package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -1
  157. package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -1
  158. package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -1
  159. package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -1
  160. package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -1
  161. package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -1
  162. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -1
  163. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -1
  164. package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -1
  165. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -1
  166. package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -1
  167. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -1
  168. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -1
  169. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -1
  170. package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -1
  171. package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -1
  172. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -1
  173. package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -1
  174. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -1
  175. package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -1
  176. package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -1
  177. package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -1
  178. package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -1
  179. package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -1
  180. package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -1
  181. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -1
  182. package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -1
  183. package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -1
  184. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -1
  185. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -1
  186. package/__dev__/validation/specifiedRules.d.ts +1 -1
  187. package/__dev__/validation/validate.d.ts +1 -1
  188. package/__dev__/version.d.ts +1 -1
  189. package/devMode.d.mts +29 -0
  190. package/devMode.d.ts +29 -0
  191. package/devMode.js +2 -2
  192. package/devMode.js.map +1 -1
  193. package/devMode.mjs.map +1 -1
  194. package/error/GraphQLError.d.mts +98 -14
  195. package/error/GraphQLError.d.ts +98 -14
  196. package/error/GraphQLError.js +18 -28
  197. package/error/GraphQLError.js.map +1 -1
  198. package/error/GraphQLError.mjs +11 -21
  199. package/error/GraphQLError.mjs.map +1 -1
  200. package/error/ensureGraphQLError.d.mts +3 -1
  201. package/error/ensureGraphQLError.d.ts +3 -1
  202. package/error/ensureGraphQLError.js +5 -8
  203. package/error/ensureGraphQLError.js.map +1 -1
  204. package/error/ensureGraphQLError.mjs +0 -3
  205. package/error/ensureGraphQLError.mjs.map +1 -1
  206. package/error/index.d.mts +10 -4
  207. package/error/index.d.ts +10 -4
  208. package/error/index.js +6 -6
  209. package/error/index.js.map +1 -1
  210. package/error/index.mjs.map +1 -1
  211. package/error/locatedError.d.mts +23 -3
  212. package/error/locatedError.d.ts +23 -3
  213. package/error/locatedError.js +4 -10
  214. package/error/locatedError.js.map +1 -1
  215. package/error/locatedError.mjs +0 -6
  216. package/error/locatedError.mjs.map +1 -1
  217. package/error/syntaxError.d.mts +17 -2
  218. package/error/syntaxError.d.ts +17 -2
  219. package/error/syntaxError.js +2 -6
  220. package/error/syntaxError.js.map +1 -1
  221. package/error/syntaxError.mjs +0 -4
  222. package/error/syntaxError.mjs.map +1 -1
  223. package/execution/AbortedGraphQLExecutionError.d.mts +28 -1
  224. package/execution/AbortedGraphQLExecutionError.d.ts +28 -1
  225. package/execution/AbortedGraphQLExecutionError.js.map +1 -1
  226. package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
  227. package/execution/AsyncWorkTracker.d.mts +1 -1
  228. package/execution/AsyncWorkTracker.d.ts +1 -1
  229. package/execution/AsyncWorkTracker.js +3 -7
  230. package/execution/AsyncWorkTracker.js.map +1 -1
  231. package/execution/AsyncWorkTracker.mjs +1 -5
  232. package/execution/AsyncWorkTracker.mjs.map +1 -1
  233. package/execution/ExecutionArgs.d.mts +101 -0
  234. package/execution/ExecutionArgs.d.ts +101 -0
  235. package/execution/ExecutionArgs.js +3 -0
  236. package/execution/ExecutionArgs.js.map +1 -0
  237. package/execution/ExecutionArgs.mjs +2 -0
  238. package/execution/ExecutionArgs.mjs.map +1 -0
  239. package/execution/Executor.d.mts +55 -52
  240. package/execution/Executor.d.ts +55 -52
  241. package/execution/Executor.js +84 -206
  242. package/execution/Executor.js.map +1 -1
  243. package/execution/Executor.mjs +3 -125
  244. package/execution/Executor.mjs.map +1 -1
  245. package/execution/ExecutorThrowingOnIncremental.d.mts +6 -6
  246. package/execution/ExecutorThrowingOnIncremental.d.ts +6 -6
  247. package/execution/ExecutorThrowingOnIncremental.js +11 -13
  248. package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
  249. package/execution/ExecutorThrowingOnIncremental.mjs +0 -2
  250. package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
  251. package/execution/buildResolveInfo.d.mts +16 -0
  252. package/execution/buildResolveInfo.d.ts +16 -0
  253. package/execution/buildResolveInfo.js +21 -0
  254. package/execution/buildResolveInfo.js.map +1 -0
  255. package/execution/buildResolveInfo.mjs +18 -0
  256. package/execution/buildResolveInfo.mjs.map +1 -0
  257. package/execution/cancellablePromise.d.mts +3 -0
  258. package/execution/cancellablePromise.d.ts +3 -0
  259. package/execution/cancellablePromise.js +2 -2
  260. package/execution/cancellablePromise.js.map +1 -1
  261. package/execution/cancellablePromise.mjs.map +1 -1
  262. package/execution/collectFields.d.mts +15 -9
  263. package/execution/collectFields.d.ts +15 -9
  264. package/execution/collectFields.js +19 -60
  265. package/execution/collectFields.js.map +1 -1
  266. package/execution/collectFields.mjs +0 -41
  267. package/execution/collectFields.mjs.map +1 -1
  268. package/execution/collectIteratorPromises.d.mts +2 -0
  269. package/execution/collectIteratorPromises.d.ts +2 -0
  270. package/execution/collectIteratorPromises.js +2 -7
  271. package/execution/collectIteratorPromises.js.map +1 -1
  272. package/execution/collectIteratorPromises.mjs +0 -5
  273. package/execution/collectIteratorPromises.mjs.map +1 -1
  274. package/execution/createSharedExecutionContext.d.mts +3 -2
  275. package/execution/createSharedExecutionContext.d.ts +3 -2
  276. package/execution/createSharedExecutionContext.js +2 -2
  277. package/execution/createSharedExecutionContext.js.map +1 -1
  278. package/execution/createSharedExecutionContext.mjs.map +1 -1
  279. package/execution/execute.d.mts +412 -47
  280. package/execution/execute.d.ts +412 -47
  281. package/execution/execute.js +73 -254
  282. package/execution/execute.js.map +1 -1
  283. package/execution/execute.mjs +12 -193
  284. package/execution/execute.mjs.map +1 -1
  285. package/execution/getStreamUsage.d.mts +5 -2
  286. package/execution/getStreamUsage.d.ts +5 -2
  287. package/execution/getStreamUsage.js +9 -16
  288. package/execution/getStreamUsage.js.map +1 -1
  289. package/execution/getStreamUsage.mjs +0 -7
  290. package/execution/getStreamUsage.mjs.map +1 -1
  291. package/execution/getVariableSignature.d.mts +7 -4
  292. package/execution/getVariableSignature.d.ts +7 -4
  293. package/execution/getVariableSignature.js +8 -10
  294. package/execution/getVariableSignature.js.map +1 -1
  295. package/execution/getVariableSignature.mjs +0 -2
  296. package/execution/getVariableSignature.mjs.map +1 -1
  297. package/execution/hooks.d.mts +4 -8
  298. package/execution/hooks.d.ts +4 -8
  299. package/execution/hooks.js +0 -1
  300. package/execution/hooks.js.map +1 -1
  301. package/execution/hooks.mjs +0 -1
  302. package/execution/hooks.mjs.map +1 -1
  303. package/execution/incremental/Computation.d.mts +2 -2
  304. package/execution/incremental/Computation.d.ts +2 -2
  305. package/execution/incremental/Computation.js +2 -3
  306. package/execution/incremental/Computation.js.map +1 -1
  307. package/execution/incremental/Computation.mjs +0 -1
  308. package/execution/incremental/Computation.mjs.map +1 -1
  309. package/execution/incremental/IncrementalExecutor.d.mts +137 -22
  310. package/execution/incremental/IncrementalExecutor.d.ts +137 -22
  311. package/execution/incremental/IncrementalExecutor.js +47 -77
  312. package/execution/incremental/IncrementalExecutor.js.map +1 -1
  313. package/execution/incremental/IncrementalExecutor.mjs +2 -32
  314. package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
  315. package/execution/incremental/IncrementalPublisher.d.mts +4 -6
  316. package/execution/incremental/IncrementalPublisher.d.ts +4 -6
  317. package/execution/incremental/IncrementalPublisher.js +12 -18
  318. package/execution/incremental/IncrementalPublisher.js.map +1 -1
  319. package/execution/incremental/IncrementalPublisher.mjs +0 -6
  320. package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
  321. package/execution/incremental/Queue.d.mts +1 -1
  322. package/execution/incremental/Queue.d.ts +1 -1
  323. package/execution/incremental/Queue.js +22 -79
  324. package/execution/incremental/Queue.js.map +1 -1
  325. package/execution/incremental/Queue.mjs +8 -64
  326. package/execution/incremental/Queue.mjs.map +1 -1
  327. package/execution/incremental/WorkQueue.d.mts +10 -2
  328. package/execution/incremental/WorkQueue.d.ts +10 -2
  329. package/execution/incremental/WorkQueue.js +7 -22
  330. package/execution/incremental/WorkQueue.js.map +1 -1
  331. package/execution/incremental/WorkQueue.mjs +0 -15
  332. package/execution/incremental/WorkQueue.mjs.map +1 -1
  333. package/execution/incremental/buildExecutionPlan.d.mts +4 -1
  334. package/execution/incremental/buildExecutionPlan.d.ts +4 -1
  335. package/execution/incremental/buildExecutionPlan.js +4 -4
  336. package/execution/incremental/buildExecutionPlan.js.map +1 -1
  337. package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
  338. package/execution/index.d.mts +17 -8
  339. package/execution/index.d.ts +17 -8
  340. package/execution/index.js +26 -22
  341. package/execution/index.js.map +1 -1
  342. package/execution/index.mjs +2 -1
  343. package/execution/index.mjs.map +1 -1
  344. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +175 -0
  345. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +175 -0
  346. package/execution/legacyIncremental/BranchingIncrementalExecutor.js +69 -0
  347. package/execution/legacyIncremental/BranchingIncrementalExecutor.js.map +1 -0
  348. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +65 -0
  349. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs.map +1 -0
  350. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +12 -0
  351. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +12 -0
  352. package/execution/legacyIncremental/BranchingIncrementalPublisher.js +131 -0
  353. package/execution/legacyIncremental/BranchingIncrementalPublisher.js.map +1 -0
  354. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +127 -0
  355. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs.map +1 -0
  356. package/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +165 -0
  357. package/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +165 -0
  358. package/execution/legacyIncremental/legacyExecuteIncrementally.js +17 -0
  359. package/execution/legacyIncremental/legacyExecuteIncrementally.js.map +1 -0
  360. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs +13 -0
  361. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs.map +1 -0
  362. package/execution/mapAsyncIterable.d.mts +3 -1
  363. package/execution/mapAsyncIterable.d.ts +3 -1
  364. package/execution/mapAsyncIterable.js +4 -9
  365. package/execution/mapAsyncIterable.js.map +1 -1
  366. package/execution/mapAsyncIterable.mjs +0 -5
  367. package/execution/mapAsyncIterable.mjs.map +1 -1
  368. package/execution/returnIteratorCatchingErrors.d.mts +1 -0
  369. package/execution/returnIteratorCatchingErrors.d.ts +1 -0
  370. package/execution/returnIteratorCatchingErrors.js +1 -2
  371. package/execution/returnIteratorCatchingErrors.js.map +1 -1
  372. package/execution/returnIteratorCatchingErrors.mjs +1 -2
  373. package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
  374. package/execution/values.d.mts +196 -14
  375. package/execution/values.d.ts +196 -14
  376. package/execution/values.js +45 -86
  377. package/execution/values.js.map +1 -1
  378. package/execution/values.mjs +14 -55
  379. package/execution/values.mjs.map +1 -1
  380. package/execution/withConcurrentAbruptClose.d.mts +3 -1
  381. package/execution/withConcurrentAbruptClose.d.ts +3 -1
  382. package/execution/withConcurrentAbruptClose.js +3 -17
  383. package/execution/withConcurrentAbruptClose.js.map +1 -1
  384. package/execution/withConcurrentAbruptClose.mjs +1 -15
  385. package/execution/withConcurrentAbruptClose.mjs.map +1 -1
  386. package/graphql.d.mts +198 -50
  387. package/graphql.d.ts +198 -50
  388. package/graphql.js +11 -23
  389. package/graphql.js.map +1 -1
  390. package/graphql.mjs +0 -12
  391. package/graphql.mjs.map +1 -1
  392. package/harness.d.mts +21 -4
  393. package/harness.d.ts +21 -4
  394. package/harness.js +7 -7
  395. package/harness.js.map +1 -1
  396. package/harness.mjs.map +1 -1
  397. package/index.d.mts +41 -39
  398. package/index.d.ts +41 -39
  399. package/index.js +260 -346
  400. package/index.js.map +1 -1
  401. package/index.mjs +5 -149
  402. package/index.mjs.map +1 -1
  403. package/jsutils/AccumulatorMap.d.mts +2 -0
  404. package/jsutils/AccumulatorMap.d.ts +2 -0
  405. package/jsutils/AccumulatorMap.js +0 -4
  406. package/jsutils/AccumulatorMap.js.map +1 -1
  407. package/jsutils/AccumulatorMap.mjs +0 -4
  408. package/jsutils/AccumulatorMap.mjs.map +1 -1
  409. package/jsutils/Maybe.d.mts +5 -1
  410. package/jsutils/Maybe.d.ts +5 -1
  411. package/jsutils/Maybe.js.map +1 -1
  412. package/jsutils/Maybe.mjs.map +1 -1
  413. package/jsutils/ObjMap.d.mts +6 -0
  414. package/jsutils/ObjMap.d.ts +6 -0
  415. package/jsutils/ObjMap.js.map +1 -1
  416. package/jsutils/ObjMap.mjs.map +1 -1
  417. package/jsutils/Path.d.mts +31 -1
  418. package/jsutils/Path.d.ts +31 -1
  419. package/jsutils/Path.js +0 -6
  420. package/jsutils/Path.js.map +1 -1
  421. package/jsutils/Path.mjs +0 -6
  422. package/jsutils/Path.mjs.map +1 -1
  423. package/jsutils/PromiseOrValue.d.mts +1 -0
  424. package/jsutils/PromiseOrValue.d.ts +1 -0
  425. package/jsutils/PromiseOrValue.js.map +1 -1
  426. package/jsutils/PromiseOrValue.mjs.map +1 -1
  427. package/jsutils/capitalize.d.mts +2 -0
  428. package/jsutils/capitalize.d.ts +2 -0
  429. package/jsutils/capitalize.js +0 -3
  430. package/jsutils/capitalize.js.map +1 -1
  431. package/jsutils/capitalize.mjs +0 -3
  432. package/jsutils/capitalize.mjs.map +1 -1
  433. package/jsutils/devAssert.d.mts +1 -0
  434. package/jsutils/devAssert.d.ts +1 -0
  435. package/jsutils/devAssert.js.map +1 -1
  436. package/jsutils/devAssert.mjs.map +1 -1
  437. package/jsutils/didYouMean.d.mts +4 -1
  438. package/jsutils/didYouMean.d.ts +4 -1
  439. package/jsutils/didYouMean.js +2 -2
  440. package/jsutils/didYouMean.js.map +1 -1
  441. package/jsutils/didYouMean.mjs.map +1 -1
  442. package/jsutils/formatList.d.mts +6 -2
  443. package/jsutils/formatList.d.ts +6 -2
  444. package/jsutils/formatList.js +2 -8
  445. package/jsutils/formatList.js.map +1 -1
  446. package/jsutils/formatList.mjs +0 -6
  447. package/jsutils/formatList.mjs.map +1 -1
  448. package/jsutils/getBySet.d.mts +1 -0
  449. package/jsutils/getBySet.d.ts +1 -0
  450. package/jsutils/getBySet.js +2 -2
  451. package/jsutils/getBySet.js.map +1 -1
  452. package/jsutils/getBySet.mjs.map +1 -1
  453. package/jsutils/groupBy.d.mts +2 -0
  454. package/jsutils/groupBy.d.ts +2 -0
  455. package/jsutils/groupBy.js +2 -5
  456. package/jsutils/groupBy.js.map +1 -1
  457. package/jsutils/groupBy.mjs +0 -3
  458. package/jsutils/groupBy.mjs.map +1 -1
  459. package/jsutils/identityFunc.d.mts +2 -0
  460. package/jsutils/identityFunc.d.ts +2 -0
  461. package/jsutils/identityFunc.js +0 -3
  462. package/jsutils/identityFunc.js.map +1 -1
  463. package/jsutils/identityFunc.mjs +0 -3
  464. package/jsutils/identityFunc.mjs.map +1 -1
  465. package/jsutils/inspect.d.mts +2 -0
  466. package/jsutils/inspect.d.ts +2 -0
  467. package/jsutils/inspect.js +0 -4
  468. package/jsutils/inspect.js.map +1 -1
  469. package/jsutils/inspect.mjs +0 -4
  470. package/jsutils/inspect.mjs.map +1 -1
  471. package/jsutils/instanceOf.d.mts +2 -0
  472. package/jsutils/instanceOf.d.ts +2 -0
  473. package/jsutils/instanceOf.js +3 -14
  474. package/jsutils/instanceOf.js.map +1 -1
  475. package/jsutils/instanceOf.mjs +1 -12
  476. package/jsutils/instanceOf.mjs.map +1 -1
  477. package/jsutils/invariant.d.mts +1 -0
  478. package/jsutils/invariant.d.ts +1 -0
  479. package/jsutils/invariant.js.map +1 -1
  480. package/jsutils/invariant.mjs.map +1 -1
  481. package/jsutils/isAsyncIterable.d.mts +2 -0
  482. package/jsutils/isAsyncIterable.d.ts +2 -0
  483. package/jsutils/isAsyncIterable.js +0 -4
  484. package/jsutils/isAsyncIterable.js.map +1 -1
  485. package/jsutils/isAsyncIterable.mjs +0 -4
  486. package/jsutils/isAsyncIterable.mjs.map +1 -1
  487. package/jsutils/isIterableObject.d.mts +6 -5
  488. package/jsutils/isIterableObject.d.ts +6 -5
  489. package/jsutils/isIterableObject.js +0 -17
  490. package/jsutils/isIterableObject.js.map +1 -1
  491. package/jsutils/isIterableObject.mjs +0 -17
  492. package/jsutils/isIterableObject.mjs.map +1 -1
  493. package/jsutils/isObjectLike.d.mts +2 -0
  494. package/jsutils/isObjectLike.d.ts +2 -0
  495. package/jsutils/isObjectLike.js +0 -4
  496. package/jsutils/isObjectLike.js.map +1 -1
  497. package/jsutils/isObjectLike.mjs +0 -4
  498. package/jsutils/isObjectLike.mjs.map +1 -1
  499. package/jsutils/isPromise.d.mts +3 -0
  500. package/jsutils/isPromise.d.ts +3 -0
  501. package/jsutils/isPromise.js +0 -4
  502. package/jsutils/isPromise.js.map +1 -1
  503. package/jsutils/isPromise.mjs +0 -4
  504. package/jsutils/isPromise.mjs.map +1 -1
  505. package/jsutils/isSameSet.d.mts +1 -0
  506. package/jsutils/isSameSet.d.ts +1 -0
  507. package/jsutils/isSameSet.js.map +1 -1
  508. package/jsutils/isSameSet.mjs.map +1 -1
  509. package/jsutils/keyMap.d.mts +8 -15
  510. package/jsutils/keyMap.d.ts +8 -15
  511. package/jsutils/keyMap.js +0 -27
  512. package/jsutils/keyMap.js.map +1 -1
  513. package/jsutils/keyMap.mjs +0 -27
  514. package/jsutils/keyMap.mjs.map +1 -1
  515. package/jsutils/keyValMap.d.mts +10 -7
  516. package/jsutils/keyValMap.d.ts +10 -7
  517. package/jsutils/keyValMap.js +0 -17
  518. package/jsutils/keyValMap.js.map +1 -1
  519. package/jsutils/keyValMap.mjs +0 -17
  520. package/jsutils/keyValMap.mjs.map +1 -1
  521. package/jsutils/mapValue.d.mts +3 -1
  522. package/jsutils/mapValue.d.ts +3 -1
  523. package/jsutils/mapValue.js +0 -4
  524. package/jsutils/mapValue.js.map +1 -1
  525. package/jsutils/mapValue.mjs +0 -4
  526. package/jsutils/mapValue.mjs.map +1 -1
  527. package/jsutils/memoize1.d.mts +2 -0
  528. package/jsutils/memoize1.d.ts +2 -0
  529. package/jsutils/memoize1.js +0 -3
  530. package/jsutils/memoize1.js.map +1 -1
  531. package/jsutils/memoize1.mjs +0 -3
  532. package/jsutils/memoize1.mjs.map +1 -1
  533. package/jsutils/memoize2.d.mts +2 -0
  534. package/jsutils/memoize2.d.ts +2 -0
  535. package/jsutils/memoize2.js +0 -3
  536. package/jsutils/memoize2.js.map +1 -1
  537. package/jsutils/memoize2.mjs +0 -3
  538. package/jsutils/memoize2.mjs.map +1 -1
  539. package/jsutils/memoize3.d.mts +2 -0
  540. package/jsutils/memoize3.d.ts +2 -0
  541. package/jsutils/memoize3.js +0 -3
  542. package/jsutils/memoize3.js.map +1 -1
  543. package/jsutils/memoize3.mjs +0 -3
  544. package/jsutils/memoize3.mjs.map +1 -1
  545. package/jsutils/naturalCompare.d.mts +1 -0
  546. package/jsutils/naturalCompare.d.ts +1 -0
  547. package/jsutils/naturalCompare.js +0 -7
  548. package/jsutils/naturalCompare.js.map +1 -1
  549. package/jsutils/naturalCompare.mjs +0 -7
  550. package/jsutils/naturalCompare.mjs.map +1 -1
  551. package/jsutils/printPathArray.d.mts +2 -0
  552. package/jsutils/printPathArray.d.ts +2 -0
  553. package/jsutils/printPathArray.js +0 -3
  554. package/jsutils/printPathArray.js.map +1 -1
  555. package/jsutils/printPathArray.mjs +0 -3
  556. package/jsutils/printPathArray.mjs.map +1 -1
  557. package/jsutils/promiseForObject.d.mts +4 -2
  558. package/jsutils/promiseForObject.d.ts +4 -2
  559. package/jsutils/promiseForObject.js +0 -7
  560. package/jsutils/promiseForObject.js.map +1 -1
  561. package/jsutils/promiseForObject.mjs +0 -7
  562. package/jsutils/promiseForObject.mjs.map +1 -1
  563. package/jsutils/promiseReduce.d.mts +3 -1
  564. package/jsutils/promiseReduce.d.ts +3 -1
  565. package/jsutils/promiseReduce.js +2 -9
  566. package/jsutils/promiseReduce.js.map +1 -1
  567. package/jsutils/promiseReduce.mjs +0 -7
  568. package/jsutils/promiseReduce.mjs.map +1 -1
  569. package/jsutils/promiseWithResolvers.d.mts +3 -1
  570. package/jsutils/promiseWithResolvers.d.ts +3 -1
  571. package/jsutils/promiseWithResolvers.js +0 -5
  572. package/jsutils/promiseWithResolvers.js.map +1 -1
  573. package/jsutils/promiseWithResolvers.mjs +0 -5
  574. package/jsutils/promiseWithResolvers.mjs.map +1 -1
  575. package/jsutils/suggestionList.d.mts +2 -0
  576. package/jsutils/suggestionList.d.ts +2 -0
  577. package/jsutils/suggestionList.js +3 -26
  578. package/jsutils/suggestionList.js.map +1 -1
  579. package/jsutils/suggestionList.mjs +1 -24
  580. package/jsutils/suggestionList.mjs.map +1 -1
  581. package/jsutils/toError.d.mts +2 -0
  582. package/jsutils/toError.d.ts +2 -0
  583. package/jsutils/toError.js +2 -5
  584. package/jsutils/toError.js.map +1 -1
  585. package/jsutils/toError.mjs +0 -3
  586. package/jsutils/toError.mjs.map +1 -1
  587. package/jsutils/toObjMap.d.mts +4 -2
  588. package/jsutils/toObjMap.d.ts +4 -2
  589. package/jsutils/toObjMap.js.map +1 -1
  590. package/jsutils/toObjMap.mjs.map +1 -1
  591. package/language/KindTypeMap.d.mts +2 -1
  592. package/language/KindTypeMap.d.ts +2 -1
  593. package/language/KindTypeMap.js.map +1 -1
  594. package/language/KindTypeMap.mjs.map +1 -1
  595. package/language/ast.d.mts +425 -58
  596. package/language/ast.d.ts +425 -58
  597. package/language/ast.js +8 -21
  598. package/language/ast.js.map +1 -1
  599. package/language/ast.mjs +8 -21
  600. package/language/ast.mjs.map +1 -1
  601. package/language/blockString.d.mts +1 -3
  602. package/language/blockString.d.ts +1 -3
  603. package/language/blockString.js +15 -41
  604. package/language/blockString.js.map +1 -1
  605. package/language/blockString.mjs +11 -37
  606. package/language/blockString.mjs.map +1 -1
  607. package/language/characterClasses.js +2 -45
  608. package/language/characterClasses.js.map +1 -1
  609. package/language/characterClasses.mjs +2 -45
  610. package/language/characterClasses.mjs.map +1 -1
  611. package/language/directiveLocation.d.mts +26 -6
  612. package/language/directiveLocation.d.ts +26 -6
  613. package/language/directiveLocation.js +2 -6
  614. package/language/directiveLocation.js.map +1 -1
  615. package/language/directiveLocation.mjs +2 -6
  616. package/language/directiveLocation.mjs.map +1 -1
  617. package/language/index.d.mts +22 -16
  618. package/language/index.d.ts +22 -16
  619. package/language/index.js +45 -49
  620. package/language/index.js.map +1 -1
  621. package/language/index.mjs +0 -4
  622. package/language/index.mjs.map +1 -1
  623. package/language/kinds.d.mts +5 -2
  624. package/language/kinds.d.ts +5 -2
  625. package/language/kinds.js.map +1 -1
  626. package/language/kinds.mjs.map +1 -1
  627. package/language/kinds_.d.mts +102 -12
  628. package/language/kinds_.d.ts +102 -12
  629. package/language/kinds_.js +2 -14
  630. package/language/kinds_.js.map +1 -1
  631. package/language/kinds_.mjs +1 -13
  632. package/language/kinds_.mjs.map +1 -1
  633. package/language/lexer.d.mts +51 -18
  634. package/language/lexer.d.ts +51 -18
  635. package/language/lexer.js +102 -343
  636. package/language/lexer.js.map +1 -1
  637. package/language/lexer.mjs +37 -278
  638. package/language/lexer.mjs.map +1 -1
  639. package/language/location.d.mts +17 -4
  640. package/language/location.d.ts +17 -4
  641. package/language/location.js +2 -6
  642. package/language/location.js.map +1 -1
  643. package/language/location.mjs +0 -4
  644. package/language/location.mjs.map +1 -1
  645. package/language/parser.d.mts +243 -15
  646. package/language/parser.d.ts +243 -15
  647. package/language/parser.js +183 -528
  648. package/language/parser.js.map +1 -1
  649. package/language/parser.mjs +26 -371
  650. package/language/parser.mjs.map +1 -1
  651. package/language/predicates.d.mts +182 -1
  652. package/language/predicates.d.ts +182 -1
  653. package/language/predicates.js +45 -49
  654. package/language/predicates.js.map +1 -1
  655. package/language/predicates.mjs +3 -7
  656. package/language/predicates.mjs.map +1 -1
  657. package/language/printLocation.d.mts +31 -3
  658. package/language/printLocation.d.ts +31 -3
  659. package/language/printLocation.js +2 -10
  660. package/language/printLocation.js.map +1 -1
  661. package/language/printLocation.mjs +0 -8
  662. package/language/printLocation.mjs.map +1 -1
  663. package/language/printString.d.mts +2 -0
  664. package/language/printString.d.ts +2 -0
  665. package/language/printString.js +5 -11
  666. package/language/printString.js.map +1 -1
  667. package/language/printString.mjs +5 -11
  668. package/language/printString.mjs.map +1 -1
  669. package/language/printer.d.mts +13 -1
  670. package/language/printer.d.ts +13 -1
  671. package/language/printer.js +10 -31
  672. package/language/printer.js.map +1 -1
  673. package/language/printer.mjs +5 -26
  674. package/language/printer.mjs.map +1 -1
  675. package/language/schemaCoordinateLexer.d.mts +17 -3
  676. package/language/schemaCoordinateLexer.d.ts +17 -3
  677. package/language/schemaCoordinateLexer.js +21 -51
  678. package/language/schemaCoordinateLexer.js.map +1 -1
  679. package/language/schemaCoordinateLexer.mjs +5 -35
  680. package/language/schemaCoordinateLexer.mjs.map +1 -1
  681. package/language/source.d.mts +28 -1
  682. package/language/source.d.ts +28 -1
  683. package/language/source.js +5 -17
  684. package/language/source.js.map +1 -1
  685. package/language/source.mjs +0 -12
  686. package/language/source.mjs.map +1 -1
  687. package/language/tokenKind.d.mts +5 -0
  688. package/language/tokenKind.d.ts +5 -0
  689. package/language/tokenKind.js +0 -4
  690. package/language/tokenKind.js.map +1 -1
  691. package/language/tokenKind.mjs +0 -4
  692. package/language/tokenKind.mjs.map +1 -1
  693. package/language/visitor.d.mts +184 -74
  694. package/language/visitor.d.ts +184 -74
  695. package/language/visitor.js +10 -25
  696. package/language/visitor.js.map +1 -1
  697. package/language/visitor.mjs +0 -15
  698. package/language/visitor.mjs.map +1 -1
  699. package/package.json +2 -2
  700. package/type/assertName.d.mts +18 -1
  701. package/type/assertName.d.ts +18 -1
  702. package/type/assertName.js +8 -16
  703. package/type/assertName.js.map +1 -1
  704. package/type/assertName.mjs +0 -8
  705. package/type/assertName.mjs.map +1 -1
  706. package/type/definition.d.mts +3268 -138
  707. package/type/definition.d.ts +3268 -138
  708. package/type/definition.js +99 -346
  709. package/type/definition.js.map +1 -1
  710. package/type/definition.mjs +5 -252
  711. package/type/definition.mjs.map +1 -1
  712. package/type/directives.d.mts +220 -26
  713. package/type/directives.d.ts +220 -26
  714. package/type/directives.js +51 -83
  715. package/type/directives.js.map +1 -1
  716. package/type/directives.mjs +5 -37
  717. package/type/directives.mjs.map +1 -1
  718. package/type/index.d.mts +18 -12
  719. package/type/index.d.ts +18 -12
  720. package/type/index.js +106 -129
  721. package/type/index.js.map +1 -1
  722. package/type/index.mjs +5 -48
  723. package/type/index.mjs.map +1 -1
  724. package/type/introspection.d.mts +38 -2
  725. package/type/introspection.d.ts +38 -2
  726. package/type/introspection.js +122 -107
  727. package/type/introspection.js.map +1 -1
  728. package/type/introspection.mjs +24 -9
  729. package/type/introspection.mjs.map +1 -1
  730. package/type/scalars.d.mts +31 -4
  731. package/type/scalars.d.ts +31 -4
  732. package/type/scalars.js +61 -76
  733. package/type/scalars.js.map +1 -1
  734. package/type/scalars.mjs +0 -15
  735. package/type/scalars.mjs.map +1 -1
  736. package/type/schema.d.mts +514 -38
  737. package/type/schema.d.ts +514 -38
  738. package/type/schema.js +32 -129
  739. package/type/schema.js.map +1 -1
  740. package/type/schema.mjs +0 -97
  741. package/type/schema.mjs.map +1 -1
  742. package/type/validate.d.mts +36 -7
  743. package/type/validate.d.ts +36 -7
  744. package/type/validate.js +83 -195
  745. package/type/validate.js.map +1 -1
  746. package/type/validate.mjs +1 -113
  747. package/type/validate.mjs.map +1 -1
  748. package/utilities/TypeInfo.d.mts +570 -7
  749. package/utilities/TypeInfo.d.ts +570 -7
  750. package/utilities/TypeInfo.js +62 -85
  751. package/utilities/TypeInfo.js.map +1 -1
  752. package/utilities/TypeInfo.mjs +2 -25
  753. package/utilities/TypeInfo.mjs.map +1 -1
  754. package/utilities/astFromValue.d.mts +39 -6
  755. package/utilities/astFromValue.d.ts +39 -6
  756. package/utilities/astFromValue.js +30 -74
  757. package/utilities/astFromValue.js.map +1 -1
  758. package/utilities/astFromValue.mjs +0 -44
  759. package/utilities/astFromValue.mjs.map +1 -1
  760. package/utilities/buildASTSchema.d.mts +71 -11
  761. package/utilities/buildASTSchema.d.ts +71 -11
  762. package/utilities/buildASTSchema.js +11 -31
  763. package/utilities/buildASTSchema.js.map +1 -1
  764. package/utilities/buildASTSchema.mjs +1 -21
  765. package/utilities/buildASTSchema.mjs.map +1 -1
  766. package/utilities/buildClientSchema.d.mts +20 -5
  767. package/utilities/buildClientSchema.d.ts +20 -5
  768. package/utilities/buildClientSchema.js +53 -83
  769. package/utilities/buildClientSchema.js.map +1 -1
  770. package/utilities/buildClientSchema.mjs +1 -30
  771. package/utilities/buildClientSchema.mjs.map +1 -1
  772. package/utilities/coerceInputValue.d.mts +88 -6
  773. package/utilities/coerceInputValue.d.ts +88 -6
  774. package/utilities/coerceInputValue.js +52 -81
  775. package/utilities/coerceInputValue.js.map +1 -1
  776. package/utilities/coerceInputValue.mjs +21 -50
  777. package/utilities/coerceInputValue.mjs.map +1 -1
  778. package/utilities/concatAST.d.mts +13 -1
  779. package/utilities/concatAST.d.ts +13 -1
  780. package/utilities/concatAST.js +2 -7
  781. package/utilities/concatAST.js.map +1 -1
  782. package/utilities/concatAST.mjs +0 -5
  783. package/utilities/concatAST.mjs.map +1 -1
  784. package/utilities/extendSchema.d.mts +61 -6
  785. package/utilities/extendSchema.d.ts +61 -6
  786. package/utilities/extendSchema.js +92 -126
  787. package/utilities/extendSchema.js.map +1 -1
  788. package/utilities/extendSchema.mjs +27 -61
  789. package/utilities/extendSchema.mjs.map +1 -1
  790. package/utilities/findSchemaChanges.d.mts +100 -2
  791. package/utilities/findSchemaChanges.d.ts +100 -2
  792. package/utilities/findSchemaChanges.js +41 -75
  793. package/utilities/findSchemaChanges.js.map +1 -1
  794. package/utilities/findSchemaChanges.mjs +3 -37
  795. package/utilities/findSchemaChanges.mjs.map +1 -1
  796. package/utilities/getDefaultValueAST.d.mts +3 -2
  797. package/utilities/getDefaultValueAST.d.ts +3 -2
  798. package/utilities/getDefaultValueAST.js +7 -7
  799. package/utilities/getDefaultValueAST.js.map +1 -1
  800. package/utilities/getDefaultValueAST.mjs.map +1 -1
  801. package/utilities/getIntrospectionQuery.d.mts +151 -3
  802. package/utilities/getIntrospectionQuery.d.ts +151 -3
  803. package/utilities/getIntrospectionQuery.js +22 -42
  804. package/utilities/getIntrospectionQuery.js.map +1 -1
  805. package/utilities/getIntrospectionQuery.mjs +22 -42
  806. package/utilities/getIntrospectionQuery.mjs.map +1 -1
  807. package/utilities/getOperationAST.d.mts +17 -2
  808. package/utilities/getOperationAST.d.ts +17 -2
  809. package/utilities/getOperationAST.js +2 -10
  810. package/utilities/getOperationAST.js.map +1 -1
  811. package/utilities/getOperationAST.mjs +0 -8
  812. package/utilities/getOperationAST.mjs.map +1 -1
  813. package/utilities/index.d.mts +45 -30
  814. package/utilities/index.d.ts +45 -30
  815. package/utilities/index.js +61 -88
  816. package/utilities/index.js.map +1 -1
  817. package/utilities/index.mjs +4 -37
  818. package/utilities/index.mjs.map +1 -1
  819. package/utilities/introspectionFromSchema.d.mts +56 -2
  820. package/utilities/introspectionFromSchema.d.ts +56 -2
  821. package/utilities/introspectionFromSchema.js +8 -16
  822. package/utilities/introspectionFromSchema.js.map +1 -1
  823. package/utilities/introspectionFromSchema.mjs +1 -9
  824. package/utilities/introspectionFromSchema.mjs.map +1 -1
  825. package/utilities/lexicographicSortSchema.d.mts +36 -1
  826. package/utilities/lexicographicSortSchema.d.ts +36 -1
  827. package/utilities/lexicographicSortSchema.js +14 -19
  828. package/utilities/lexicographicSortSchema.js.map +1 -1
  829. package/utilities/lexicographicSortSchema.mjs +0 -5
  830. package/utilities/lexicographicSortSchema.mjs.map +1 -1
  831. package/utilities/mapSchemaConfig.d.mts +9 -6
  832. package/utilities/mapSchemaConfig.d.ts +9 -6
  833. package/utilities/mapSchemaConfig.js +28 -40
  834. package/utilities/mapSchemaConfig.js.map +1 -1
  835. package/utilities/mapSchemaConfig.mjs +0 -12
  836. package/utilities/mapSchemaConfig.mjs.map +1 -1
  837. package/utilities/printSchema.d.mts +87 -3
  838. package/utilities/printSchema.d.ts +87 -3
  839. package/utilities/printSchema.js +30 -59
  840. package/utilities/printSchema.js.map +1 -1
  841. package/utilities/printSchema.mjs +1 -30
  842. package/utilities/printSchema.mjs.map +1 -1
  843. package/utilities/replaceVariables.d.mts +40 -4
  844. package/utilities/replaceVariables.d.ts +40 -4
  845. package/utilities/replaceVariables.js +9 -17
  846. package/utilities/replaceVariables.js.map +1 -1
  847. package/utilities/replaceVariables.mjs +0 -8
  848. package/utilities/replaceVariables.mjs.map +1 -1
  849. package/utilities/resolveSchemaCoordinate.d.mts +67 -5
  850. package/utilities/resolveSchemaCoordinate.d.ts +67 -5
  851. package/utilities/resolveSchemaCoordinate.js +23 -79
  852. package/utilities/resolveSchemaCoordinate.js.map +1 -1
  853. package/utilities/resolveSchemaCoordinate.mjs +0 -56
  854. package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
  855. package/utilities/separateOperations.d.mts +32 -2
  856. package/utilities/separateOperations.d.ts +32 -2
  857. package/utilities/separateOperations.js +7 -22
  858. package/utilities/separateOperations.js.map +1 -1
  859. package/utilities/separateOperations.mjs +0 -15
  860. package/utilities/separateOperations.mjs.map +1 -1
  861. package/utilities/sortValueNode.d.mts +1 -1
  862. package/utilities/sortValueNode.d.ts +1 -1
  863. package/utilities/sortValueNode.js +12 -19
  864. package/utilities/sortValueNode.js.map +1 -1
  865. package/utilities/sortValueNode.mjs +0 -7
  866. package/utilities/sortValueNode.mjs.map +1 -1
  867. package/utilities/stripIgnoredCharacters.d.mts +14 -7
  868. package/utilities/stripIgnoredCharacters.d.ts +14 -7
  869. package/utilities/stripIgnoredCharacters.js +11 -76
  870. package/utilities/stripIgnoredCharacters.js.map +1 -1
  871. package/utilities/stripIgnoredCharacters.mjs +0 -65
  872. package/utilities/stripIgnoredCharacters.mjs.map +1 -1
  873. package/utilities/typeComparators.d.mts +86 -2
  874. package/utilities/typeComparators.d.ts +86 -2
  875. package/utilities/typeComparators.js +14 -47
  876. package/utilities/typeComparators.js.map +1 -1
  877. package/utilities/typeComparators.mjs +0 -33
  878. package/utilities/typeComparators.mjs.map +1 -1
  879. package/utilities/typeFromAST.d.mts +90 -4
  880. package/utilities/typeFromAST.d.ts +90 -4
  881. package/utilities/typeFromAST.js +7 -7
  882. package/utilities/typeFromAST.js.map +1 -1
  883. package/utilities/typeFromAST.mjs.map +1 -1
  884. package/utilities/typedQueryDocumentNode.d.mts +5 -1
  885. package/utilities/typedQueryDocumentNode.d.ts +5 -1
  886. package/utilities/typedQueryDocumentNode.js.map +1 -1
  887. package/utilities/typedQueryDocumentNode.mjs.map +1 -1
  888. package/utilities/validateInputValue.d.mts +129 -6
  889. package/utilities/validateInputValue.d.ts +129 -6
  890. package/utilities/validateInputValue.js +60 -80
  891. package/utilities/validateInputValue.js.map +1 -1
  892. package/utilities/validateInputValue.mjs +0 -20
  893. package/utilities/validateInputValue.mjs.map +1 -1
  894. package/utilities/valueFromAST.d.mts +45 -4
  895. package/utilities/valueFromAST.d.ts +45 -4
  896. package/utilities/valueFromAST.js +32 -72
  897. package/utilities/valueFromAST.js.map +1 -1
  898. package/utilities/valueFromAST.mjs +13 -53
  899. package/utilities/valueFromAST.mjs.map +1 -1
  900. package/utilities/valueFromASTUntyped.d.mts +18 -5
  901. package/utilities/valueFromASTUntyped.d.ts +18 -5
  902. package/utilities/valueFromASTUntyped.js +12 -28
  903. package/utilities/valueFromASTUntyped.js.map +1 -1
  904. package/utilities/valueFromASTUntyped.mjs +0 -16
  905. package/utilities/valueFromASTUntyped.mjs.map +1 -1
  906. package/utilities/valueToLiteral.d.mts +32 -3
  907. package/utilities/valueToLiteral.d.ts +32 -3
  908. package/utilities/valueToLiteral.js +37 -70
  909. package/utilities/valueToLiteral.js.map +1 -1
  910. package/utilities/valueToLiteral.mjs +7 -40
  911. package/utilities/valueToLiteral.mjs.map +1 -1
  912. package/validation/ValidationContext.d.mts +499 -9
  913. package/validation/ValidationContext.d.ts +499 -9
  914. package/validation/ValidationContext.js +9 -16
  915. package/validation/ValidationContext.js.map +1 -1
  916. package/validation/ValidationContext.mjs +1 -8
  917. package/validation/ValidationContext.mjs.map +1 -1
  918. package/validation/index.d.mts +53 -46
  919. package/validation/index.d.ts +53 -46
  920. package/validation/index.js +91 -125
  921. package/validation/index.js.map +1 -1
  922. package/validation/index.mjs +0 -34
  923. package/validation/index.mjs.map +1 -1
  924. package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +32 -2
  925. package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +32 -2
  926. package/validation/rules/DeferStreamDirectiveLabelRule.js +9 -14
  927. package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
  928. package/validation/rules/DeferStreamDirectiveLabelRule.mjs +0 -5
  929. package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
  930. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +30 -2
  931. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +30 -2
  932. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +8 -13
  933. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
  934. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +0 -5
  935. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
  936. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +54 -2
  937. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +54 -2
  938. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +14 -19
  939. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
  940. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +0 -5
  941. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
  942. package/validation/rules/ExecutableDefinitionsRule.d.mts +30 -2
  943. package/validation/rules/ExecutableDefinitionsRule.d.ts +30 -2
  944. package/validation/rules/ExecutableDefinitionsRule.js +7 -15
  945. package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
  946. package/validation/rules/ExecutableDefinitionsRule.mjs +0 -8
  947. package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
  948. package/validation/rules/FieldsOnCorrectTypeRule.d.mts +30 -2
  949. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +30 -2
  950. package/validation/rules/FieldsOnCorrectTypeRule.js +14 -41
  951. package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
  952. package/validation/rules/FieldsOnCorrectTypeRule.mjs +0 -27
  953. package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
  954. package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +30 -2
  955. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +30 -2
  956. package/validation/rules/FragmentsOnCompositeTypesRule.js +12 -21
  957. package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
  958. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +0 -9
  959. package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
  960. package/validation/rules/KnownArgumentNamesRule.d.mts +31 -5
  961. package/validation/rules/KnownArgumentNamesRule.d.ts +31 -5
  962. package/validation/rules/KnownArgumentNamesRule.js +16 -29
  963. package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
  964. package/validation/rules/KnownArgumentNamesRule.mjs +0 -13
  965. package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
  966. package/validation/rules/KnownDirectivesRule.d.mts +30 -2
  967. package/validation/rules/KnownDirectivesRule.d.ts +30 -2
  968. package/validation/rules/KnownDirectivesRule.js +66 -73
  969. package/validation/rules/KnownDirectivesRule.js.map +1 -1
  970. package/validation/rules/KnownDirectivesRule.mjs +3 -10
  971. package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
  972. package/validation/rules/KnownFragmentNamesRule.d.mts +30 -2
  973. package/validation/rules/KnownFragmentNamesRule.d.ts +30 -2
  974. package/validation/rules/KnownFragmentNamesRule.js +2 -10
  975. package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
  976. package/validation/rules/KnownFragmentNamesRule.mjs +0 -8
  977. package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
  978. package/validation/rules/KnownOperationTypesRule.d.mts +22 -2
  979. package/validation/rules/KnownOperationTypesRule.d.ts +22 -2
  980. package/validation/rules/KnownOperationTypesRule.js +2 -10
  981. package/validation/rules/KnownOperationTypesRule.js.map +1 -1
  982. package/validation/rules/KnownOperationTypesRule.mjs +0 -8
  983. package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
  984. package/validation/rules/KnownTypeNamesRule.d.mts +30 -2
  985. package/validation/rules/KnownTypeNamesRule.d.ts +30 -2
  986. package/validation/rules/KnownTypeNamesRule.js +11 -19
  987. package/validation/rules/KnownTypeNamesRule.js.map +1 -1
  988. package/validation/rules/KnownTypeNamesRule.mjs +0 -8
  989. package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
  990. package/validation/rules/LoneAnonymousOperationRule.d.mts +30 -2
  991. package/validation/rules/LoneAnonymousOperationRule.d.ts +30 -2
  992. package/validation/rules/LoneAnonymousOperationRule.js +4 -12
  993. package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
  994. package/validation/rules/LoneAnonymousOperationRule.mjs +0 -8
  995. package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
  996. package/validation/rules/LoneSchemaDefinitionRule.d.mts +23 -2
  997. package/validation/rules/LoneSchemaDefinitionRule.d.ts +23 -2
  998. package/validation/rules/LoneSchemaDefinitionRule.js +3 -8
  999. package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
  1000. package/validation/rules/LoneSchemaDefinitionRule.mjs +0 -5
  1001. package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
  1002. package/validation/rules/MaxIntrospectionDepthRule.d.mts +33 -2
  1003. package/validation/rules/MaxIntrospectionDepthRule.d.ts +33 -2
  1004. package/validation/rules/MaxIntrospectionDepthRule.js +5 -19
  1005. package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
  1006. package/validation/rules/MaxIntrospectionDepthRule.mjs +0 -14
  1007. package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
  1008. package/validation/rules/NoFragmentCyclesRule.d.mts +30 -2
  1009. package/validation/rules/NoFragmentCyclesRule.d.ts +30 -2
  1010. package/validation/rules/NoFragmentCyclesRule.js +2 -17
  1011. package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
  1012. package/validation/rules/NoFragmentCyclesRule.mjs +0 -15
  1013. package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
  1014. package/validation/rules/NoUndefinedVariablesRule.d.mts +30 -2
  1015. package/validation/rules/NoUndefinedVariablesRule.d.ts +30 -2
  1016. package/validation/rules/NoUndefinedVariablesRule.js +2 -10
  1017. package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
  1018. package/validation/rules/NoUndefinedVariablesRule.mjs +0 -8
  1019. package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
  1020. package/validation/rules/NoUnusedFragmentsRule.d.mts +30 -2
  1021. package/validation/rules/NoUnusedFragmentsRule.d.ts +30 -2
  1022. package/validation/rules/NoUnusedFragmentsRule.js +2 -10
  1023. package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
  1024. package/validation/rules/NoUnusedFragmentsRule.mjs +0 -8
  1025. package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
  1026. package/validation/rules/NoUnusedVariablesRule.d.mts +31 -2
  1027. package/validation/rules/NoUnusedVariablesRule.d.ts +31 -2
  1028. package/validation/rules/NoUnusedVariablesRule.js +3 -11
  1029. package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
  1030. package/validation/rules/NoUnusedVariablesRule.mjs +0 -8
  1031. package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
  1032. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +35 -2
  1033. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +35 -2
  1034. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +32 -206
  1035. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
  1036. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +1 -175
  1037. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
  1038. package/validation/rules/PossibleFragmentSpreadsRule.d.mts +38 -2
  1039. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +38 -2
  1040. package/validation/rules/PossibleFragmentSpreadsRule.js +17 -24
  1041. package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
  1042. package/validation/rules/PossibleFragmentSpreadsRule.mjs +0 -7
  1043. package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
  1044. package/validation/rules/PossibleTypeExtensionsRule.d.mts +23 -2
  1045. package/validation/rules/PossibleTypeExtensionsRule.d.ts +23 -2
  1046. package/validation/rules/PossibleTypeExtensionsRule.js +38 -49
  1047. package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
  1048. package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -11
  1049. package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
  1050. package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +31 -5
  1051. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +31 -5
  1052. package/validation/rules/ProvidedRequiredArgumentsRule.js +20 -33
  1053. package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
  1054. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +0 -13
  1055. package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
  1056. package/validation/rules/ScalarLeafsRule.d.mts +30 -2
  1057. package/validation/rules/ScalarLeafsRule.d.ts +30 -2
  1058. package/validation/rules/ScalarLeafsRule.js +10 -16
  1059. package/validation/rules/ScalarLeafsRule.js.map +1 -1
  1060. package/validation/rules/ScalarLeafsRule.mjs +0 -6
  1061. package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
  1062. package/validation/rules/SingleFieldSubscriptionsRule.d.mts +36 -4
  1063. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +36 -4
  1064. package/validation/rules/SingleFieldSubscriptionsRule.js +8 -17
  1065. package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
  1066. package/validation/rules/SingleFieldSubscriptionsRule.mjs +0 -9
  1067. package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
  1068. package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +23 -2
  1069. package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +23 -2
  1070. package/validation/rules/StreamDirectiveOnListFieldRule.js +7 -12
  1071. package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
  1072. package/validation/rules/StreamDirectiveOnListFieldRule.mjs +0 -5
  1073. package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
  1074. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +23 -2
  1075. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +23 -2
  1076. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +4 -10
  1077. package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
  1078. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +0 -6
  1079. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
  1080. package/validation/rules/UniqueArgumentNamesRule.d.mts +30 -2
  1081. package/validation/rules/UniqueArgumentNamesRule.d.ts +30 -2
  1082. package/validation/rules/UniqueArgumentNamesRule.js +4 -12
  1083. package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
  1084. package/validation/rules/UniqueArgumentNamesRule.mjs +0 -8
  1085. package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
  1086. package/validation/rules/UniqueDirectiveNamesRule.d.mts +23 -2
  1087. package/validation/rules/UniqueDirectiveNamesRule.d.ts +23 -2
  1088. package/validation/rules/UniqueDirectiveNamesRule.js +3 -8
  1089. package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
  1090. package/validation/rules/UniqueDirectiveNamesRule.mjs +0 -5
  1091. package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
  1092. package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +30 -2
  1093. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +30 -2
  1094. package/validation/rules/UniqueDirectivesPerLocationRule.js +20 -21
  1095. package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
  1096. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +10 -11
  1097. package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
  1098. package/validation/rules/UniqueEnumValueNamesRule.d.mts +23 -2
  1099. package/validation/rules/UniqueEnumValueNamesRule.d.ts +23 -2
  1100. package/validation/rules/UniqueEnumValueNamesRule.js +5 -10
  1101. package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
  1102. package/validation/rules/UniqueEnumValueNamesRule.mjs +0 -5
  1103. package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
  1104. package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +23 -2
  1105. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +23 -2
  1106. package/validation/rules/UniqueFieldDefinitionNamesRule.js +5 -10
  1107. package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
  1108. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +0 -5
  1109. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
  1110. package/validation/rules/UniqueFragmentNamesRule.d.mts +30 -2
  1111. package/validation/rules/UniqueFragmentNamesRule.d.ts +30 -2
  1112. package/validation/rules/UniqueFragmentNamesRule.js +2 -9
  1113. package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
  1114. package/validation/rules/UniqueFragmentNamesRule.mjs +0 -7
  1115. package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
  1116. package/validation/rules/UniqueInputFieldNamesRule.d.mts +34 -2
  1117. package/validation/rules/UniqueInputFieldNamesRule.d.ts +34 -2
  1118. package/validation/rules/UniqueInputFieldNamesRule.js +4 -12
  1119. package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
  1120. package/validation/rules/UniqueInputFieldNamesRule.mjs +0 -8
  1121. package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
  1122. package/validation/rules/UniqueOperationNamesRule.d.mts +30 -2
  1123. package/validation/rules/UniqueOperationNamesRule.d.ts +30 -2
  1124. package/validation/rules/UniqueOperationNamesRule.js +2 -9
  1125. package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
  1126. package/validation/rules/UniqueOperationNamesRule.mjs +0 -7
  1127. package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
  1128. package/validation/rules/UniqueOperationTypesRule.d.mts +23 -2
  1129. package/validation/rules/UniqueOperationTypesRule.d.ts +23 -2
  1130. package/validation/rules/UniqueOperationTypesRule.js +3 -8
  1131. package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
  1132. package/validation/rules/UniqueOperationTypesRule.mjs +0 -5
  1133. package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
  1134. package/validation/rules/UniqueTypeNamesRule.d.mts +23 -2
  1135. package/validation/rules/UniqueTypeNamesRule.d.ts +23 -2
  1136. package/validation/rules/UniqueTypeNamesRule.js +3 -8
  1137. package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
  1138. package/validation/rules/UniqueTypeNamesRule.mjs +0 -5
  1139. package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
  1140. package/validation/rules/UniqueVariableNamesRule.d.mts +30 -2
  1141. package/validation/rules/UniqueVariableNamesRule.d.ts +30 -2
  1142. package/validation/rules/UniqueVariableNamesRule.js +4 -9
  1143. package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
  1144. package/validation/rules/UniqueVariableNamesRule.mjs +0 -5
  1145. package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
  1146. package/validation/rules/ValuesOfCorrectTypeRule.d.mts +30 -2
  1147. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +30 -2
  1148. package/validation/rules/ValuesOfCorrectTypeRule.js +3 -23
  1149. package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
  1150. package/validation/rules/ValuesOfCorrectTypeRule.mjs +1 -21
  1151. package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
  1152. package/validation/rules/VariablesAreInputTypesRule.d.mts +34 -2
  1153. package/validation/rules/VariablesAreInputTypesRule.d.ts +34 -2
  1154. package/validation/rules/VariablesAreInputTypesRule.js +8 -16
  1155. package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
  1156. package/validation/rules/VariablesAreInputTypesRule.mjs +0 -8
  1157. package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
  1158. package/validation/rules/VariablesInAllowedPositionRule.d.mts +30 -2
  1159. package/validation/rules/VariablesInAllowedPositionRule.d.ts +30 -2
  1160. package/validation/rules/VariablesInAllowedPositionRule.js +14 -34
  1161. package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
  1162. package/validation/rules/VariablesInAllowedPositionRule.mjs +0 -20
  1163. package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
  1164. package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +43 -2
  1165. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +43 -2
  1166. package/validation/rules/custom/NoDeprecatedCustomRule.js +8 -18
  1167. package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
  1168. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +0 -10
  1169. package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
  1170. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +30 -2
  1171. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +30 -2
  1172. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +6 -16
  1173. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
  1174. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +0 -10
  1175. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
  1176. package/validation/specifiedRules.d.mts +3 -4
  1177. package/validation/specifiedRules.d.ts +3 -4
  1178. package/validation/specifiedRules.js +87 -133
  1179. package/validation/specifiedRules.js.map +1 -1
  1180. package/validation/specifiedRules.mjs +0 -46
  1181. package/validation/specifiedRules.mjs.map +1 -1
  1182. package/validation/validate.d.mts +70 -12
  1183. package/validation/validate.d.ts +70 -12
  1184. package/validation/validate.js +19 -60
  1185. package/validation/validate.js.map +1 -1
  1186. package/validation/validate.mjs +0 -41
  1187. package/validation/validate.mjs.map +1 -1
  1188. package/version.d.mts +3 -6
  1189. package/version.d.ts +3 -6
  1190. package/version.js +2 -10
  1191. package/version.js.map +1 -1
  1192. package/version.mjs +2 -10
  1193. package/version.mjs.map +1 -1
@@ -1,26 +1,24 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IncrementalExecutor = void 0;
4
- /* eslint-disable max-params */
5
- const invariant_js_1 = require("../../jsutils/invariant.js");
6
- const isPromise_js_1 = require("../../jsutils/isPromise.js");
7
- const memoize1_js_1 = require("../../jsutils/memoize1.js");
8
- const memoize2_js_1 = require("../../jsutils/memoize2.js");
9
- const Path_js_1 = require("../../jsutils/Path.js");
10
- const locatedError_js_1 = require("../../error/locatedError.js");
11
- const ast_js_1 = require("../../language/ast.js");
12
- const collectFields_js_1 = require("../collectFields.js");
13
- const collectIteratorPromises_js_1 = require("../collectIteratorPromises.js");
14
- const Executor_js_1 = require("../Executor.js");
15
- const buildExecutionPlan_js_1 = require("../incremental/buildExecutionPlan.js");
16
- const returnIteratorCatchingErrors_js_1 = require("../returnIteratorCatchingErrors.js");
17
- const Computation_js_1 = require("./Computation.js");
18
- const IncrementalPublisher_js_1 = require("./IncrementalPublisher.js");
19
- const Queue_js_1 = require("./Queue.js");
20
- const buildExecutionPlanFromInitial = (0, memoize1_js_1.memoize1)((groupedFieldSet) => (0, buildExecutionPlan_js_1.buildExecutionPlan)(groupedFieldSet));
21
- const buildExecutionPlanFromDeferred = (0, memoize2_js_1.memoize2)((groupedFieldSet, deferUsageSet) => (0, buildExecutionPlan_js_1.buildExecutionPlan)(groupedFieldSet, deferUsageSet));
22
- /** @internal */
23
- class IncrementalExecutor extends Executor_js_1.Executor {
4
+ const invariant_ts_1 = require("../../jsutils/invariant.js");
5
+ const isPromise_ts_1 = require("../../jsutils/isPromise.js");
6
+ const memoize1_ts_1 = require("../../jsutils/memoize1.js");
7
+ const memoize2_ts_1 = require("../../jsutils/memoize2.js");
8
+ const Path_ts_1 = require("../../jsutils/Path.js");
9
+ const locatedError_ts_1 = require("../../error/locatedError.js");
10
+ const ast_ts_1 = require("../../language/ast.js");
11
+ const collectFields_ts_1 = require("../collectFields.js");
12
+ const collectIteratorPromises_ts_1 = require("../collectIteratorPromises.js");
13
+ const Executor_ts_1 = require("../Executor.js");
14
+ const returnIteratorCatchingErrors_ts_1 = require("../returnIteratorCatchingErrors.js");
15
+ const buildExecutionPlan_ts_1 = require("./buildExecutionPlan.js");
16
+ const Computation_ts_1 = require("./Computation.js");
17
+ const IncrementalPublisher_ts_1 = require("./IncrementalPublisher.js");
18
+ const Queue_ts_1 = require("./Queue.js");
19
+ const buildExecutionPlanFromInitial = (0, memoize1_ts_1.memoize1)((groupedFieldSet) => (0, buildExecutionPlan_ts_1.buildExecutionPlan)(groupedFieldSet));
20
+ const buildExecutionPlanFromDeferred = (0, memoize2_ts_1.memoize2)((groupedFieldSet, deferUsageSet) => (0, buildExecutionPlan_ts_1.buildExecutionPlan)(groupedFieldSet, deferUsageSet));
21
+ class IncrementalExecutor extends Executor_ts_1.Executor {
24
22
  constructor(validatedExecutionArgs, sharedExecutionContext, deferUsageSet) {
25
23
  super(validatedExecutionArgs, sharedExecutionContext);
26
24
  this.deferUsageSet = deferUsageSet;
@@ -37,19 +35,15 @@ class IncrementalExecutor extends Executor_js_1.Executor {
37
35
  super.abort(reason);
38
36
  for (const task of this.tasks) {
39
37
  const aborted = task.computation.abort(reason);
40
- if (!(!(0, isPromise_js_1.isPromise)(aborted)))
41
- (0, invariant_js_1.invariant)(false);
38
+ if (!(!(0, isPromise_ts_1.isPromise)(aborted)))
39
+ (0, invariant_ts_1.invariant)(false);
42
40
  }
43
41
  for (const stream of this.streams) {
44
42
  const aborted = stream.queue.abort(reason);
45
- if (!(!(0, isPromise_js_1.isPromise)(aborted)))
46
- (0, invariant_js_1.invariant)(false);
43
+ if (!(!(0, isPromise_ts_1.isPromise)(aborted)))
44
+ (0, invariant_ts_1.invariant)(false);
47
45
  }
48
46
  }
49
- /**
50
- * Given a completed execution context and data, build the `{ errors, data }`
51
- * response defined by the "Response" section of the GraphQL specification.
52
- */
53
47
  buildResponse(data) {
54
48
  const work = this.getIncrementalWork();
55
49
  const { tasks, streams } = work;
@@ -58,8 +52,8 @@ class IncrementalExecutor extends Executor_js_1.Executor {
58
52
  }
59
53
  const errors = this.collectedErrors.errors;
60
54
  if (!(data !== null))
61
- (0, invariant_js_1.invariant)(false);
62
- const incrementalPublisher = new IncrementalPublisher_js_1.IncrementalPublisher();
55
+ (0, invariant_ts_1.invariant)(false);
56
+ const incrementalPublisher = new IncrementalPublisher_ts_1.IncrementalPublisher();
63
57
  return incrementalPublisher.buildResponse(data, errors, work, this.validatedExecutionArgs.externalAbortSignal, this.getFinishSharedExecution());
64
58
  }
65
59
  executeCollectedRootFields(rootType, rootValue, originalGroupedFieldSet, serially, newDeferUsages) {
@@ -67,8 +61,8 @@ class IncrementalExecutor extends Executor_js_1.Executor {
67
61
  return this.executeRootGroupedFieldSet(rootType, rootValue, originalGroupedFieldSet, serially, undefined);
68
62
  }
69
63
  if (!(this.validatedExecutionArgs.operation.operation !==
70
- ast_js_1.OperationTypeNode.SUBSCRIPTION))
71
- (0, invariant_js_1.invariant)(false, '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.');
64
+ ast_ts_1.OperationTypeNode.SUBSCRIPTION))
65
+ (0, invariant_ts_1.invariant)(false, '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.');
72
66
  const { newDeliveryGroups, newDeliveryGroupMap } = this.getNewDeliveryGroupMap(newDeferUsages, undefined, undefined);
73
67
  const { groupedFieldSet, newGroupedFieldSets } = this.buildRootExecutionPlan(originalGroupedFieldSet);
74
68
  const data = this.executeRootGroupedFieldSet(rootType, rootValue, groupedFieldSet, serially, newDeliveryGroupMap);
@@ -84,8 +78,8 @@ class IncrementalExecutor extends Executor_js_1.Executor {
84
78
  executeCollectedSubfields(parentType, sourceValue, path, originalGroupedFieldSet, newDeferUsages, deliveryGroupMap) {
85
79
  if (newDeferUsages.length > 0) {
86
80
  if (!(this.validatedExecutionArgs.operation.operation !==
87
- ast_js_1.OperationTypeNode.SUBSCRIPTION))
88
- (0, invariant_js_1.invariant)(false, '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.');
81
+ ast_ts_1.OperationTypeNode.SUBSCRIPTION))
82
+ (0, invariant_ts_1.invariant)(false, '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.');
89
83
  }
90
84
  if (deliveryGroupMap === undefined && newDeferUsages.length === 0) {
91
85
  return this.executeFields(parentType, sourceValue, path, originalGroupedFieldSet, deliveryGroupMap);
@@ -112,12 +106,11 @@ class IncrementalExecutor extends Executor_js_1.Executor {
112
106
  const executionGroup = {
113
107
  groups: deliveryGroups,
114
108
  path,
115
- computation: new Computation_js_1.Computation(() => executor.executeExecutionGroup(deliveryGroups, parentType, sourceValue, path, groupedFieldSet, deliveryGroupMap), (reason) => executor.abort(reason)),
109
+ computation: new Computation_ts_1.Computation(() => executor.executeExecutionGroup(deliveryGroups, parentType, sourceValue, path, groupedFieldSet, deliveryGroupMap), (reason) => executor.abort(reason)),
116
110
  };
117
111
  const parentDeferUsages = this.deferUsageSet;
118
112
  if (this.validatedExecutionArgs.enableEarlyExecution) {
119
113
  if (this.shouldDefer(parentDeferUsages, deferUsageSet)) {
120
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
121
114
  Promise.resolve().then(() => executionGroup.computation.prime());
122
115
  }
123
116
  else {
@@ -136,7 +129,7 @@ class IncrementalExecutor extends Executor_js_1.Executor {
136
129
  this.abort();
137
130
  throw error;
138
131
  }
139
- if ((0, isPromise_js_1.isPromise)(result)) {
132
+ if ((0, isPromise_ts_1.isPromise)(result)) {
140
133
  return result.then((resolved) => this.buildExecutionGroupResult(deliveryGroups, path, resolved), (error) => {
141
134
  this.abort();
142
135
  throw error;
@@ -149,8 +142,8 @@ class IncrementalExecutor extends Executor_js_1.Executor {
149
142
  const errors = this.collectedErrors.errors;
150
143
  return this.finish({
151
144
  value: errors.length
152
- ? { deliveryGroups, path: (0, Path_js_1.pathToArray)(path), errors, data }
153
- : { deliveryGroups, path: (0, Path_js_1.pathToArray)(path), data },
145
+ ? { deliveryGroups, path: (0, Path_ts_1.pathToArray)(path), errors, data }
146
+ : { deliveryGroups, path: (0, Path_ts_1.pathToArray)(path), data },
154
147
  work: this.getIncrementalWork(),
155
148
  });
156
149
  }
@@ -164,8 +157,8 @@ class IncrementalExecutor extends Executor_js_1.Executor {
164
157
  for (const task of tasks) {
165
158
  if (collectedErrors.hasNulledPosition(task.path)) {
166
159
  const aborted = task.computation.abort(cancellationReason);
167
- if (!(!(0, isPromise_js_1.isPromise)(aborted)))
168
- (0, invariant_js_1.invariant)(false);
160
+ if (!(!(0, isPromise_ts_1.isPromise)(aborted)))
161
+ (0, invariant_ts_1.invariant)(false);
169
162
  }
170
163
  else {
171
164
  filteredTasks.push(task);
@@ -175,8 +168,8 @@ class IncrementalExecutor extends Executor_js_1.Executor {
175
168
  for (const stream of streams) {
176
169
  if (collectedErrors.hasNulledPosition(stream.path)) {
177
170
  const aborted = stream.queue.abort(cancellationReason);
178
- if (!(!(0, isPromise_js_1.isPromise)(aborted)))
179
- (0, invariant_js_1.invariant)(false);
171
+ if (!(!(0, isPromise_ts_1.isPromise)(aborted)))
172
+ (0, invariant_ts_1.invariant)(false);
180
173
  }
181
174
  else {
182
175
  filteredStreams.push(stream);
@@ -188,31 +181,20 @@ class IncrementalExecutor extends Executor_js_1.Executor {
188
181
  streams: filteredStreams,
189
182
  };
190
183
  }
191
- /**
192
- * Instantiates new DeliveryGroups for the given path, returning an
193
- * updated map of DeferUsage objects to DeliveryGroups.
194
- *
195
- * Note: As defer directives may be used with operations returning lists,
196
- * a DeferUsage object may correspond to many DeliveryGroups.
197
- */
198
184
  getNewDeliveryGroupMap(newDeferUsages, deliveryGroupMap, path) {
199
185
  const newDeliveryGroups = [];
200
186
  const newDeliveryGroupMap = new Map(deliveryGroupMap);
201
- // For each new deferUsage object:
202
187
  for (const newDeferUsage of newDeferUsages) {
203
188
  const parentDeferUsage = newDeferUsage.parentDeferUsage;
204
189
  const parent = parentDeferUsage === undefined
205
190
  ? undefined
206
191
  : deliveryGroupFromDeferUsage(parentDeferUsage, newDeliveryGroupMap);
207
- // Create a new DeliveryGroup object
208
192
  const deliveryGroup = {
209
193
  path,
210
194
  label: newDeferUsage.label,
211
195
  parent,
212
196
  };
213
- // Add it to the list of new groups
214
197
  newDeliveryGroups.push(deliveryGroup);
215
- // Update the map
216
198
  newDeliveryGroupMap.set(newDeferUsage, deliveryGroup);
217
199
  }
218
200
  return {
@@ -221,10 +203,6 @@ class IncrementalExecutor extends Executor_js_1.Executor {
221
203
  };
222
204
  }
223
205
  shouldDefer(parentDeferUsages, deferUsages) {
224
- // If we have a new child defer usage, defer.
225
- // Otherwise, this defer usage was already deferred when it was initially
226
- // encountered, and is now in the midst of executing early, so the new
227
- // deferred grouped fields set can be executed immediately.
228
206
  return (parentDeferUsages === undefined ||
229
207
  !Array.from(deferUsages).every((deferUsage) => parentDeferUsages.has(deferUsage)));
230
208
  }
@@ -244,7 +222,7 @@ class IncrementalExecutor extends Executor_js_1.Executor {
244
222
  const createSubExecutor = this.getCreateSubExecutor();
245
223
  const { enableEarlyExecution } = this.validatedExecutionArgs;
246
224
  const sharedExecutionContext = this.sharedExecutionContext;
247
- const queue = new Queue_js_1.Queue(async ({ push, stop, onStop, started }) => {
225
+ const queue = new Queue_ts_1.Queue(async ({ push, stop, onStop, started }) => {
248
226
  const abortStreamItems = new Set();
249
227
  let finishedNormally = false;
250
228
  let stopRequested = false;
@@ -255,10 +233,10 @@ class IncrementalExecutor extends Executor_js_1.Executor {
255
233
  abortStreamItem(reason);
256
234
  }
257
235
  if (isAsync) {
258
- sharedExecutionContext.asyncWorkTracker.add((0, returnIteratorCatchingErrors_js_1.returnIteratorCatchingErrors)(iterator));
236
+ sharedExecutionContext.asyncWorkTracker.add((0, returnIteratorCatchingErrors_ts_1.returnIteratorCatchingErrors)(iterator));
259
237
  }
260
238
  else {
261
- sharedExecutionContext.asyncWorkTracker.addValues((0, collectIteratorPromises_js_1.collectIteratorPromises)(iterator));
239
+ sharedExecutionContext.asyncWorkTracker.addValues((0, collectIteratorPromises_ts_1.collectIteratorPromises)(iterator));
262
240
  }
263
241
  }
264
242
  });
@@ -271,7 +249,6 @@ class IncrementalExecutor extends Executor_js_1.Executor {
271
249
  let iteration;
272
250
  try {
273
251
  if (isAsync) {
274
- // eslint-disable-next-line no-await-in-loop
275
252
  iteration = await iterator.next();
276
253
  if (stopRequested) {
277
254
  return;
@@ -282,22 +259,20 @@ class IncrementalExecutor extends Executor_js_1.Executor {
282
259
  }
283
260
  }
284
261
  catch (rawError) {
285
- throw (0, locatedError_js_1.locatedError)(rawError, toNodes(fieldDetailsList), (0, Path_js_1.pathToArray)(streamPath));
262
+ throw (0, locatedError_ts_1.locatedError)(rawError, toNodes(fieldDetailsList), (0, Path_ts_1.pathToArray)(streamPath));
286
263
  }
287
264
  if (iteration.done) {
288
265
  finishedNormally = true;
289
266
  const stopped = stop();
290
- /* c8 ignore start */
291
- if ((0, isPromise_js_1.isPromise)(stopped)) {
267
+ if ((0, isPromise_ts_1.isPromise)(stopped)) {
292
268
  stopped.catch(() => undefined);
293
269
  }
294
- /* c8 ignore stop */
295
270
  return;
296
271
  }
297
- const itemPath = (0, Path_js_1.addPath)(streamPath, index, undefined);
272
+ const itemPath = (0, Path_ts_1.addPath)(streamPath, index, undefined);
298
273
  const executor = createSubExecutor();
299
274
  let streamItemResult = executor.completeStreamItem(itemPath, iteration.value, fieldDetailsList, info, itemType);
300
- if ((0, isPromise_js_1.isPromise)(streamItemResult)) {
275
+ if ((0, isPromise_ts_1.isPromise)(streamItemResult)) {
301
276
  if (enableEarlyExecution) {
302
277
  const abortStreamItem = (reason) => executor.abort(reason);
303
278
  abortStreamItems.add(abortStreamItem);
@@ -306,7 +281,6 @@ class IncrementalExecutor extends Executor_js_1.Executor {
306
281
  });
307
282
  }
308
283
  else {
309
- // eslint-disable-next-line no-await-in-loop
310
284
  streamItemResult = await streamItemResult;
311
285
  if (stopRequested) {
312
286
  return;
@@ -314,8 +288,7 @@ class IncrementalExecutor extends Executor_js_1.Executor {
314
288
  }
315
289
  }
316
290
  const pushResult = push(streamItemResult);
317
- if ((0, isPromise_js_1.isPromise)(pushResult)) {
318
- // eslint-disable-next-line no-await-in-loop
291
+ if ((0, isPromise_ts_1.isPromise)(pushResult)) {
319
292
  await pushResult;
320
293
  if (stopRequested) {
321
294
  return;
@@ -323,13 +296,11 @@ class IncrementalExecutor extends Executor_js_1.Executor {
323
296
  }
324
297
  index += 1;
325
298
  }
326
- },
327
- // set initialCapacity to 100 by default
328
- 100);
299
+ }, 100);
329
300
  return queue;
330
301
  }
331
302
  completeStreamItem(itemPath, item, fieldDetailsList, info, itemType) {
332
- if ((0, isPromise_js_1.isPromiseLike)(item)) {
303
+ if ((0, isPromise_ts_1.isPromiseLike)(item)) {
333
304
  return this.completePromisedValue(itemType, fieldDetailsList, info, itemPath, item, undefined)
334
305
  .then((resolvedItem) => this.buildStreamItemResult(resolvedItem), (rawError) => {
335
306
  this.handleFieldError(rawError, itemType, fieldDetailsList, itemPath);
@@ -354,7 +325,7 @@ class IncrementalExecutor extends Executor_js_1.Executor {
354
325
  this.abort();
355
326
  throw error;
356
327
  }
357
- if ((0, isPromise_js_1.isPromise)(result)) {
328
+ if ((0, isPromise_ts_1.isPromise)(result)) {
358
329
  return result
359
330
  .then((resolved) => this.buildStreamItemResult(resolved), (rawError) => {
360
331
  this.handleFieldError(rawError, itemType, fieldDetailsList, itemPath);
@@ -384,7 +355,6 @@ function getDeliveryGroups(deferUsageSet, deliveryGroupMap) {
384
355
  return Array.from(deferUsageSet).map((deferUsage) => deliveryGroupFromDeferUsage(deferUsage, deliveryGroupMap));
385
356
  }
386
357
  function deliveryGroupFromDeferUsage(deferUsage, deliveryGroupMap) {
387
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
388
358
  return deliveryGroupMap.get(deferUsage);
389
359
  }
390
360
  //# sourceMappingURL=IncrementalExecutor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IncrementalExecutor.js","sourceRoot":"","sources":["../../../src/execution/incremental/IncrementalExecutor.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable max-params */\nimport { invariant } from '../../jsutils/invariant.js';\nimport { isPromise, isPromiseLike } from '../../jsutils/isPromise.js';\nimport { memoize1 } from '../../jsutils/memoize1.js';\nimport { memoize2 } from '../../jsutils/memoize2.js';\nimport type { ObjMap } from '../../jsutils/ObjMap.js';\nimport type { Path } from '../../jsutils/Path.js';\nimport { addPath, pathToArray } from '../../jsutils/Path.js';\nimport type { PromiseOrValue } from '../../jsutils/PromiseOrValue.js';\n\nimport type {\n GraphQLError,\n GraphQLFormattedError,\n} from '../../error/GraphQLError.js';\nimport { locatedError } from '../../error/locatedError.js';\n\nimport type { FieldNode } from '../../language/ast.js';\nimport { OperationTypeNode } from '../../language/ast.js';\n\nimport type {\n GraphQLObjectType,\n GraphQLOutputType,\n GraphQLResolveInfo,\n} from '../../type/definition.js';\n\nimport type {\n DeferUsage,\n FieldDetailsList,\n GroupedFieldSet,\n} from '../collectFields.js';\nimport { collectSubfields as _collectSubfields } from '../collectFields.js';\nimport { collectIteratorPromises } from '../collectIteratorPromises.js';\nimport type { SharedExecutionContext } from '../createSharedExecutionContext.js';\nimport type {\n ExecutionResult,\n FormattedExecutionResult,\n ValidatedExecutionArgs,\n} from '../Executor.js';\nimport { Executor } from '../Executor.js';\nimport type { StreamUsage } from '../getStreamUsage.js';\nimport type {\n DeferUsageSet,\n ExecutionPlan,\n} from '../incremental/buildExecutionPlan.js';\nimport { buildExecutionPlan } from '../incremental/buildExecutionPlan.js';\nimport { returnIteratorCatchingErrors } from '../returnIteratorCatchingErrors.js';\n\nimport { Computation } from './Computation.js';\nimport { IncrementalPublisher } from './IncrementalPublisher.js';\nimport { Queue } from './Queue.js';\nimport type { Group, Stream, Task, Work } from './WorkQueue.js';\n\nconst buildExecutionPlanFromInitial = memoize1(\n (groupedFieldSet: GroupedFieldSet) => buildExecutionPlan(groupedFieldSet),\n);\n\nconst buildExecutionPlanFromDeferred = memoize2(\n (groupedFieldSet: GroupedFieldSet, deferUsageSet: DeferUsageSet) =>\n buildExecutionPlan(groupedFieldSet, deferUsageSet),\n);\n\n/**\n * The result of GraphQL execution.\n *\n * - `errors` is included when any errors occurred as a non-empty array.\n * - `data` is the result of a successful execution of the query.\n * - `hasNext` is true if a future payload is expected.\n * - `extensions` is reserved for adding non-standard properties.\n * - `incremental` is a list of the results from defer/stream directives.\n */\nexport interface ExperimentalIncrementalExecutionResults<\n TInitialData = ObjMap<unknown>,\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n initialResult: InitialIncrementalExecutionResult<TInitialData, TExtensions>;\n subsequentResults: AsyncGenerator<\n SubsequentIncrementalExecutionResult<\n TDeferredData,\n TStreamItem,\n TExtensions\n >,\n void,\n void\n >;\n}\n\nexport interface FormattedExperimentalIncrementalExecutionResults<\n TInitial = ObjMap<unknown>,\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n initialResult: FormattedInitialIncrementalExecutionResult<\n TInitial,\n TExtensions\n >;\n subsequentResults: AsyncGenerator<\n FormattedSubsequentIncrementalExecutionResult<\n TDeferredData,\n TStreamItem,\n TExtensions\n >,\n void,\n void\n >;\n}\nexport interface InitialIncrementalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends ExecutionResult<TData, TExtensions> {\n data: TData;\n pending: ReadonlyArray<PendingResult>;\n hasNext: true;\n extensions?: TExtensions;\n}\n\nexport interface FormattedInitialIncrementalExecutionResult<\n TInitialData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends FormattedExecutionResult<TInitialData, TExtensions> {\n data: TInitialData;\n pending: ReadonlyArray<PendingResult>;\n hasNext: boolean;\n extensions?: TExtensions;\n}\n\nexport interface SubsequentIncrementalExecutionResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n pending?: ReadonlyArray<PendingResult>;\n incremental?: ReadonlyArray<\n IncrementalResult<TDeferredData, TStreamItem, TExtensions>\n >;\n completed?: ReadonlyArray<CompletedResult>;\n hasNext: boolean;\n extensions?: TExtensions;\n}\n\nexport interface FormattedSubsequentIncrementalExecutionResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n hasNext: boolean;\n pending?: ReadonlyArray<PendingResult>;\n incremental?: ReadonlyArray<\n FormattedIncrementalResult<TDeferredData, TStreamItem, TExtensions>\n >;\n completed?: ReadonlyArray<FormattedCompletedResult>;\n extensions?: TExtensions;\n}\n\nexport interface IncrementalDeferResult<\n TDeferredData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n id: string;\n subPath?: ReadonlyArray<string | number>;\n errors?: ReadonlyArray<GraphQLError>;\n data: TDeferredData;\n extensions?: TExtensions;\n}\n\nexport interface FormattedIncrementalDeferResult<\n TDeferredData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n errors?: ReadonlyArray<GraphQLFormattedError>;\n data: TDeferredData;\n id: string;\n subPath?: ReadonlyArray<string | number>;\n extensions?: TExtensions;\n}\n\nexport interface IncrementalStreamResult<\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n id: string;\n subPath?: ReadonlyArray<string | number>;\n errors?: ReadonlyArray<GraphQLError>;\n items: ReadonlyArray<TStreamItem>;\n extensions?: TExtensions;\n}\n\nexport interface FormattedIncrementalStreamResult<\n TStreamItem = Array<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n errors?: ReadonlyArray<GraphQLFormattedError>;\n items: ReadonlyArray<TStreamItem>;\n id: string;\n subPath?: ReadonlyArray<string | number>;\n extensions?: TExtensions;\n}\n\nexport type IncrementalResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> =\n | IncrementalDeferResult<TDeferredData, TExtensions>\n | IncrementalStreamResult<TStreamItem, TExtensions>;\n\nexport type FormattedIncrementalResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> =\n | FormattedIncrementalDeferResult<TDeferredData, TExtensions>\n | FormattedIncrementalStreamResult<TStreamItem, TExtensions>;\n\nexport interface PendingResult {\n id: string;\n path: ReadonlyArray<string | number>;\n label?: string;\n}\n\nexport interface CompletedResult {\n id: string;\n errors?: ReadonlyArray<GraphQLError>;\n}\n\nexport interface FormattedCompletedResult {\n id: string;\n errors?: ReadonlyArray<GraphQLFormattedError>;\n}\n\n/** @internal */\ninterface ExecutionGroup extends Task<\n ExecutionGroupValue,\n StreamItemValue,\n DeliveryGroup,\n ItemStream\n> {\n groups: ReadonlyArray<DeliveryGroup>;\n path: Path | undefined;\n computation: Computation<ExecutionGroupResult>;\n}\n\n/** @internal */\nexport interface DeliveryGroup extends Group<DeliveryGroup> {\n path: Path | undefined;\n label: string | undefined;\n parent: DeliveryGroup | undefined;\n}\n\nexport interface ItemStream extends Stream<\n ExecutionGroupValue,\n StreamItemValue,\n DeliveryGroup,\n ItemStream\n> {\n path: Path;\n label: string | undefined;\n initialCount: number;\n}\n\nexport interface ExecutionGroupValue {\n deliveryGroups: ReadonlyArray<DeliveryGroup>;\n path: ReadonlyArray<string | number>;\n errors?: ReadonlyArray<GraphQLError>;\n data: ObjMap<unknown>;\n}\n\nexport type IncrementalWork = Work<\n ExecutionGroupValue,\n StreamItemValue,\n DeliveryGroup,\n ItemStream\n>;\n\nexport interface ExecutionGroupResult {\n value: ExecutionGroupValue;\n work?: IncrementalWork | undefined;\n}\n\nexport interface StreamItemValue {\n errors?: ReadonlyArray<GraphQLError>;\n item: unknown;\n}\n\nexport interface StreamItemResult {\n value: StreamItemValue;\n work?: IncrementalWork | undefined;\n}\n\n/** @internal */\nexport class IncrementalExecutor<\n TExperimental = ExperimentalIncrementalExecutionResults,\n> extends Executor<ReadonlyMap<DeferUsage, DeliveryGroup>, TExperimental> {\n deferUsageSet?: DeferUsageSet | undefined;\n groups: Array<DeliveryGroup>;\n tasks: Array<ExecutionGroup>;\n streams: Array<ItemStream>;\n\n constructor(\n validatedExecutionArgs: ValidatedExecutionArgs,\n sharedExecutionContext?: SharedExecutionContext,\n deferUsageSet?: DeferUsageSet,\n ) {\n super(validatedExecutionArgs, sharedExecutionContext);\n this.deferUsageSet = deferUsageSet;\n this.groups = [];\n this.tasks = [];\n this.streams = [];\n }\n\n getCreateSubExecutor(): (\n deferUsageSet?: DeferUsageSet,\n ) => IncrementalExecutor<TExperimental> {\n const validatedExecutionArgs = this.validatedExecutionArgs;\n const sharedExecutionContext = this.sharedExecutionContext;\n\n return (deferUsageSet?: DeferUsageSet) =>\n new IncrementalExecutor<TExperimental>(\n validatedExecutionArgs,\n sharedExecutionContext,\n deferUsageSet,\n );\n }\n\n override abort(reason?: unknown): void {\n super.abort(reason);\n for (const task of this.tasks) {\n const aborted = task.computation.abort(reason);\n invariant(!isPromise(aborted));\n }\n for (const stream of this.streams) {\n const aborted = stream.queue.abort(reason);\n invariant(!isPromise(aborted));\n }\n }\n\n /**\n * Given a completed execution context and data, build the `{ errors, data }`\n * response defined by the \"Response\" section of the GraphQL specification.\n */\n override buildResponse(\n data: ObjMap<unknown> | null,\n ): ExecutionResult | TExperimental {\n const work = this.getIncrementalWork();\n const { tasks, streams } = work;\n if (tasks?.length === 0 && streams?.length === 0) {\n return super.buildResponse(data);\n }\n\n const errors = this.collectedErrors.errors;\n invariant(data !== null);\n const incrementalPublisher = new IncrementalPublisher();\n return incrementalPublisher.buildResponse(\n data,\n errors,\n work,\n this.validatedExecutionArgs.externalAbortSignal,\n this.getFinishSharedExecution(),\n ) as TExperimental;\n }\n\n override executeCollectedRootFields(\n rootType: GraphQLObjectType,\n rootValue: unknown,\n originalGroupedFieldSet: GroupedFieldSet,\n serially: boolean,\n newDeferUsages: ReadonlyArray<DeferUsage>,\n ): PromiseOrValue<ObjMap<unknown>> {\n if (newDeferUsages.length === 0) {\n return this.executeRootGroupedFieldSet(\n rootType,\n rootValue,\n originalGroupedFieldSet,\n serially,\n undefined,\n );\n }\n\n invariant(\n this.validatedExecutionArgs.operation.operation !==\n OperationTypeNode.SUBSCRIPTION,\n '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n );\n\n const { newDeliveryGroups, newDeliveryGroupMap } =\n this.getNewDeliveryGroupMap(newDeferUsages, undefined, undefined);\n\n const { groupedFieldSet, newGroupedFieldSets } =\n this.buildRootExecutionPlan(originalGroupedFieldSet);\n\n const data = this.executeRootGroupedFieldSet(\n rootType,\n rootValue,\n groupedFieldSet,\n serially,\n newDeliveryGroupMap,\n );\n\n this.groups.push(...newDeliveryGroups);\n\n if (newGroupedFieldSets.size > 0) {\n this.collectExecutionGroups(\n rootType,\n rootValue,\n undefined,\n newGroupedFieldSets,\n newDeliveryGroupMap,\n );\n }\n\n return data;\n }\n\n buildRootExecutionPlan(\n originalGroupedFieldSet: GroupedFieldSet,\n ): ExecutionPlan {\n return buildExecutionPlanFromInitial(originalGroupedFieldSet);\n }\n\n override executeCollectedSubfields(\n parentType: GraphQLObjectType,\n sourceValue: unknown,\n path: Path | undefined,\n originalGroupedFieldSet: GroupedFieldSet,\n newDeferUsages: ReadonlyArray<DeferUsage>,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup> | undefined,\n ): PromiseOrValue<ObjMap<unknown>> {\n if (newDeferUsages.length > 0) {\n invariant(\n this.validatedExecutionArgs.operation.operation !==\n OperationTypeNode.SUBSCRIPTION,\n '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n );\n }\n\n if (deliveryGroupMap === undefined && newDeferUsages.length === 0) {\n return this.executeFields(\n parentType,\n sourceValue,\n path,\n originalGroupedFieldSet,\n deliveryGroupMap,\n );\n }\n\n const { newDeliveryGroups, newDeliveryGroupMap } =\n this.getNewDeliveryGroupMap(newDeferUsages, deliveryGroupMap, path);\n\n const { groupedFieldSet, newGroupedFieldSets } = this.buildSubExecutionPlan(\n originalGroupedFieldSet,\n );\n\n const data = this.executeFields(\n parentType,\n sourceValue,\n path,\n groupedFieldSet,\n newDeliveryGroupMap,\n );\n\n this.groups.push(...newDeliveryGroups);\n\n if (newGroupedFieldSets.size > 0) {\n this.collectExecutionGroups(\n parentType,\n sourceValue,\n path,\n newGroupedFieldSets,\n newDeliveryGroupMap,\n );\n }\n\n return data;\n }\n\n buildSubExecutionPlan(\n originalGroupedFieldSet: GroupedFieldSet,\n ): ExecutionPlan {\n return this.deferUsageSet === undefined\n ? buildExecutionPlanFromInitial(originalGroupedFieldSet)\n : buildExecutionPlanFromDeferred(\n originalGroupedFieldSet,\n this.deferUsageSet,\n );\n }\n\n collectExecutionGroups(\n parentType: GraphQLObjectType,\n sourceValue: unknown,\n path: Path | undefined,\n newGroupedFieldSets: Map<DeferUsageSet, GroupedFieldSet>,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n ): void {\n const createSubExecutor = this.getCreateSubExecutor();\n for (const [deferUsageSet, groupedFieldSet] of newGroupedFieldSets) {\n const deliveryGroups = getDeliveryGroups(deferUsageSet, deliveryGroupMap);\n\n const executor = createSubExecutor(deferUsageSet);\n\n const executionGroup: ExecutionGroup = {\n groups: deliveryGroups,\n path,\n computation: new Computation(\n () =>\n executor.executeExecutionGroup(\n deliveryGroups,\n parentType,\n sourceValue,\n path,\n groupedFieldSet,\n deliveryGroupMap,\n ),\n (reason) => executor.abort(reason),\n ),\n };\n\n const parentDeferUsages = this.deferUsageSet;\n\n if (this.validatedExecutionArgs.enableEarlyExecution) {\n if (this.shouldDefer(parentDeferUsages, deferUsageSet)) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => executionGroup.computation.prime());\n } else {\n executionGroup.computation.prime();\n }\n }\n\n this.tasks.push(executionGroup);\n }\n }\n\n executeExecutionGroup(\n deliveryGroups: ReadonlyArray<DeliveryGroup>,\n parentType: GraphQLObjectType,\n sourceValue: unknown,\n path: Path | undefined,\n groupedFieldSet: GroupedFieldSet,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n ): PromiseOrValue<ExecutionGroupResult> {\n let result;\n try {\n result = this.executeFields(\n parentType,\n sourceValue,\n path,\n groupedFieldSet,\n deliveryGroupMap,\n );\n } catch (error) {\n this.abort();\n throw error;\n }\n\n if (isPromise(result)) {\n return result.then(\n (resolved) =>\n this.buildExecutionGroupResult(deliveryGroups, path, resolved),\n (error: unknown) => {\n this.abort();\n throw error;\n },\n );\n }\n\n return this.buildExecutionGroupResult(deliveryGroups, path, result);\n }\n\n buildExecutionGroupResult(\n deliveryGroups: ReadonlyArray<DeliveryGroup>,\n path: Path | undefined,\n result: ObjMap<unknown>,\n ): ExecutionGroupResult {\n const data = result;\n const errors = this.collectedErrors.errors;\n return this.finish({\n value: errors.length\n ? { deliveryGroups, path: pathToArray(path), errors, data }\n : { deliveryGroups, path: pathToArray(path), data },\n work: this.getIncrementalWork(),\n });\n }\n\n getIncrementalWork(): IncrementalWork {\n const { groups, tasks, streams, collectedErrors } = this;\n\n if (collectedErrors.errors.length === 0) {\n return { groups, tasks, streams };\n }\n\n const cancellationReason = new Error(\n 'Cancelled secondary to null within original result',\n );\n\n const filteredTasks: Array<ExecutionGroup> = [];\n for (const task of tasks) {\n if (collectedErrors.hasNulledPosition(task.path)) {\n const aborted = task.computation.abort(cancellationReason);\n invariant(!isPromise(aborted));\n } else {\n filteredTasks.push(task);\n }\n }\n\n const filteredStreams: Array<ItemStream> = [];\n for (const stream of streams) {\n if (collectedErrors.hasNulledPosition(stream.path)) {\n const aborted = stream.queue.abort(cancellationReason);\n invariant(!isPromise(aborted));\n } else {\n filteredStreams.push(stream);\n }\n }\n\n return {\n groups,\n tasks: filteredTasks,\n streams: filteredStreams,\n };\n }\n\n /**\n * Instantiates new DeliveryGroups for the given path, returning an\n * updated map of DeferUsage objects to DeliveryGroups.\n *\n * Note: As defer directives may be used with operations returning lists,\n * a DeferUsage object may correspond to many DeliveryGroups.\n */\n getNewDeliveryGroupMap(\n newDeferUsages: ReadonlyArray<DeferUsage>,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup> | undefined,\n path: Path | undefined,\n ): {\n newDeliveryGroups: ReadonlyArray<DeliveryGroup>;\n newDeliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>;\n } {\n const newDeliveryGroups: Array<DeliveryGroup> = [];\n const newDeliveryGroupMap = new Map(deliveryGroupMap);\n\n // For each new deferUsage object:\n for (const newDeferUsage of newDeferUsages) {\n const parentDeferUsage = newDeferUsage.parentDeferUsage;\n\n const parent =\n parentDeferUsage === undefined\n ? undefined\n : deliveryGroupFromDeferUsage(parentDeferUsage, newDeliveryGroupMap);\n\n // Create a new DeliveryGroup object\n const deliveryGroup: DeliveryGroup = {\n path,\n label: newDeferUsage.label,\n parent,\n };\n\n // Add it to the list of new groups\n newDeliveryGroups.push(deliveryGroup);\n\n // Update the map\n newDeliveryGroupMap.set(newDeferUsage, deliveryGroup);\n }\n\n return {\n newDeliveryGroups,\n newDeliveryGroupMap,\n };\n }\n\n shouldDefer(\n parentDeferUsages: undefined | DeferUsageSet,\n deferUsages: DeferUsageSet,\n ): boolean {\n // If we have a new child defer usage, defer.\n // Otherwise, this defer usage was already deferred when it was initially\n // encountered, and is now in the midst of executing early, so the new\n // deferred grouped fields set can be executed immediately.\n return (\n parentDeferUsages === undefined ||\n !Array.from(deferUsages).every((deferUsage) =>\n parentDeferUsages.has(deferUsage),\n )\n );\n }\n\n override handleStream(\n index: number,\n path: Path,\n iterator:\n | { handle: Iterator<unknown>; isAsync?: never }\n | { handle: AsyncIterator<unknown>; isAsync: true },\n streamUsage: StreamUsage,\n info: GraphQLResolveInfo,\n itemType: GraphQLOutputType,\n ): boolean {\n const { handle, isAsync } = iterator;\n const queue = this.buildStreamItemQueue(\n index,\n path,\n handle,\n streamUsage.fieldDetailsList,\n info,\n itemType,\n isAsync,\n );\n\n const itemStream: ItemStream = {\n label: streamUsage.label,\n path,\n queue,\n initialCount: index,\n };\n\n this.streams.push(itemStream);\n return true;\n }\n\n buildStreamItemQueue(\n initialIndex: number,\n streamPath: Path,\n iterator: Iterator<unknown> | AsyncIterator<unknown>,\n fieldDetailsList: FieldDetailsList,\n info: GraphQLResolveInfo,\n itemType: GraphQLOutputType,\n isAsync: boolean | undefined,\n ): Queue<StreamItemResult> {\n const createSubExecutor = this.getCreateSubExecutor();\n const { enableEarlyExecution } = this.validatedExecutionArgs;\n const sharedExecutionContext = this.sharedExecutionContext;\n const queue = new Queue<StreamItemResult>(\n async ({ push, stop, onStop, started }) => {\n const abortStreamItems = new Set<(reason?: unknown) => void>();\n let finishedNormally = false;\n let stopRequested = false;\n\n onStop((reason) => {\n stopRequested = true;\n if (!finishedNormally) {\n for (const abortStreamItem of abortStreamItems) {\n abortStreamItem(reason);\n }\n if (isAsync) {\n sharedExecutionContext.asyncWorkTracker.add(\n returnIteratorCatchingErrors(\n iterator as AsyncIterator<unknown>,\n ),\n );\n } else {\n sharedExecutionContext.asyncWorkTracker.addValues(\n collectIteratorPromises(iterator as Iterator<unknown>),\n );\n }\n }\n });\n await (enableEarlyExecution ? Promise.resolve() : started);\n if (stopRequested) {\n return;\n }\n let index = initialIndex;\n while (true) {\n let iteration;\n try {\n if (isAsync) {\n // eslint-disable-next-line no-await-in-loop\n iteration = await iterator.next();\n if (stopRequested) {\n return;\n }\n } else {\n iteration = (iterator as Iterator<unknown>).next();\n }\n } catch (rawError) {\n throw locatedError(\n rawError,\n toNodes(fieldDetailsList),\n pathToArray(streamPath),\n );\n }\n\n if (iteration.done) {\n finishedNormally = true;\n const stopped = stop();\n /* c8 ignore start */\n if (isPromise(stopped)) {\n stopped.catch(() => undefined);\n }\n /* c8 ignore stop */\n return;\n }\n\n const itemPath = addPath(streamPath, index, undefined);\n\n const executor = createSubExecutor();\n\n let streamItemResult = executor.completeStreamItem(\n itemPath,\n iteration.value,\n fieldDetailsList,\n info,\n itemType,\n );\n if (isPromise(streamItemResult)) {\n if (enableEarlyExecution) {\n const abortStreamItem = (reason?: unknown) =>\n executor.abort(reason);\n abortStreamItems.add(abortStreamItem);\n streamItemResult = streamItemResult.finally(() => {\n abortStreamItems.delete(abortStreamItem);\n });\n } else {\n // eslint-disable-next-line no-await-in-loop\n streamItemResult = await streamItemResult;\n if (stopRequested) {\n return;\n }\n }\n }\n const pushResult = push(streamItemResult);\n if (isPromise(pushResult)) {\n // eslint-disable-next-line no-await-in-loop\n await pushResult;\n if (stopRequested) {\n return;\n }\n }\n index += 1;\n }\n },\n // set initialCapacity to 100 by default\n 100,\n );\n return queue;\n }\n\n completeStreamItem(\n itemPath: Path,\n item: unknown,\n fieldDetailsList: FieldDetailsList,\n info: GraphQLResolveInfo,\n itemType: GraphQLOutputType,\n ): PromiseOrValue<StreamItemResult> {\n if (isPromiseLike(item)) {\n return this.completePromisedValue(\n itemType,\n fieldDetailsList,\n info,\n itemPath,\n item,\n undefined,\n )\n .then(\n (resolvedItem) => this.buildStreamItemResult(resolvedItem),\n (rawError: unknown) => {\n this.handleFieldError(\n rawError,\n itemType,\n fieldDetailsList,\n itemPath,\n );\n return this.buildStreamItemResult(null);\n },\n )\n .then(undefined, (error: unknown) => {\n this.abort();\n throw error;\n });\n }\n\n let result: PromiseOrValue<unknown>;\n try {\n try {\n result = this.completeValue(\n itemType,\n fieldDetailsList,\n info,\n itemPath,\n item,\n undefined,\n );\n } catch (rawError) {\n this.handleFieldError(rawError, itemType, fieldDetailsList, itemPath);\n return this.buildStreamItemResult(null);\n }\n } catch (error) {\n this.abort();\n throw error;\n }\n\n if (isPromise(result)) {\n return result\n .then(\n (resolved) => this.buildStreamItemResult(resolved),\n (rawError: unknown) => {\n this.handleFieldError(\n rawError,\n itemType,\n fieldDetailsList,\n itemPath,\n );\n return this.buildStreamItemResult(null);\n },\n )\n .then(undefined, (error: unknown) => {\n this.abort();\n throw error;\n });\n }\n\n return this.buildStreamItemResult(result);\n }\n\n buildStreamItemResult(result: unknown): StreamItemResult {\n const item = result;\n const errors = this.collectedErrors.errors;\n const work = this.getIncrementalWork();\n return this.finish(\n errors.length > 0\n ? { value: { item, errors }, work }\n : { value: { item }, work },\n );\n }\n}\n\nfunction toNodes(fieldDetailsList: FieldDetailsList): ReadonlyArray<FieldNode> {\n return fieldDetailsList.map((fieldDetails) => fieldDetails.node);\n}\n\nfunction getDeliveryGroups(\n deferUsageSet: DeferUsageSet,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n): ReadonlyArray<DeliveryGroup> {\n return Array.from(deferUsageSet).map((deferUsage) =>\n deliveryGroupFromDeferUsage(deferUsage, deliveryGroupMap),\n );\n}\n\nfunction deliveryGroupFromDeferUsage(\n deferUsage: DeferUsage,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n): DeliveryGroup {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return deliveryGroupMap.get(deferUsage)!;\n}\n"]}
1
+ {"version":3,"file":"IncrementalExecutor.js","sourceRoot":"","sources":["../../../src/execution/incremental/IncrementalExecutor.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Incremental Execution */\n\n/* eslint-disable max-params */\nimport { invariant } from '../../jsutils/invariant.ts';\nimport { isPromise, isPromiseLike } from '../../jsutils/isPromise.ts';\nimport { memoize1 } from '../../jsutils/memoize1.ts';\nimport { memoize2 } from '../../jsutils/memoize2.ts';\nimport type { ObjMap } from '../../jsutils/ObjMap.ts';\nimport type { Path } from '../../jsutils/Path.ts';\nimport { addPath, pathToArray } from '../../jsutils/Path.ts';\nimport type { PromiseOrValue } from '../../jsutils/PromiseOrValue.ts';\n\nimport type {\n GraphQLError,\n GraphQLFormattedError,\n} from '../../error/GraphQLError.ts';\nimport { locatedError } from '../../error/locatedError.ts';\n\nimport type { FieldNode } from '../../language/ast.ts';\nimport { OperationTypeNode } from '../../language/ast.ts';\n\nimport type {\n GraphQLObjectType,\n GraphQLOutputType,\n GraphQLResolveInfo,\n} from '../../type/definition.ts';\n\nimport type {\n DeferUsage,\n FieldDetailsList,\n GroupedFieldSet,\n} from '../collectFields.ts';\nimport { collectSubfields as _collectSubfields } from '../collectFields.ts';\nimport { collectIteratorPromises } from '../collectIteratorPromises.ts';\nimport type { SharedExecutionContext } from '../createSharedExecutionContext.ts';\nimport type { ValidatedExecutionArgs } from '../ExecutionArgs.ts';\nimport type { ExecutionResult, FormattedExecutionResult } from '../Executor.ts';\nimport { Executor } from '../Executor.ts';\nimport type { StreamUsage } from '../getStreamUsage.ts';\nimport { returnIteratorCatchingErrors } from '../returnIteratorCatchingErrors.ts';\n\nimport type { DeferUsageSet, ExecutionPlan } from './buildExecutionPlan.ts';\nimport { buildExecutionPlan } from './buildExecutionPlan.ts';\nimport { Computation } from './Computation.ts';\nimport { IncrementalPublisher } from './IncrementalPublisher.ts';\nimport { Queue } from './Queue.ts';\nimport type { Group, Stream, Task, Work } from './WorkQueue.ts';\n\nconst buildExecutionPlanFromInitial = memoize1(\n (groupedFieldSet: GroupedFieldSet) => buildExecutionPlan(groupedFieldSet),\n);\n\nconst buildExecutionPlanFromDeferred = memoize2(\n (groupedFieldSet: GroupedFieldSet, deferUsageSet: DeferUsageSet) =>\n buildExecutionPlan(groupedFieldSet, deferUsageSet),\n);\n\n/**\n * Results for an operation that produced incremental payloads.\n * @typeParam TInitialData - Shape of the initial result data payload.\n * @typeParam TDeferredData - Shape of deferred fragment data payloads.\n * @typeParam TStreamItem - Shape of streamed list items.\n * @typeParam TExtensions - Shape of extensions payloads.\n */\nexport interface ExperimentalIncrementalExecutionResults<\n TInitialData = ObjMap<unknown>,\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n /** Initial execution result delivered before subsequent incremental payloads. */\n initialResult: InitialIncrementalExecutionResult<TInitialData, TExtensions>;\n /** Async stream of incremental payloads delivered after the initial result. */\n subsequentResults: AsyncGenerator<\n SubsequentIncrementalExecutionResult<\n TDeferredData,\n TStreamItem,\n TExtensions\n >,\n void,\n void\n >;\n}\n\n/**\n * JSON-serializable form of incremental execution results.\n * @typeParam TInitial - Shape of the formatted initial result data payload.\n * @typeParam TDeferredData - Shape of formatted deferred fragment data payloads.\n * @typeParam TStreamItem - Shape of formatted streamed list items.\n * @typeParam TExtensions - Shape of formatted extensions payloads.\n */\nexport interface FormattedExperimentalIncrementalExecutionResults<\n TInitial = ObjMap<unknown>,\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n /** Formatted initial execution result. */\n initialResult: FormattedInitialIncrementalExecutionResult<\n TInitial,\n TExtensions\n >;\n /** Async stream of formatted incremental payloads. */\n subsequentResults: AsyncGenerator<\n FormattedSubsequentIncrementalExecutionResult<\n TDeferredData,\n TStreamItem,\n TExtensions\n >,\n void,\n void\n >;\n}\n/**\n * Initial execution result for an operation that produced incremental payloads.\n * @typeParam TData - Shape of the initial data payload.\n * @typeParam TExtensions - Shape of the extensions payload.\n */\nexport interface InitialIncrementalExecutionResult<\n TData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends ExecutionResult<TData, TExtensions> {\n /** Data produced by the initial execution payload. */\n data: TData;\n /** Incremental payloads that are still pending after the initial result. */\n pending: ReadonlyArray<PendingResult>;\n /** Indicates that subsequent incremental payloads will follow. */\n hasNext: true;\n /** Additional non-standard metadata included in the initial result. */\n extensions?: TExtensions;\n}\n\n/**\n * JSON-serializable form of an initial incremental execution result.\n * @typeParam TInitialData - Shape of the formatted initial data payload.\n * @typeParam TExtensions - Shape of the formatted extensions payload.\n */\nexport interface FormattedInitialIncrementalExecutionResult<\n TInitialData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> extends FormattedExecutionResult<TInitialData, TExtensions> {\n /** Formatted data produced by the initial execution payload. */\n data: TInitialData;\n /** Formatted list of incremental payloads still pending after the initial result. */\n pending: ReadonlyArray<PendingResult>;\n /** Indicates whether subsequent incremental payloads will follow. */\n hasNext: boolean;\n /** Additional non-standard metadata included in the formatted initial result. */\n extensions?: TExtensions;\n}\n\n/**\n * Subsequent payload produced by incremental execution.\n * @typeParam TDeferredData - Shape of deferred fragment data payloads.\n * @typeParam TStreamItem - Shape of streamed list items.\n * @typeParam TExtensions - Shape of the extensions payload.\n */\nexport interface SubsequentIncrementalExecutionResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n /** Incremental payloads that became pending with this response. */\n pending?: ReadonlyArray<PendingResult>;\n /** Deferred or streamed payloads delivered by this response. */\n incremental?: ReadonlyArray<\n IncrementalResult<TDeferredData, TStreamItem, TExtensions>\n >;\n /** Incremental payloads that completed with this response. */\n completed?: ReadonlyArray<CompletedResult>;\n /** Indicates whether more incremental payloads will follow. */\n hasNext: boolean;\n /** Additional non-standard metadata included in this payload. */\n extensions?: TExtensions;\n}\n\n/**\n * JSON-serializable form of a subsequent incremental execution payload.\n * @typeParam TDeferredData - Shape of formatted deferred fragment data payloads.\n * @typeParam TStreamItem - Shape of formatted streamed list items.\n * @typeParam TExtensions - Shape of formatted extensions payloads.\n */\nexport interface FormattedSubsequentIncrementalExecutionResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n /** Indicates whether more incremental payloads will follow. */\n hasNext: boolean;\n /** Formatted incremental payloads that became pending with this response. */\n pending?: ReadonlyArray<PendingResult>;\n /** Formatted deferred or streamed payloads delivered by this response. */\n incremental?: ReadonlyArray<\n FormattedIncrementalResult<TDeferredData, TStreamItem, TExtensions>\n >;\n /** Formatted incremental payloads that completed with this response. */\n completed?: ReadonlyArray<FormattedCompletedResult>;\n /** Additional non-standard metadata included in this formatted payload. */\n extensions?: TExtensions;\n}\n\n/**\n * Incremental payload produced by a deferred fragment.\n * @typeParam TDeferredData - Shape of deferred fragment data.\n * @typeParam TExtensions - Shape of extensions payloads.\n */\nexport interface IncrementalDeferResult<\n TDeferredData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n /** Identifier matching this payload to a pending deferred fragment. */\n id: string;\n /** Path from the deferred fragment location to this payload. */\n subPath?: ReadonlyArray<string | number>;\n /** Errors raised while executing the deferred fragment. */\n errors?: ReadonlyArray<GraphQLError>;\n /** Data produced by the deferred fragment. */\n data: TDeferredData;\n /** Additional non-standard metadata included in this payload. */\n extensions?: TExtensions;\n}\n\n/**\n * JSON-serializable form of a deferred fragment payload.\n * @typeParam TDeferredData - Shape of formatted deferred fragment data.\n * @typeParam TExtensions - Shape of formatted extensions payloads.\n */\nexport interface FormattedIncrementalDeferResult<\n TDeferredData = ObjMap<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n /** Formatted errors raised while executing the deferred fragment. */\n errors?: ReadonlyArray<GraphQLFormattedError>;\n /** Formatted data produced by the deferred fragment. */\n data: TDeferredData;\n /** Identifier matching this payload to a pending deferred fragment. */\n id: string;\n /** Path from the deferred fragment location to this payload. */\n subPath?: ReadonlyArray<string | number>;\n /** Additional non-standard metadata included in this formatted payload. */\n extensions?: TExtensions;\n}\n\n/**\n * Incremental payload produced by a streamed list field.\n * @typeParam TStreamItem - Shape of streamed list items.\n * @typeParam TExtensions - Shape of extensions payloads.\n */\nexport interface IncrementalStreamResult<\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> {\n /** Identifier matching this payload to a pending stream. */\n id: string;\n /** Path from the streamed field location to these items. */\n subPath?: ReadonlyArray<string | number>;\n /** Errors raised while producing streamed items. */\n errors?: ReadonlyArray<GraphQLError>;\n /** Streamed list items delivered by this payload. */\n items: ReadonlyArray<TStreamItem>;\n /** Additional non-standard metadata included in this payload. */\n extensions?: TExtensions;\n}\n\n/**\n * JSON-serializable form of a streamed list payload.\n * @typeParam TStreamItem - Shape of formatted streamed list items.\n * @typeParam TExtensions - Shape of formatted extensions payloads.\n */\nexport interface FormattedIncrementalStreamResult<\n TStreamItem = Array<unknown>,\n TExtensions = ObjMap<unknown>,\n> {\n /** Formatted errors raised while producing streamed items. */\n errors?: ReadonlyArray<GraphQLFormattedError>;\n /** Formatted streamed list items delivered by this payload. */\n items: ReadonlyArray<TStreamItem>;\n /** Identifier matching this payload to a pending stream. */\n id: string;\n /** Path from the streamed field location to these items. */\n subPath?: ReadonlyArray<string | number>;\n /** Additional non-standard metadata included in this formatted payload. */\n extensions?: TExtensions;\n}\n\n/**\n * Deferred fragment or streamed list payload produced by incremental execution.\n * @typeParam TDeferredData - Shape of deferred fragment data.\n * @typeParam TStreamItem - Shape of streamed list items.\n * @typeParam TExtensions - Shape of extensions payloads.\n */\nexport type IncrementalResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> =\n | IncrementalDeferResult<TDeferredData, TExtensions>\n | IncrementalStreamResult<TStreamItem, TExtensions>;\n\n/**\n * JSON-serializable deferred fragment or streamed list payload.\n * @typeParam TDeferredData - Shape of formatted deferred fragment data.\n * @typeParam TStreamItem - Shape of formatted streamed list items.\n * @typeParam TExtensions - Shape of formatted extensions payloads.\n */\nexport type FormattedIncrementalResult<\n TDeferredData = ObjMap<unknown>,\n TStreamItem = unknown,\n TExtensions = ObjMap<unknown>,\n> =\n | FormattedIncrementalDeferResult<TDeferredData, TExtensions>\n | FormattedIncrementalStreamResult<TStreamItem, TExtensions>;\n\n/** @internal */\nexport interface PendingResult {\n id: string;\n path: ReadonlyArray<string | number>;\n label?: string;\n}\n\n/** @internal */\nexport interface CompletedResult {\n id: string;\n errors?: ReadonlyArray<GraphQLError>;\n}\n\n/** @internal */\nexport interface FormattedCompletedResult {\n id: string;\n errors?: ReadonlyArray<GraphQLFormattedError>;\n}\n\ninterface ExecutionGroup extends Task<\n ExecutionGroupValue,\n StreamItemValue,\n DeliveryGroup,\n ItemStream\n> {\n groups: ReadonlyArray<DeliveryGroup>;\n path: Path | undefined;\n computation: Computation<ExecutionGroupResult>;\n}\n\n/** @internal */\nexport interface DeliveryGroup extends Group<DeliveryGroup> {\n path: Path | undefined;\n label: string | undefined;\n parent: DeliveryGroup | undefined;\n}\n\n/** @internal */\nexport interface ItemStream extends Stream<\n ExecutionGroupValue,\n StreamItemValue,\n DeliveryGroup,\n ItemStream\n> {\n path: Path;\n label: string | undefined;\n initialCount: number;\n}\n\n/** @internal */\nexport interface ExecutionGroupValue {\n deliveryGroups: ReadonlyArray<DeliveryGroup>;\n path: ReadonlyArray<string | number>;\n errors?: ReadonlyArray<GraphQLError>;\n data: ObjMap<unknown>;\n}\n\n/** @internal */\nexport type IncrementalWork = Work<\n ExecutionGroupValue,\n StreamItemValue,\n DeliveryGroup,\n ItemStream\n>;\n\n/** @internal */\nexport interface ExecutionGroupResult {\n value: ExecutionGroupValue;\n work?: IncrementalWork | undefined;\n}\n\n/** @internal */\nexport interface StreamItemValue {\n errors?: ReadonlyArray<GraphQLError>;\n item: unknown;\n}\n\n/** @internal */\nexport interface StreamItemResult {\n value: StreamItemValue;\n work?: IncrementalWork | undefined;\n}\n\n/** @internal */\nexport class IncrementalExecutor<\n TExperimental = ExperimentalIncrementalExecutionResults,\n> extends Executor<ReadonlyMap<DeferUsage, DeliveryGroup>, TExperimental> {\n deferUsageSet?: DeferUsageSet | undefined;\n groups: Array<DeliveryGroup>;\n tasks: Array<ExecutionGroup>;\n streams: Array<ItemStream>;\n\n constructor(\n validatedExecutionArgs: ValidatedExecutionArgs,\n sharedExecutionContext?: SharedExecutionContext,\n deferUsageSet?: DeferUsageSet,\n ) {\n super(validatedExecutionArgs, sharedExecutionContext);\n this.deferUsageSet = deferUsageSet;\n this.groups = [];\n this.tasks = [];\n this.streams = [];\n }\n\n getCreateSubExecutor(): (\n deferUsageSet?: DeferUsageSet,\n ) => IncrementalExecutor<TExperimental> {\n const validatedExecutionArgs = this.validatedExecutionArgs;\n const sharedExecutionContext = this.sharedExecutionContext;\n\n return (deferUsageSet?: DeferUsageSet) =>\n new IncrementalExecutor<TExperimental>(\n validatedExecutionArgs,\n sharedExecutionContext,\n deferUsageSet,\n );\n }\n\n override abort(reason?: unknown): void {\n super.abort(reason);\n for (const task of this.tasks) {\n const aborted = task.computation.abort(reason);\n invariant(!isPromise(aborted));\n }\n for (const stream of this.streams) {\n const aborted = stream.queue.abort(reason);\n invariant(!isPromise(aborted));\n }\n }\n\n /**\n * Given a completed execution context and data, build the `{ errors, data }`\n * response defined by the \"Response\" section of the GraphQL specification.\n *\n * @internal\n */\n override buildResponse(\n data: ObjMap<unknown> | null,\n ): ExecutionResult | TExperimental {\n const work = this.getIncrementalWork();\n const { tasks, streams } = work;\n if (tasks?.length === 0 && streams?.length === 0) {\n return super.buildResponse(data);\n }\n\n const errors = this.collectedErrors.errors;\n invariant(data !== null);\n const incrementalPublisher = new IncrementalPublisher();\n return incrementalPublisher.buildResponse(\n data,\n errors,\n work,\n this.validatedExecutionArgs.externalAbortSignal,\n this.getFinishSharedExecution(),\n ) as TExperimental;\n }\n\n override executeCollectedRootFields(\n rootType: GraphQLObjectType,\n rootValue: unknown,\n originalGroupedFieldSet: GroupedFieldSet,\n serially: boolean,\n newDeferUsages: ReadonlyArray<DeferUsage>,\n ): PromiseOrValue<ObjMap<unknown>> {\n if (newDeferUsages.length === 0) {\n return this.executeRootGroupedFieldSet(\n rootType,\n rootValue,\n originalGroupedFieldSet,\n serially,\n undefined,\n );\n }\n\n invariant(\n this.validatedExecutionArgs.operation.operation !==\n OperationTypeNode.SUBSCRIPTION,\n '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n );\n\n const { newDeliveryGroups, newDeliveryGroupMap } =\n this.getNewDeliveryGroupMap(newDeferUsages, undefined, undefined);\n\n const { groupedFieldSet, newGroupedFieldSets } =\n this.buildRootExecutionPlan(originalGroupedFieldSet);\n\n const data = this.executeRootGroupedFieldSet(\n rootType,\n rootValue,\n groupedFieldSet,\n serially,\n newDeliveryGroupMap,\n );\n\n this.groups.push(...newDeliveryGroups);\n\n if (newGroupedFieldSets.size > 0) {\n this.collectExecutionGroups(\n rootType,\n rootValue,\n undefined,\n newGroupedFieldSets,\n newDeliveryGroupMap,\n );\n }\n\n return data;\n }\n\n buildRootExecutionPlan(\n originalGroupedFieldSet: GroupedFieldSet,\n ): ExecutionPlan {\n return buildExecutionPlanFromInitial(originalGroupedFieldSet);\n }\n\n override executeCollectedSubfields(\n parentType: GraphQLObjectType,\n sourceValue: unknown,\n path: Path | undefined,\n originalGroupedFieldSet: GroupedFieldSet,\n newDeferUsages: ReadonlyArray<DeferUsage>,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup> | undefined,\n ): PromiseOrValue<ObjMap<unknown>> {\n if (newDeferUsages.length > 0) {\n invariant(\n this.validatedExecutionArgs.operation.operation !==\n OperationTypeNode.SUBSCRIPTION,\n '`@defer` directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n );\n }\n\n if (deliveryGroupMap === undefined && newDeferUsages.length === 0) {\n return this.executeFields(\n parentType,\n sourceValue,\n path,\n originalGroupedFieldSet,\n deliveryGroupMap,\n );\n }\n\n const { newDeliveryGroups, newDeliveryGroupMap } =\n this.getNewDeliveryGroupMap(newDeferUsages, deliveryGroupMap, path);\n\n const { groupedFieldSet, newGroupedFieldSets } = this.buildSubExecutionPlan(\n originalGroupedFieldSet,\n );\n\n const data = this.executeFields(\n parentType,\n sourceValue,\n path,\n groupedFieldSet,\n newDeliveryGroupMap,\n );\n\n this.groups.push(...newDeliveryGroups);\n\n if (newGroupedFieldSets.size > 0) {\n this.collectExecutionGroups(\n parentType,\n sourceValue,\n path,\n newGroupedFieldSets,\n newDeliveryGroupMap,\n );\n }\n\n return data;\n }\n\n buildSubExecutionPlan(\n originalGroupedFieldSet: GroupedFieldSet,\n ): ExecutionPlan {\n return this.deferUsageSet === undefined\n ? buildExecutionPlanFromInitial(originalGroupedFieldSet)\n : buildExecutionPlanFromDeferred(\n originalGroupedFieldSet,\n this.deferUsageSet,\n );\n }\n\n collectExecutionGroups(\n parentType: GraphQLObjectType,\n sourceValue: unknown,\n path: Path | undefined,\n newGroupedFieldSets: Map<DeferUsageSet, GroupedFieldSet>,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n ): void {\n const createSubExecutor = this.getCreateSubExecutor();\n for (const [deferUsageSet, groupedFieldSet] of newGroupedFieldSets) {\n const deliveryGroups = getDeliveryGroups(deferUsageSet, deliveryGroupMap);\n\n const executor = createSubExecutor(deferUsageSet);\n\n const executionGroup: ExecutionGroup = {\n groups: deliveryGroups,\n path,\n computation: new Computation(\n () =>\n executor.executeExecutionGroup(\n deliveryGroups,\n parentType,\n sourceValue,\n path,\n groupedFieldSet,\n deliveryGroupMap,\n ),\n (reason) => executor.abort(reason),\n ),\n };\n\n const parentDeferUsages = this.deferUsageSet;\n\n if (this.validatedExecutionArgs.enableEarlyExecution) {\n if (this.shouldDefer(parentDeferUsages, deferUsageSet)) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => executionGroup.computation.prime());\n } else {\n executionGroup.computation.prime();\n }\n }\n\n this.tasks.push(executionGroup);\n }\n }\n\n executeExecutionGroup(\n deliveryGroups: ReadonlyArray<DeliveryGroup>,\n parentType: GraphQLObjectType,\n sourceValue: unknown,\n path: Path | undefined,\n groupedFieldSet: GroupedFieldSet,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n ): PromiseOrValue<ExecutionGroupResult> {\n let result;\n try {\n result = this.executeFields(\n parentType,\n sourceValue,\n path,\n groupedFieldSet,\n deliveryGroupMap,\n );\n } catch (error) {\n this.abort();\n throw error;\n }\n\n if (isPromise(result)) {\n return result.then(\n (resolved) =>\n this.buildExecutionGroupResult(deliveryGroups, path, resolved),\n (error: unknown) => {\n this.abort();\n throw error;\n },\n );\n }\n\n return this.buildExecutionGroupResult(deliveryGroups, path, result);\n }\n\n buildExecutionGroupResult(\n deliveryGroups: ReadonlyArray<DeliveryGroup>,\n path: Path | undefined,\n result: ObjMap<unknown>,\n ): ExecutionGroupResult {\n const data = result;\n const errors = this.collectedErrors.errors;\n return this.finish({\n value: errors.length\n ? { deliveryGroups, path: pathToArray(path), errors, data }\n : { deliveryGroups, path: pathToArray(path), data },\n work: this.getIncrementalWork(),\n });\n }\n\n getIncrementalWork(): IncrementalWork {\n const { groups, tasks, streams, collectedErrors } = this;\n\n if (collectedErrors.errors.length === 0) {\n return { groups, tasks, streams };\n }\n\n const cancellationReason = new Error(\n 'Cancelled secondary to null within original result',\n );\n\n const filteredTasks: Array<ExecutionGroup> = [];\n for (const task of tasks) {\n if (collectedErrors.hasNulledPosition(task.path)) {\n const aborted = task.computation.abort(cancellationReason);\n invariant(!isPromise(aborted));\n } else {\n filteredTasks.push(task);\n }\n }\n\n const filteredStreams: Array<ItemStream> = [];\n for (const stream of streams) {\n if (collectedErrors.hasNulledPosition(stream.path)) {\n const aborted = stream.queue.abort(cancellationReason);\n invariant(!isPromise(aborted));\n } else {\n filteredStreams.push(stream);\n }\n }\n\n return {\n groups,\n tasks: filteredTasks,\n streams: filteredStreams,\n };\n }\n\n /**\n * Instantiates new DeliveryGroups for the given path, returning an\n * updated map of DeferUsage objects to DeliveryGroups.\n *\n * Note: As defer directives may be used with operations returning lists,\n * a DeferUsage object may correspond to many DeliveryGroups.\n *\n * @internal\n */\n getNewDeliveryGroupMap(\n newDeferUsages: ReadonlyArray<DeferUsage>,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup> | undefined,\n path: Path | undefined,\n ): {\n newDeliveryGroups: ReadonlyArray<DeliveryGroup>;\n newDeliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>;\n } {\n const newDeliveryGroups: Array<DeliveryGroup> = [];\n const newDeliveryGroupMap = new Map(deliveryGroupMap);\n\n // For each new deferUsage object:\n for (const newDeferUsage of newDeferUsages) {\n const parentDeferUsage = newDeferUsage.parentDeferUsage;\n\n const parent =\n parentDeferUsage === undefined\n ? undefined\n : deliveryGroupFromDeferUsage(parentDeferUsage, newDeliveryGroupMap);\n\n // Create a new DeliveryGroup object\n const deliveryGroup: DeliveryGroup = {\n path,\n label: newDeferUsage.label,\n parent,\n };\n\n // Add it to the list of new groups\n newDeliveryGroups.push(deliveryGroup);\n\n // Update the map\n newDeliveryGroupMap.set(newDeferUsage, deliveryGroup);\n }\n\n return {\n newDeliveryGroups,\n newDeliveryGroupMap,\n };\n }\n\n shouldDefer(\n parentDeferUsages: undefined | DeferUsageSet,\n deferUsages: DeferUsageSet,\n ): boolean {\n // If we have a new child defer usage, defer.\n // Otherwise, this defer usage was already deferred when it was initially\n // encountered, and is now in the midst of executing early, so the new\n // deferred grouped fields set can be executed immediately.\n return (\n parentDeferUsages === undefined ||\n !Array.from(deferUsages).every((deferUsage) =>\n parentDeferUsages.has(deferUsage),\n )\n );\n }\n\n override handleStream(\n index: number,\n path: Path,\n iterator:\n | { handle: Iterator<unknown>; isAsync?: never }\n | { handle: AsyncIterator<unknown>; isAsync: true },\n streamUsage: StreamUsage,\n info: GraphQLResolveInfo,\n itemType: GraphQLOutputType,\n ): boolean {\n const { handle, isAsync } = iterator;\n const queue = this.buildStreamItemQueue(\n index,\n path,\n handle,\n streamUsage.fieldDetailsList,\n info,\n itemType,\n isAsync,\n );\n\n const itemStream: ItemStream = {\n label: streamUsage.label,\n path,\n queue,\n initialCount: index,\n };\n\n this.streams.push(itemStream);\n return true;\n }\n\n buildStreamItemQueue(\n initialIndex: number,\n streamPath: Path,\n iterator: Iterator<unknown> | AsyncIterator<unknown>,\n fieldDetailsList: FieldDetailsList,\n info: GraphQLResolveInfo,\n itemType: GraphQLOutputType,\n isAsync: boolean | undefined,\n ): Queue<StreamItemResult> {\n const createSubExecutor = this.getCreateSubExecutor();\n const { enableEarlyExecution } = this.validatedExecutionArgs;\n const sharedExecutionContext = this.sharedExecutionContext;\n const queue = new Queue<StreamItemResult>(\n async ({ push, stop, onStop, started }) => {\n const abortStreamItems = new Set<(reason?: unknown) => void>();\n let finishedNormally = false;\n let stopRequested = false;\n\n onStop((reason) => {\n stopRequested = true;\n if (!finishedNormally) {\n for (const abortStreamItem of abortStreamItems) {\n abortStreamItem(reason);\n }\n if (isAsync) {\n sharedExecutionContext.asyncWorkTracker.add(\n returnIteratorCatchingErrors(\n iterator as AsyncIterator<unknown>,\n ),\n );\n } else {\n sharedExecutionContext.asyncWorkTracker.addValues(\n collectIteratorPromises(iterator as Iterator<unknown>),\n );\n }\n }\n });\n await (enableEarlyExecution ? Promise.resolve() : started);\n if (stopRequested) {\n return;\n }\n let index = initialIndex;\n while (true) {\n let iteration;\n try {\n if (isAsync) {\n // eslint-disable-next-line no-await-in-loop\n iteration = await iterator.next();\n if (stopRequested) {\n return;\n }\n } else {\n iteration = (iterator as Iterator<unknown>).next();\n }\n } catch (rawError) {\n throw locatedError(\n rawError,\n toNodes(fieldDetailsList),\n pathToArray(streamPath),\n );\n }\n\n if (iteration.done) {\n finishedNormally = true;\n const stopped = stop();\n /* node:coverage disable */\n if (isPromise(stopped)) {\n stopped.catch(() => undefined);\n }\n /* node:coverage enable */\n return;\n }\n\n const itemPath = addPath(streamPath, index, undefined);\n\n const executor = createSubExecutor();\n\n let streamItemResult = executor.completeStreamItem(\n itemPath,\n iteration.value,\n fieldDetailsList,\n info,\n itemType,\n );\n if (isPromise(streamItemResult)) {\n if (enableEarlyExecution) {\n const abortStreamItem = (reason?: unknown) =>\n executor.abort(reason);\n abortStreamItems.add(abortStreamItem);\n streamItemResult = streamItemResult.finally(() => {\n abortStreamItems.delete(abortStreamItem);\n });\n } else {\n // eslint-disable-next-line no-await-in-loop\n streamItemResult = await streamItemResult;\n if (stopRequested) {\n return;\n }\n }\n }\n const pushResult = push(streamItemResult);\n if (isPromise(pushResult)) {\n // eslint-disable-next-line no-await-in-loop\n await pushResult;\n if (stopRequested) {\n return;\n }\n }\n index += 1;\n }\n },\n // set initialCapacity to 100 by default\n 100,\n );\n return queue;\n }\n\n completeStreamItem(\n itemPath: Path,\n item: unknown,\n fieldDetailsList: FieldDetailsList,\n info: GraphQLResolveInfo,\n itemType: GraphQLOutputType,\n ): PromiseOrValue<StreamItemResult> {\n if (isPromiseLike(item)) {\n return this.completePromisedValue(\n itemType,\n fieldDetailsList,\n info,\n itemPath,\n item,\n undefined,\n )\n .then(\n (resolvedItem) => this.buildStreamItemResult(resolvedItem),\n (rawError: unknown) => {\n this.handleFieldError(\n rawError,\n itemType,\n fieldDetailsList,\n itemPath,\n );\n return this.buildStreamItemResult(null);\n },\n )\n .then(undefined, (error: unknown) => {\n this.abort();\n throw error;\n });\n }\n\n let result: PromiseOrValue<unknown>;\n try {\n try {\n result = this.completeValue(\n itemType,\n fieldDetailsList,\n info,\n itemPath,\n item,\n undefined,\n );\n } catch (rawError) {\n this.handleFieldError(rawError, itemType, fieldDetailsList, itemPath);\n return this.buildStreamItemResult(null);\n }\n } catch (error) {\n this.abort();\n throw error;\n }\n\n if (isPromise(result)) {\n return result\n .then(\n (resolved) => this.buildStreamItemResult(resolved),\n (rawError: unknown) => {\n this.handleFieldError(\n rawError,\n itemType,\n fieldDetailsList,\n itemPath,\n );\n return this.buildStreamItemResult(null);\n },\n )\n .then(undefined, (error: unknown) => {\n this.abort();\n throw error;\n });\n }\n\n return this.buildStreamItemResult(result);\n }\n\n buildStreamItemResult(result: unknown): StreamItemResult {\n const item = result;\n const errors = this.collectedErrors.errors;\n const work = this.getIncrementalWork();\n return this.finish(\n errors.length > 0\n ? { value: { item, errors }, work }\n : { value: { item }, work },\n );\n }\n}\n\nfunction toNodes(fieldDetailsList: FieldDetailsList): ReadonlyArray<FieldNode> {\n return fieldDetailsList.map((fieldDetails) => fieldDetails.node);\n}\n\nfunction getDeliveryGroups(\n deferUsageSet: DeferUsageSet,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n): ReadonlyArray<DeliveryGroup> {\n return Array.from(deferUsageSet).map((deferUsage) =>\n deliveryGroupFromDeferUsage(deferUsage, deliveryGroupMap),\n );\n}\n\nfunction deliveryGroupFromDeferUsage(\n deferUsage: DeferUsage,\n deliveryGroupMap: ReadonlyMap<DeferUsage, DeliveryGroup>,\n): DeliveryGroup {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return deliveryGroupMap.get(deferUsage)!;\n}\n"]}