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,5 +1,6 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { SDLValidationContext, ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.mjs";
3
+ import type { SDLValidationContext, ValidationContext } from "../ValidationContext.mjs";
3
4
  /**
4
5
  * Known argument names
5
6
  *
@@ -8,9 +9,34 @@ import type { SDLValidationContext, ValidationContext } from '../ValidationConte
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Argument-Names
10
11
  * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations
12
+ * @param context - The validation context used while checking the document.
13
+ * @returns A visitor that reports validation errors for this rule.
14
+ * @example
15
+ * ```ts
16
+ * import { buildSchema, parse, validate } from 'graphql';
17
+ * import { KnownArgumentNamesRule } from 'graphql/validation';
18
+ *
19
+ * const schema = buildSchema(`
20
+ * type Query {
21
+ * field(arg: String): String
22
+ * }
23
+ * `);
24
+ *
25
+ * const invalidDocument = parse(`
26
+ * { field(unknown: "1") }
27
+ * `);
28
+ * const invalidErrors = validate(schema, invalidDocument, [KnownArgumentNamesRule]);
29
+ *
30
+ * invalidErrors.length; // => 1
31
+ *
32
+ * const validDocument = parse(`
33
+ * { field(arg: "1") }
34
+ * `);
35
+ * const validErrors = validate(schema, validDocument, [KnownArgumentNamesRule]);
36
+ *
37
+ * validErrors; // => []
38
+ * ```
11
39
  */
12
40
  export declare function KnownArgumentNamesRule(context: ValidationContext): ASTVisitor;
13
- /**
14
- * @internal
15
- */
41
+ /** @internal */
16
42
  export declare function KnownArgumentNamesOnDirectivesRule(context: ValidationContext | SDLValidationContext): ASTVisitor;
@@ -1,5 +1,6 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { SDLValidationContext, ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.js";
3
+ import type { SDLValidationContext, ValidationContext } from "../ValidationContext.js";
3
4
  /**
4
5
  * Known argument names
5
6
  *
@@ -8,9 +9,34 @@ import type { SDLValidationContext, ValidationContext } from '../ValidationConte
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Argument-Names
10
11
  * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations
12
+ * @param context - The validation context used while checking the document.
13
+ * @returns A visitor that reports validation errors for this rule.
14
+ * @example
15
+ * ```ts
16
+ * import { buildSchema, parse, validate } from 'graphql';
17
+ * import { KnownArgumentNamesRule } from 'graphql/validation';
18
+ *
19
+ * const schema = buildSchema(`
20
+ * type Query {
21
+ * field(arg: String): String
22
+ * }
23
+ * `);
24
+ *
25
+ * const invalidDocument = parse(`
26
+ * { field(unknown: "1") }
27
+ * `);
28
+ * const invalidErrors = validate(schema, invalidDocument, [KnownArgumentNamesRule]);
29
+ *
30
+ * invalidErrors.length; // => 1
31
+ *
32
+ * const validDocument = parse(`
33
+ * { field(arg: "1") }
34
+ * `);
35
+ * const validErrors = validate(schema, validDocument, [KnownArgumentNamesRule]);
36
+ *
37
+ * validErrors; // => []
38
+ * ```
11
39
  */
12
40
  export declare function KnownArgumentNamesRule(context: ValidationContext): ASTVisitor;
13
- /**
14
- * @internal
15
- */
41
+ /** @internal */
16
42
  export declare function KnownArgumentNamesOnDirectivesRule(context: ValidationContext | SDLValidationContext): ASTVisitor;
@@ -2,23 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KnownArgumentNamesRule = KnownArgumentNamesRule;
4
4
  exports.KnownArgumentNamesOnDirectivesRule = KnownArgumentNamesOnDirectivesRule;
5
- const didYouMean_js_1 = require("../../jsutils/didYouMean.js");
6
- const suggestionList_js_1 = require("../../jsutils/suggestionList.js");
7
- const GraphQLError_js_1 = require("../../error/GraphQLError.js");
8
- const kinds_js_1 = require("../../language/kinds.js");
9
- const directives_js_1 = require("../../type/directives.js");
10
- /**
11
- * Known argument names
12
- *
13
- * A GraphQL field is only valid if all supplied arguments are defined by
14
- * that field.
15
- *
16
- * See https://spec.graphql.org/draft/#sec-Argument-Names
17
- * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations
18
- */
5
+ const didYouMean_ts_1 = require("../../jsutils/didYouMean.js");
6
+ const suggestionList_ts_1 = require("../../jsutils/suggestionList.js");
7
+ const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
8
+ const kinds_ts_1 = require("../../language/kinds.js");
9
+ const directives_ts_1 = require("../../type/directives.js");
19
10
  function KnownArgumentNamesRule(context) {
20
11
  return {
21
- // eslint-disable-next-line new-cap
22
12
  ...KnownArgumentNamesOnDirectivesRule(context),
23
13
  FragmentArgument(argNode) {
24
14
  const fragmentSignature = context.getFragmentSignature();
@@ -28,9 +18,9 @@ function KnownArgumentNamesRule(context) {
28
18
  const argName = argNode.name.value;
29
19
  const suggestions = context.hideSuggestions
30
20
  ? []
31
- : (0, suggestionList_js_1.suggestionList)(argName, Array.from(fragmentSignature.variableDefinitions.values()).map((varSignature) => varSignature.variable.name.value));
32
- context.reportError(new GraphQLError_js_1.GraphQLError(`Unknown argument "${argName}" on fragment "${fragmentSignature.definition.name.value}".` +
33
- (0, didYouMean_js_1.didYouMean)(suggestions), { nodes: argNode }));
21
+ : (0, suggestionList_ts_1.suggestionList)(argName, Array.from(fragmentSignature.variableDefinitions.values()).map((varSignature) => varSignature.variable.name.value));
22
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Unknown argument "${argName}" on fragment "${fragmentSignature.definition.name.value}".` +
23
+ (0, didYouMean_ts_1.didYouMean)(suggestions), { nodes: argNode }));
34
24
  }
35
25
  }
36
26
  },
@@ -41,28 +31,25 @@ function KnownArgumentNamesRule(context) {
41
31
  const argName = argNode.name.value;
42
32
  const suggestions = context.hideSuggestions
43
33
  ? []
44
- : (0, suggestionList_js_1.suggestionList)(argName, fieldDef.args.map((arg) => arg.name));
45
- context.reportError(new GraphQLError_js_1.GraphQLError(`Unknown argument "${argName}" on field "${fieldDef}".` +
46
- (0, didYouMean_js_1.didYouMean)(suggestions), { nodes: argNode }));
34
+ : (0, suggestionList_ts_1.suggestionList)(argName, fieldDef.args.map((arg) => arg.name));
35
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Unknown argument "${argName}" on field "${fieldDef}".` +
36
+ (0, didYouMean_ts_1.didYouMean)(suggestions), { nodes: argNode }));
47
37
  }
48
38
  },
49
39
  };
50
40
  }
