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,11 +1,6 @@
1
1
  import { GraphQLError } from "../../error/GraphQLError.mjs";
2
2
  import { Kind } from "../../language/kinds.mjs";
3
3
  import { GraphQLDeferDirective, GraphQLStreamDirective, } from "../../type/directives.mjs";
4
- /**
5
- * Defer and stream directive labels are unique
6
- *
7
- * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.
8
- */
9
4
  export function DeferStreamDirectiveLabelRule(context) {
10
5
  const knownLabels = new Map();
11
6
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"DeferStreamDirectiveLabelRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveLabelRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAG3D,OAAO,EAAE,IAAI,EAAE,iCAAgC;AAG/C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,kCAAiC;AAIlC;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAC3C,OAA0B;IAE1B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,IACE,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,CAAC,IAAI;gBAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAC/C,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CACpC,CAAC;gBACF,MAAM,UAAU,GAAG,aAAa,EAAE,KAAK,CAAC;gBACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACjD,OAAO;gBACT,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,oCAAoC,EACjE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,mHAAmH,EACnH,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAC9B,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.js';\n\nimport type { DirectiveNode } from '../../language/ast.js';\nimport { Kind } from '../../language/kinds.js';\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.js';\n\nimport type { ValidationContext } from '../ValidationContext.js';\n\n/**\n * Defer and stream directive labels are unique\n *\n * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.\n */\nexport function DeferStreamDirectiveLabelRule(\n context: ValidationContext,\n): ASTVisitor {\n const knownLabels = new Map<string, DirectiveNode>();\n return {\n Directive(node) {\n if (\n node.name.value === GraphQLDeferDirective.name ||\n node.name.value === GraphQLStreamDirective.name\n ) {\n const labelArgument = node.arguments?.find(\n (arg) => arg.name.value === 'label',\n );\n const labelValue = labelArgument?.value;\n if (!labelValue || labelValue.kind === Kind.NULL) {\n return;\n }\n if (labelValue.kind !== Kind.STRING) {\n context.reportError(\n new GraphQLError(\n `Argument \"@${node.name.value}(label:)\" must be a static string.`,\n { nodes: node },\n ),\n );\n return;\n }\n\n const knownLabel = knownLabels.get(labelValue.value);\n if (knownLabel != null) {\n context.reportError(\n new GraphQLError(\n 'Value for arguments \"defer(label:)\" and \"stream(label:)\" must be unique across all Defer/Stream directive usages.',\n { nodes: [knownLabel, node] },\n ),\n );\n } else {\n knownLabels.set(labelValue.value, node);\n }\n }\n },\n };\n}\n"]}
1
+ {"version":3,"file":"DeferStreamDirectiveLabelRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveLabelRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAG3D,OAAO,EAAE,IAAI,EAAE,iCAAgC;AAG/C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,kCAAiC;AAsClC,MAAM,UAAU,6BAA6B,CAC3C,OAA0B;IAE1B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,IACE,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,CAAC,IAAI;gBAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAC/C,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CACpC,CAAC;gBACF,MAAM,UAAU,GAAG,aAAa,EAAE,KAAK,CAAC;gBACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;oBACjD,OAAO;gBACT,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,oCAAoC,EACjE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,mHAAmH,EACnH,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAC9B,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { DirectiveNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\n/**\n * Defer and stream directive labels are unique\n *\n * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema } from 'graphql/utilities';\n * import { validate, DeferStreamDirectiveLabelRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * friends: [String]\n * }\n * `);\n * const invalidDocument = parse(`\n * {\n * friends @stream(label: \"friends\")\n * other: friends @stream(label: \"friends\")\n * }\n * `);\n * const validDocument = parse(`\n * {\n * friends @stream(label: \"friends\")\n * other: friends @stream(label: \"otherFriends\")\n * }\n * `);\n *\n * validate(schema, invalidDocument, [DeferStreamDirectiveLabelRule]).length; // => 1\n * validate(schema, validDocument, [DeferStreamDirectiveLabelRule]); // => []\n * ```\n */\nexport function DeferStreamDirectiveLabelRule(\n context: ValidationContext,\n): ASTVisitor {\n const knownLabels = new Map<string, DirectiveNode>();\n return {\n Directive(node) {\n if (\n node.name.value === GraphQLDeferDirective.name ||\n node.name.value === GraphQLStreamDirective.name\n ) {\n const labelArgument = node.arguments?.find(\n (arg) => arg.name.value === 'label',\n );\n const labelValue = labelArgument?.value;\n if (!labelValue || labelValue.kind === Kind.NULL) {\n return;\n }\n if (labelValue.kind !== Kind.STRING) {\n context.reportError(\n new GraphQLError(\n `Argument \"@${node.name.value}(label:)\" must be a static string.`,\n { nodes: node },\n ),\n );\n return;\n }\n\n const knownLabel = knownLabels.get(labelValue.value);\n if (knownLabel != null) {\n context.reportError(\n new GraphQLError(\n 'Value for arguments \"defer(label:)\" and \"stream(label:)\" must be unique across all Defer/Stream directive usages.',\n { nodes: [knownLabel, node] },\n ),\n );\n } else {\n knownLabels.set(labelValue.value, node);\n }\n }\n },\n };\n}\n"]}
@@ -1,8 +1,36 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.mjs";
3
+ import type { ValidationContext } from "../ValidationContext.mjs";
3
4
  /**
4
5
  * Defer and stream directives are used on valid root field
5
6
  *
6
7
  * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
8
+ * @param context - The validation context used while checking the document.
9
+ * @returns A visitor that reports validation errors for this rule.
10
+ * @example
11
+ * ```ts
12
+ * import { parse } from 'graphql/language';
13
+ * import { buildSchema } from 'graphql/utilities';
14
+ * import { validate, DeferStreamDirectiveOnRootFieldRule } from 'graphql/validation';
15
+ *
16
+ * const schema = buildSchema(`
17
+ * type Query {
18
+ * message: String
19
+ * }
20
+ *
21
+ * type Mutation {
22
+ * updateMessage: String
23
+ * }
24
+ * `);
25
+ * const invalidDocument = parse(`
26
+ * mutation { ... @defer { updateMessage } }
27
+ * `);
28
+ * const validDocument = parse(`
29
+ * { ... @defer { message } }
30
+ * `);
31
+ *
32
+ * validate(schema, invalidDocument, [DeferStreamDirectiveOnRootFieldRule]).length; // => 1
33
+ * validate(schema, validDocument, [DeferStreamDirectiveOnRootFieldRule]); // => []
34
+ * ```
7
35
  */