51
- /**
52
- * @internal
53
- */
54
41
  function KnownArgumentNamesOnDirectivesRule(context) {
55
42
  const directiveArgs = new Map();
56
43
  const schema = context.getSchema();
57
44
  const definedDirectives = schema
58
45
  ? schema.getDirectives()
59
- : directives_js_1.specifiedDirectives;
46
+ : directives_ts_1.specifiedDirectives;
60
47
  for (const directive of definedDirectives) {
61
48
  directiveArgs.set(directive.name, directive.args.map((arg) => arg.name));
62
49
  }
63
50
  const astDefinitions = context.getDocument().definitions;
64
51
  for (const def of astDefinitions) {
65
- if (def.kind === kinds_js_1.Kind.DIRECTIVE_DEFINITION) {
52
+ if (def.kind === kinds_ts_1.Kind.DIRECTIVE_DEFINITION) {
66
53
  const argsNodes = def.arguments ?? [];
67
54
  directiveArgs.set(def.name.value, argsNodes.map((arg) => arg.name.value));
68
55
  }
@@ -75,9 +62,9 @@ function KnownArgumentNamesOnDirectivesRule(context) {
75
62
  for (const argNode of directiveNode.arguments) {
76
63
  const argName = argNode.name.value;
77
64
  if (!knownArgs.includes(argName)) {
78
- const suggestions = (0, suggestionList_js_1.suggestionList)(argName, knownArgs);
79
- context.reportError(new GraphQLError_js_1.GraphQLError(`Unknown argument "${argName}" on directive "@${directiveName}".` +
80
- (context.hideSuggestions ? '' : (0, didYouMean_js_1.didYouMean)(suggestions)), { nodes: argNode }));
65
+ const suggestions = (0, suggestionList_ts_1.suggestionList)(argName, knownArgs);
66
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Unknown argument "${argName}" on directive "@${directiveName}".` +
67
+ (context.hideSuggestions ? '' : (0, didYouMean_ts_1.didYouMean)(suggestions)), { nodes: argNode }));
81
68
  }
82
69
  }
83
70
  }
@@ -1 +1 @@
1
- {"version":3,"file":"KnownArgumentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/KnownArgumentNamesRule.ts"],"names":[],"mappings":"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","sourcesContent":["import { didYouMean } from '../../jsutils/didYouMean.js';\nimport { suggestionList } from '../../jsutils/suggestionList.js';\n\nimport { GraphQLError } from '../../error/GraphQLError.js';\n\nimport { Kind } from '../../language/kinds.js';\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport { specifiedDirectives } from '../../type/directives.js';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.js';\n\n/**\n * Known argument names\n *\n * A GraphQL field is only valid if all supplied arguments are defined by\n * that field.\n *\n * See https://spec.graphql.org/draft/#sec-Argument-Names\n * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations\n */\nexport function KnownArgumentNamesRule(context: ValidationContext): ASTVisitor {\n return {\n // eslint-disable-next-line new-cap\n ...KnownArgumentNamesOnDirectivesRule(context),\n FragmentArgument(argNode) {\n const fragmentSignature = context.getFragmentSignature();\n if (fragmentSignature) {\n const varDef = fragmentSignature.variableDefinitions.get(\n argNode.name.value,\n );\n if (!varDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n Array.from(fragmentSignature.variableDefinitions.values()).map(\n (varSignature) => varSignature.variable.name.value,\n ),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on fragment \"${fragmentSignature.definition.name.value}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n }\n },\n Argument(argNode) {\n const argDef = context.getArgument();\n const fieldDef = context.getFieldDef();\n\n if (!argDef && fieldDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n fieldDef.args.map((arg) => arg.name),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on field \"${fieldDef}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n },\n };\n}\n\n/**\n * @internal\n */\nexport function KnownArgumentNamesOnDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const directiveArgs = new Map<string, ReadonlyArray<string>>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n directiveArgs.set(\n directive.name,\n directive.args.map((arg) => arg.name),\n );\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n const argsNodes = def.arguments ?? [];\n\n directiveArgs.set(\n def.name.value,\n argsNodes.map((arg) => arg.name.value),\n );\n }\n }\n\n return {\n Directive(directiveNode) {\n const directiveName = directiveNode.name.value;\n const knownArgs = directiveArgs.get(directiveName);\n\n if (directiveNode.arguments != null && knownArgs != null) {\n for (const argNode of directiveNode.arguments) {\n const argName = argNode.name.value;\n if (!knownArgs.includes(argName)) {\n const suggestions = suggestionList(argName, knownArgs);\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on directive \"@${directiveName}\".` +\n (context.hideSuggestions ? '' : didYouMean(suggestions)),\n { nodes: argNode },\n ),\n );\n }\n }\n }\n\n return false;\n },\n };\n}\n"]}
1
+ {"version":3,"file":"KnownArgumentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/KnownArgumentNamesRule.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Rules */\n\nimport { didYouMean } from '../../jsutils/didYouMean.ts';\nimport { suggestionList } from '../../jsutils/suggestionList.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { specifiedDirectives } from '../../type/directives.ts';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.ts';\n\n/**\n * Known argument names\n *\n * A GraphQL field is only valid if all supplied arguments are defined by\n * that field.\n *\n * See https://spec.graphql.org/draft/#sec-Argument-Names\n * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations\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 { KnownArgumentNamesRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * field(arg: String): String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * { field(unknown: \"1\") }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [KnownArgumentNamesRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { field(arg: \"1\") }\n * `);\n * const validErrors = validate(schema, validDocument, [KnownArgumentNamesRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function KnownArgumentNamesRule(context: ValidationContext): ASTVisitor {\n return {\n // eslint-disable-next-line new-cap\n ...KnownArgumentNamesOnDirectivesRule(context),\n FragmentArgument(argNode) {\n const fragmentSignature = context.getFragmentSignature();\n if (fragmentSignature) {\n const varDef = fragmentSignature.variableDefinitions.get(\n argNode.name.value,\n );\n if (!varDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n Array.from(fragmentSignature.variableDefinitions.values()).map(\n (varSignature) => varSignature.variable.name.value,\n ),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on fragment \"${fragmentSignature.definition.name.value}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n }\n },\n Argument(argNode) {\n const argDef = context.getArgument();\n const fieldDef = context.getFieldDef();\n\n if (!argDef && fieldDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n fieldDef.args.map((arg) => arg.name),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on field \"${fieldDef}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n },\n };\n}\n\n/** @internal */\nexport function KnownArgumentNamesOnDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const directiveArgs = new Map<string, ReadonlyArray<string>>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n directiveArgs.set(\n directive.name,\n directive.args.map((arg) => arg.name),\n );\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n const argsNodes = def.arguments ?? [];\n\n directiveArgs.set(\n def.name.value,\n argsNodes.map((arg) => arg.name.value),\n );\n }\n }\n\n return {\n Directive(directiveNode) {\n const directiveName = directiveNode.name.value;\n const knownArgs = directiveArgs.get(directiveName);\n\n if (directiveNode.arguments != null && knownArgs != null) {\n for (const argNode of directiveNode.arguments) {\n const argName = argNode.name.value;\n if (!knownArgs.includes(argName)) {\n const suggestions = suggestionList(argName, knownArgs);\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on directive \"@${directiveName}\".` +\n (context.hideSuggestions ? '' : didYouMean(suggestions)),\n { nodes: argNode },\n ),\n );\n }\n }\n }\n\n return false;\n },\n };\n}\n"]}
@@ -3,18 +3,8 @@ import { suggestionList } from "../../jsutils/suggestionList.mjs";
3
3
  import { GraphQLError } from "../../error/GraphQLError.mjs";