8
36
  export declare function DeferStreamDirectiveOnRootFieldRule(context: ValidationContext): ASTVisitor;
@@ -1,8 +1,36 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.js";
3
+ import type { ValidationContext } from "../ValidationContext.js";
3
4
  /**
4
5
  * Defer and stream directives are used on valid root field
5
6
  *
6
7
  * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
8
+ * @param context - The validation context used while checking the document.
9
+ * @returns A visitor that reports validation errors for this rule.
10
+ * @example
11
+ * ```ts
12
+ * import { parse } from 'graphql/language';
13
+ * import { buildSchema } from 'graphql/utilities';
14
+ * import { validate, DeferStreamDirectiveOnRootFieldRule } from 'graphql/validation';
15
+ *
16
+ * const schema = buildSchema(`
17
+ * type Query {
18
+ * message: String
19
+ * }
20
+ *
21
+ * type Mutation {
22
+ * updateMessage: String
23
+ * }
24
+ * `);
25
+ * const invalidDocument = parse(`
26
+ * mutation { ... @defer { updateMessage } }
27
+ * `);
28
+ * const validDocument = parse(`
29
+ * { ... @defer { message } }
30
+ * `);
31
+ *
32
+ * validate(schema, invalidDocument, [DeferStreamDirectiveOnRootFieldRule]).length; // => 1
33
+ * validate(schema, validDocument, [DeferStreamDirectiveOnRootFieldRule]); // => []
34
+ * ```
7
35
  */
8
36
  export declare function DeferStreamDirectiveOnRootFieldRule(context: ValidationContext): ASTVisitor;
@@ -1,33 +1,28 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeferStreamDirectiveOnRootFieldRule = DeferStreamDirectiveOnRootFieldRule;
4
- const GraphQLError_js_1 = require("../../error/GraphQLError.js");
5
- const directives_js_1 = require("../../type/directives.js");
6
- /**
7
- * Defer and stream directives are used on valid root field
8
- *
9
- * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
10
- */
4
+ const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
5
+ const directives_ts_1 = require("../../type/directives.js");
11
6
  function DeferStreamDirectiveOnRootFieldRule(context) {
12
7
  return {
13
8
  Directive(node) {
14
9
  const mutationType = context.getSchema().getMutationType();
15
10
  const subscriptionType = context.getSchema().getSubscriptionType();
16
11
  const parentType = context.getParentType();
17
- if (parentType && node.name.value === directives_js_1.GraphQLDeferDirective.name) {
12
+ if (parentType && node.name.value === directives_ts_1.GraphQLDeferDirective.name) {
18
13
  if (mutationType && parentType === mutationType) {
19
- context.reportError(new GraphQLError_js_1.GraphQLError(`Defer directive cannot be used on root mutation type "${parentType}".`, { nodes: node }));
14
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Defer directive cannot be used on root mutation type "${parentType}".`, { nodes: node }));
20
15
  }
21
16
  if (subscriptionType && parentType === subscriptionType) {
22
- context.reportError(new GraphQLError_js_1.GraphQLError(`Defer directive cannot be used on root subscription type "${parentType}".`, { nodes: node }));
17
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Defer directive cannot be used on root subscription type "${parentType}".`, { nodes: node }));
23
18
  }
24
19
  }
25
- if (parentType && node.name.value === directives_js_1.GraphQLStreamDirective.name) {
20
+ if (parentType && node.name.value === directives_ts_1.GraphQLStreamDirective.name) {
26
21
  if (mutationType && parentType === mutationType) {
27
- context.reportError(new GraphQLError_js_1.GraphQLError(`Stream directive cannot be used on root mutation type "${parentType}".`, { nodes: node }));
22
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Stream directive cannot be used on root mutation type "${parentType}".`, { nodes: node }));
28
23
  }
29
24
  if (subscriptionType && parentType === subscriptionType) {
30
- context.reportError(new GraphQLError_js_1.GraphQLError(`Stream directive cannot be used on root subscription type "${parentType}".`, { nodes: node }));
25
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Stream directive cannot be used on root subscription type "${parentType}".`, { nodes: node }));
31
26
  }
32
27
  }
33
28
  },
@@ -1 +1 @@
1
- {"version":3,"file":"DeferStreamDirectiveOnRootFieldRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnRootFieldRule.ts"],"names":[],"mappings":";;AAgBA,kFA8CC;AA9DD,iEAA2D;AAI3D,4DAGkC;AAIlC;;;;GAIG;AACH,SAAgB,mCAAmC,CACjD,OAA0B;IAE1B,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qCAAqB,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,yDAAyD,UAAU,IAAI,EACvE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,6DAA6D,UAAU,IAAI,EAC3E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sCAAsB,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,0DAA0D,UAAU,IAAI,EACxE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,8DAA8D,UAAU,IAAI,EAC5E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.js';\n\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.js';\n\nimport type { ValidationContext } from '../ValidationContext.js';\n\n/**\n * Defer and stream directives are used on valid root field\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n */\nexport function DeferStreamDirectiveOnRootFieldRule(\n context: ValidationContext,\n): ASTVisitor {\n return {\n Directive(node) {\n const mutationType = context.getSchema().getMutationType();\n const subscriptionType = context.getSchema().getSubscriptionType();\n const parentType = context.getParentType();\n if (parentType && node.name.value === GraphQLDeferDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n if (parentType && node.name.value === GraphQLStreamDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n },\n };\n}\n"]}
1
+ {"version":3,"file":"DeferStreamDirectiveOnRootFieldRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnRootFieldRule.ts"],"names":[],"mappings":";;AA6CA,kFA8CC;AAzFD,iEAA2D;AAI3D,4DAGkC;AAoClC,SAAgB,mCAAmC,CACjD,OAA0B;IAE1B,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qCAAqB,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,yDAAyD,UAAU,IAAI,EACvE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,6DAA6D,UAAU,IAAI,EAC3E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sCAAsB,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,0DAA0D,UAAU,IAAI,EACxE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,8DAA8D,UAAU,IAAI,EAC5E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\n/**\n * Defer and stream directives are used on valid root field\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema } from 'graphql/utilities';\n * import { validate, DeferStreamDirectiveOnRootFieldRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * message: String\n * }\n *\n * type Mutation {\n * updateMessage: String\n * }\n * `);\n * const invalidDocument = parse(`\n * mutation { ... @defer { updateMessage } }\n * `);\n * const validDocument = parse(`\n * { ... @defer { message } }\n * `);\n *\n * validate(schema, invalidDocument, [DeferStreamDirectiveOnRootFieldRule]).length; // => 1\n * validate(schema, validDocument, [DeferStreamDirectiveOnRootFieldRule]); // => []\n * ```\n */\nexport function DeferStreamDirectiveOnRootFieldRule(\n context: ValidationContext,\n): ASTVisitor {\n return {\n Directive(node) {\n const mutationType = context.getSchema().getMutationType();\n const subscriptionType = context.getSchema().getSubscriptionType();\n const parentType = context.getParentType();\n if (parentType && node.name.value === GraphQLDeferDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n if (parentType && node.name.value === GraphQLStreamDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n },\n };\n}\n"]}
@@ -1,10 +1,5 @@
1
1
  import { GraphQLError } from "../../error/GraphQLError.mjs";
2
2
  import { GraphQLDeferDirective, GraphQLStreamDirective, } from "../../type/directives.mjs";
3
- /**
4
- * Defer and stream directives are used on valid root field
5
- *
6
- * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
7
- */
8
3
  export function DeferStreamDirectiveOnRootFieldRule(context) {
9
4
  return {
10
5
  Directive(node) {
@@ -1 +1 @@
1
- {"version":3,"file":"DeferStreamDirectiveOnRootFieldRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnRootFieldRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAI3D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,kCAAiC;AAIlC;;;;GAIG;AACH,MAAM,UAAU,mCAAmC,CACjD,OAA0B;IAE1B,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,yDAAyD,UAAU,IAAI,EACvE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,6DAA6D,UAAU,IAAI,EAC3E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,0DAA0D,UAAU,IAAI,EACxE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,8DAA8D,UAAU,IAAI,EAC5E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.js';\n\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.js';\n\nimport type { ValidationContext } from '../ValidationContext.js';\n\n/**\n * Defer and stream directives are used on valid root field\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n */\nexport function DeferStreamDirectiveOnRootFieldRule(\n context: ValidationContext,\n): ASTVisitor {\n return {\n Directive(node) {\n const mutationType = context.getSchema().getMutationType();\n const subscriptionType = context.getSchema().getSubscriptionType();\n const parentType = context.getParentType();\n if (parentType && node.name.value === GraphQLDeferDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n if (parentType && node.name.value === GraphQLStreamDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n },\n };\n}\n"]}
1
+ {"version":3,"file":"DeferStreamDirectiveOnRootFieldRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnRootFieldRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAI3D,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,kCAAiC;AAoClC,MAAM,UAAU,mCAAmC,CACjD,OAA0B;IAE1B,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,MAAM,YAAY,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,eAAe,EAAE,CAAC;YAC3D,MAAM,gBAAgB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC;YACnE,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,yDAAyD,UAAU,IAAI,EACvE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,6DAA6D,UAAU,IAAI,EAC3E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,IAAI,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;gBAClE,IAAI,YAAY,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;oBAChD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,0DAA0D,UAAU,IAAI,EACxE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;gBACD,IAAI,gBAAgB,IAAI,UAAU,KAAK,gBAAgB,EAAE,CAAC;oBACxD,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,8DAA8D,UAAU,IAAI,EAC5E,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\n/**\n * Defer and stream directives are used on valid root field\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema } from 'graphql/utilities';\n * import { validate, DeferStreamDirectiveOnRootFieldRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * message: String\n * }\n *\n * type Mutation {\n * updateMessage: String\n * }\n * `);\n * const invalidDocument = parse(`\n * mutation { ... @defer { updateMessage } }\n * `);\n * const validDocument = parse(`\n * { ... @defer { message } }\n * `);\n *\n * validate(schema, invalidDocument, [DeferStreamDirectiveOnRootFieldRule]).length; // => 1\n * validate(schema, validDocument, [DeferStreamDirectiveOnRootFieldRule]); // => []\n * ```\n */\nexport function DeferStreamDirectiveOnRootFieldRule(\n context: ValidationContext,\n): ASTVisitor {\n return {\n Directive(node) {\n const mutationType = context.getSchema().getMutationType();\n const subscriptionType = context.getSchema().getSubscriptionType();\n const parentType = context.getParentType();\n if (parentType && node.name.value === GraphQLDeferDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Defer directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n if (parentType && node.name.value === GraphQLStreamDirective.name) {\n if (mutationType && parentType === mutationType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root mutation type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n if (subscriptionType && parentType === subscriptionType) {\n context.reportError(\n new GraphQLError(\n `Stream directive cannot be used on root subscription type \"${parentType}\".`,\n { nodes: node },\n ),\n );\n }\n }\n },\n };\n}\n"]}
@@ -1,8 +1,60 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.mjs";
3
+ import type { ValidationContext } from "../ValidationContext.mjs";
3
4
  /**
4
5
  * Defer And Stream Directives Are Used On Valid Operations
5
6
  *
6
7
  * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
8
+ * @param context - The validation context used while checking the document.
9
+ * @returns A visitor that reports validation errors for this rule.
10
+ * @example
11
+ * ```ts
12
+ * import { parse } from 'graphql/language';
13
+ * import { buildSchema } from 'graphql/utilities';
14
+ * import {
15
+ * validate,
16
+ * DeferStreamDirectiveOnValidOperationsRule,
17
+ * } from 'graphql/validation';
18
+ *
19
+ * const schema = buildSchema(`
20
+ * type Query {
21
+ * message: Message
22
+ * }
23
+ *
24
+ * type Subscription {
25
+ * message: Message
26
+ * }
27
+ *
28
+ * type Message {
29
+ * body: String
30
+ * }
31
+ * `);
32
+ * const invalidDocument = parse(`
33
+ * subscription {
34
+ * message {
35
+ * ...MessageBody @defer
36
+ * }
37
+ * }
38
+ *
39
+ * fragment MessageBody on Message {
40
+ * body
41
+ * }
42
+ * `);
43
+ * const validDocument = parse(`
44
+ * subscription {
45
+ * message {
46
+ * ...MessageBody @defer(if: false)
47
+ * }
48
+ * }
49
+ *
50
+ * fragment MessageBody on Message {
51
+ * body
52
+ * }
53
+ * `);
54
+ *
55
+ * validate(schema, invalidDocument, [DeferStreamDirectiveOnValidOperationsRule])
56
+ * .length; // => 1
57
+ * validate(schema, validDocument, [DeferStreamDirectiveOnValidOperationsRule]); // => []
58
+ * ```
7
59
  */
8
60
  export declare function DeferStreamDirectiveOnValidOperationsRule(context: ValidationContext): ASTVisitor;
@@ -1,8 +1,60 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.js";
3
+ import type { ValidationContext } from "../ValidationContext.js";
3
4
  /**
4
5
  * Defer And Stream Directives Are Used On Valid Operations
5
6
  *
6
7
  * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
8
+ * @param context - The validation context used while checking the document.
9
+ * @returns A visitor that reports validation errors for this rule.
10
+ * @example
11
+ * ```ts
12
+ * import { parse } from 'graphql/language';
13
+ * import { buildSchema } from 'graphql/utilities';
14
+ * import {
15
+ * validate,
16
+ * DeferStreamDirectiveOnValidOperationsRule,
17
+ * } from 'graphql/validation';
18
+ *
19
+ * const schema = buildSchema(`
20
+ * type Query {
21
+ * message: Message
22
+ * }
23
+ *
24
+ * type Subscription {
25
+ * message: Message
26
+ * }
27
+ *
28
+ * type Message {
29
+ * body: String
30
+ * }
31
+ * `);
32
+ * const invalidDocument = parse(`
33
+ * subscription {
34
+ * message {
35
+ * ...MessageBody @defer
36
+ * }
37
+ * }
38
+ *
39
+ * fragment MessageBody on Message {
40
+ * body
41
+ * }
42
+ * `);
43
+ * const validDocument = parse(`
44
+ * subscription {
45
+ * message {
46
+ * ...MessageBody @defer(if: false)
47
+ * }
48
+ * }
49
+ *
50
+ * fragment MessageBody on Message {
51
+ * body
52
+ * }
53
+ * `);
54
+ *
55
+ * validate(schema, invalidDocument, [DeferStreamDirectiveOnValidOperationsRule])
56
+ * .length; // => 1
57
+ * validate(schema, validDocument, [DeferStreamDirectiveOnValidOperationsRule]); // => []
58
+ * ```
7
59
  */
8
60
  export declare function DeferStreamDirectiveOnValidOperationsRule(context: ValidationContext): ASTVisitor;
@@ -1,35 +1,30 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DeferStreamDirectiveOnValidOperationsRule = DeferStreamDirectiveOnValidOperationsRule;
4
- const GraphQLError_js_1 = require("../../error/GraphQLError.js");
5
- const ast_js_1 = require("../../language/ast.js");
6
- const kinds_js_1 = require("../../language/kinds.js");
7
- const directives_js_1 = require("../../type/directives.js");
4
+ const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
5
+ const ast_ts_1 = require("../../language/ast.js");
6
+ const kinds_ts_1 = require("../../language/kinds.js");
7
+ const directives_ts_1 = require("../../type/directives.js");
8
8
  function ifArgumentCanBeFalse(node) {
9
9
  const ifArgument = node.arguments?.find((arg) => arg.name.value === 'if');
10
10
  if (!ifArgument) {
11
11
  return false;
12
12
  }
13
- if (ifArgument.value.kind === kinds_js_1.Kind.BOOLEAN) {
13
+ if (ifArgument.value.kind === kinds_ts_1.Kind.BOOLEAN) {
14
14
  if (ifArgument.value.value) {
15
15
  return false;
16
16
  }
17
17
  }
18
- else if (ifArgument.value.kind !== kinds_js_1.Kind.VARIABLE) {
18
+ else if (ifArgument.value.kind !== kinds_ts_1.Kind.VARIABLE) {
19
19
  return false;
20
20
  }
21
21
  return true;
22
22
  }
23
- /**
24
- * Defer And Stream Directives Are Used On Valid Operations
25
- *
26
- * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
27
- */
28
23
  function DeferStreamDirectiveOnValidOperationsRule(context) {
29
24
  const fragmentsUsedOnSubscriptions = new Set();
30
25
  return {
31
26
  OperationDefinition(operation) {
32
- if (operation.operation === ast_js_1.OperationTypeNode.SUBSCRIPTION) {
27
+ if (operation.operation === ast_ts_1.OperationTypeNode.SUBSCRIPTION) {
33
28
  for (const fragment of context.getRecursivelyReferencedFragments(operation)) {
34
29
  fragmentsUsedOnSubscriptions.add(fragment.name.value);
35
30
  }
@@ -38,18 +33,18 @@ function DeferStreamDirectiveOnValidOperationsRule(context) {
38
33
  Directive(node, _key, _parent, _path, ancestors) {
39
34
  const definitionNode = ancestors[2];
40
35
  if ('kind' in definitionNode &&
41
- ((definitionNode.kind === kinds_js_1.Kind.FRAGMENT_DEFINITION &&
36
+ ((definitionNode.kind === kinds_ts_1.Kind.FRAGMENT_DEFINITION &&
42
37
  fragmentsUsedOnSubscriptions.has(definitionNode.name.value)) ||
43
- (definitionNode.kind === kinds_js_1.Kind.OPERATION_DEFINITION &&
44
- definitionNode.operation === ast_js_1.OperationTypeNode.SUBSCRIPTION))) {
45
- if (node.name.value === directives_js_1.GraphQLDeferDirective.name) {
38
+ (definitionNode.kind === kinds_ts_1.Kind.OPERATION_DEFINITION &&
39
+ definitionNode.operation === ast_ts_1.OperationTypeNode.SUBSCRIPTION))) {
40
+ if (node.name.value === directives_ts_1.GraphQLDeferDirective.name) {
46
41
  if (!ifArgumentCanBeFalse(node)) {
47
- context.reportError(new GraphQLError_js_1.GraphQLError('Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.', { nodes: node }));
42
+ context.reportError(new GraphQLError_ts_1.GraphQLError('Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.', { nodes: node }));
48
43
  }
49
44
  }
50
- else if (node.name.value === directives_js_1.GraphQLStreamDirective.name) {
45
+ else if (node.name.value === directives_ts_1.GraphQLStreamDirective.name) {
51
46
  if (!ifArgumentCanBeFalse(node)) {
52
- context.reportError(new GraphQLError_js_1.GraphQLError('Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.', { nodes: node }));
47
+ context.reportError(new GraphQLError_ts_1.GraphQLError('Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.', { nodes: node }));
53
48
  }
54
49
  }
55
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DeferStreamDirectiveOnValidOperationsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnValidOperationsRule.ts"],"names":[],"mappings":";;AAkCA,8FA+CC;AAjFD,iEAA2D;AAG3D,kDAA0D;AAC1D,sDAA+C;AAG/C,4DAGkC;AAIlC,SAAS,oBAAoB,CAAC,IAAmB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,eAAI,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAgB,yCAAyC,CACvD,OAA0B;IAE1B,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvD,OAAO;QACL,mBAAmB,CAAC,SAAS;YAC3B,IAAI,SAAS,CAAC,SAAS,KAAK,0BAAiB,CAAC,YAAY,EAAE,CAAC;gBAC3D,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,iCAAiC,CAC9D,SAAS,CACV,EAAE,CAAC;oBACF,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;YAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEpC,IACE,MAAM,IAAI,cAAc;gBACxB,CAAC,CAAC,cAAc,CAAC,IAAI,KAAK,eAAI,CAAC,mBAAmB;oBAChD,4BAA4B,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5D,CAAC,cAAc,CAAC,IAAI,KAAK,eAAI,CAAC,oBAAoB;wBAChD,cAAc,CAAC,SAAS,KAAK,0BAAiB,CAAC,YAAY,CAAC,CAAC,EACjE,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qCAAqB,CAAC,IAAI,EAAE,CAAC;oBACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,qHAAqH,EACrH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sCAAsB,CAAC,IAAI,EAAE,CAAC;oBAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,uHAAuH,EACvH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.js';\n\nimport type { DirectiveNode } from '../../language/ast.js';\nimport { OperationTypeNode } from '../../language/ast.js';\nimport { Kind } from '../../language/kinds.js';\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.js';\n\nimport type { ValidationContext } from '../ValidationContext.js';\n\nfunction ifArgumentCanBeFalse(node: DirectiveNode): boolean {\n const ifArgument = node.arguments?.find((arg) => arg.name.value === 'if');\n if (!ifArgument) {\n return false;\n }\n if (ifArgument.value.kind === Kind.BOOLEAN) {\n if (ifArgument.value.value) {\n return false;\n }\n } else if (ifArgument.value.kind !== Kind.VARIABLE) {\n return false;\n }\n return true;\n}\n\n/**\n * Defer And Stream Directives Are Used On Valid Operations\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n */\nexport function DeferStreamDirectiveOnValidOperationsRule(\n context: ValidationContext,\n): ASTVisitor {\n const fragmentsUsedOnSubscriptions = new Set<string>();\n\n return {\n OperationDefinition(operation) {\n if (operation.operation === OperationTypeNode.SUBSCRIPTION) {\n for (const fragment of context.getRecursivelyReferencedFragments(\n operation,\n )) {\n fragmentsUsedOnSubscriptions.add(fragment.name.value);\n }\n }\n },\n Directive(node, _key, _parent, _path, ancestors) {\n const definitionNode = ancestors[2];\n\n if (\n 'kind' in definitionNode &&\n ((definitionNode.kind === Kind.FRAGMENT_DEFINITION &&\n fragmentsUsedOnSubscriptions.has(definitionNode.name.value)) ||\n (definitionNode.kind === Kind.OPERATION_DEFINITION &&\n definitionNode.operation === OperationTypeNode.SUBSCRIPTION))\n ) {\n if (node.name.value === GraphQLDeferDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n } else if (node.name.value === GraphQLStreamDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n }\n }\n },\n };\n}\n"]}
1
+ {"version":3,"file":"DeferStreamDirectiveOnValidOperationsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnValidOperationsRule.ts"],"names":[],"mappings":";;AAuFA,8FA+CC;AApID,iEAA2D;AAG3D,kDAA0D;AAC1D,sDAA+C;AAG/C,4DAGkC;AAIlC,SAAS,oBAAoB,CAAC,IAAmB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,eAAI,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,eAAI,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA0DD,SAAgB,yCAAyC,CACvD,OAA0B;IAE1B,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvD,OAAO;QACL,mBAAmB,CAAC,SAAS;YAC3B,IAAI,SAAS,CAAC,SAAS,KAAK,0BAAiB,CAAC,YAAY,EAAE,CAAC;gBAC3D,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,iCAAiC,CAC9D,SAAS,CACV,EAAE,CAAC;oBACF,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;YAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEpC,IACE,MAAM,IAAI,cAAc;gBACxB,CAAC,CAAC,cAAc,CAAC,IAAI,KAAK,eAAI,CAAC,mBAAmB;oBAChD,4BAA4B,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5D,CAAC,cAAc,CAAC,IAAI,KAAK,eAAI,CAAC,oBAAoB;wBAChD,cAAc,CAAC,SAAS,KAAK,0BAAiB,CAAC,YAAY,CAAC,CAAC,EACjE,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qCAAqB,CAAC,IAAI,EAAE,CAAC;oBACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,qHAAqH,EACrH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sCAAsB,CAAC,IAAI,EAAE,CAAC;oBAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,uHAAuH,EACvH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { DirectiveNode } from '../../language/ast.ts';\nimport { OperationTypeNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\nfunction ifArgumentCanBeFalse(node: DirectiveNode): boolean {\n const ifArgument = node.arguments?.find((arg) => arg.name.value === 'if');\n if (!ifArgument) {\n return false;\n }\n if (ifArgument.value.kind === Kind.BOOLEAN) {\n if (ifArgument.value.value) {\n return false;\n }\n } else if (ifArgument.value.kind !== Kind.VARIABLE) {\n return false;\n }\n return true;\n}\n\n/**\n * Defer And Stream Directives Are Used On Valid Operations\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema } from 'graphql/utilities';\n * import {\n * validate,\n * DeferStreamDirectiveOnValidOperationsRule,\n * } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * message: Message\n * }\n *\n * type Subscription {\n * message: Message\n * }\n *\n * type Message {\n * body: String\n * }\n * `);\n * const invalidDocument = parse(`\n * subscription {\n * message {\n * ...MessageBody @defer\n * }\n * }\n *\n * fragment MessageBody on Message {\n * body\n * }\n * `);\n * const validDocument = parse(`\n * subscription {\n * message {\n * ...MessageBody @defer(if: false)\n * }\n * }\n *\n * fragment MessageBody on Message {\n * body\n * }\n * `);\n *\n * validate(schema, invalidDocument, [DeferStreamDirectiveOnValidOperationsRule])\n * .length; // => 1\n * validate(schema, validDocument, [DeferStreamDirectiveOnValidOperationsRule]); // => []\n * ```\n */\nexport function DeferStreamDirectiveOnValidOperationsRule(\n context: ValidationContext,\n): ASTVisitor {\n const fragmentsUsedOnSubscriptions = new Set<string>();\n\n return {\n OperationDefinition(operation) {\n if (operation.operation === OperationTypeNode.SUBSCRIPTION) {\n for (const fragment of context.getRecursivelyReferencedFragments(\n operation,\n )) {\n fragmentsUsedOnSubscriptions.add(fragment.name.value);\n }\n }\n },\n Directive(node, _key, _parent, _path, ancestors) {\n const definitionNode = ancestors[2];\n\n if (\n 'kind' in definitionNode &&\n ((definitionNode.kind === Kind.FRAGMENT_DEFINITION &&\n fragmentsUsedOnSubscriptions.has(definitionNode.name.value)) ||\n (definitionNode.kind === Kind.OPERATION_DEFINITION &&\n definitionNode.operation === OperationTypeNode.SUBSCRIPTION))\n ) {\n if (node.name.value === GraphQLDeferDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n } else if (node.name.value === GraphQLStreamDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n }\n }\n },\n };\n}\n"]}
@@ -17,11 +17,6 @@ function ifArgumentCanBeFalse(node) {
17
17
  }
18
18
  return true;
19
19
  }
20
- /**
21
- * Defer And Stream Directives Are Used On Valid Operations
22
- *
23
- * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.
24
- */
25
20
  export function DeferStreamDirectiveOnValidOperationsRule(context) {
26
21
  const fragmentsUsedOnSubscriptions = new Set();
27
22
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"DeferStreamDirectiveOnValidOperationsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnValidOperationsRule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,+BAA8B;AAC1D,OAAO,EAAE,IAAI,EAAE,iCAAgC;AAG/C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,kCAAiC;AAIlC,SAAS,oBAAoB,CAAC,IAAmB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,yCAAyC,CACvD,OAA0B;IAE1B,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvD,OAAO;QACL,mBAAmB,CAAC,SAAS;YAC3B,IAAI,SAAS,CAAC,SAAS,KAAK,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBAC3D,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,iCAAiC,CAC9D,SAAS,CACV,EAAE,CAAC;oBACF,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;YAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEpC,IACE,MAAM,IAAI,cAAc;gBACxB,CAAC,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB;oBAChD,4BAA4B,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5D,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB;wBAChD,cAAc,CAAC,SAAS,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,EACjE,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,CAAC,IAAI,EAAE,CAAC;oBACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,qHAAqH,EACrH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,uHAAuH,EACvH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.js';\n\nimport type { DirectiveNode } from '../../language/ast.js';\nimport { OperationTypeNode } from '../../language/ast.js';\nimport { Kind } from '../../language/kinds.js';\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.js';\n\nimport type { ValidationContext } from '../ValidationContext.js';\n\nfunction ifArgumentCanBeFalse(node: DirectiveNode): boolean {\n const ifArgument = node.arguments?.find((arg) => arg.name.value === 'if');\n if (!ifArgument) {\n return false;\n }\n if (ifArgument.value.kind === Kind.BOOLEAN) {\n if (ifArgument.value.value) {\n return false;\n }\n } else if (ifArgument.value.kind !== Kind.VARIABLE) {\n return false;\n }\n return true;\n}\n\n/**\n * Defer And Stream Directives Are Used On Valid Operations\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n */\nexport function DeferStreamDirectiveOnValidOperationsRule(\n context: ValidationContext,\n): ASTVisitor {\n const fragmentsUsedOnSubscriptions = new Set<string>();\n\n return {\n OperationDefinition(operation) {\n if (operation.operation === OperationTypeNode.SUBSCRIPTION) {\n for (const fragment of context.getRecursivelyReferencedFragments(\n operation,\n )) {\n fragmentsUsedOnSubscriptions.add(fragment.name.value);\n }\n }\n },\n Directive(node, _key, _parent, _path, ancestors) {\n const definitionNode = ancestors[2];\n\n if (\n 'kind' in definitionNode &&\n ((definitionNode.kind === Kind.FRAGMENT_DEFINITION &&\n fragmentsUsedOnSubscriptions.has(definitionNode.name.value)) ||\n (definitionNode.kind === Kind.OPERATION_DEFINITION &&\n definitionNode.operation === OperationTypeNode.SUBSCRIPTION))\n ) {\n if (node.name.value === GraphQLDeferDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n } else if (node.name.value === GraphQLStreamDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n }\n }\n },\n };\n}\n"]}
1
+ {"version":3,"file":"DeferStreamDirectiveOnValidOperationsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveOnValidOperationsRule.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,qCAAoC;AAG3D,OAAO,EAAE,iBAAiB,EAAE,+BAA8B;AAC1D,OAAO,EAAE,IAAI,EAAE,iCAAgC;AAG/C,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,kCAAiC;AAIlC,SAAS,oBAAoB,CAAC,IAAmB;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;IAC1E,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC3C,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AA0DD,MAAM,UAAU,yCAAyC,CACvD,OAA0B;IAE1B,MAAM,4BAA4B,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvD,OAAO;QACL,mBAAmB,CAAC,SAAS;YAC3B,IAAI,SAAS,CAAC,SAAS,KAAK,iBAAiB,CAAC,YAAY,EAAE,CAAC;gBAC3D,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,iCAAiC,CAC9D,SAAS,CACV,EAAE,CAAC;oBACF,4BAA4B,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxD,CAAC;YACH,CAAC;QACH,CAAC;QACD,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS;YAC7C,MAAM,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAEpC,IACE,MAAM,IAAI,cAAc;gBACxB,CAAC,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,mBAAmB;oBAChD,4BAA4B,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5D,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC,oBAAoB;wBAChD,cAAc,CAAC,SAAS,KAAK,iBAAiB,CAAC,YAAY,CAAC,CAAC,EACjE,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qBAAqB,CAAC,IAAI,EAAE,CAAC;oBACnD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,qHAAqH,EACrH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sBAAsB,CAAC,IAAI,EAAE,CAAC;oBAC3D,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChC,OAAO,CAAC,WAAW,CACjB,IAAI,YAAY,CACd,uHAAuH,EACvH,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { DirectiveNode } from '../../language/ast.ts';\nimport { OperationTypeNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\nfunction ifArgumentCanBeFalse(node: DirectiveNode): boolean {\n const ifArgument = node.arguments?.find((arg) => arg.name.value === 'if');\n if (!ifArgument) {\n return false;\n }\n if (ifArgument.value.kind === Kind.BOOLEAN) {\n if (ifArgument.value.value) {\n return false;\n }\n } else if (ifArgument.value.kind !== Kind.VARIABLE) {\n return false;\n }\n return true;\n}\n\n/**\n * Defer And Stream Directives Are Used On Valid Operations\n *\n * A GraphQL document is only valid if defer directives are not used on root mutation or subscription types.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema } from 'graphql/utilities';\n * import {\n * validate,\n * DeferStreamDirectiveOnValidOperationsRule,\n * } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * message: Message\n * }\n *\n * type Subscription {\n * message: Message\n * }\n *\n * type Message {\n * body: String\n * }\n * `);\n * const invalidDocument = parse(`\n * subscription {\n * message {\n * ...MessageBody @defer\n * }\n * }\n *\n * fragment MessageBody on Message {\n * body\n * }\n * `);\n * const validDocument = parse(`\n * subscription {\n * message {\n * ...MessageBody @defer(if: false)\n * }\n * }\n *\n * fragment MessageBody on Message {\n * body\n * }\n * `);\n *\n * validate(schema, invalidDocument, [DeferStreamDirectiveOnValidOperationsRule])\n * .length; // => 1\n * validate(schema, validDocument, [DeferStreamDirectiveOnValidOperationsRule]); // => []\n * ```\n */\nexport function DeferStreamDirectiveOnValidOperationsRule(\n context: ValidationContext,\n): ASTVisitor {\n const fragmentsUsedOnSubscriptions = new Set<string>();\n\n return {\n OperationDefinition(operation) {\n if (operation.operation === OperationTypeNode.SUBSCRIPTION) {\n for (const fragment of context.getRecursivelyReferencedFragments(\n operation,\n )) {\n fragmentsUsedOnSubscriptions.add(fragment.name.value);\n }\n }\n },\n Directive(node, _key, _parent, _path, ancestors) {\n const definitionNode = ancestors[2];\n\n if (\n 'kind' in definitionNode &&\n ((definitionNode.kind === Kind.FRAGMENT_DEFINITION &&\n fragmentsUsedOnSubscriptions.has(definitionNode.name.value)) ||\n (definitionNode.kind === Kind.OPERATION_DEFINITION &&\n definitionNode.operation === OperationTypeNode.SUBSCRIPTION))\n ) {\n if (node.name.value === GraphQLDeferDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Defer directive not supported on subscription operations. Disable `@defer` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n } else if (node.name.value === GraphQLStreamDirective.name) {\n if (!ifArgumentCanBeFalse(node)) {\n context.reportError(\n new GraphQLError(\n 'Stream directive not supported on subscription operations. Disable `@stream` by setting the `if` argument to `false`.',\n { nodes: node },\n ),\n );\n }\n }\n }\n },\n };\n}\n"]}
@@ -1,5 +1,6 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { ASTValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.mjs";
3
+ import type { ASTValidationContext } from "../ValidationContext.mjs";
3
4
  /**
4
5
  * Executable definitions
5
6
  *
@@ -7,5 +8,32 @@ import type { ASTValidationContext } from '../ValidationContext.js';
7
8
  * operation or fragment definitions.
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Executable-Definitions
11
+ * @param context - The validation context used while checking the document.
12
+ * @returns A visitor that reports validation errors for this rule.
13
+ * @example
14
+ * ```ts
15
+ * import { buildSchema, parse, validate } from 'graphql';
16
+ * import { ExecutableDefinitionsRule } from 'graphql/validation';
17
+ *
18
+ * const schema = buildSchema(`
19
+ * type Query {
20
+ * name: String
21
+ * }
22
+ * `);
23
+ *
24
+ * const invalidDocument = parse(`
25
+ * type Extra { field: String }
26
+ * `);
27
+ * const invalidErrors = validate(schema, invalidDocument, [ExecutableDefinitionsRule]);
28
+ *
29
+ * invalidErrors.length; // => 1
30
+ *
31
+ * const validDocument = parse(`
32
+ * { name }
33
+ * `);
34
+ * const validErrors = validate(schema, validDocument, [ExecutableDefinitionsRule]);
35
+ *
36
+ * validErrors; // => []
37
+ * ```
10
38
  */
11
39
  export declare function ExecutableDefinitionsRule(context: ASTValidationContext): ASTVisitor;
@@ -1,5 +1,6 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { ASTValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.js";
3
+ import type { ASTValidationContext } from "../ValidationContext.js";
3
4
  /**
4
5
  * Executable definitions
5
6
  *
@@ -7,5 +8,32 @@ import type { ASTValidationContext } from '../ValidationContext.js';
7
8
  * operation or fragment definitions.
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Executable-Definitions
11
+ * @param context - The validation context used while checking the document.
12
+ * @returns A visitor that reports validation errors for this rule.
13
+ * @example
14
+ * ```ts
15
+ * import { buildSchema, parse, validate } from 'graphql';
16
+ * import { ExecutableDefinitionsRule } from 'graphql/validation';
17
+ *
18
+ * const schema = buildSchema(`
19
+ * type Query {
20
+ * name: String
21
+ * }
22
+ * `);
23
+ *
24
+ * const invalidDocument = parse(`
25
+ * type Extra { field: String }
26
+ * `);
27
+ * const invalidErrors = validate(schema, invalidDocument, [ExecutableDefinitionsRule]);
28
+ *
29
+ * invalidErrors.length; // => 1
30
+ *
31
+ * const validDocument = parse(`
32
+ * { name }
33
+ * `);
34
+ * const validErrors = validate(schema, validDocument, [ExecutableDefinitionsRule]);
35
+ *
36
+ * validErrors; // => []
37
+ * ```
10
38
  */
11
39
  export declare function ExecutableDefinitionsRule(context: ASTValidationContext): ASTVisitor;
@@ -1,27 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ExecutableDefinitionsRule = ExecutableDefinitionsRule;
4
- const GraphQLError_js_1 = require("../../error/GraphQLError.js");
5
- const kinds_js_1 = require("../../language/kinds.js");
6
- const predicates_js_1 = require("../../language/predicates.js");
7
- /**
8
- * Executable definitions
9
- *
10
- * A GraphQL document is only valid for execution if all definitions are either
11
- * operation or fragment definitions.
12
- *
13
- * See https://spec.graphql.org/draft/#sec-Executable-Definitions
14
- */
4
+ const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
5
+ const kinds_ts_1 = require("../../language/kinds.js");
6
+ const predicates_ts_1 = require("../../language/predicates.js");
15
7
  function ExecutableDefinitionsRule(context) {
16
8
  return {
17
9
  Document(node) {
18
10
  for (const definition of node.definitions) {
19
- if (!(0, predicates_js_1.isExecutableDefinitionNode)(definition)) {
20
- const defName = definition.kind === kinds_js_1.Kind.SCHEMA_DEFINITION ||
21
- definition.kind === kinds_js_1.Kind.SCHEMA_EXTENSION
11
+ if (!(0, predicates_ts_1.isExecutableDefinitionNode)(definition)) {
12
+ const defName = definition.kind === kinds_ts_1.Kind.SCHEMA_DEFINITION ||
13
+ definition.kind === kinds_ts_1.Kind.SCHEMA_EXTENSION
22
14
  ? 'schema'
23
15
  : '"' + definition.name.value + '"';
24
- context.reportError(new GraphQLError_js_1.GraphQLError(`The ${defName} definition is not executable.`, {
16
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`The ${defName} definition is not executable.`, {
25
17
  nodes: definition,
26
18
  }));
27
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ExecutableDefinitionsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ExecutableDefinitionsRule.ts"],"names":[],"mappings":";;AAgBA,8DAsBC;AAtCD,iEAA2D;AAE3D,sDAA+C;AAC/C,gEAA0E;AAK1E;;;;;;;GAOG;AACH,SAAgB,yBAAyB,CACvC,OAA6B;IAE7B,OAAO;QACL,QAAQ,CAAC,IAAI;YACX,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAA,0CAA0B,EAAC,UAAU,CAAC,EAAE,CAAC;oBAC5C,MAAM,OAAO,GACX,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,iBAAiB;wBAC1C,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,gBAAgB;wBACvC,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACxC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CAAC,OAAO,OAAO,gCAAgC,EAAE;wBAC/D,KAAK,EAAE,UAAU;qBAClB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.js';\n\nimport { Kind } from '../../language/kinds.js';\nimport { isExecutableDefinitionNode } from '../../language/predicates.js';\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport type { ASTValidationContext } from '../ValidationContext.js';\n\n/**\n * Executable definitions\n *\n * A GraphQL document is only valid for execution if all definitions are either\n * operation or fragment definitions.\n *\n * See https://spec.graphql.org/draft/#sec-Executable-Definitions\n */\nexport function ExecutableDefinitionsRule(\n context: ASTValidationContext,\n): ASTVisitor {\n return {\n Document(node) {\n for (const definition of node.definitions) {\n if (!isExecutableDefinitionNode(definition)) {\n const defName =\n definition.kind === Kind.SCHEMA_DEFINITION ||\n definition.kind === Kind.SCHEMA_EXTENSION\n ? 'schema'\n : '\"' + definition.name.value + '\"';\n context.reportError(\n new GraphQLError(`The ${defName} definition is not executable.`, {\n nodes: definition,\n }),\n );\n }\n }\n return false;\n },\n };\n}\n"]}
1
+ {"version":3,"file":"ExecutableDefinitionsRule.js","sourceRoot":"","sources":["../../../src/validation/rules/ExecutableDefinitionsRule.ts"],"names":[],"mappings":";;AA6CA,8DAsBC;AAjED,iEAA2D;AAE3D,sDAA+C;AAC/C,gEAA0E;AAwC1E,SAAgB,yBAAyB,CACvC,OAA6B;IAE7B,OAAO;QACL,QAAQ,CAAC,IAAI;YACX,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAA,0CAA0B,EAAC,UAAU,CAAC,EAAE,CAAC;oBAC5C,MAAM,OAAO,GACX,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,iBAAiB;wBAC1C,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,gBAAgB;wBACvC,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;oBACxC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CAAC,OAAO,OAAO,gCAAgC,EAAE;wBAC/D,KAAK,EAAE,UAAU;qBAClB,CAAC,CACH,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport { Kind } from '../../language/kinds.ts';\nimport { isExecutableDefinitionNode } from '../../language/predicates.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport type { ASTValidationContext } from '../ValidationContext.ts';\n\n/**\n * Executable definitions\n *\n * A GraphQL document is only valid for execution if all definitions are either\n * operation or fragment definitions.\n *\n * See https://spec.graphql.org/draft/#sec-Executable-Definitions\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { buildSchema, parse, validate } from 'graphql';\n * import { ExecutableDefinitionsRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * name: String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * type Extra { field: String }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [ExecutableDefinitionsRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { name }\n * `);\n * const validErrors = validate(schema, validDocument, [ExecutableDefinitionsRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function ExecutableDefinitionsRule(\n context: ASTValidationContext,\n): ASTVisitor {\n return {\n Document(node) {\n for (const definition of node.definitions) {\n if (!isExecutableDefinitionNode(definition)) {\n const defName =\n definition.kind === Kind.SCHEMA_DEFINITION ||\n definition.kind === Kind.SCHEMA_EXTENSION\n ? 'schema'\n : '\"' + definition.name.value + '\"';\n context.reportError(\n new GraphQLError(`The ${defName} definition is not executable.`, {\n nodes: definition,\n }),\n );\n }\n }\n return false;\n },\n };\n}\n"]}