4
4
  import { Kind } from "../../language/kinds.mjs";
5
5
  import { specifiedDirectives } from "../../type/directives.mjs";
6
- /**
7
- * Known argument names
8
- *
9
- * A GraphQL field is only valid if all supplied arguments are defined by
10
- * that field.
11
- *
12
- * See https://spec.graphql.org/draft/#sec-Argument-Names
13
- * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations
14
- */
15
6
  export function KnownArgumentNamesRule(context) {
16
7
  return {
17
- // eslint-disable-next-line new-cap
18
8
  ...KnownArgumentNamesOnDirectivesRule(context),
19
9
  FragmentArgument(argNode) {
20
10
  const fragmentSignature = context.getFragmentSignature();
@@ -44,9 +34,6 @@ export function KnownArgumentNamesRule(context) {
44
34
  },
45
35
  };
46
36
  }
47
- /**
48
- * @internal
49
- */
50
37
  export function KnownArgumentNamesOnDirectivesRule(context) {
51
38
  const directiveArgs = new Map();
52
39
  const schema = context.getSchema();
@@ -1 +1 @@
1
- {"version":3,"file":"KnownArgumentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/KnownArgumentNamesRule.ts"],"names":[],"mappings":"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","sourcesContent":["import { didYouMean } from '../../jsutils/didYouMean.js';\nimport { suggestionList } from '../../jsutils/suggestionList.js';\n\nimport { GraphQLError } from '../../error/GraphQLError.js';\n\nimport { Kind } from '../../language/kinds.js';\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport { specifiedDirectives } from '../../type/directives.js';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.js';\n\n/**\n * Known argument names\n *\n * A GraphQL field is only valid if all supplied arguments are defined by\n * that field.\n *\n * See https://spec.graphql.org/draft/#sec-Argument-Names\n * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations\n */\nexport function KnownArgumentNamesRule(context: ValidationContext): ASTVisitor {\n return {\n // eslint-disable-next-line new-cap\n ...KnownArgumentNamesOnDirectivesRule(context),\n FragmentArgument(argNode) {\n const fragmentSignature = context.getFragmentSignature();\n if (fragmentSignature) {\n const varDef = fragmentSignature.variableDefinitions.get(\n argNode.name.value,\n );\n if (!varDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n Array.from(fragmentSignature.variableDefinitions.values()).map(\n (varSignature) => varSignature.variable.name.value,\n ),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on fragment \"${fragmentSignature.definition.name.value}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n }\n },\n Argument(argNode) {\n const argDef = context.getArgument();\n const fieldDef = context.getFieldDef();\n\n if (!argDef && fieldDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n fieldDef.args.map((arg) => arg.name),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on field \"${fieldDef}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n },\n };\n}\n\n/**\n * @internal\n */\nexport function KnownArgumentNamesOnDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const directiveArgs = new Map<string, ReadonlyArray<string>>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n directiveArgs.set(\n directive.name,\n directive.args.map((arg) => arg.name),\n );\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n const argsNodes = def.arguments ?? [];\n\n directiveArgs.set(\n def.name.value,\n argsNodes.map((arg) => arg.name.value),\n );\n }\n }\n\n return {\n Directive(directiveNode) {\n const directiveName = directiveNode.name.value;\n const knownArgs = directiveArgs.get(directiveName);\n\n if (directiveNode.arguments != null && knownArgs != null) {\n for (const argNode of directiveNode.arguments) {\n const argName = argNode.name.value;\n if (!knownArgs.includes(argName)) {\n const suggestions = suggestionList(argName, knownArgs);\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on directive \"@${directiveName}\".` +\n (context.hideSuggestions ? '' : didYouMean(suggestions)),\n { nodes: argNode },\n ),\n );\n }\n }\n }\n\n return false;\n },\n };\n}\n"]}
1
+ {"version":3,"file":"KnownArgumentNamesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/KnownArgumentNamesRule.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Rules */\n\nimport { didYouMean } from '../../jsutils/didYouMean.ts';\nimport { suggestionList } from '../../jsutils/suggestionList.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { specifiedDirectives } from '../../type/directives.ts';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.ts';\n\n/**\n * Known argument names\n *\n * A GraphQL field is only valid if all supplied arguments are defined by\n * that field.\n *\n * See https://spec.graphql.org/draft/#sec-Argument-Names\n * See https://spec.graphql.org/draft/#sec-Directives-Are-In-Valid-Locations\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 { KnownArgumentNamesRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * field(arg: String): String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * { field(unknown: \"1\") }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [KnownArgumentNamesRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { field(arg: \"1\") }\n * `);\n * const validErrors = validate(schema, validDocument, [KnownArgumentNamesRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function KnownArgumentNamesRule(context: ValidationContext): ASTVisitor {\n return {\n // eslint-disable-next-line new-cap\n ...KnownArgumentNamesOnDirectivesRule(context),\n FragmentArgument(argNode) {\n const fragmentSignature = context.getFragmentSignature();\n if (fragmentSignature) {\n const varDef = fragmentSignature.variableDefinitions.get(\n argNode.name.value,\n );\n if (!varDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n Array.from(fragmentSignature.variableDefinitions.values()).map(\n (varSignature) => varSignature.variable.name.value,\n ),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on fragment \"${fragmentSignature.definition.name.value}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n }\n },\n Argument(argNode) {\n const argDef = context.getArgument();\n const fieldDef = context.getFieldDef();\n\n if (!argDef && fieldDef) {\n const argName = argNode.name.value;\n const suggestions = context.hideSuggestions\n ? []\n : suggestionList(\n argName,\n fieldDef.args.map((arg) => arg.name),\n );\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on field \"${fieldDef}\".` +\n didYouMean(suggestions),\n { nodes: argNode },\n ),\n );\n }\n },\n };\n}\n\n/** @internal */\nexport function KnownArgumentNamesOnDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const directiveArgs = new Map<string, ReadonlyArray<string>>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n directiveArgs.set(\n directive.name,\n directive.args.map((arg) => arg.name),\n );\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n const argsNodes = def.arguments ?? [];\n\n directiveArgs.set(\n def.name.value,\n argsNodes.map((arg) => arg.name.value),\n );\n }\n }\n\n return {\n Directive(directiveNode) {\n const directiveName = directiveNode.name.value;\n const knownArgs = directiveArgs.get(directiveName);\n\n if (directiveNode.arguments != null && knownArgs != null) {\n for (const argNode of directiveNode.arguments) {\n const argName = argNode.name.value;\n if (!knownArgs.includes(argName)) {\n const suggestions = suggestionList(argName, knownArgs);\n context.reportError(\n new GraphQLError(\n `Unknown argument \"${argName}\" on directive \"@${directiveName}\".` +\n (context.hideSuggestions ? '' : didYouMean(suggestions)),\n { nodes: argNode },\n ),\n );\n }\n }\n }\n\n return false;\n },\n };\n}\n"]}
@@ -1,5 +1,6 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { SDLValidationContext, ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.mjs";
3
+ import type { SDLValidationContext, ValidationContext } from "../ValidationContext.mjs";
3
4
  /**
4
5
  * Known directives
5
6
  *
@@ -7,5 +8,32 @@ import type { SDLValidationContext, ValidationContext } from '../ValidationConte
7
8
  * schema and legally positioned.
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Directives-Are-Defined
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 { KnownDirectivesRule } from 'graphql/validation';
17
+ *
18
+ * const schema = buildSchema(`
19
+ * type Query {
20
+ * name: String
21
+ * }
22
+ * `);
23
+ *
24
+ * const invalidDocument = parse(`
25
+ * { name @unknown }
26
+ * `);
27
+ * const invalidErrors = validate(schema, invalidDocument, [KnownDirectivesRule]);
28
+ *
29
+ * invalidErrors.length; // => 1
30
+ *
31
+ * const validDocument = parse(`
32
+ * { name @include(if: true) }
33
+ * `);
34
+ * const validErrors = validate(schema, validDocument, [KnownDirectivesRule]);
35
+ *
36
+ * validErrors; // => []
37
+ * ```
10
38
  */
11
39
  export declare function KnownDirectivesRule(context: ValidationContext | SDLValidationContext): ASTVisitor;
@@ -1,5 +1,6 @@
1
- import type { ASTVisitor } from '../../language/visitor.js';
2
- import type { SDLValidationContext, ValidationContext } from '../ValidationContext.js';
1
+ /** @category Validation Rules */
2
+ import type { ASTVisitor } from "../../language/visitor.js";
3
+ import type { SDLValidationContext, ValidationContext } from "../ValidationContext.js";
3
4
  /**
4
5
  * Known directives
5
6
  *
@@ -7,5 +8,32 @@ import type { SDLValidationContext, ValidationContext } from '../ValidationConte
7
8
  * schema and legally positioned.
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Directives-Are-Defined
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 { KnownDirectivesRule } from 'graphql/validation';
17
+ *
18
+ * const schema = buildSchema(`
19
+ * type Query {
20
+ * name: String
21
+ * }
22
+ * `);
23
+ *
24
+ * const invalidDocument = parse(`
25
+ * { name @unknown }
26
+ * `);
27
+ * const invalidErrors = validate(schema, invalidDocument, [KnownDirectivesRule]);
28
+ *
29
+ * invalidErrors.length; // => 1
30
+ *
31
+ * const validDocument = parse(`
32
+ * { name @include(if: true) }
33
+ * `);
34
+ * const validErrors = validate(schema, validDocument, [KnownDirectivesRule]);
35
+ *
36
+ * validErrors; // => []
37
+ * ```
10
38
  */
11
39
  export declare function KnownDirectivesRule(context: ValidationContext | SDLValidationContext): ASTVisitor;
@@ -1,33 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.KnownDirectivesRule = KnownDirectivesRule;
4
- const inspect_js_1 = require("../../jsutils/inspect.js");
5
- const invariant_js_1 = require("../../jsutils/invariant.js");
6
- const GraphQLError_js_1 = require("../../error/GraphQLError.js");
7
- const ast_js_1 = require("../../language/ast.js");
8
- const directiveLocation_js_1 = require("../../language/directiveLocation.js");
9
- const kinds_js_1 = require("../../language/kinds.js");
10
- const directives_js_1 = require("../../type/directives.js");
11
- /**
12
- * Known directives
13
- *
14
- * A GraphQL document is only valid if all `@directives` are known by the
15
- * schema and legally positioned.
16
- *
17
- * See https://spec.graphql.org/draft/#sec-Directives-Are-Defined
18
- */
4
+ const inspect_ts_1 = require("../../jsutils/inspect.js");
5
+ const invariant_ts_1 = require("../../jsutils/invariant.js");
6
+ const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
7
+ const ast_ts_1 = require("../../language/ast.js");
8
+ const directiveLocation_ts_1 = require("../../language/directiveLocation.js");
9
+ const kinds_ts_1 = require("../../language/kinds.js");
10
+ const directives_ts_1 = require("../../type/directives.js");
19
11
  function KnownDirectivesRule(context) {
20
12
  const locationsMap = new Map();
21
13
  const schema = context.getSchema();
22
14
  const definedDirectives = schema
23
15
  ? schema.getDirectives()
24
- : directives_js_1.specifiedDirectives;
16
+ : directives_ts_1.specifiedDirectives;
25
17
  for (const directive of definedDirectives) {
26
18
  locationsMap.set(directive.name, directive.locations);
27
19
  }
28
20
  const astDefinitions = context.getDocument().definitions;
29
21
  for (const def of astDefinitions) {
30
- if (def.kind === kinds_js_1.Kind.DIRECTIVE_DEFINITION) {
22
+ if (def.kind === kinds_ts_1.Kind.DIRECTIVE_DEFINITION) {
31
23
  locationsMap.set(def.name.value, def.locations.map((name) => name.value));
32
24
  }
33
25
  }
@@ -36,12 +28,12 @@ function KnownDirectivesRule(context) {
36
28
  const name = node.name.value;
37
29
  const locations = locationsMap.get(name);
38
30
  if (locations == null) {
39
- context.reportError(new GraphQLError_js_1.GraphQLError(`Unknown directive "@${name}".`, { nodes: node }));
31
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Unknown directive "@${name}".`, { nodes: node }));
40
32
  return;
41
33
  }
42
34
  const candidateLocation = getDirectiveLocationForASTPath(ancestors);
43
35
  if (candidateLocation != null && !locations.includes(candidateLocation)) {
44
- context.reportError(new GraphQLError_js_1.GraphQLError(`Directive "@${name}" may not be used on ${candidateLocation}.`, { nodes: node }));
36
+ context.reportError(new GraphQLError_ts_1.GraphQLError(`Directive "@${name}" may not be used on ${candidateLocation}.`, { nodes: node }));
45
37
  }
46
38
  },
47
39
  };
@@ -49,73 +41,74 @@ function KnownDirectivesRule(context) {
49
41
  function getDirectiveLocationForASTPath(ancestors) {
50
42
  const appliedTo = ancestors.at(-1);
51
43
  if (!(appliedTo != null && 'kind' in appliedTo))
52
- (0, invariant_js_1.invariant)(false);
44
+ (0, invariant_ts_1.invariant)(false);
53
45
  switch (appliedTo.kind) {
54
- case kinds_js_1.Kind.OPERATION_DEFINITION:
46
+ case kinds_ts_1.Kind.OPERATION_DEFINITION:
55
47
  return getDirectiveLocationForOperation(appliedTo.operation);
56
- case kinds_js_1.Kind.FIELD:
57
- return directiveLocation_js_1.DirectiveLocation.FIELD;
58
- case kinds_js_1.Kind.FRAGMENT_SPREAD:
59
- return directiveLocation_js_1.DirectiveLocation.FRAGMENT_SPREAD;
60
- case kinds_js_1.Kind.INLINE_FRAGMENT:
61
- return directiveLocation_js_1.DirectiveLocation.INLINE_FRAGMENT;
62
- case kinds_js_1.Kind.FRAGMENT_DEFINITION:
63
- return directiveLocation_js_1.DirectiveLocation.FRAGMENT_DEFINITION;
64
- case kinds_js_1.Kind.VARIABLE_DEFINITION: {
48
+ case kinds_ts_1.Kind.FIELD:
49
+ return directiveLocation_ts_1.DirectiveLocation.FIELD;
50
+ case kinds_ts_1.Kind.FRAGMENT_SPREAD:
51
+ return directiveLocation_ts_1.DirectiveLocation.FRAGMENT_SPREAD;
52
+ case kinds_ts_1.Kind.INLINE_FRAGMENT:
53
+ return directiveLocation_ts_1.DirectiveLocation.INLINE_FRAGMENT;
54
+ case kinds_ts_1.Kind.FRAGMENT_DEFINITION:
55
+ return directiveLocation_ts_1.DirectiveLocation.FRAGMENT_DEFINITION;
56
+ case kinds_ts_1.Kind.VARIABLE_DEFINITION: {
65
57
  const parentNode = ancestors[ancestors.length - 3];
66
58
  if (!('kind' in parentNode))
67
- (0, invariant_js_1.invariant)(false);
68
- return parentNode.kind === kinds_js_1.Kind.OPERATION_DEFINITION
69
- ? directiveLocation_js_1.DirectiveLocation.VARIABLE_DEFINITION
70
- : directiveLocation_js_1.DirectiveLocation.FRAGMENT_VARIABLE_DEFINITION;
59
+ (0, invariant_ts_1.invariant)(false);
60
+ return parentNode.kind === kinds_ts_1.Kind.OPERATION_DEFINITION
61
+ ? directiveLocation_ts_1.DirectiveLocation.VARIABLE_DEFINITION
62
+ : directiveLocation_ts_1.DirectiveLocation.FRAGMENT_VARIABLE_DEFINITION;
71
63
  }
72
- case kinds_js_1.Kind.SCHEMA_DEFINITION:
73
- case kinds_js_1.Kind.SCHEMA_EXTENSION:
74
- return directiveLocation_js_1.DirectiveLocation.SCHEMA;
75
- case kinds_js_1.Kind.SCALAR_TYPE_DEFINITION:
76
- case kinds_js_1.Kind.SCALAR_TYPE_EXTENSION:
77
- return directiveLocation_js_1.DirectiveLocation.SCALAR;
78
- case kinds_js_1.Kind.OBJECT_TYPE_DEFINITION:
79
- case kinds_js_1.Kind.OBJECT_TYPE_EXTENSION:
80
- return directiveLocation_js_1.DirectiveLocation.OBJECT;
81
- case kinds_js_1.Kind.FIELD_DEFINITION:
82
- return directiveLocation_js_1.DirectiveLocation.FIELD_DEFINITION;
83
- case kinds_js_1.Kind.INTERFACE_TYPE_DEFINITION:
84
- case kinds_js_1.Kind.INTERFACE_TYPE_EXTENSION:
85
- return directiveLocation_js_1.DirectiveLocation.INTERFACE;
86
- case kinds_js_1.Kind.UNION_TYPE_DEFINITION:
87
- case kinds_js_1.Kind.UNION_TYPE_EXTENSION:
88
- return directiveLocation_js_1.DirectiveLocation.UNION;
89
- case kinds_js_1.Kind.ENUM_TYPE_DEFINITION:
90
- case kinds_js_1.Kind.ENUM_TYPE_EXTENSION:
91
- return directiveLocation_js_1.DirectiveLocation.ENUM;
92
- case kinds_js_1.Kind.ENUM_VALUE_DEFINITION:
93
- return directiveLocation_js_1.DirectiveLocation.ENUM_VALUE;
94
- case kinds_js_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
95
- case kinds_js_1.Kind.INPUT_OBJECT_TYPE_EXTENSION:
96
- return directiveLocation_js_1.DirectiveLocation.INPUT_OBJECT;
97
- case kinds_js_1.Kind.INPUT_VALUE_DEFINITION: {
64
+ case kinds_ts_1.Kind.SCHEMA_DEFINITION:
65
+ case kinds_ts_1.Kind.SCHEMA_EXTENSION:
66
+ return directiveLocation_ts_1.DirectiveLocation.SCHEMA;
67
+ case kinds_ts_1.Kind.SCALAR_TYPE_DEFINITION:
68
+ case kinds_ts_1.Kind.SCALAR_TYPE_EXTENSION:
69
+ return directiveLocation_ts_1.DirectiveLocation.SCALAR;
70
+ case kinds_ts_1.Kind.OBJECT_TYPE_DEFINITION:
71
+ case kinds_ts_1.Kind.OBJECT_TYPE_EXTENSION:
72
+ return directiveLocation_ts_1.DirectiveLocation.OBJECT;
73
+ case kinds_ts_1.Kind.FIELD_DEFINITION:
74
+ return directiveLocation_ts_1.DirectiveLocation.FIELD_DEFINITION;
75
+ case kinds_ts_1.Kind.INTERFACE_TYPE_DEFINITION:
76
+ case kinds_ts_1.Kind.INTERFACE_TYPE_EXTENSION:
77
+ return directiveLocation_ts_1.DirectiveLocation.INTERFACE;
78
+ case kinds_ts_1.Kind.UNION_TYPE_DEFINITION:
79
+ case kinds_ts_1.Kind.UNION_TYPE_EXTENSION:
80
+ return directiveLocation_ts_1.DirectiveLocation.UNION;
81
+ case kinds_ts_1.Kind.ENUM_TYPE_DEFINITION:
82
+ case kinds_ts_1.Kind.ENUM_TYPE_EXTENSION:
83
+ return directiveLocation_ts_1.DirectiveLocation.ENUM;
84
+ case kinds_ts_1.Kind.ENUM_VALUE_DEFINITION:
85
+ return directiveLocation_ts_1.DirectiveLocation.ENUM_VALUE;
86
+ case kinds_ts_1.Kind.INPUT_OBJECT_TYPE_DEFINITION:
87
+ case kinds_ts_1.Kind.INPUT_OBJECT_TYPE_EXTENSION:
88
+ return directiveLocation_ts_1.DirectiveLocation.INPUT_OBJECT;
89
+ case kinds_ts_1.Kind.INPUT_VALUE_DEFINITION: {
98
90
  const parentNode = ancestors.at(-3);
99
91
  if (!(parentNode != null && 'kind' in parentNode))
100
- (0, invariant_js_1.invariant)(false);
101
- return parentNode.kind === kinds_js_1.Kind.INPUT_OBJECT_TYPE_DEFINITION
102
- ? directiveLocation_js_1.DirectiveLocation.INPUT_FIELD_DEFINITION
103
- : directiveLocation_js_1.DirectiveLocation.ARGUMENT_DEFINITION;
92
+ (0, invariant_ts_1.invariant)(false);
93
+ return parentNode.kind === kinds_ts_1.Kind.INPUT_OBJECT_TYPE_DEFINITION
94
+ ? directiveLocation_ts_1.DirectiveLocation.INPUT_FIELD_DEFINITION
95
+ : directiveLocation_ts_1.DirectiveLocation.ARGUMENT_DEFINITION;
104
96
  }
105
- // Not reachable, all possible types have been considered.
106
- /* c8 ignore next 2 */
97
+ case kinds_ts_1.Kind.DIRECTIVE_DEFINITION:
98
+ case kinds_ts_1.Kind.DIRECTIVE_EXTENSION:
99
+ return directiveLocation_ts_1.DirectiveLocation.DIRECTIVE_DEFINITION;
107
100
  default:
108
- (0, invariant_js_1.invariant)(false, 'Unexpected kind: ' + (0, inspect_js_1.inspect)(appliedTo.kind));
101
+ (0, invariant_ts_1.invariant)(false, 'Unexpected kind: ' + (0, inspect_ts_1.inspect)(appliedTo.kind));
109
102
  }
110
103
  }
111
104
  function getDirectiveLocationForOperation(operation) {
112
105
  switch (operation) {
113
- case ast_js_1.OperationTypeNode.QUERY:
114
- return directiveLocation_js_1.DirectiveLocation.QUERY;
115
- case ast_js_1.OperationTypeNode.MUTATION:
116
- return directiveLocation_js_1.DirectiveLocation.MUTATION;
117
- case ast_js_1.OperationTypeNode.SUBSCRIPTION:
118
- return directiveLocation_js_1.DirectiveLocation.SUBSCRIPTION;
106
+ case ast_ts_1.OperationTypeNode.QUERY:
107
+ return directiveLocation_ts_1.DirectiveLocation.QUERY;
108
+ case ast_ts_1.OperationTypeNode.MUTATION:
109
+ return directiveLocation_ts_1.DirectiveLocation.MUTATION;
110
+ case ast_ts_1.OperationTypeNode.SUBSCRIPTION:
111
+ return directiveLocation_ts_1.DirectiveLocation.SUBSCRIPTION;
119
112
  }
120
113
  }
121
114
  //# sourceMappingURL=KnownDirectivesRule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"KnownDirectivesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/KnownDirectivesRule.ts"],"names":[],"mappings":"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","sourcesContent":["import { inspect } from '../../jsutils/inspect.js';\nimport { invariant } from '../../jsutils/invariant.js';\n\nimport { GraphQLError } from '../../error/GraphQLError.js';\n\nimport type { ASTNode } from '../../language/ast.js';\nimport { OperationTypeNode } from '../../language/ast.js';\nimport { DirectiveLocation } from '../../language/directiveLocation.js';\nimport { Kind } from '../../language/kinds.js';\nimport type { ASTVisitor } from '../../language/visitor.js';\n\nimport { specifiedDirectives } from '../../type/directives.js';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.js';\n\n/**\n * Known directives\n *\n * A GraphQL document is only valid if all `@directives` are known by the\n * schema and legally positioned.\n *\n * See https://spec.graphql.org/draft/#sec-Directives-Are-Defined\n */\nexport function KnownDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const locationsMap = new Map<string, ReadonlyArray<string>>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n locationsMap.set(directive.name, directive.locations);\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n locationsMap.set(\n def.name.value,\n def.locations.map((name) => name.value),\n );\n }\n }\n\n return {\n Directive(node, _key, _parent, _path, ancestors) {\n const name = node.name.value;\n const locations = locationsMap.get(name);\n\n if (locations == null) {\n context.reportError(\n new GraphQLError(`Unknown directive \"@${name}\".`, { nodes: node }),\n );\n return;\n }\n\n const candidateLocation = getDirectiveLocationForASTPath(ancestors);\n if (candidateLocation != null && !locations.includes(candidateLocation)) {\n context.reportError(\n new GraphQLError(\n `Directive \"@${name}\" may not be used on ${candidateLocation}.`,\n { nodes: node },\n ),\n );\n }\n },\n };\n}\n\nfunction getDirectiveLocationForASTPath(\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n): DirectiveLocation | undefined {\n const appliedTo = ancestors.at(-1);\n invariant(appliedTo != null && 'kind' in appliedTo);\n\n switch (appliedTo.kind) {\n case Kind.OPERATION_DEFINITION:\n return getDirectiveLocationForOperation(appliedTo.operation);\n case Kind.FIELD:\n return DirectiveLocation.FIELD;\n case Kind.FRAGMENT_SPREAD:\n return DirectiveLocation.FRAGMENT_SPREAD;\n case Kind.INLINE_FRAGMENT:\n return DirectiveLocation.INLINE_FRAGMENT;\n case Kind.FRAGMENT_DEFINITION:\n return DirectiveLocation.FRAGMENT_DEFINITION;\n case Kind.VARIABLE_DEFINITION: {\n const parentNode = ancestors[ancestors.length - 3];\n invariant('kind' in parentNode);\n return parentNode.kind === Kind.OPERATION_DEFINITION\n ? DirectiveLocation.VARIABLE_DEFINITION\n : DirectiveLocation.FRAGMENT_VARIABLE_DEFINITION;\n }\n case Kind.SCHEMA_DEFINITION:\n case Kind.SCHEMA_EXTENSION:\n return DirectiveLocation.SCHEMA;\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.SCALAR_TYPE_EXTENSION:\n return DirectiveLocation.SCALAR;\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_EXTENSION:\n return DirectiveLocation.OBJECT;\n case Kind.FIELD_DEFINITION:\n return DirectiveLocation.FIELD_DEFINITION;\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_EXTENSION:\n return DirectiveLocation.INTERFACE;\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.UNION_TYPE_EXTENSION:\n return DirectiveLocation.UNION;\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_EXTENSION:\n return DirectiveLocation.ENUM;\n case Kind.ENUM_VALUE_DEFINITION:\n return DirectiveLocation.ENUM_VALUE;\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n return DirectiveLocation.INPUT_OBJECT;\n case Kind.INPUT_VALUE_DEFINITION: {\n const parentNode = ancestors.at(-3);\n invariant(parentNode != null && 'kind' in parentNode);\n return parentNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION\n ? DirectiveLocation.INPUT_FIELD_DEFINITION\n : DirectiveLocation.ARGUMENT_DEFINITION;\n }\n // Not reachable, all possible types have been considered.\n /* c8 ignore next 2 */\n default:\n invariant(false, 'Unexpected kind: ' + inspect(appliedTo.kind));\n }\n}\n\nfunction getDirectiveLocationForOperation(\n operation: OperationTypeNode,\n): DirectiveLocation {\n switch (operation) {\n case OperationTypeNode.QUERY:\n return DirectiveLocation.QUERY;\n case OperationTypeNode.MUTATION:\n return DirectiveLocation.MUTATION;\n case OperationTypeNode.SUBSCRIPTION:\n return DirectiveLocation.SUBSCRIPTION;\n }\n}\n"]}
1
+ {"version":3,"file":"KnownDirectivesRule.js","sourceRoot":"","sources":["../../../src/validation/rules/KnownDirectivesRule.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Rules */\n\nimport { inspect } from '../../jsutils/inspect.ts';\nimport { invariant } from '../../jsutils/invariant.ts';\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { ASTNode } from '../../language/ast.ts';\nimport { OperationTypeNode } from '../../language/ast.ts';\nimport { DirectiveLocation } from '../../language/directiveLocation.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport { specifiedDirectives } from '../../type/directives.ts';\n\nimport type {\n SDLValidationContext,\n ValidationContext,\n} from '../ValidationContext.ts';\n\n/**\n * Known directives\n *\n * A GraphQL document is only valid if all `@directives` are known by the\n * schema and legally positioned.\n *\n * See https://spec.graphql.org/draft/#sec-Directives-Are-Defined\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 { KnownDirectivesRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * name: String\n * }\n * `);\n *\n * const invalidDocument = parse(`\n * { name @unknown }\n * `);\n * const invalidErrors = validate(schema, invalidDocument, [KnownDirectivesRule]);\n *\n * invalidErrors.length; // => 1\n *\n * const validDocument = parse(`\n * { name @include(if: true) }\n * `);\n * const validErrors = validate(schema, validDocument, [KnownDirectivesRule]);\n *\n * validErrors; // => []\n * ```\n */\nexport function KnownDirectivesRule(\n context: ValidationContext | SDLValidationContext,\n): ASTVisitor {\n const locationsMap = new Map<string, ReadonlyArray<string>>();\n\n const schema = context.getSchema();\n const definedDirectives = schema\n ? schema.getDirectives()\n : specifiedDirectives;\n for (const directive of definedDirectives) {\n locationsMap.set(directive.name, directive.locations);\n }\n\n const astDefinitions = context.getDocument().definitions;\n for (const def of astDefinitions) {\n if (def.kind === Kind.DIRECTIVE_DEFINITION) {\n locationsMap.set(\n def.name.value,\n def.locations.map((name) => name.value),\n );\n }\n }\n\n return {\n Directive(node, _key, _parent, _path, ancestors) {\n const name = node.name.value;\n const locations = locationsMap.get(name);\n\n if (locations == null) {\n context.reportError(\n new GraphQLError(`Unknown directive \"@${name}\".`, { nodes: node }),\n );\n return;\n }\n\n const candidateLocation = getDirectiveLocationForASTPath(ancestors);\n if (candidateLocation != null && !locations.includes(candidateLocation)) {\n context.reportError(\n new GraphQLError(\n `Directive \"@${name}\" may not be used on ${candidateLocation}.`,\n { nodes: node },\n ),\n );\n }\n },\n };\n}\n\nfunction getDirectiveLocationForASTPath(\n ancestors: ReadonlyArray<ASTNode | ReadonlyArray<ASTNode>>,\n): DirectiveLocation | undefined {\n const appliedTo = ancestors.at(-1);\n invariant(appliedTo != null && 'kind' in appliedTo);\n\n switch (appliedTo.kind) {\n case Kind.OPERATION_DEFINITION:\n return getDirectiveLocationForOperation(appliedTo.operation);\n case Kind.FIELD:\n return DirectiveLocation.FIELD;\n case Kind.FRAGMENT_SPREAD:\n return DirectiveLocation.FRAGMENT_SPREAD;\n case Kind.INLINE_FRAGMENT:\n return DirectiveLocation.INLINE_FRAGMENT;\n case Kind.FRAGMENT_DEFINITION:\n return DirectiveLocation.FRAGMENT_DEFINITION;\n case Kind.VARIABLE_DEFINITION: {\n const parentNode = ancestors[ancestors.length - 3];\n invariant('kind' in parentNode);\n return parentNode.kind === Kind.OPERATION_DEFINITION\n ? DirectiveLocation.VARIABLE_DEFINITION\n : DirectiveLocation.FRAGMENT_VARIABLE_DEFINITION;\n }\n case Kind.SCHEMA_DEFINITION:\n case Kind.SCHEMA_EXTENSION:\n return DirectiveLocation.SCHEMA;\n case Kind.SCALAR_TYPE_DEFINITION:\n case Kind.SCALAR_TYPE_EXTENSION:\n return DirectiveLocation.SCALAR;\n case Kind.OBJECT_TYPE_DEFINITION:\n case Kind.OBJECT_TYPE_EXTENSION:\n return DirectiveLocation.OBJECT;\n case Kind.FIELD_DEFINITION:\n return DirectiveLocation.FIELD_DEFINITION;\n case Kind.INTERFACE_TYPE_DEFINITION:\n case Kind.INTERFACE_TYPE_EXTENSION:\n return DirectiveLocation.INTERFACE;\n case Kind.UNION_TYPE_DEFINITION:\n case Kind.UNION_TYPE_EXTENSION:\n return DirectiveLocation.UNION;\n case Kind.ENUM_TYPE_DEFINITION:\n case Kind.ENUM_TYPE_EXTENSION:\n return DirectiveLocation.ENUM;\n case Kind.ENUM_VALUE_DEFINITION:\n return DirectiveLocation.ENUM_VALUE;\n case Kind.INPUT_OBJECT_TYPE_DEFINITION:\n case Kind.INPUT_OBJECT_TYPE_EXTENSION:\n return DirectiveLocation.INPUT_OBJECT;\n case Kind.INPUT_VALUE_DEFINITION: {\n const parentNode = ancestors.at(-3);\n invariant(parentNode != null && 'kind' in parentNode);\n return parentNode.kind === Kind.INPUT_OBJECT_TYPE_DEFINITION\n ? DirectiveLocation.INPUT_FIELD_DEFINITION\n : DirectiveLocation.ARGUMENT_DEFINITION;\n }\n case Kind.DIRECTIVE_DEFINITION:\n case Kind.DIRECTIVE_EXTENSION:\n return DirectiveLocation.DIRECTIVE_DEFINITION;\n // Not reachable, all possible types have been considered.\n /* node:coverage ignore next 2 */\n default:\n invariant(false, 'Unexpected kind: ' + inspect(appliedTo.kind));\n }\n}\n\nfunction getDirectiveLocationForOperation(\n operation: OperationTypeNode,\n): DirectiveLocation {\n switch (operation) {\n case OperationTypeNode.QUERY:\n return DirectiveLocation.QUERY;\n case OperationTypeNode.MUTATION:\n return DirectiveLocation.MUTATION;\n case OperationTypeNode.SUBSCRIPTION:\n return DirectiveLocation.SUBSCRIPTION;\n }\n}\n"]}