graphql 17.0.0-beta.1 → 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 (1176) 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.ts +1 -1
  16. package/__dev__/execution/cancellablePromise.d.ts +1 -1
  17. package/__dev__/execution/collectFields.d.ts +1 -1
  18. package/__dev__/execution/collectIteratorPromises.d.ts +1 -1
  19. package/__dev__/execution/createSharedExecutionContext.d.ts +1 -1
  20. package/__dev__/execution/execute.d.ts +1 -1
  21. package/__dev__/execution/getStreamUsage.d.ts +1 -1
  22. package/__dev__/execution/getVariableSignature.d.ts +1 -1
  23. package/__dev__/execution/hooks.d.ts +1 -1
  24. package/__dev__/execution/incremental/Computation.d.ts +1 -1
  25. package/__dev__/execution/incremental/IncrementalExecutor.d.ts +1 -1
  26. package/__dev__/execution/incremental/IncrementalPublisher.d.ts +1 -1
  27. package/__dev__/execution/incremental/Queue.d.ts +1 -1
  28. package/__dev__/execution/incremental/WorkQueue.d.ts +1 -1
  29. package/__dev__/execution/incremental/buildExecutionPlan.d.ts +1 -1
  30. package/__dev__/execution/index.d.ts +1 -1
  31. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +1 -0
  32. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +1 -0
  33. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.js +3 -0
  34. package/__dev__/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +3 -0
  35. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +1 -0
  36. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +1 -0
  37. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.js +3 -0
  38. package/__dev__/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +3 -0
  39. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +1 -0
  40. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +1 -0
  41. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.js +3 -0
  42. package/__dev__/execution/legacyIncremental/legacyExecuteIncrementally.mjs +3 -0
  43. package/__dev__/execution/mapAsyncIterable.d.ts +1 -1
  44. package/__dev__/execution/returnIteratorCatchingErrors.d.ts +1 -1
  45. package/__dev__/execution/values.d.ts +1 -1
  46. package/__dev__/execution/withConcurrentAbruptClose.d.ts +1 -1
  47. package/__dev__/graphql.d.ts +1 -1
  48. package/__dev__/harness.d.ts +1 -1
  49. package/__dev__/index.d.ts +1 -1
  50. package/__dev__/jsutils/AccumulatorMap.d.ts +1 -1
  51. package/__dev__/jsutils/Maybe.d.ts +1 -1
  52. package/__dev__/jsutils/ObjMap.d.ts +1 -1
  53. package/__dev__/jsutils/Path.d.ts +1 -1
  54. package/__dev__/jsutils/PromiseOrValue.d.ts +1 -1
  55. package/__dev__/jsutils/capitalize.d.ts +1 -1
  56. package/__dev__/jsutils/devAssert.d.ts +1 -1
  57. package/__dev__/jsutils/didYouMean.d.ts +1 -1
  58. package/__dev__/jsutils/formatList.d.ts +1 -1
  59. package/__dev__/jsutils/getBySet.d.ts +1 -1
  60. package/__dev__/jsutils/groupBy.d.ts +1 -1
  61. package/__dev__/jsutils/identityFunc.d.ts +1 -1
  62. package/__dev__/jsutils/inspect.d.ts +1 -1
  63. package/__dev__/jsutils/instanceOf.d.ts +1 -1
  64. package/__dev__/jsutils/invariant.d.ts +1 -1
  65. package/__dev__/jsutils/isAsyncIterable.d.ts +1 -1
  66. package/__dev__/jsutils/isIterableObject.d.ts +1 -1
  67. package/__dev__/jsutils/isObjectLike.d.ts +1 -1
  68. package/__dev__/jsutils/isPromise.d.ts +1 -1
  69. package/__dev__/jsutils/isSameSet.d.ts +1 -1
  70. package/__dev__/jsutils/keyMap.d.ts +1 -1
  71. package/__dev__/jsutils/keyValMap.d.ts +1 -1
  72. package/__dev__/jsutils/mapValue.d.ts +1 -1
  73. package/__dev__/jsutils/memoize1.d.ts +1 -1
  74. package/__dev__/jsutils/memoize2.d.ts +1 -1
  75. package/__dev__/jsutils/memoize3.d.ts +1 -1
  76. package/__dev__/jsutils/naturalCompare.d.ts +1 -1
  77. package/__dev__/jsutils/printPathArray.d.ts +1 -1
  78. package/__dev__/jsutils/promiseForObject.d.ts +1 -1
  79. package/__dev__/jsutils/promiseReduce.d.ts +1 -1
  80. package/__dev__/jsutils/promiseWithResolvers.d.ts +1 -1
  81. package/__dev__/jsutils/suggestionList.d.ts +1 -1
  82. package/__dev__/jsutils/toError.d.ts +1 -1
  83. package/__dev__/jsutils/toObjMap.d.ts +1 -1
  84. package/__dev__/language/KindTypeMap.d.ts +1 -1
  85. package/__dev__/language/ast.d.ts +1 -1
  86. package/__dev__/language/blockString.d.ts +1 -1
  87. package/__dev__/language/characterClasses.d.ts +1 -1
  88. package/__dev__/language/directiveLocation.d.ts +1 -1
  89. package/__dev__/language/index.d.ts +1 -1
  90. package/__dev__/language/kinds.d.ts +1 -1
  91. package/__dev__/language/kinds_.d.ts +1 -1
  92. package/__dev__/language/lexer.d.ts +1 -1
  93. package/__dev__/language/location.d.ts +1 -1
  94. package/__dev__/language/parser.d.ts +1 -1
  95. package/__dev__/language/predicates.d.ts +1 -1
  96. package/__dev__/language/printLocation.d.ts +1 -1
  97. package/__dev__/language/printString.d.ts +1 -1
  98. package/__dev__/language/printer.d.ts +1 -1
  99. package/__dev__/language/schemaCoordinateLexer.d.ts +1 -1
  100. package/__dev__/language/source.d.ts +1 -1
  101. package/__dev__/language/tokenKind.d.ts +1 -1
  102. package/__dev__/language/visitor.d.ts +1 -1
  103. package/__dev__/type/assertName.d.ts +1 -1
  104. package/__dev__/type/definition.d.ts +1 -1
  105. package/__dev__/type/directives.d.ts +1 -1
  106. package/__dev__/type/index.d.ts +1 -1
  107. package/__dev__/type/introspection.d.ts +1 -1
  108. package/__dev__/type/scalars.d.ts +1 -1
  109. package/__dev__/type/schema.d.ts +1 -1
  110. package/__dev__/type/validate.d.ts +1 -1
  111. package/__dev__/utilities/TypeInfo.d.ts +1 -1
  112. package/__dev__/utilities/astFromValue.d.ts +1 -1
  113. package/__dev__/utilities/buildASTSchema.d.ts +1 -1
  114. package/__dev__/utilities/buildClientSchema.d.ts +1 -1
  115. package/__dev__/utilities/coerceInputValue.d.ts +1 -1
  116. package/__dev__/utilities/concatAST.d.ts +1 -1
  117. package/__dev__/utilities/extendSchema.d.ts +1 -1
  118. package/__dev__/utilities/findSchemaChanges.d.ts +1 -1
  119. package/__dev__/utilities/getDefaultValueAST.d.ts +1 -1
  120. package/__dev__/utilities/getIntrospectionQuery.d.ts +1 -1
  121. package/__dev__/utilities/getOperationAST.d.ts +1 -1
  122. package/__dev__/utilities/index.d.ts +1 -1
  123. package/__dev__/utilities/introspectionFromSchema.d.ts +1 -1
  124. package/__dev__/utilities/lexicographicSortSchema.d.ts +1 -1
  125. package/__dev__/utilities/mapSchemaConfig.d.ts +1 -1
  126. package/__dev__/utilities/printSchema.d.ts +1 -1
  127. package/__dev__/utilities/replaceVariables.d.ts +1 -1
  128. package/__dev__/utilities/resolveSchemaCoordinate.d.ts +1 -1
  129. package/__dev__/utilities/separateOperations.d.ts +1 -1
  130. package/__dev__/utilities/sortValueNode.d.ts +1 -1
  131. package/__dev__/utilities/stripIgnoredCharacters.d.ts +1 -1
  132. package/__dev__/utilities/typeComparators.d.ts +1 -1
  133. package/__dev__/utilities/typeFromAST.d.ts +1 -1
  134. package/__dev__/utilities/typedQueryDocumentNode.d.ts +1 -1
  135. package/__dev__/utilities/validateInputValue.d.ts +1 -1
  136. package/__dev__/utilities/valueFromAST.d.ts +1 -1
  137. package/__dev__/utilities/valueFromASTUntyped.d.ts +1 -1
  138. package/__dev__/utilities/valueToLiteral.d.ts +1 -1
  139. package/__dev__/validation/ValidationContext.d.ts +1 -1
  140. package/__dev__/validation/index.d.ts +1 -1
  141. package/__dev__/validation/rules/DeferStreamDirectiveLabelRule.d.ts +1 -1
  142. package/__dev__/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +1 -1
  143. package/__dev__/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +1 -1
  144. package/__dev__/validation/rules/ExecutableDefinitionsRule.d.ts +1 -1
  145. package/__dev__/validation/rules/FieldsOnCorrectTypeRule.d.ts +1 -1
  146. package/__dev__/validation/rules/FragmentsOnCompositeTypesRule.d.ts +1 -1
  147. package/__dev__/validation/rules/KnownArgumentNamesRule.d.ts +1 -1
  148. package/__dev__/validation/rules/KnownDirectivesRule.d.ts +1 -1
  149. package/__dev__/validation/rules/KnownFragmentNamesRule.d.ts +1 -1
  150. package/__dev__/validation/rules/KnownOperationTypesRule.d.ts +1 -1
  151. package/__dev__/validation/rules/KnownTypeNamesRule.d.ts +1 -1
  152. package/__dev__/validation/rules/LoneAnonymousOperationRule.d.ts +1 -1
  153. package/__dev__/validation/rules/LoneSchemaDefinitionRule.d.ts +1 -1
  154. package/__dev__/validation/rules/MaxIntrospectionDepthRule.d.ts +1 -1
  155. package/__dev__/validation/rules/NoFragmentCyclesRule.d.ts +1 -1
  156. package/__dev__/validation/rules/NoUndefinedVariablesRule.d.ts +1 -1
  157. package/__dev__/validation/rules/NoUnusedFragmentsRule.d.ts +1 -1
  158. package/__dev__/validation/rules/NoUnusedVariablesRule.d.ts +1 -1
  159. package/__dev__/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +1 -1
  160. package/__dev__/validation/rules/PossibleFragmentSpreadsRule.d.ts +1 -1
  161. package/__dev__/validation/rules/PossibleTypeExtensionsRule.d.ts +1 -1
  162. package/__dev__/validation/rules/ProvidedRequiredArgumentsRule.d.ts +1 -1
  163. package/__dev__/validation/rules/ScalarLeafsRule.d.ts +1 -1
  164. package/__dev__/validation/rules/SingleFieldSubscriptionsRule.d.ts +1 -1
  165. package/__dev__/validation/rules/StreamDirectiveOnListFieldRule.d.ts +1 -1
  166. package/__dev__/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +1 -1
  167. package/__dev__/validation/rules/UniqueArgumentNamesRule.d.ts +1 -1
  168. package/__dev__/validation/rules/UniqueDirectiveNamesRule.d.ts +1 -1
  169. package/__dev__/validation/rules/UniqueDirectivesPerLocationRule.d.ts +1 -1
  170. package/__dev__/validation/rules/UniqueEnumValueNamesRule.d.ts +1 -1
  171. package/__dev__/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +1 -1
  172. package/__dev__/validation/rules/UniqueFragmentNamesRule.d.ts +1 -1
  173. package/__dev__/validation/rules/UniqueInputFieldNamesRule.d.ts +1 -1
  174. package/__dev__/validation/rules/UniqueOperationNamesRule.d.ts +1 -1
  175. package/__dev__/validation/rules/UniqueOperationTypesRule.d.ts +1 -1
  176. package/__dev__/validation/rules/UniqueTypeNamesRule.d.ts +1 -1
  177. package/__dev__/validation/rules/UniqueVariableNamesRule.d.ts +1 -1
  178. package/__dev__/validation/rules/ValuesOfCorrectTypeRule.d.ts +1 -1
  179. package/__dev__/validation/rules/VariablesAreInputTypesRule.d.ts +1 -1
  180. package/__dev__/validation/rules/VariablesInAllowedPositionRule.d.ts +1 -1
  181. package/__dev__/validation/rules/custom/NoDeprecatedCustomRule.d.ts +1 -1
  182. package/__dev__/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +1 -1
  183. package/__dev__/validation/specifiedRules.d.ts +1 -1
  184. package/__dev__/validation/validate.d.ts +1 -1
  185. package/__dev__/version.d.ts +1 -1
  186. package/devMode.d.mts +29 -0
  187. package/devMode.d.ts +29 -0
  188. package/devMode.js.map +1 -1
  189. package/devMode.mjs.map +1 -1
  190. package/error/GraphQLError.d.mts +94 -10
  191. package/error/GraphQLError.d.ts +94 -10
  192. package/error/GraphQLError.js +11 -20
  193. package/error/GraphQLError.js.map +1 -1
  194. package/error/GraphQLError.mjs +11 -20
  195. package/error/GraphQLError.mjs.map +1 -1
  196. package/error/ensureGraphQLError.d.mts +2 -0
  197. package/error/ensureGraphQLError.d.ts +2 -0
  198. package/error/ensureGraphQLError.js +0 -3
  199. package/error/ensureGraphQLError.js.map +1 -1
  200. package/error/ensureGraphQLError.mjs +0 -3
  201. package/error/ensureGraphQLError.mjs.map +1 -1
  202. package/error/index.d.mts +6 -0
  203. package/error/index.d.ts +6 -0
  204. package/error/index.js.map +1 -1
  205. package/error/index.mjs.map +1 -1
  206. package/error/locatedError.d.mts +20 -0
  207. package/error/locatedError.d.ts +20 -0
  208. package/error/locatedError.js +0 -6
  209. package/error/locatedError.js.map +1 -1
  210. package/error/locatedError.mjs +0 -6
  211. package/error/locatedError.mjs.map +1 -1
  212. package/error/syntaxError.d.mts +15 -0
  213. package/error/syntaxError.d.ts +15 -0
  214. package/error/syntaxError.js +0 -4
  215. package/error/syntaxError.js.map +1 -1
  216. package/error/syntaxError.mjs +0 -4
  217. package/error/syntaxError.mjs.map +1 -1
  218. package/execution/AbortedGraphQLExecutionError.d.mts +27 -0
  219. package/execution/AbortedGraphQLExecutionError.d.ts +27 -0
  220. package/execution/AbortedGraphQLExecutionError.js.map +1 -1
  221. package/execution/AbortedGraphQLExecutionError.mjs.map +1 -1
  222. package/execution/AsyncWorkTracker.d.mts +1 -1
  223. package/execution/AsyncWorkTracker.d.ts +1 -1
  224. package/execution/AsyncWorkTracker.js +1 -5
  225. package/execution/AsyncWorkTracker.js.map +1 -1
  226. package/execution/AsyncWorkTracker.mjs +1 -5
  227. package/execution/AsyncWorkTracker.mjs.map +1 -1
  228. package/execution/ExecutionArgs.d.mts +101 -0
  229. package/execution/ExecutionArgs.d.ts +101 -0
  230. package/execution/ExecutionArgs.js +3 -0
  231. package/execution/ExecutionArgs.js.map +1 -0
  232. package/execution/ExecutionArgs.mjs +2 -0
  233. package/execution/ExecutionArgs.mjs.map +1 -0
  234. package/execution/Executor.d.mts +44 -40
  235. package/execution/Executor.d.ts +44 -40
  236. package/execution/Executor.js +2 -122
  237. package/execution/Executor.js.map +1 -1
  238. package/execution/Executor.mjs +2 -122
  239. package/execution/Executor.mjs.map +1 -1
  240. package/execution/ExecutorThrowingOnIncremental.js +0 -2
  241. package/execution/ExecutorThrowingOnIncremental.js.map +1 -1
  242. package/execution/ExecutorThrowingOnIncremental.mjs +0 -2
  243. package/execution/ExecutorThrowingOnIncremental.mjs.map +1 -1
  244. package/execution/buildResolveInfo.d.mts +2 -0
  245. package/execution/buildResolveInfo.d.ts +2 -0
  246. package/execution/buildResolveInfo.js +0 -3
  247. package/execution/buildResolveInfo.js.map +1 -1
  248. package/execution/buildResolveInfo.mjs +0 -3
  249. package/execution/buildResolveInfo.mjs.map +1 -1
  250. package/execution/cancellablePromise.d.mts +3 -0
  251. package/execution/cancellablePromise.d.ts +3 -0
  252. package/execution/cancellablePromise.js.map +1 -1
  253. package/execution/cancellablePromise.mjs.map +1 -1
  254. package/execution/collectFields.d.mts +10 -4
  255. package/execution/collectFields.d.ts +10 -4
  256. package/execution/collectFields.js +0 -41
  257. package/execution/collectFields.js.map +1 -1
  258. package/execution/collectFields.mjs +0 -41
  259. package/execution/collectFields.mjs.map +1 -1
  260. package/execution/collectIteratorPromises.d.mts +2 -0
  261. package/execution/collectIteratorPromises.d.ts +2 -0
  262. package/execution/collectIteratorPromises.js +0 -5
  263. package/execution/collectIteratorPromises.js.map +1 -1
  264. package/execution/collectIteratorPromises.mjs +0 -5
  265. package/execution/collectIteratorPromises.mjs.map +1 -1
  266. package/execution/createSharedExecutionContext.d.mts +1 -0
  267. package/execution/createSharedExecutionContext.d.ts +1 -0
  268. package/execution/createSharedExecutionContext.js.map +1 -1
  269. package/execution/createSharedExecutionContext.mjs.map +1 -1
  270. package/execution/execute.d.mts +403 -38
  271. package/execution/execute.d.ts +403 -38
  272. package/execution/execute.js +0 -161
  273. package/execution/execute.js.map +1 -1
  274. package/execution/execute.mjs +0 -161
  275. package/execution/execute.mjs.map +1 -1
  276. package/execution/getStreamUsage.d.mts +4 -1
  277. package/execution/getStreamUsage.d.ts +4 -1
  278. package/execution/getStreamUsage.js +0 -7
  279. package/execution/getStreamUsage.js.map +1 -1
  280. package/execution/getStreamUsage.mjs +0 -7
  281. package/execution/getStreamUsage.mjs.map +1 -1
  282. package/execution/getVariableSignature.d.mts +4 -1
  283. package/execution/getVariableSignature.d.ts +4 -1
  284. package/execution/getVariableSignature.js +0 -2
  285. package/execution/getVariableSignature.js.map +1 -1
  286. package/execution/getVariableSignature.mjs +0 -2
  287. package/execution/getVariableSignature.mjs.map +1 -1
  288. package/execution/hooks.d.mts +3 -7
  289. package/execution/hooks.d.ts +3 -7
  290. package/execution/hooks.js +0 -1
  291. package/execution/hooks.js.map +1 -1
  292. package/execution/hooks.mjs +0 -1
  293. package/execution/hooks.mjs.map +1 -1
  294. package/execution/incremental/Computation.d.mts +1 -1
  295. package/execution/incremental/Computation.d.ts +1 -1
  296. package/execution/incremental/Computation.js +0 -1
  297. package/execution/incremental/Computation.js.map +1 -1
  298. package/execution/incremental/Computation.mjs +0 -1
  299. package/execution/incremental/Computation.mjs.map +1 -1
  300. package/execution/incremental/IncrementalExecutor.d.mts +124 -9
  301. package/execution/incremental/IncrementalExecutor.d.ts +124 -9
  302. package/execution/incremental/IncrementalExecutor.js +1 -31
  303. package/execution/incremental/IncrementalExecutor.js.map +1 -1
  304. package/execution/incremental/IncrementalExecutor.mjs +1 -31
  305. package/execution/incremental/IncrementalExecutor.mjs.map +1 -1
  306. package/execution/incremental/IncrementalPublisher.d.mts +1 -3
  307. package/execution/incremental/IncrementalPublisher.d.ts +1 -3
  308. package/execution/incremental/IncrementalPublisher.js +0 -5
  309. package/execution/incremental/IncrementalPublisher.js.map +1 -1
  310. package/execution/incremental/IncrementalPublisher.mjs +0 -5
  311. package/execution/incremental/IncrementalPublisher.mjs.map +1 -1
  312. package/execution/incremental/Queue.js +3 -64
  313. package/execution/incremental/Queue.js.map +1 -1
  314. package/execution/incremental/Queue.mjs +2 -62
  315. package/execution/incremental/Queue.mjs.map +1 -1
  316. package/execution/incremental/WorkQueue.d.mts +8 -0
  317. package/execution/incremental/WorkQueue.d.ts +8 -0
  318. package/execution/incremental/WorkQueue.js +0 -15
  319. package/execution/incremental/WorkQueue.js.map +1 -1
  320. package/execution/incremental/WorkQueue.mjs +0 -15
  321. package/execution/incremental/WorkQueue.mjs.map +1 -1
  322. package/execution/incremental/buildExecutionPlan.d.mts +3 -0
  323. package/execution/incremental/buildExecutionPlan.d.ts +3 -0
  324. package/execution/incremental/buildExecutionPlan.js.map +1 -1
  325. package/execution/incremental/buildExecutionPlan.mjs.map +1 -1
  326. package/execution/index.d.mts +12 -3
  327. package/execution/index.d.ts +12 -3
  328. package/execution/index.js +4 -1
  329. package/execution/index.js.map +1 -1
  330. package/execution/index.mjs +1 -0
  331. package/execution/index.mjs.map +1 -1
  332. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.mts +175 -0
  333. package/execution/legacyIncremental/BranchingIncrementalExecutor.d.ts +175 -0
  334. package/execution/legacyIncremental/BranchingIncrementalExecutor.js +69 -0
  335. package/execution/legacyIncremental/BranchingIncrementalExecutor.js.map +1 -0
  336. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs +65 -0
  337. package/execution/legacyIncremental/BranchingIncrementalExecutor.mjs.map +1 -0
  338. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.mts +12 -0
  339. package/execution/legacyIncremental/BranchingIncrementalPublisher.d.ts +12 -0
  340. package/execution/legacyIncremental/BranchingIncrementalPublisher.js +131 -0
  341. package/execution/legacyIncremental/BranchingIncrementalPublisher.js.map +1 -0
  342. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs +127 -0
  343. package/execution/legacyIncremental/BranchingIncrementalPublisher.mjs.map +1 -0
  344. package/execution/legacyIncremental/legacyExecuteIncrementally.d.mts +165 -0
  345. package/execution/legacyIncremental/legacyExecuteIncrementally.d.ts +165 -0
  346. package/execution/legacyIncremental/legacyExecuteIncrementally.js +17 -0
  347. package/execution/legacyIncremental/legacyExecuteIncrementally.js.map +1 -0
  348. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs +13 -0
  349. package/execution/legacyIncremental/legacyExecuteIncrementally.mjs.map +1 -0
  350. package/execution/mapAsyncIterable.d.mts +2 -0
  351. package/execution/mapAsyncIterable.d.ts +2 -0
  352. package/execution/mapAsyncIterable.js +0 -5
  353. package/execution/mapAsyncIterable.js.map +1 -1
  354. package/execution/mapAsyncIterable.mjs +0 -5
  355. package/execution/mapAsyncIterable.mjs.map +1 -1
  356. package/execution/returnIteratorCatchingErrors.d.mts +1 -0
  357. package/execution/returnIteratorCatchingErrors.d.ts +1 -0
  358. package/execution/returnIteratorCatchingErrors.js +0 -1
  359. package/execution/returnIteratorCatchingErrors.js.map +1 -1
  360. package/execution/returnIteratorCatchingErrors.mjs +0 -1
  361. package/execution/returnIteratorCatchingErrors.mjs.map +1 -1
  362. package/execution/values.d.mts +187 -5
  363. package/execution/values.d.ts +187 -5
  364. package/execution/values.js +14 -55
  365. package/execution/values.js.map +1 -1
  366. package/execution/values.mjs +14 -55
  367. package/execution/values.mjs.map +1 -1
  368. package/execution/withConcurrentAbruptClose.d.mts +2 -0
  369. package/execution/withConcurrentAbruptClose.d.ts +2 -0
  370. package/execution/withConcurrentAbruptClose.js +0 -14
  371. package/execution/withConcurrentAbruptClose.js.map +1 -1
  372. package/execution/withConcurrentAbruptClose.mjs +0 -14
  373. package/execution/withConcurrentAbruptClose.mjs.map +1 -1
  374. package/graphql.d.mts +192 -44
  375. package/graphql.d.ts +192 -44
  376. package/graphql.js +0 -12
  377. package/graphql.js.map +1 -1
  378. package/graphql.mjs +0 -12
  379. package/graphql.mjs.map +1 -1
  380. package/harness.d.mts +17 -0
  381. package/harness.d.ts +17 -0
  382. package/harness.js.map +1 -1
  383. package/harness.mjs.map +1 -1
  384. package/index.d.mts +26 -24
  385. package/index.d.ts +26 -24
  386. package/index.js +9 -96
  387. package/index.js.map +1 -1
  388. package/index.mjs +5 -149
  389. package/index.mjs.map +1 -1
  390. package/jsutils/AccumulatorMap.d.mts +2 -0
  391. package/jsutils/AccumulatorMap.d.ts +2 -0
  392. package/jsutils/AccumulatorMap.js +0 -4
  393. package/jsutils/AccumulatorMap.js.map +1 -1
  394. package/jsutils/AccumulatorMap.mjs +0 -4
  395. package/jsutils/AccumulatorMap.mjs.map +1 -1
  396. package/jsutils/Maybe.d.mts +5 -1
  397. package/jsutils/Maybe.d.ts +5 -1
  398. package/jsutils/Maybe.js.map +1 -1
  399. package/jsutils/Maybe.mjs.map +1 -1
  400. package/jsutils/ObjMap.d.mts +6 -0
  401. package/jsutils/ObjMap.d.ts +6 -0
  402. package/jsutils/ObjMap.js.map +1 -1
  403. package/jsutils/ObjMap.mjs.map +1 -1
  404. package/jsutils/Path.d.mts +30 -0
  405. package/jsutils/Path.d.ts +30 -0
  406. package/jsutils/Path.js +0 -6
  407. package/jsutils/Path.js.map +1 -1
  408. package/jsutils/Path.mjs +0 -6
  409. package/jsutils/Path.mjs.map +1 -1
  410. package/jsutils/PromiseOrValue.d.mts +1 -0
  411. package/jsutils/PromiseOrValue.d.ts +1 -0
  412. package/jsutils/PromiseOrValue.js.map +1 -1
  413. package/jsutils/PromiseOrValue.mjs.map +1 -1
  414. package/jsutils/capitalize.d.mts +2 -0
  415. package/jsutils/capitalize.d.ts +2 -0
  416. package/jsutils/capitalize.js +0 -3
  417. package/jsutils/capitalize.js.map +1 -1
  418. package/jsutils/capitalize.mjs +0 -3
  419. package/jsutils/capitalize.mjs.map +1 -1
  420. package/jsutils/devAssert.d.mts +1 -0
  421. package/jsutils/devAssert.d.ts +1 -0
  422. package/jsutils/devAssert.js.map +1 -1
  423. package/jsutils/devAssert.mjs.map +1 -1
  424. package/jsutils/didYouMean.d.mts +4 -1
  425. package/jsutils/didYouMean.d.ts +4 -1
  426. package/jsutils/didYouMean.js.map +1 -1
  427. package/jsutils/didYouMean.mjs.map +1 -1
  428. package/jsutils/formatList.d.mts +6 -2
  429. package/jsutils/formatList.d.ts +6 -2
  430. package/jsutils/formatList.js +0 -6
  431. package/jsutils/formatList.js.map +1 -1
  432. package/jsutils/formatList.mjs +0 -6
  433. package/jsutils/formatList.mjs.map +1 -1
  434. package/jsutils/getBySet.d.mts +1 -0
  435. package/jsutils/getBySet.d.ts +1 -0
  436. package/jsutils/getBySet.js.map +1 -1
  437. package/jsutils/getBySet.mjs.map +1 -1
  438. package/jsutils/groupBy.d.mts +2 -0
  439. package/jsutils/groupBy.d.ts +2 -0
  440. package/jsutils/groupBy.js +0 -3
  441. package/jsutils/groupBy.js.map +1 -1
  442. package/jsutils/groupBy.mjs +0 -3
  443. package/jsutils/groupBy.mjs.map +1 -1
  444. package/jsutils/identityFunc.d.mts +2 -0
  445. package/jsutils/identityFunc.d.ts +2 -0
  446. package/jsutils/identityFunc.js +0 -3
  447. package/jsutils/identityFunc.js.map +1 -1
  448. package/jsutils/identityFunc.mjs +0 -3
  449. package/jsutils/identityFunc.mjs.map +1 -1
  450. package/jsutils/inspect.d.mts +2 -0
  451. package/jsutils/inspect.d.ts +2 -0
  452. package/jsutils/inspect.js +0 -4
  453. package/jsutils/inspect.js.map +1 -1
  454. package/jsutils/inspect.mjs +0 -4
  455. package/jsutils/inspect.mjs.map +1 -1
  456. package/jsutils/instanceOf.d.mts +2 -0
  457. package/jsutils/instanceOf.d.ts +2 -0
  458. package/jsutils/instanceOf.js +1 -12
  459. package/jsutils/instanceOf.js.map +1 -1
  460. package/jsutils/instanceOf.mjs +1 -12
  461. package/jsutils/instanceOf.mjs.map +1 -1
  462. package/jsutils/invariant.d.mts +1 -0
  463. package/jsutils/invariant.d.ts +1 -0
  464. package/jsutils/invariant.js.map +1 -1
  465. package/jsutils/invariant.mjs.map +1 -1
  466. package/jsutils/isAsyncIterable.d.mts +2 -0
  467. package/jsutils/isAsyncIterable.d.ts +2 -0
  468. package/jsutils/isAsyncIterable.js +0 -4
  469. package/jsutils/isAsyncIterable.js.map +1 -1
  470. package/jsutils/isAsyncIterable.mjs +0 -4
  471. package/jsutils/isAsyncIterable.mjs.map +1 -1
  472. package/jsutils/isIterableObject.d.mts +6 -5
  473. package/jsutils/isIterableObject.d.ts +6 -5
  474. package/jsutils/isIterableObject.js +0 -17
  475. package/jsutils/isIterableObject.js.map +1 -1
  476. package/jsutils/isIterableObject.mjs +0 -17
  477. package/jsutils/isIterableObject.mjs.map +1 -1
  478. package/jsutils/isObjectLike.d.mts +2 -0
  479. package/jsutils/isObjectLike.d.ts +2 -0
  480. package/jsutils/isObjectLike.js +0 -4
  481. package/jsutils/isObjectLike.js.map +1 -1
  482. package/jsutils/isObjectLike.mjs +0 -4
  483. package/jsutils/isObjectLike.mjs.map +1 -1
  484. package/jsutils/isPromise.d.mts +3 -0
  485. package/jsutils/isPromise.d.ts +3 -0
  486. package/jsutils/isPromise.js +0 -4
  487. package/jsutils/isPromise.js.map +1 -1
  488. package/jsutils/isPromise.mjs +0 -4
  489. package/jsutils/isPromise.mjs.map +1 -1
  490. package/jsutils/isSameSet.d.mts +1 -0
  491. package/jsutils/isSameSet.d.ts +1 -0
  492. package/jsutils/isSameSet.js.map +1 -1
  493. package/jsutils/isSameSet.mjs.map +1 -1
  494. package/jsutils/keyMap.d.mts +7 -14
  495. package/jsutils/keyMap.d.ts +7 -14
  496. package/jsutils/keyMap.js +0 -27
  497. package/jsutils/keyMap.js.map +1 -1
  498. package/jsutils/keyMap.mjs +0 -27
  499. package/jsutils/keyMap.mjs.map +1 -1
  500. package/jsutils/keyValMap.d.mts +9 -6
  501. package/jsutils/keyValMap.d.ts +9 -6
  502. package/jsutils/keyValMap.js +0 -17
  503. package/jsutils/keyValMap.js.map +1 -1
  504. package/jsutils/keyValMap.mjs +0 -17
  505. package/jsutils/keyValMap.mjs.map +1 -1
  506. package/jsutils/mapValue.d.mts +2 -0
  507. package/jsutils/mapValue.d.ts +2 -0
  508. package/jsutils/mapValue.js +0 -4
  509. package/jsutils/mapValue.js.map +1 -1
  510. package/jsutils/mapValue.mjs +0 -4
  511. package/jsutils/mapValue.mjs.map +1 -1
  512. package/jsutils/memoize1.d.mts +2 -0
  513. package/jsutils/memoize1.d.ts +2 -0
  514. package/jsutils/memoize1.js +0 -3
  515. package/jsutils/memoize1.js.map +1 -1
  516. package/jsutils/memoize1.mjs +0 -3
  517. package/jsutils/memoize1.mjs.map +1 -1
  518. package/jsutils/memoize2.d.mts +2 -0
  519. package/jsutils/memoize2.d.ts +2 -0
  520. package/jsutils/memoize2.js +0 -3
  521. package/jsutils/memoize2.js.map +1 -1
  522. package/jsutils/memoize2.mjs +0 -3
  523. package/jsutils/memoize2.mjs.map +1 -1
  524. package/jsutils/memoize3.d.mts +2 -0
  525. package/jsutils/memoize3.d.ts +2 -0
  526. package/jsutils/memoize3.js +0 -3
  527. package/jsutils/memoize3.js.map +1 -1
  528. package/jsutils/memoize3.mjs +0 -3
  529. package/jsutils/memoize3.mjs.map +1 -1
  530. package/jsutils/naturalCompare.d.mts +1 -0
  531. package/jsutils/naturalCompare.d.ts +1 -0
  532. package/jsutils/naturalCompare.js +0 -7
  533. package/jsutils/naturalCompare.js.map +1 -1
  534. package/jsutils/naturalCompare.mjs +0 -7
  535. package/jsutils/naturalCompare.mjs.map +1 -1
  536. package/jsutils/printPathArray.d.mts +2 -0
  537. package/jsutils/printPathArray.d.ts +2 -0
  538. package/jsutils/printPathArray.js +0 -3
  539. package/jsutils/printPathArray.js.map +1 -1
  540. package/jsutils/printPathArray.mjs +0 -3
  541. package/jsutils/printPathArray.mjs.map +1 -1
  542. package/jsutils/promiseForObject.d.mts +2 -0
  543. package/jsutils/promiseForObject.d.ts +2 -0
  544. package/jsutils/promiseForObject.js +0 -7
  545. package/jsutils/promiseForObject.js.map +1 -1
  546. package/jsutils/promiseForObject.mjs +0 -7
  547. package/jsutils/promiseForObject.mjs.map +1 -1
  548. package/jsutils/promiseReduce.d.mts +2 -0
  549. package/jsutils/promiseReduce.d.ts +2 -0
  550. package/jsutils/promiseReduce.js +0 -7
  551. package/jsutils/promiseReduce.js.map +1 -1
  552. package/jsutils/promiseReduce.mjs +0 -7
  553. package/jsutils/promiseReduce.mjs.map +1 -1
  554. package/jsutils/promiseWithResolvers.d.mts +2 -0
  555. package/jsutils/promiseWithResolvers.d.ts +2 -0
  556. package/jsutils/promiseWithResolvers.js +0 -5
  557. package/jsutils/promiseWithResolvers.js.map +1 -1
  558. package/jsutils/promiseWithResolvers.mjs +0 -5
  559. package/jsutils/promiseWithResolvers.mjs.map +1 -1
  560. package/jsutils/suggestionList.d.mts +2 -0
  561. package/jsutils/suggestionList.d.ts +2 -0
  562. package/jsutils/suggestionList.js +1 -24
  563. package/jsutils/suggestionList.js.map +1 -1
  564. package/jsutils/suggestionList.mjs +1 -24
  565. package/jsutils/suggestionList.mjs.map +1 -1
  566. package/jsutils/toError.d.mts +2 -0
  567. package/jsutils/toError.d.ts +2 -0
  568. package/jsutils/toError.js +0 -3
  569. package/jsutils/toError.js.map +1 -1
  570. package/jsutils/toError.mjs +0 -3
  571. package/jsutils/toError.mjs.map +1 -1
  572. package/jsutils/toObjMap.d.mts +2 -0
  573. package/jsutils/toObjMap.d.ts +2 -0
  574. package/jsutils/toObjMap.js.map +1 -1
  575. package/jsutils/toObjMap.mjs.map +1 -1
  576. package/language/KindTypeMap.d.mts +1 -0
  577. package/language/KindTypeMap.d.ts +1 -0
  578. package/language/KindTypeMap.js.map +1 -1
  579. package/language/KindTypeMap.mjs.map +1 -1
  580. package/language/ast.d.mts +413 -53
  581. package/language/ast.d.ts +413 -53
  582. package/language/ast.js +0 -20
  583. package/language/ast.js.map +1 -1
  584. package/language/ast.mjs +0 -20
  585. package/language/ast.mjs.map +1 -1
  586. package/language/blockString.d.mts +1 -3
  587. package/language/blockString.d.ts +1 -3
  588. package/language/blockString.js +11 -37
  589. package/language/blockString.js.map +1 -1
  590. package/language/blockString.mjs +11 -37
  591. package/language/blockString.mjs.map +1 -1
  592. package/language/characterClasses.js +2 -45
  593. package/language/characterClasses.js.map +1 -1
  594. package/language/characterClasses.mjs +2 -45
  595. package/language/characterClasses.mjs.map +1 -1
  596. package/language/directiveLocation.d.mts +24 -5
  597. package/language/directiveLocation.d.ts +24 -5
  598. package/language/directiveLocation.js +0 -5
  599. package/language/directiveLocation.js.map +1 -1
  600. package/language/directiveLocation.mjs +0 -5
  601. package/language/directiveLocation.mjs.map +1 -1
  602. package/language/index.d.mts +6 -0
  603. package/language/index.d.ts +6 -0
  604. package/language/index.js +0 -4
  605. package/language/index.js.map +1 -1
  606. package/language/index.mjs +0 -4
  607. package/language/index.mjs.map +1 -1
  608. package/language/kinds.d.mts +3 -0
  609. package/language/kinds.d.ts +3 -0
  610. package/language/kinds.js.map +1 -1
  611. package/language/kinds.mjs.map +1 -1
  612. package/language/kinds_.d.mts +100 -12
  613. package/language/kinds_.d.ts +100 -12
  614. package/language/kinds_.js +0 -13
  615. package/language/kinds_.js.map +1 -1
  616. package/language/kinds_.mjs +0 -13
  617. package/language/kinds_.mjs.map +1 -1
  618. package/language/lexer.d.mts +48 -15
  619. package/language/lexer.d.ts +48 -15
  620. package/language/lexer.js +37 -278
  621. package/language/lexer.js.map +1 -1
  622. package/language/lexer.mjs +37 -278
  623. package/language/lexer.mjs.map +1 -1
  624. package/language/location.d.mts +16 -3
  625. package/language/location.d.ts +16 -3
  626. package/language/location.js +0 -4
  627. package/language/location.js.map +1 -1
  628. package/language/location.mjs +0 -4
  629. package/language/location.mjs.map +1 -1
  630. package/language/parser.d.mts +224 -9
  631. package/language/parser.d.ts +224 -9
  632. package/language/parser.js +0 -375
  633. package/language/parser.js.map +1 -1
  634. package/language/parser.mjs +0 -375
  635. package/language/parser.mjs.map +1 -1
  636. package/language/predicates.d.mts +181 -0
  637. package/language/predicates.d.ts +181 -0
  638. package/language/predicates.js +0 -6
  639. package/language/predicates.js.map +1 -1
  640. package/language/predicates.mjs +0 -6
  641. package/language/predicates.mjs.map +1 -1
  642. package/language/printLocation.d.mts +28 -0
  643. package/language/printLocation.d.ts +28 -0
  644. package/language/printLocation.js +0 -8
  645. package/language/printLocation.js.map +1 -1
  646. package/language/printLocation.mjs +0 -8
  647. package/language/printLocation.mjs.map +1 -1
  648. package/language/printString.d.mts +2 -0
  649. package/language/printString.d.ts +2 -0
  650. package/language/printString.js +5 -11
  651. package/language/printString.js.map +1 -1
  652. package/language/printString.mjs +5 -11
  653. package/language/printString.mjs.map +1 -1
  654. package/language/printer.d.mts +12 -0
  655. package/language/printer.d.ts +12 -0
  656. package/language/printer.js +0 -25
  657. package/language/printer.js.map +1 -1
  658. package/language/printer.mjs +0 -25
  659. package/language/printer.mjs.map +1 -1
  660. package/language/schemaCoordinateLexer.d.mts +14 -0
  661. package/language/schemaCoordinateLexer.d.ts +14 -0
  662. package/language/schemaCoordinateLexer.js +5 -35
  663. package/language/schemaCoordinateLexer.js.map +1 -1
  664. package/language/schemaCoordinateLexer.mjs +5 -35
  665. package/language/schemaCoordinateLexer.mjs.map +1 -1
  666. package/language/source.d.mts +28 -1
  667. package/language/source.d.ts +28 -1
  668. package/language/source.js +0 -12
  669. package/language/source.js.map +1 -1
  670. package/language/source.mjs +0 -12
  671. package/language/source.mjs.map +1 -1
  672. package/language/tokenKind.d.mts +5 -0
  673. package/language/tokenKind.d.ts +5 -0
  674. package/language/tokenKind.js +0 -4
  675. package/language/tokenKind.js.map +1 -1
  676. package/language/tokenKind.mjs +0 -4
  677. package/language/tokenKind.mjs.map +1 -1
  678. package/language/visitor.d.mts +182 -72
  679. package/language/visitor.d.ts +182 -72
  680. package/language/visitor.js +0 -15
  681. package/language/visitor.js.map +1 -1
  682. package/language/visitor.mjs +0 -15
  683. package/language/visitor.mjs.map +1 -1
  684. package/package.json +1 -1
  685. package/type/assertName.d.mts +18 -1
  686. package/type/assertName.d.ts +18 -1
  687. package/type/assertName.js +0 -8
  688. package/type/assertName.js.map +1 -1
  689. package/type/assertName.mjs +0 -8
  690. package/type/assertName.mjs.map +1 -1
  691. package/type/definition.d.mts +3258 -128
  692. package/type/definition.d.ts +3258 -128
  693. package/type/definition.js +5 -252
  694. package/type/definition.js.map +1 -1
  695. package/type/definition.mjs +5 -252
  696. package/type/definition.mjs.map +1 -1
  697. package/type/directives.d.mts +209 -20
  698. package/type/directives.d.ts +209 -20
  699. package/type/directives.js +0 -37
  700. package/type/directives.js.map +1 -1
  701. package/type/directives.mjs +0 -37
  702. package/type/directives.mjs.map +1 -1
  703. package/type/index.d.mts +6 -0
  704. package/type/index.d.ts +6 -0
  705. package/type/index.js +0 -23
  706. package/type/index.js.map +1 -1
  707. package/type/index.mjs +5 -48
  708. package/type/index.mjs.map +1 -1
  709. package/type/introspection.d.mts +36 -0
  710. package/type/introspection.d.ts +36 -0
  711. package/type/introspection.js +1 -6
  712. package/type/introspection.js.map +1 -1
  713. package/type/introspection.mjs +1 -6
  714. package/type/introspection.mjs.map +1 -1
  715. package/type/scalars.d.mts +29 -2
  716. package/type/scalars.d.ts +29 -2
  717. package/type/scalars.js +0 -15
  718. package/type/scalars.js.map +1 -1
  719. package/type/scalars.mjs +0 -15
  720. package/type/scalars.mjs.map +1 -1
  721. package/type/schema.d.mts +507 -31
  722. package/type/schema.d.ts +507 -31
  723. package/type/schema.js +0 -97
  724. package/type/schema.js.map +1 -1
  725. package/type/schema.mjs +0 -97
  726. package/type/schema.mjs.map +1 -1
  727. package/type/validate.d.mts +32 -3
  728. package/type/validate.d.ts +32 -3
  729. package/type/validate.js +0 -112
  730. package/type/validate.js.map +1 -1
  731. package/type/validate.mjs +0 -112
  732. package/type/validate.mjs.map +1 -1
  733. package/utilities/TypeInfo.d.mts +564 -1
  734. package/utilities/TypeInfo.d.ts +564 -1
  735. package/utilities/TypeInfo.js +1 -24
  736. package/utilities/TypeInfo.js.map +1 -1
  737. package/utilities/TypeInfo.mjs +1 -24
  738. package/utilities/TypeInfo.mjs.map +1 -1
  739. package/utilities/astFromValue.d.mts +36 -3
  740. package/utilities/astFromValue.d.ts +36 -3
  741. package/utilities/astFromValue.js +0 -42
  742. package/utilities/astFromValue.js.map +1 -1
  743. package/utilities/astFromValue.mjs +0 -42
  744. package/utilities/astFromValue.mjs.map +1 -1
  745. package/utilities/buildASTSchema.d.mts +66 -6
  746. package/utilities/buildASTSchema.d.ts +66 -6
  747. package/utilities/buildASTSchema.js +0 -21
  748. package/utilities/buildASTSchema.js.map +1 -1
  749. package/utilities/buildASTSchema.mjs +0 -21
  750. package/utilities/buildASTSchema.mjs.map +1 -1
  751. package/utilities/buildClientSchema.d.mts +17 -2
  752. package/utilities/buildClientSchema.d.ts +17 -2
  753. package/utilities/buildClientSchema.js +1 -32
  754. package/utilities/buildClientSchema.js.map +1 -1
  755. package/utilities/buildClientSchema.mjs +0 -30
  756. package/utilities/buildClientSchema.mjs.map +1 -1
  757. package/utilities/coerceInputValue.d.mts +83 -1
  758. package/utilities/coerceInputValue.d.ts +83 -1
  759. package/utilities/coerceInputValue.js +21 -50
  760. package/utilities/coerceInputValue.js.map +1 -1
  761. package/utilities/coerceInputValue.mjs +21 -50
  762. package/utilities/coerceInputValue.mjs.map +1 -1
  763. package/utilities/concatAST.d.mts +12 -0
  764. package/utilities/concatAST.d.ts +12 -0
  765. package/utilities/concatAST.js +0 -5
  766. package/utilities/concatAST.js.map +1 -1
  767. package/utilities/concatAST.mjs +0 -5
  768. package/utilities/concatAST.mjs.map +1 -1
  769. package/utilities/extendSchema.d.mts +58 -3
  770. package/utilities/extendSchema.d.ts +58 -3
  771. package/utilities/extendSchema.js +0 -60
  772. package/utilities/extendSchema.js.map +1 -1
  773. package/utilities/extendSchema.mjs +0 -60
  774. package/utilities/extendSchema.mjs.map +1 -1
  775. package/utilities/findSchemaChanges.d.mts +99 -1
  776. package/utilities/findSchemaChanges.d.ts +99 -1
  777. package/utilities/findSchemaChanges.js +3 -35
  778. package/utilities/findSchemaChanges.js.map +1 -1
  779. package/utilities/findSchemaChanges.mjs +3 -35
  780. package/utilities/findSchemaChanges.mjs.map +1 -1
  781. package/utilities/getDefaultValueAST.d.mts +1 -0
  782. package/utilities/getDefaultValueAST.d.ts +1 -0
  783. package/utilities/getDefaultValueAST.js +0 -2
  784. package/utilities/getDefaultValueAST.js.map +1 -1
  785. package/utilities/getDefaultValueAST.mjs +0 -2
  786. package/utilities/getDefaultValueAST.mjs.map +1 -1
  787. package/utilities/getIntrospectionQuery.d.mts +132 -0
  788. package/utilities/getIntrospectionQuery.d.ts +132 -0
  789. package/utilities/getIntrospectionQuery.js +0 -4
  790. package/utilities/getIntrospectionQuery.js.map +1 -1
  791. package/utilities/getIntrospectionQuery.mjs +0 -4
  792. package/utilities/getIntrospectionQuery.mjs.map +1 -1
  793. package/utilities/getOperationAST.d.mts +15 -0
  794. package/utilities/getOperationAST.d.ts +15 -0
  795. package/utilities/getOperationAST.js +0 -8
  796. package/utilities/getOperationAST.js.map +1 -1
  797. package/utilities/getOperationAST.mjs +0 -8
  798. package/utilities/getOperationAST.mjs.map +1 -1
  799. package/utilities/index.d.mts +18 -3
  800. package/utilities/index.d.ts +18 -3
  801. package/utilities/index.js +0 -27
  802. package/utilities/index.js.map +1 -1
  803. package/utilities/index.mjs +4 -37
  804. package/utilities/index.mjs.map +1 -1
  805. package/utilities/introspectionFromSchema.d.mts +54 -0
  806. package/utilities/introspectionFromSchema.d.ts +54 -0
  807. package/utilities/introspectionFromSchema.js +0 -9
  808. package/utilities/introspectionFromSchema.js.map +1 -1
  809. package/utilities/introspectionFromSchema.mjs +0 -9
  810. package/utilities/introspectionFromSchema.mjs.map +1 -1
  811. package/utilities/lexicographicSortSchema.d.mts +35 -0
  812. package/utilities/lexicographicSortSchema.d.ts +35 -0
  813. package/utilities/lexicographicSortSchema.js +0 -5
  814. package/utilities/lexicographicSortSchema.js.map +1 -1
  815. package/utilities/lexicographicSortSchema.mjs +0 -5
  816. package/utilities/lexicographicSortSchema.mjs.map +1 -1
  817. package/utilities/mapSchemaConfig.d.mts +6 -3
  818. package/utilities/mapSchemaConfig.d.ts +6 -3
  819. package/utilities/mapSchemaConfig.js +0 -10
  820. package/utilities/mapSchemaConfig.js.map +1 -1
  821. package/utilities/mapSchemaConfig.mjs +0 -10
  822. package/utilities/mapSchemaConfig.mjs.map +1 -1
  823. package/utilities/printSchema.d.mts +84 -0
  824. package/utilities/printSchema.d.ts +84 -0
  825. package/utilities/printSchema.js +0 -28
  826. package/utilities/printSchema.js.map +1 -1
  827. package/utilities/printSchema.mjs +0 -28
  828. package/utilities/printSchema.mjs.map +1 -1
  829. package/utilities/replaceVariables.d.mts +36 -0
  830. package/utilities/replaceVariables.d.ts +36 -0
  831. package/utilities/replaceVariables.js +0 -8
  832. package/utilities/replaceVariables.js.map +1 -1
  833. package/utilities/replaceVariables.mjs +0 -8
  834. package/utilities/replaceVariables.mjs.map +1 -1
  835. package/utilities/resolveSchemaCoordinate.d.mts +62 -0
  836. package/utilities/resolveSchemaCoordinate.d.ts +62 -0
  837. package/utilities/resolveSchemaCoordinate.js +0 -56
  838. package/utilities/resolveSchemaCoordinate.js.map +1 -1
  839. package/utilities/resolveSchemaCoordinate.mjs +0 -56
  840. package/utilities/resolveSchemaCoordinate.mjs.map +1 -1
  841. package/utilities/separateOperations.d.mts +30 -0
  842. package/utilities/separateOperations.d.ts +30 -0
  843. package/utilities/separateOperations.js +0 -15
  844. package/utilities/separateOperations.js.map +1 -1
  845. package/utilities/separateOperations.mjs +0 -15
  846. package/utilities/separateOperations.mjs.map +1 -1
  847. package/utilities/sortValueNode.js +0 -7
  848. package/utilities/sortValueNode.js.map +1 -1
  849. package/utilities/sortValueNode.mjs +0 -7
  850. package/utilities/sortValueNode.mjs.map +1 -1
  851. package/utilities/stripIgnoredCharacters.d.mts +13 -6
  852. package/utilities/stripIgnoredCharacters.d.ts +13 -6
  853. package/utilities/stripIgnoredCharacters.js +0 -65
  854. package/utilities/stripIgnoredCharacters.js.map +1 -1
  855. package/utilities/stripIgnoredCharacters.mjs +0 -65
  856. package/utilities/stripIgnoredCharacters.mjs.map +1 -1
  857. package/utilities/typeComparators.d.mts +84 -0
  858. package/utilities/typeComparators.d.ts +84 -0
  859. package/utilities/typeComparators.js +0 -33
  860. package/utilities/typeComparators.js.map +1 -1
  861. package/utilities/typeComparators.mjs +0 -33
  862. package/utilities/typeComparators.mjs.map +1 -1
  863. package/utilities/typeFromAST.d.mts +86 -0
  864. package/utilities/typeFromAST.d.ts +86 -0
  865. package/utilities/typeFromAST.js.map +1 -1
  866. package/utilities/typeFromAST.mjs.map +1 -1
  867. package/utilities/typedQueryDocumentNode.d.mts +4 -0
  868. package/utilities/typedQueryDocumentNode.d.ts +4 -0
  869. package/utilities/typedQueryDocumentNode.js.map +1 -1
  870. package/utilities/typedQueryDocumentNode.mjs.map +1 -1
  871. package/utilities/validateInputValue.d.mts +123 -0
  872. package/utilities/validateInputValue.d.ts +123 -0
  873. package/utilities/validateInputValue.js +0 -20
  874. package/utilities/validateInputValue.js.map +1 -1
  875. package/utilities/validateInputValue.mjs +0 -20
  876. package/utilities/validateInputValue.mjs.map +1 -1
  877. package/utilities/valueFromAST.d.mts +41 -0
  878. package/utilities/valueFromAST.d.ts +41 -0
  879. package/utilities/valueFromAST.js +13 -51
  880. package/utilities/valueFromAST.js.map +1 -1
  881. package/utilities/valueFromAST.mjs +13 -51
  882. package/utilities/valueFromAST.mjs.map +1 -1
  883. package/utilities/valueFromASTUntyped.d.mts +15 -2
  884. package/utilities/valueFromASTUntyped.d.ts +15 -2
  885. package/utilities/valueFromASTUntyped.js +0 -16
  886. package/utilities/valueFromASTUntyped.js.map +1 -1
  887. package/utilities/valueFromASTUntyped.mjs +0 -16
  888. package/utilities/valueFromASTUntyped.mjs.map +1 -1
  889. package/utilities/valueToLiteral.d.mts +30 -1
  890. package/utilities/valueToLiteral.d.ts +30 -1
  891. package/utilities/valueToLiteral.js +7 -40
  892. package/utilities/valueToLiteral.js.map +1 -1
  893. package/utilities/valueToLiteral.mjs +7 -40
  894. package/utilities/valueToLiteral.mjs.map +1 -1
  895. package/validation/ValidationContext.d.mts +490 -0
  896. package/validation/ValidationContext.d.ts +490 -0
  897. package/validation/ValidationContext.js +1 -8
  898. package/validation/ValidationContext.js.map +1 -1
  899. package/validation/ValidationContext.mjs +1 -8
  900. package/validation/ValidationContext.mjs.map +1 -1
  901. package/validation/index.d.mts +7 -0
  902. package/validation/index.d.ts +7 -0
  903. package/validation/index.js +0 -34
  904. package/validation/index.js.map +1 -1
  905. package/validation/index.mjs +0 -34
  906. package/validation/index.mjs.map +1 -1
  907. package/validation/rules/DeferStreamDirectiveLabelRule.d.mts +30 -0
  908. package/validation/rules/DeferStreamDirectiveLabelRule.d.ts +30 -0
  909. package/validation/rules/DeferStreamDirectiveLabelRule.js +0 -5
  910. package/validation/rules/DeferStreamDirectiveLabelRule.js.map +1 -1
  911. package/validation/rules/DeferStreamDirectiveLabelRule.mjs +0 -5
  912. package/validation/rules/DeferStreamDirectiveLabelRule.mjs.map +1 -1
  913. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.mts +28 -0
  914. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.d.ts +28 -0
  915. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js +0 -5
  916. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.js.map +1 -1
  917. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs +0 -5
  918. package/validation/rules/DeferStreamDirectiveOnRootFieldRule.mjs.map +1 -1
  919. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.mts +52 -0
  920. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.d.ts +52 -0
  921. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js +0 -5
  922. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.js.map +1 -1
  923. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs +0 -5
  924. package/validation/rules/DeferStreamDirectiveOnValidOperationsRule.mjs.map +1 -1
  925. package/validation/rules/ExecutableDefinitionsRule.d.mts +28 -0
  926. package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
  927. package/validation/rules/ExecutableDefinitionsRule.js +0 -8
  928. package/validation/rules/ExecutableDefinitionsRule.js.map +1 -1
  929. package/validation/rules/ExecutableDefinitionsRule.mjs +0 -8
  930. package/validation/rules/ExecutableDefinitionsRule.mjs.map +1 -1
  931. package/validation/rules/FieldsOnCorrectTypeRule.d.mts +28 -0
  932. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
  933. package/validation/rules/FieldsOnCorrectTypeRule.js +0 -27
  934. package/validation/rules/FieldsOnCorrectTypeRule.js.map +1 -1
  935. package/validation/rules/FieldsOnCorrectTypeRule.mjs +0 -27
  936. package/validation/rules/FieldsOnCorrectTypeRule.mjs.map +1 -1
  937. package/validation/rules/FragmentsOnCompositeTypesRule.d.mts +28 -0
  938. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
  939. package/validation/rules/FragmentsOnCompositeTypesRule.js +0 -9
  940. package/validation/rules/FragmentsOnCompositeTypesRule.js.map +1 -1
  941. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +0 -9
  942. package/validation/rules/FragmentsOnCompositeTypesRule.mjs.map +1 -1
  943. package/validation/rules/KnownArgumentNamesRule.d.mts +29 -3
  944. package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
  945. package/validation/rules/KnownArgumentNamesRule.js +0 -13
  946. package/validation/rules/KnownArgumentNamesRule.js.map +1 -1
  947. package/validation/rules/KnownArgumentNamesRule.mjs +0 -13
  948. package/validation/rules/KnownArgumentNamesRule.mjs.map +1 -1
  949. package/validation/rules/KnownDirectivesRule.d.mts +28 -0
  950. package/validation/rules/KnownDirectivesRule.d.ts +28 -0
  951. package/validation/rules/KnownDirectivesRule.js +0 -10
  952. package/validation/rules/KnownDirectivesRule.js.map +1 -1
  953. package/validation/rules/KnownDirectivesRule.mjs +0 -10
  954. package/validation/rules/KnownDirectivesRule.mjs.map +1 -1
  955. package/validation/rules/KnownFragmentNamesRule.d.mts +28 -0
  956. package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
  957. package/validation/rules/KnownFragmentNamesRule.js +0 -8
  958. package/validation/rules/KnownFragmentNamesRule.js.map +1 -1
  959. package/validation/rules/KnownFragmentNamesRule.mjs +0 -8
  960. package/validation/rules/KnownFragmentNamesRule.mjs.map +1 -1
  961. package/validation/rules/KnownOperationTypesRule.d.mts +20 -0
  962. package/validation/rules/KnownOperationTypesRule.d.ts +20 -0
  963. package/validation/rules/KnownOperationTypesRule.js +0 -8
  964. package/validation/rules/KnownOperationTypesRule.js.map +1 -1
  965. package/validation/rules/KnownOperationTypesRule.mjs +0 -8
  966. package/validation/rules/KnownOperationTypesRule.mjs.map +1 -1
  967. package/validation/rules/KnownTypeNamesRule.d.mts +28 -0
  968. package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
  969. package/validation/rules/KnownTypeNamesRule.js +0 -8
  970. package/validation/rules/KnownTypeNamesRule.js.map +1 -1
  971. package/validation/rules/KnownTypeNamesRule.mjs +0 -8
  972. package/validation/rules/KnownTypeNamesRule.mjs.map +1 -1
  973. package/validation/rules/LoneAnonymousOperationRule.d.mts +28 -0
  974. package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
  975. package/validation/rules/LoneAnonymousOperationRule.js +0 -8
  976. package/validation/rules/LoneAnonymousOperationRule.js.map +1 -1
  977. package/validation/rules/LoneAnonymousOperationRule.mjs +0 -8
  978. package/validation/rules/LoneAnonymousOperationRule.mjs.map +1 -1
  979. package/validation/rules/LoneSchemaDefinitionRule.d.mts +21 -0
  980. package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
  981. package/validation/rules/LoneSchemaDefinitionRule.js +0 -5
  982. package/validation/rules/LoneSchemaDefinitionRule.js.map +1 -1
  983. package/validation/rules/LoneSchemaDefinitionRule.mjs +0 -5
  984. package/validation/rules/LoneSchemaDefinitionRule.mjs.map +1 -1
  985. package/validation/rules/MaxIntrospectionDepthRule.d.mts +31 -0
  986. package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
  987. package/validation/rules/MaxIntrospectionDepthRule.js +0 -14
  988. package/validation/rules/MaxIntrospectionDepthRule.js.map +1 -1
  989. package/validation/rules/MaxIntrospectionDepthRule.mjs +0 -14
  990. package/validation/rules/MaxIntrospectionDepthRule.mjs.map +1 -1
  991. package/validation/rules/NoFragmentCyclesRule.d.mts +28 -0
  992. package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
  993. package/validation/rules/NoFragmentCyclesRule.js +0 -15
  994. package/validation/rules/NoFragmentCyclesRule.js.map +1 -1
  995. package/validation/rules/NoFragmentCyclesRule.mjs +0 -15
  996. package/validation/rules/NoFragmentCyclesRule.mjs.map +1 -1
  997. package/validation/rules/NoUndefinedVariablesRule.d.mts +28 -0
  998. package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
  999. package/validation/rules/NoUndefinedVariablesRule.js +0 -8
  1000. package/validation/rules/NoUndefinedVariablesRule.js.map +1 -1
  1001. package/validation/rules/NoUndefinedVariablesRule.mjs +0 -8
  1002. package/validation/rules/NoUndefinedVariablesRule.mjs.map +1 -1
  1003. package/validation/rules/NoUnusedFragmentsRule.d.mts +28 -0
  1004. package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
  1005. package/validation/rules/NoUnusedFragmentsRule.js +0 -8
  1006. package/validation/rules/NoUnusedFragmentsRule.js.map +1 -1
  1007. package/validation/rules/NoUnusedFragmentsRule.mjs +0 -8
  1008. package/validation/rules/NoUnusedFragmentsRule.mjs.map +1 -1
  1009. package/validation/rules/NoUnusedVariablesRule.d.mts +29 -0
  1010. package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
  1011. package/validation/rules/NoUnusedVariablesRule.js +0 -8
  1012. package/validation/rules/NoUnusedVariablesRule.js.map +1 -1
  1013. package/validation/rules/NoUnusedVariablesRule.mjs +0 -8
  1014. package/validation/rules/NoUnusedVariablesRule.mjs.map +1 -1
  1015. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.mts +33 -0
  1016. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
  1017. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +1 -175
  1018. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.map +1 -1
  1019. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +1 -175
  1020. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs.map +1 -1
  1021. package/validation/rules/PossibleFragmentSpreadsRule.d.mts +36 -0
  1022. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
  1023. package/validation/rules/PossibleFragmentSpreadsRule.js +0 -7
  1024. package/validation/rules/PossibleFragmentSpreadsRule.js.map +1 -1
  1025. package/validation/rules/PossibleFragmentSpreadsRule.mjs +0 -7
  1026. package/validation/rules/PossibleFragmentSpreadsRule.mjs.map +1 -1
  1027. package/validation/rules/PossibleTypeExtensionsRule.d.mts +21 -0
  1028. package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
  1029. package/validation/rules/PossibleTypeExtensionsRule.js +0 -9
  1030. package/validation/rules/PossibleTypeExtensionsRule.js.map +1 -1
  1031. package/validation/rules/PossibleTypeExtensionsRule.mjs +0 -9
  1032. package/validation/rules/PossibleTypeExtensionsRule.mjs.map +1 -1
  1033. package/validation/rules/ProvidedRequiredArgumentsRule.d.mts +29 -3
  1034. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
  1035. package/validation/rules/ProvidedRequiredArgumentsRule.js +0 -13
  1036. package/validation/rules/ProvidedRequiredArgumentsRule.js.map +1 -1
  1037. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +0 -13
  1038. package/validation/rules/ProvidedRequiredArgumentsRule.mjs.map +1 -1
  1039. package/validation/rules/ScalarLeafsRule.d.mts +28 -0
  1040. package/validation/rules/ScalarLeafsRule.d.ts +28 -0
  1041. package/validation/rules/ScalarLeafsRule.js +0 -6
  1042. package/validation/rules/ScalarLeafsRule.js.map +1 -1
  1043. package/validation/rules/ScalarLeafsRule.mjs +0 -6
  1044. package/validation/rules/ScalarLeafsRule.mjs.map +1 -1
  1045. package/validation/rules/SingleFieldSubscriptionsRule.d.mts +34 -2
  1046. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +34 -2
  1047. package/validation/rules/SingleFieldSubscriptionsRule.js +0 -9
  1048. package/validation/rules/SingleFieldSubscriptionsRule.js.map +1 -1
  1049. package/validation/rules/SingleFieldSubscriptionsRule.mjs +0 -9
  1050. package/validation/rules/SingleFieldSubscriptionsRule.mjs.map +1 -1
  1051. package/validation/rules/StreamDirectiveOnListFieldRule.d.mts +21 -0
  1052. package/validation/rules/StreamDirectiveOnListFieldRule.d.ts +21 -0
  1053. package/validation/rules/StreamDirectiveOnListFieldRule.js +0 -5
  1054. package/validation/rules/StreamDirectiveOnListFieldRule.js.map +1 -1
  1055. package/validation/rules/StreamDirectiveOnListFieldRule.mjs +0 -5
  1056. package/validation/rules/StreamDirectiveOnListFieldRule.mjs.map +1 -1
  1057. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.mts +21 -0
  1058. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
  1059. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +0 -6
  1060. package/validation/rules/UniqueArgumentDefinitionNamesRule.js.map +1 -1
  1061. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +0 -6
  1062. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs.map +1 -1
  1063. package/validation/rules/UniqueArgumentNamesRule.d.mts +28 -0
  1064. package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
  1065. package/validation/rules/UniqueArgumentNamesRule.js +0 -8
  1066. package/validation/rules/UniqueArgumentNamesRule.js.map +1 -1
  1067. package/validation/rules/UniqueArgumentNamesRule.mjs +0 -8
  1068. package/validation/rules/UniqueArgumentNamesRule.mjs.map +1 -1
  1069. package/validation/rules/UniqueDirectiveNamesRule.d.mts +21 -0
  1070. package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
  1071. package/validation/rules/UniqueDirectiveNamesRule.js +0 -5
  1072. package/validation/rules/UniqueDirectiveNamesRule.js.map +1 -1
  1073. package/validation/rules/UniqueDirectiveNamesRule.mjs +0 -5
  1074. package/validation/rules/UniqueDirectiveNamesRule.mjs.map +1 -1
  1075. package/validation/rules/UniqueDirectivesPerLocationRule.d.mts +28 -0
  1076. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
  1077. package/validation/rules/UniqueDirectivesPerLocationRule.js +0 -11
  1078. package/validation/rules/UniqueDirectivesPerLocationRule.js.map +1 -1
  1079. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +0 -11
  1080. package/validation/rules/UniqueDirectivesPerLocationRule.mjs.map +1 -1
  1081. package/validation/rules/UniqueEnumValueNamesRule.d.mts +21 -0
  1082. package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
  1083. package/validation/rules/UniqueEnumValueNamesRule.js +0 -5
  1084. package/validation/rules/UniqueEnumValueNamesRule.js.map +1 -1
  1085. package/validation/rules/UniqueEnumValueNamesRule.mjs +0 -5
  1086. package/validation/rules/UniqueEnumValueNamesRule.mjs.map +1 -1
  1087. package/validation/rules/UniqueFieldDefinitionNamesRule.d.mts +21 -0
  1088. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
  1089. package/validation/rules/UniqueFieldDefinitionNamesRule.js +0 -5
  1090. package/validation/rules/UniqueFieldDefinitionNamesRule.js.map +1 -1
  1091. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +0 -5
  1092. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs.map +1 -1
  1093. package/validation/rules/UniqueFragmentNamesRule.d.mts +28 -0
  1094. package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
  1095. package/validation/rules/UniqueFragmentNamesRule.js +0 -7
  1096. package/validation/rules/UniqueFragmentNamesRule.js.map +1 -1
  1097. package/validation/rules/UniqueFragmentNamesRule.mjs +0 -7
  1098. package/validation/rules/UniqueFragmentNamesRule.mjs.map +1 -1
  1099. package/validation/rules/UniqueInputFieldNamesRule.d.mts +32 -0
  1100. package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
  1101. package/validation/rules/UniqueInputFieldNamesRule.js +0 -8
  1102. package/validation/rules/UniqueInputFieldNamesRule.js.map +1 -1
  1103. package/validation/rules/UniqueInputFieldNamesRule.mjs +0 -8
  1104. package/validation/rules/UniqueInputFieldNamesRule.mjs.map +1 -1
  1105. package/validation/rules/UniqueOperationNamesRule.d.mts +28 -0
  1106. package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
  1107. package/validation/rules/UniqueOperationNamesRule.js +0 -7
  1108. package/validation/rules/UniqueOperationNamesRule.js.map +1 -1
  1109. package/validation/rules/UniqueOperationNamesRule.mjs +0 -7
  1110. package/validation/rules/UniqueOperationNamesRule.mjs.map +1 -1
  1111. package/validation/rules/UniqueOperationTypesRule.d.mts +21 -0
  1112. package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
  1113. package/validation/rules/UniqueOperationTypesRule.js +0 -5
  1114. package/validation/rules/UniqueOperationTypesRule.js.map +1 -1
  1115. package/validation/rules/UniqueOperationTypesRule.mjs +0 -5
  1116. package/validation/rules/UniqueOperationTypesRule.mjs.map +1 -1
  1117. package/validation/rules/UniqueTypeNamesRule.d.mts +21 -0
  1118. package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
  1119. package/validation/rules/UniqueTypeNamesRule.js +0 -5
  1120. package/validation/rules/UniqueTypeNamesRule.js.map +1 -1
  1121. package/validation/rules/UniqueTypeNamesRule.mjs +0 -5
  1122. package/validation/rules/UniqueTypeNamesRule.mjs.map +1 -1
  1123. package/validation/rules/UniqueVariableNamesRule.d.mts +28 -0
  1124. package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
  1125. package/validation/rules/UniqueVariableNamesRule.js +0 -5
  1126. package/validation/rules/UniqueVariableNamesRule.js.map +1 -1
  1127. package/validation/rules/UniqueVariableNamesRule.mjs +0 -5
  1128. package/validation/rules/UniqueVariableNamesRule.mjs.map +1 -1
  1129. package/validation/rules/ValuesOfCorrectTypeRule.d.mts +28 -0
  1130. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
  1131. package/validation/rules/ValuesOfCorrectTypeRule.js +1 -21
  1132. package/validation/rules/ValuesOfCorrectTypeRule.js.map +1 -1
  1133. package/validation/rules/ValuesOfCorrectTypeRule.mjs +1 -21
  1134. package/validation/rules/ValuesOfCorrectTypeRule.mjs.map +1 -1
  1135. package/validation/rules/VariablesAreInputTypesRule.d.mts +32 -0
  1136. package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
  1137. package/validation/rules/VariablesAreInputTypesRule.js +0 -8
  1138. package/validation/rules/VariablesAreInputTypesRule.js.map +1 -1
  1139. package/validation/rules/VariablesAreInputTypesRule.mjs +0 -8
  1140. package/validation/rules/VariablesAreInputTypesRule.mjs.map +1 -1
  1141. package/validation/rules/VariablesInAllowedPositionRule.d.mts +28 -0
  1142. package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
  1143. package/validation/rules/VariablesInAllowedPositionRule.js +0 -20
  1144. package/validation/rules/VariablesInAllowedPositionRule.js.map +1 -1
  1145. package/validation/rules/VariablesInAllowedPositionRule.mjs +0 -20
  1146. package/validation/rules/VariablesInAllowedPositionRule.mjs.map +1 -1
  1147. package/validation/rules/custom/NoDeprecatedCustomRule.d.mts +41 -0
  1148. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
  1149. package/validation/rules/custom/NoDeprecatedCustomRule.js +0 -10
  1150. package/validation/rules/custom/NoDeprecatedCustomRule.js.map +1 -1
  1151. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +0 -10
  1152. package/validation/rules/custom/NoDeprecatedCustomRule.mjs.map +1 -1
  1153. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.mts +28 -0
  1154. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
  1155. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +0 -10
  1156. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.map +1 -1
  1157. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +0 -10
  1158. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs.map +1 -1
  1159. package/validation/specifiedRules.d.mts +2 -3
  1160. package/validation/specifiedRules.d.ts +2 -3
  1161. package/validation/specifiedRules.js +0 -46
  1162. package/validation/specifiedRules.js.map +1 -1
  1163. package/validation/specifiedRules.mjs +0 -46
  1164. package/validation/specifiedRules.mjs.map +1 -1
  1165. package/validation/validate.d.mts +65 -7
  1166. package/validation/validate.d.ts +65 -7
  1167. package/validation/validate.js +0 -41
  1168. package/validation/validate.js.map +1 -1
  1169. package/validation/validate.mjs +0 -41
  1170. package/validation/validate.mjs.map +1 -1
  1171. package/version.d.mts +3 -6
  1172. package/version.d.ts +3 -6
  1173. package/version.js +2 -10
  1174. package/version.js.map +1 -1
  1175. package/version.mjs +2 -10
  1176. package/version.mjs.map +1 -1
@@ -1,11 +1,6 @@
1
1
  import { Kind } from "../language/kinds.mjs";
2
2
  import { visit } from "../language/visitor.mjs";
3
3
  import { TypeInfo, visitWithTypeInfo } from "../utilities/TypeInfo.mjs";
4
- /**
5
- * An instance of this class is passed as the "this" context to all validators,
6
- * allowing access to commonly useful contextual information from within a
7
- * validation rule.
8
- */
9
4
  export class ASTValidationContext {
10
5
  constructor(ast, onError) {
11
6
  this._ast = ast;
@@ -135,7 +130,7 @@ export class ValidationContext extends ASTValidationContext {
135
130
  node: variable,
136
131
  type: typeInfo.getInputType(),
137
132
  parentType: typeInfo.getParentInputType(),
138
- defaultValue: undefined, // fragment variables have a variable default but no location default, which is what this default value represents
133
+ defaultValue: undefined,
139
134
  fragmentVariableDefinition,
140
135
  });
141
136
  }
@@ -175,8 +170,6 @@ export class ValidationContext extends ASTValidationContext {
175
170
  getInputType() {
176
171
  return this._typeInfo.getInputType();
177
172
  }
178
- // Note: continues to expose the closest enclosing valid input type if
179
- // traversal descends into syntax with no corresponding GraphQL input type.
180
173
  getParentInputType() {
181
174
  return this._typeInfo.getParentInputType();
182
175
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationContext.js","sourceRoot":"","sources":["../../src/validation/ValidationContext.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap } from '../jsutils/ObjMap.ts';\n\nimport type { GraphQLError } from '../error/GraphQLError.ts';\n\nimport type {\n DocumentNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n OperationDefinitionNode,\n SelectionSetNode,\n VariableDefinitionNode,\n VariableNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\nimport type { ASTVisitor } from '../language/visitor.ts';\nimport { visit } from '../language/visitor.ts';\n\nimport type {\n GraphQLArgument,\n GraphQLCompositeType,\n GraphQLEnumValue,\n GraphQLField,\n GraphQLInputType,\n GraphQLOutputType,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\n\nimport type { FragmentSignature } from '../utilities/TypeInfo.ts';\nimport { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo.ts';\n\ntype NodeWithSelectionSet = OperationDefinitionNode | FragmentDefinitionNode;\ninterface VariableUsage {\n readonly node: VariableNode;\n readonly type: Maybe<GraphQLInputType>;\n readonly parentType: Maybe<GraphQLInputType>;\n readonly defaultValue: unknown;\n readonly fragmentVariableDefinition: Maybe<VariableDefinitionNode>;\n}\n\n/**\n * An instance of this class is passed as the \"this\" context to all validators,\n * allowing access to commonly useful contextual information from within a\n * validation rule.\n */\nexport class ASTValidationContext {\n private _ast: DocumentNode;\n private _onError: (error: GraphQLError) => void;\n private _fragments: ObjMap<FragmentDefinitionNode> | undefined;\n private _fragmentSpreads: Map<SelectionSetNode, Array<FragmentSpreadNode>>;\n private _recursivelyReferencedFragments: Map<\n OperationDefinitionNode,\n Array<FragmentDefinitionNode>\n >;\n\n constructor(ast: DocumentNode, onError: (error: GraphQLError) => void) {\n this._ast = ast;\n this._fragments = undefined;\n this._fragmentSpreads = new Map();\n this._recursivelyReferencedFragments = new Map();\n this._onError = onError;\n }\n\n get [Symbol.toStringTag](): string {\n return 'ASTValidationContext';\n }\n\n reportError(error: GraphQLError): void {\n this._onError(error);\n }\n\n getDocument(): DocumentNode {\n return this._ast;\n }\n\n getFragment(name: string): Maybe<FragmentDefinitionNode> {\n let fragments: ObjMap<FragmentDefinitionNode>;\n if (this._fragments) {\n fragments = this._fragments;\n } else {\n fragments = Object.create(null);\n for (const defNode of this.getDocument().definitions) {\n if (defNode.kind === Kind.FRAGMENT_DEFINITION) {\n fragments[defNode.name.value] = defNode;\n }\n }\n this._fragments = fragments;\n }\n return fragments[name];\n }\n\n getFragmentSpreads(\n node: SelectionSetNode,\n ): ReadonlyArray<FragmentSpreadNode> {\n let spreads = this._fragmentSpreads.get(node);\n if (!spreads) {\n spreads = [];\n const setsToVisit: Array<SelectionSetNode> = [node];\n let set: SelectionSetNode | undefined;\n while ((set = setsToVisit.pop())) {\n for (const selection of set.selections) {\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n spreads.push(selection);\n } else if (selection.selectionSet) {\n setsToVisit.push(selection.selectionSet);\n }\n }\n }\n this._fragmentSpreads.set(node, spreads);\n }\n return spreads;\n }\n\n getRecursivelyReferencedFragments(\n operation: OperationDefinitionNode,\n ): ReadonlyArray<FragmentDefinitionNode> {\n let fragments = this._recursivelyReferencedFragments.get(operation);\n if (!fragments) {\n fragments = [];\n const collectedNames = new Set<string>();\n const nodesToVisit: Array<SelectionSetNode> = [operation.selectionSet];\n let node: SelectionSetNode | undefined;\n while ((node = nodesToVisit.pop())) {\n for (const spread of this.getFragmentSpreads(node)) {\n const fragName = spread.name.value;\n if (!collectedNames.has(fragName)) {\n collectedNames.add(fragName);\n const fragment = this.getFragment(fragName);\n if (fragment) {\n fragments.push(fragment);\n nodesToVisit.push(fragment.selectionSet);\n }\n }\n }\n }\n this._recursivelyReferencedFragments.set(operation, fragments);\n }\n return fragments;\n }\n}\n\nexport type ASTValidationRule = (context: ASTValidationContext) => ASTVisitor;\n\nexport class SDLValidationContext extends ASTValidationContext {\n private _schema: Maybe<GraphQLSchema>;\n\n constructor(\n ast: DocumentNode,\n schema: Maybe<GraphQLSchema>,\n onError: (error: GraphQLError) => void,\n ) {\n super(ast, onError);\n this._schema = schema;\n }\n\n get hideSuggestions(): boolean {\n return false;\n }\n\n override get [Symbol.toStringTag](): string {\n return 'SDLValidationContext';\n }\n\n getSchema(): Maybe<GraphQLSchema> {\n return this._schema;\n }\n}\n\nexport type SDLValidationRule = (context: SDLValidationContext) => ASTVisitor;\n\nexport class ValidationContext extends ASTValidationContext {\n private _schema: GraphQLSchema;\n private _typeInfo: TypeInfo;\n private _variableUsages: Map<\n NodeWithSelectionSet,\n ReadonlyArray<VariableUsage>\n >;\n\n private _recursiveVariableUsages: Map<\n OperationDefinitionNode,\n ReadonlyArray<VariableUsage>\n >;\n private _hideSuggestions: boolean;\n\n constructor(\n schema: GraphQLSchema,\n ast: DocumentNode,\n typeInfo: TypeInfo,\n onError: (error: GraphQLError) => void,\n hideSuggestions?: Maybe<boolean>,\n ) {\n super(ast, onError);\n this._schema = schema;\n this._typeInfo = typeInfo;\n this._variableUsages = new Map();\n this._recursiveVariableUsages = new Map();\n this._hideSuggestions = hideSuggestions ?? false;\n }\n\n override get [Symbol.toStringTag](): string {\n return 'ValidationContext';\n }\n\n get hideSuggestions(): boolean {\n return this._hideSuggestions;\n }\n\n getSchema(): GraphQLSchema {\n return this._schema;\n }\n\n getVariableUsages(node: NodeWithSelectionSet): ReadonlyArray<VariableUsage> {\n let usages = this._variableUsages.get(node);\n if (!usages) {\n const newUsages: Array<VariableUsage> = [];\n const typeInfo = new TypeInfo(\n this._schema,\n undefined,\n this._typeInfo.getFragmentSignatureByName(),\n );\n const fragmentDefinition =\n node.kind === Kind.FRAGMENT_DEFINITION ? node : undefined;\n visit(\n node,\n visitWithTypeInfo(typeInfo, {\n VariableDefinition: () => false,\n Variable(variable) {\n let fragmentVariableDefinition;\n if (fragmentDefinition) {\n const fragmentSignature = typeInfo.getFragmentSignatureByName()(\n fragmentDefinition.name.value,\n );\n\n fragmentVariableDefinition =\n fragmentSignature?.variableDefinitions.get(variable.name.value);\n newUsages.push({\n node: variable,\n type: typeInfo.getInputType(),\n parentType: typeInfo.getParentInputType(),\n defaultValue: undefined, // fragment variables have a variable default but no location default, which is what this default value represents\n fragmentVariableDefinition,\n });\n } else {\n newUsages.push({\n node: variable,\n type: typeInfo.getInputType(),\n parentType: typeInfo.getParentInputType(),\n defaultValue: typeInfo.getDefaultValue(),\n fragmentVariableDefinition: undefined,\n });\n }\n },\n }),\n );\n usages = newUsages;\n this._variableUsages.set(node, usages);\n }\n return usages;\n }\n\n getRecursiveVariableUsages(\n operation: OperationDefinitionNode,\n ): ReadonlyArray<VariableUsage> {\n let usages = this._recursiveVariableUsages.get(operation);\n if (!usages) {\n usages = this.getVariableUsages(operation);\n for (const frag of this.getRecursivelyReferencedFragments(operation)) {\n usages = usages.concat(this.getVariableUsages(frag));\n }\n this._recursiveVariableUsages.set(operation, usages);\n }\n return usages;\n }\n\n getType(): Maybe<GraphQLOutputType> {\n return this._typeInfo.getType();\n }\n\n getParentType(): Maybe<GraphQLCompositeType> {\n return this._typeInfo.getParentType();\n }\n\n getInputType(): Maybe<GraphQLInputType> {\n return this._typeInfo.getInputType();\n }\n\n // Note: continues to expose the closest enclosing valid input type if\n // traversal descends into syntax with no corresponding GraphQL input type.\n getParentInputType(): Maybe<GraphQLInputType> {\n return this._typeInfo.getParentInputType();\n }\n\n getFieldDef(): Maybe<GraphQLField<unknown, unknown>> {\n return this._typeInfo.getFieldDef();\n }\n\n getDirective(): Maybe<GraphQLDirective> {\n return this._typeInfo.getDirective();\n }\n\n getArgument(): Maybe<GraphQLArgument> {\n return this._typeInfo.getArgument();\n }\n\n getFragmentSignature(): Maybe<FragmentSignature> {\n return this._typeInfo.getFragmentSignature();\n }\n\n getFragmentSignatureByName(): (\n fragmentName: string,\n ) => Maybe<FragmentSignature> {\n return this._typeInfo.getFragmentSignatureByName();\n }\n\n getEnumValue(): Maybe<GraphQLEnumValue> {\n return this._typeInfo.getEnumValue();\n }\n}\n\nexport type ValidationRule = (context: ValidationContext) => ASTVisitor;\n"]}
1
+ {"version":3,"file":"ValidationContext.js","sourceRoot":"","sources":["../../src/validation/ValidationContext.ts"],"names":[],"mappings":"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","sourcesContent":["/** @category Validation Context */\n\nimport type { Maybe } from '../jsutils/Maybe.ts';\nimport type { ObjMap } from '../jsutils/ObjMap.ts';\n\nimport type { GraphQLError } from '../error/GraphQLError.ts';\n\nimport type {\n DocumentNode,\n FragmentDefinitionNode,\n FragmentSpreadNode,\n OperationDefinitionNode,\n SelectionSetNode,\n VariableDefinitionNode,\n VariableNode,\n} from '../language/ast.ts';\nimport { Kind } from '../language/kinds.ts';\nimport type { ASTVisitor } from '../language/visitor.ts';\nimport { visit } from '../language/visitor.ts';\n\nimport type {\n GraphQLArgument,\n GraphQLCompositeType,\n GraphQLEnumValue,\n GraphQLField,\n GraphQLInputType,\n GraphQLOutputType,\n} from '../type/definition.ts';\nimport type { GraphQLDirective } from '../type/directives.ts';\nimport type { GraphQLSchema } from '../type/schema.ts';\n\nimport type { FragmentSignature } from '../utilities/TypeInfo.ts';\nimport { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo.ts';\n\ntype NodeWithSelectionSet = OperationDefinitionNode | FragmentDefinitionNode;\ninterface VariableUsage {\n readonly node: VariableNode;\n readonly type: Maybe<GraphQLInputType>;\n readonly parentType: Maybe<GraphQLInputType>;\n readonly defaultValue: unknown;\n readonly fragmentVariableDefinition: Maybe<VariableDefinitionNode>;\n}\n\n/**\n * An instance of this class is passed as the \"this\" context to all validators,\n * allowing access to commonly useful contextual information from within a\n * validation rule.\n *\n * @internal\n */\nexport class ASTValidationContext {\n private _ast: DocumentNode;\n private _onError: (error: GraphQLError) => void;\n private _fragments: ObjMap<FragmentDefinitionNode> | undefined;\n private _fragmentSpreads: Map<SelectionSetNode, Array<FragmentSpreadNode>>;\n private _recursivelyReferencedFragments: Map<\n OperationDefinitionNode,\n Array<FragmentDefinitionNode>\n >;\n\n constructor(ast: DocumentNode, onError: (error: GraphQLError) => void) {\n this._ast = ast;\n this._fragments = undefined;\n this._fragmentSpreads = new Map();\n this._recursivelyReferencedFragments = new Map();\n this._onError = onError;\n }\n\n get [Symbol.toStringTag](): string {\n return 'ASTValidationContext';\n }\n\n reportError(error: GraphQLError): void {\n this._onError(error);\n }\n\n getDocument(): DocumentNode {\n return this._ast;\n }\n\n getFragment(name: string): Maybe<FragmentDefinitionNode> {\n let fragments: ObjMap<FragmentDefinitionNode>;\n if (this._fragments) {\n fragments = this._fragments;\n } else {\n fragments = Object.create(null);\n for (const defNode of this.getDocument().definitions) {\n if (defNode.kind === Kind.FRAGMENT_DEFINITION) {\n fragments[defNode.name.value] = defNode;\n }\n }\n this._fragments = fragments;\n }\n return fragments[name];\n }\n\n getFragmentSpreads(\n node: SelectionSetNode,\n ): ReadonlyArray<FragmentSpreadNode> {\n let spreads = this._fragmentSpreads.get(node);\n if (!spreads) {\n spreads = [];\n const setsToVisit: Array<SelectionSetNode> = [node];\n let set: SelectionSetNode | undefined;\n while ((set = setsToVisit.pop())) {\n for (const selection of set.selections) {\n if (selection.kind === Kind.FRAGMENT_SPREAD) {\n spreads.push(selection);\n } else if (selection.selectionSet) {\n setsToVisit.push(selection.selectionSet);\n }\n }\n }\n this._fragmentSpreads.set(node, spreads);\n }\n return spreads;\n }\n\n getRecursivelyReferencedFragments(\n operation: OperationDefinitionNode,\n ): ReadonlyArray<FragmentDefinitionNode> {\n let fragments = this._recursivelyReferencedFragments.get(operation);\n if (!fragments) {\n fragments = [];\n const collectedNames = new Set<string>();\n const nodesToVisit: Array<SelectionSetNode> = [operation.selectionSet];\n let node: SelectionSetNode | undefined;\n while ((node = nodesToVisit.pop())) {\n for (const spread of this.getFragmentSpreads(node)) {\n const fragName = spread.name.value;\n if (!collectedNames.has(fragName)) {\n collectedNames.add(fragName);\n const fragment = this.getFragment(fragName);\n if (fragment) {\n fragments.push(fragment);\n nodesToVisit.push(fragment.selectionSet);\n }\n }\n }\n }\n this._recursivelyReferencedFragments.set(operation, fragments);\n }\n return fragments;\n }\n}\n\n/** @internal */\nexport type ASTValidationRule = (context: ASTValidationContext) => ASTVisitor;\n\n/** @internal */\nexport class SDLValidationContext extends ASTValidationContext {\n private _schema: Maybe<GraphQLSchema>;\n\n constructor(\n ast: DocumentNode,\n schema: Maybe<GraphQLSchema>,\n onError: (error: GraphQLError) => void,\n ) {\n super(ast, onError);\n this._schema = schema;\n }\n\n get hideSuggestions(): boolean {\n return false;\n }\n\n override get [Symbol.toStringTag](): string {\n return 'SDLValidationContext';\n }\n\n getSchema(): Maybe<GraphQLSchema> {\n return this._schema;\n }\n}\n\n/** @internal */\nexport type SDLValidationRule = (context: SDLValidationContext) => ASTVisitor;\n\n/** Validation context passed to query validation rules. */\nexport class ValidationContext extends ASTValidationContext {\n private _schema: GraphQLSchema;\n private _typeInfo: TypeInfo;\n private _variableUsages: Map<\n NodeWithSelectionSet,\n ReadonlyArray<VariableUsage>\n >;\n\n private _recursiveVariableUsages: Map<\n OperationDefinitionNode,\n ReadonlyArray<VariableUsage>\n >;\n private _hideSuggestions: boolean;\n\n /**\n * Creates a ValidationContext instance.\n * @param schema - Schema used to validate the document.\n * @param ast - Document AST being validated.\n * @param typeInfo - TypeInfo instance used to track traversal state.\n * @param onError - Callback invoked for each validation error.\n * @param hideSuggestions - Whether suggestion text should be omitted from errors.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { GraphQLError } from 'graphql/error';\n * import { buildSchema, TypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const document = parse('{ greeting }');\n * const errors = [];\n * const context = new ValidationContext(\n * schema,\n * document,\n * new TypeInfo(schema),\n * (error) => errors.push(error),\n * );\n *\n * context.reportError(new GraphQLError('Example validation error.'));\n *\n * context.getSchema(); // => schema\n * errors[0].message; // => 'Example validation error.'\n * ```\n */\n constructor(\n schema: GraphQLSchema,\n ast: DocumentNode,\n typeInfo: TypeInfo,\n onError: (error: GraphQLError) => void,\n hideSuggestions?: Maybe<boolean>,\n ) {\n super(ast, onError);\n this._schema = schema;\n this._typeInfo = typeInfo;\n this._variableUsages = new Map();\n this._recursiveVariableUsages = new Map();\n this._hideSuggestions = hideSuggestions ?? false;\n }\n\n /**\n * Returns the value used by `Object.prototype.toString`.\n * @returns The built-in string tag for this object.\n */\n override get [Symbol.toStringTag](): string {\n return 'ValidationContext';\n }\n\n /**\n * Returns whether validation error suggestions are hidden.\n * @returns True when suggestion text should be omitted from errors.\n */\n get hideSuggestions(): boolean {\n return this._hideSuggestions;\n }\n\n /**\n * Returns the schema being used by this validation context.\n * @returns The schema being validated against.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema, TypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const context = new ValidationContext(\n * schema,\n * parse('{ greeting }'),\n * new TypeInfo(schema),\n * () => {},\n * );\n *\n * context.getSchema().getQueryType()?.name; // => 'Query'\n * ```\n */\n getSchema(): GraphQLSchema {\n return this._schema;\n }\n\n /**\n * Returns variable usages found directly within this node.\n * @param node - The AST node to inspect or visit.\n * @returns Variable usages found directly within this node.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema, TypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting(name: String): String\n * }\n * `);\n * const document = parse('query ($name: String) { greeting(name: $name) }');\n * const operation = document.definitions[0];\n * const context = new ValidationContext(\n * schema,\n * document,\n * new TypeInfo(schema),\n * () => {},\n * );\n *\n * const usages = context.getVariableUsages(operation);\n *\n * usages[0].node.name.value; // => 'name'\n * String(usages[0].type); // => 'String'\n * ```\n */\n getVariableUsages(node: NodeWithSelectionSet): ReadonlyArray<VariableUsage> {\n let usages = this._variableUsages.get(node);\n if (!usages) {\n const newUsages: Array<VariableUsage> = [];\n const typeInfo = new TypeInfo(\n this._schema,\n undefined,\n this._typeInfo.getFragmentSignatureByName(),\n );\n const fragmentDefinition =\n node.kind === Kind.FRAGMENT_DEFINITION ? node : undefined;\n visit(\n node,\n visitWithTypeInfo(typeInfo, {\n VariableDefinition: () => false,\n Variable(variable) {\n let fragmentVariableDefinition;\n if (fragmentDefinition) {\n const fragmentSignature = typeInfo.getFragmentSignatureByName()(\n fragmentDefinition.name.value,\n );\n\n fragmentVariableDefinition =\n fragmentSignature?.variableDefinitions.get(variable.name.value);\n newUsages.push({\n node: variable,\n type: typeInfo.getInputType(),\n parentType: typeInfo.getParentInputType(),\n defaultValue: undefined, // fragment variables have a variable default but no location default, which is what this default value represents\n fragmentVariableDefinition,\n });\n } else {\n newUsages.push({\n node: variable,\n type: typeInfo.getInputType(),\n parentType: typeInfo.getParentInputType(),\n defaultValue: typeInfo.getDefaultValue(),\n fragmentVariableDefinition: undefined,\n });\n }\n },\n }),\n );\n usages = newUsages;\n this._variableUsages.set(node, usages);\n }\n return usages;\n }\n\n /**\n * Returns variable usages for an operation, including variables used by referenced fragments.\n * @param operation - Operation definition to inspect.\n * @returns Variable usages reachable from the operation.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema, TypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * viewer: User\n * }\n *\n * type User {\n * name(prefix: String): String\n * }\n * `);\n * const document = parse(`\n * query ($prefix: String) {\n * viewer {\n * ...UserName\n * }\n * }\n *\n * fragment UserName on User {\n * name(prefix: $prefix)\n * }\n * `);\n * const operation = document.definitions[0];\n * const context = new ValidationContext(\n * schema,\n * document,\n * new TypeInfo(schema),\n * () => {},\n * );\n *\n * const usages = context.getRecursiveVariableUsages(operation);\n *\n * usages.map((usage) => usage.node.name.value); // => ['prefix']\n * ```\n */\n getRecursiveVariableUsages(\n operation: OperationDefinitionNode,\n ): ReadonlyArray<VariableUsage> {\n let usages = this._recursiveVariableUsages.get(operation);\n if (!usages) {\n usages = this.getVariableUsages(operation);\n for (const frag of this.getRecursivelyReferencedFragments(operation)) {\n usages = usages.concat(this.getVariableUsages(frag));\n }\n this._recursiveVariableUsages.set(operation, usages);\n }\n return usages;\n }\n\n /**\n * Returns the current output type at this point in traversal.\n * @returns The current output type, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const document = parse('{ greeting }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let typeName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * Field: () => {\n * typeName = String(context.getType());\n * },\n * }),\n * );\n *\n * typeName; // => 'String'\n * ```\n */\n getType(): Maybe<GraphQLOutputType> {\n return this._typeInfo.getType();\n }\n\n /**\n * Returns the current parent composite type.\n * @returns The current parent composite type, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const document = parse('{ greeting }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let parentTypeName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * Field: () => {\n * parentTypeName = context.getParentType()?.name;\n * },\n * }),\n * );\n *\n * parentTypeName; // => 'Query'\n * ```\n */\n getParentType(): Maybe<GraphQLCompositeType> {\n return this._typeInfo.getParentType();\n }\n\n /**\n * Returns the current input type at this point in traversal.\n * @returns The current input type, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * reviews(limit: Int): [String]\n * }\n * `);\n * const document = parse('{ reviews(limit: 5) }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let inputTypeName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * Argument: () => {\n * inputTypeName = String(context.getInputType());\n * },\n * }),\n * );\n *\n * inputTypeName; // => 'Int'\n * ```\n */\n getInputType(): Maybe<GraphQLInputType> {\n return this._typeInfo.getInputType();\n }\n\n // Note: continues to expose the closest enclosing valid input type if\n // traversal descends into syntax with no corresponding GraphQL input type.\n /**\n * Returns the parent input type for the current input position.\n * @returns The parent input type, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * input ReviewFilter {\n * stars: Int\n * }\n *\n * type Query {\n * reviews(filter: ReviewFilter): [String]\n * }\n * `);\n * const document = parse('{ reviews(filter: { stars: 5 }) }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let parentInputTypeName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * ObjectField: () => {\n * parentInputTypeName = String(context.getParentInputType());\n * },\n * }),\n * );\n *\n * parentInputTypeName; // => 'ReviewFilter'\n * ```\n */\n getParentInputType(): Maybe<GraphQLInputType> {\n return this._typeInfo.getParentInputType();\n }\n\n /**\n * Returns the current field definition.\n * @returns The current field definition, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const document = parse('{ greeting }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let fieldName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * Field: () => {\n * fieldName = context.getFieldDef()?.name;\n * },\n * }),\n * );\n *\n * fieldName; // => 'greeting'\n * ```\n */\n getFieldDef(): Maybe<GraphQLField<unknown, unknown>> {\n return this._typeInfo.getFieldDef();\n }\n\n /**\n * Returns the current directive definition.\n * @returns The current directive definition, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const document = parse('{ greeting @include(if: true) }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let directiveName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * Directive: () => {\n * directiveName = context.getDirective()?.name;\n * },\n * }),\n * );\n *\n * directiveName; // => 'include'\n * ```\n */\n getDirective(): Maybe<GraphQLDirective> {\n return this._typeInfo.getDirective();\n }\n\n /**\n * Returns the current argument definition.\n * @returns The current argument definition, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * reviews(limit: Int): [String]\n * }\n * `);\n * const document = parse('{ reviews(limit: 5) }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let argumentName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * Argument: () => {\n * argumentName = context.getArgument()?.name;\n * },\n * }),\n * );\n *\n * argumentName; // => 'limit'\n * ```\n */\n getArgument(): Maybe<GraphQLArgument> {\n return this._typeInfo.getArgument();\n }\n\n /**\n * Returns the fragment signature at the current traversal position.\n * @returns The current fragment signature, if one is active.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const document = parse(\n * `\n * {\n * ...GreetingFields\n * }\n *\n * fragment GreetingFields on Query {\n * greeting\n * }\n * `,\n * { experimentalFragmentArguments: true },\n * );\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let fragmentName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * FragmentSpread: () => {\n * fragmentName = context.getFragmentSignature()?.definition.name.value;\n * },\n * }),\n * );\n *\n * fragmentName; // => 'GreetingFields'\n * ```\n */\n getFragmentSignature(): Maybe<FragmentSignature> {\n return this._typeInfo.getFragmentSignature();\n }\n\n /**\n * Returns the function used to look up fragment signatures by name.\n * @returns A function that maps fragment names to fragment signatures.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * greeting: String\n * }\n * `);\n * const document = parse(\n * `\n * {\n * ...GreetingFields\n * }\n *\n * fragment GreetingFields on Query {\n * greeting\n * }\n * `,\n * { experimentalFragmentArguments: true },\n * );\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let fragmentName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * Document: () => {\n * const getFragmentSignature = context.getFragmentSignatureByName();\n * fragmentName =\n * getFragmentSignature('GreetingFields')?.definition.name.value;\n * },\n * }),\n * );\n *\n * fragmentName; // => 'GreetingFields'\n * ```\n */\n getFragmentSignatureByName(): (\n fragmentName: string,\n ) => Maybe<FragmentSignature> {\n return this._typeInfo.getFragmentSignatureByName();\n }\n\n /**\n * Returns the current enum value definition.\n * @returns The current enum value definition, if known.\n * @example\n * ```ts\n * import { parse, visit } from 'graphql/language';\n * import { buildSchema, TypeInfo, visitWithTypeInfo } from 'graphql/utilities';\n * import { ValidationContext } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * enum Sort {\n * NEWEST\n * OLDEST\n * }\n *\n * type Query {\n * reviews(sort: Sort): [String]\n * }\n * `);\n * const document = parse('{ reviews(sort: OLDEST) }');\n * const typeInfo = new TypeInfo(schema);\n * const context = new ValidationContext(schema, document, typeInfo, () => {});\n * let enumValueName;\n *\n * visit(\n * document,\n * visitWithTypeInfo(typeInfo, {\n * EnumValue: () => {\n * enumValueName = context.getEnumValue()?.name;\n * },\n * }),\n * );\n *\n * enumValueName; // => 'OLDEST'\n * ```\n */\n getEnumValue(): Maybe<GraphQLEnumValue> {\n return this._typeInfo.getEnumValue();\n }\n}\n\n/** A function that creates an AST visitor for validating a GraphQL document. */\nexport type ValidationRule = (context: ValidationContext) => ASTVisitor;\n"]}
@@ -1,4 +1,11 @@
1
+ /**
2
+ * Validate GraphQL documents and schemas with the specified validation rules.
3
+ *
4
+ * These exports are also available from the root `graphql` package.
5
+ * @packageDocumentation
6
+ */
1
7
  export { validate } from "./validate.mjs";
8
+ export type { ValidationOptions } from "./validate.mjs";
2
9
  export { ValidationContext } from "./ValidationContext.mjs";
3
10
  export type { ValidationRule } from "./ValidationContext.mjs";
4
11
  export { specifiedRules, recommendedRules } from "./specifiedRules.mjs";
@@ -1,4 +1,11 @@
1
+ /**
2
+ * Validate GraphQL documents and schemas with the specified validation rules.
3
+ *
4
+ * These exports are also available from the root `graphql` package.
5
+ * @packageDocumentation
6
+ */
1
7
  export { validate } from "./validate.js";
8
+ export type { ValidationOptions } from "./validate.js";
2
9
  export { ValidationContext } from "./ValidationContext.js";
3
10
  export type { ValidationRule } from "./ValidationContext.js";
4
11
  export { specifiedRules, recommendedRules } from "./specifiedRules.js";
@@ -5,106 +5,73 @@ var validate_ts_1 = require("./validate.js");
5
5
  Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_ts_1.validate; } });
6
6
  var ValidationContext_ts_1 = require("./ValidationContext.js");
7
7
  Object.defineProperty(exports, "ValidationContext", { enumerable: true, get: function () { return ValidationContext_ts_1.ValidationContext; } });
8
- // All validation rules in the GraphQL Specification.
9
8
  var specifiedRules_ts_1 = require("./specifiedRules.js");
10
9
  Object.defineProperty(exports, "specifiedRules", { enumerable: true, get: function () { return specifiedRules_ts_1.specifiedRules; } });
11
10
  Object.defineProperty(exports, "recommendedRules", { enumerable: true, get: function () { return specifiedRules_ts_1.recommendedRules; } });
12
- // Spec Section: "Defer And Stream Directive Labels Are Unique"
13
11
  var DeferStreamDirectiveLabelRule_ts_1 = require("./rules/DeferStreamDirectiveLabelRule.js");
14
12
  Object.defineProperty(exports, "DeferStreamDirectiveLabelRule", { enumerable: true, get: function () { return DeferStreamDirectiveLabelRule_ts_1.DeferStreamDirectiveLabelRule; } });
15
- // Spec Section: "Defer And Stream Directives Are Used On Valid Root Field"
16
13
  var DeferStreamDirectiveOnRootFieldRule_ts_1 = require("./rules/DeferStreamDirectiveOnRootFieldRule.js");
17
14
  Object.defineProperty(exports, "DeferStreamDirectiveOnRootFieldRule", { enumerable: true, get: function () { return DeferStreamDirectiveOnRootFieldRule_ts_1.DeferStreamDirectiveOnRootFieldRule; } });
18
- // Spec Section: "Defer And Stream Directives Are Used On Valid Operations"
19
15
  var DeferStreamDirectiveOnValidOperationsRule_ts_1 = require("./rules/DeferStreamDirectiveOnValidOperationsRule.js");
20
16
  Object.defineProperty(exports, "DeferStreamDirectiveOnValidOperationsRule", { enumerable: true, get: function () { return DeferStreamDirectiveOnValidOperationsRule_ts_1.DeferStreamDirectiveOnValidOperationsRule; } });
21
- // Spec Section: "Executable Definitions"
22
17
  var ExecutableDefinitionsRule_ts_1 = require("./rules/ExecutableDefinitionsRule.js");
23
18
  Object.defineProperty(exports, "ExecutableDefinitionsRule", { enumerable: true, get: function () { return ExecutableDefinitionsRule_ts_1.ExecutableDefinitionsRule; } });
24
- // Spec Section: "Field Selections on Objects, Interfaces, and Unions Types"
25
19
  var FieldsOnCorrectTypeRule_ts_1 = require("./rules/FieldsOnCorrectTypeRule.js");
26
20
  Object.defineProperty(exports, "FieldsOnCorrectTypeRule", { enumerable: true, get: function () { return FieldsOnCorrectTypeRule_ts_1.FieldsOnCorrectTypeRule; } });
27
- // Spec Section: "Fragments on Composite Types"
28
21
  var FragmentsOnCompositeTypesRule_ts_1 = require("./rules/FragmentsOnCompositeTypesRule.js");
29
22
  Object.defineProperty(exports, "FragmentsOnCompositeTypesRule", { enumerable: true, get: function () { return FragmentsOnCompositeTypesRule_ts_1.FragmentsOnCompositeTypesRule; } });
30
- // Spec Section: "Argument Names"
31
23
  var KnownArgumentNamesRule_ts_1 = require("./rules/KnownArgumentNamesRule.js");
32
24
  Object.defineProperty(exports, "KnownArgumentNamesRule", { enumerable: true, get: function () { return KnownArgumentNamesRule_ts_1.KnownArgumentNamesRule; } });
33
- // Spec Section: "Directives Are Defined"
34
25
  var KnownDirectivesRule_ts_1 = require("./rules/KnownDirectivesRule.js");
35
26
  Object.defineProperty(exports, "KnownDirectivesRule", { enumerable: true, get: function () { return KnownDirectivesRule_ts_1.KnownDirectivesRule; } });
36
- // Spec Section: "Fragment spread target defined"
37
27
  var KnownFragmentNamesRule_ts_1 = require("./rules/KnownFragmentNamesRule.js");
38
28
  Object.defineProperty(exports, "KnownFragmentNamesRule", { enumerable: true, get: function () { return KnownFragmentNamesRule_ts_1.KnownFragmentNamesRule; } });
39
- // Spec Section: "Operation Type Existence"
40
29
  var KnownOperationTypesRule_ts_1 = require("./rules/KnownOperationTypesRule.js");
41
30
  Object.defineProperty(exports, "KnownOperationTypesRule", { enumerable: true, get: function () { return KnownOperationTypesRule_ts_1.KnownOperationTypesRule; } });
42
- // Spec Section: "Fragment Spread Type Existence"
43
31
  var KnownTypeNamesRule_ts_1 = require("./rules/KnownTypeNamesRule.js");
44
32
  Object.defineProperty(exports, "KnownTypeNamesRule", { enumerable: true, get: function () { return KnownTypeNamesRule_ts_1.KnownTypeNamesRule; } });
45
- // Spec Section: "Lone Anonymous Operation"
46
33
  var LoneAnonymousOperationRule_ts_1 = require("./rules/LoneAnonymousOperationRule.js");
47
34
  Object.defineProperty(exports, "LoneAnonymousOperationRule", { enumerable: true, get: function () { return LoneAnonymousOperationRule_ts_1.LoneAnonymousOperationRule; } });
48
- // Spec Section: "Fragments must not form cycles"
49
35
  var NoFragmentCyclesRule_ts_1 = require("./rules/NoFragmentCyclesRule.js");
50
36
  Object.defineProperty(exports, "NoFragmentCyclesRule", { enumerable: true, get: function () { return NoFragmentCyclesRule_ts_1.NoFragmentCyclesRule; } });
51
- // Spec Section: "All Variable Used Defined"
52
37
  var NoUndefinedVariablesRule_ts_1 = require("./rules/NoUndefinedVariablesRule.js");
53
38
  Object.defineProperty(exports, "NoUndefinedVariablesRule", { enumerable: true, get: function () { return NoUndefinedVariablesRule_ts_1.NoUndefinedVariablesRule; } });
54
- // Spec Section: "Fragments must be used"
55
39
  var NoUnusedFragmentsRule_ts_1 = require("./rules/NoUnusedFragmentsRule.js");
56
40
  Object.defineProperty(exports, "NoUnusedFragmentsRule", { enumerable: true, get: function () { return NoUnusedFragmentsRule_ts_1.NoUnusedFragmentsRule; } });
57
- // Spec Section: "All Variables Used"
58
41
  var NoUnusedVariablesRule_ts_1 = require("./rules/NoUnusedVariablesRule.js");
59
42
  Object.defineProperty(exports, "NoUnusedVariablesRule", { enumerable: true, get: function () { return NoUnusedVariablesRule_ts_1.NoUnusedVariablesRule; } });
60
- // Spec Section: "Field Selection Merging"
61
43
  var OverlappingFieldsCanBeMergedRule_ts_1 = require("./rules/OverlappingFieldsCanBeMergedRule.js");
62
44
  Object.defineProperty(exports, "OverlappingFieldsCanBeMergedRule", { enumerable: true, get: function () { return OverlappingFieldsCanBeMergedRule_ts_1.OverlappingFieldsCanBeMergedRule; } });
63
- // Spec Section: "Fragment spread is possible"
64
45
  var PossibleFragmentSpreadsRule_ts_1 = require("./rules/PossibleFragmentSpreadsRule.js");
65
46
  Object.defineProperty(exports, "PossibleFragmentSpreadsRule", { enumerable: true, get: function () { return PossibleFragmentSpreadsRule_ts_1.PossibleFragmentSpreadsRule; } });
66
- // Spec Section: "Argument Optionality"
67
47
  var ProvidedRequiredArgumentsRule_ts_1 = require("./rules/ProvidedRequiredArgumentsRule.js");
68
48
  Object.defineProperty(exports, "ProvidedRequiredArgumentsRule", { enumerable: true, get: function () { return ProvidedRequiredArgumentsRule_ts_1.ProvidedRequiredArgumentsRule; } });
69
- // Spec Section: "Leaf Field Selections"
70
49
  var ScalarLeafsRule_ts_1 = require("./rules/ScalarLeafsRule.js");
71
50
  Object.defineProperty(exports, "ScalarLeafsRule", { enumerable: true, get: function () { return ScalarLeafsRule_ts_1.ScalarLeafsRule; } });
72
- // Spec Section: "Subscriptions with Single Root Field"
73
51
  var SingleFieldSubscriptionsRule_ts_1 = require("./rules/SingleFieldSubscriptionsRule.js");
74
52
  Object.defineProperty(exports, "SingleFieldSubscriptionsRule", { enumerable: true, get: function () { return SingleFieldSubscriptionsRule_ts_1.SingleFieldSubscriptionsRule; } });
75
- // Spec Section: "Stream Directives Are Used On List Fields"
76
53
  var StreamDirectiveOnListFieldRule_ts_1 = require("./rules/StreamDirectiveOnListFieldRule.js");
77
54
  Object.defineProperty(exports, "StreamDirectiveOnListFieldRule", { enumerable: true, get: function () { return StreamDirectiveOnListFieldRule_ts_1.StreamDirectiveOnListFieldRule; } });
78
- // Spec Section: "Argument Uniqueness"
79
55
  var UniqueArgumentNamesRule_ts_1 = require("./rules/UniqueArgumentNamesRule.js");
80
56
  Object.defineProperty(exports, "UniqueArgumentNamesRule", { enumerable: true, get: function () { return UniqueArgumentNamesRule_ts_1.UniqueArgumentNamesRule; } });
81
- // Spec Section: "Directives Are Unique Per Location"
82
57
  var UniqueDirectivesPerLocationRule_ts_1 = require("./rules/UniqueDirectivesPerLocationRule.js");
83
58
  Object.defineProperty(exports, "UniqueDirectivesPerLocationRule", { enumerable: true, get: function () { return UniqueDirectivesPerLocationRule_ts_1.UniqueDirectivesPerLocationRule; } });
84
- // Spec Section: "Fragment Name Uniqueness"
85
59
  var UniqueFragmentNamesRule_ts_1 = require("./rules/UniqueFragmentNamesRule.js");
86
60
  Object.defineProperty(exports, "UniqueFragmentNamesRule", { enumerable: true, get: function () { return UniqueFragmentNamesRule_ts_1.UniqueFragmentNamesRule; } });
87
- // Spec Section: "Input Object Field Uniqueness"
88
61
  var UniqueInputFieldNamesRule_ts_1 = require("./rules/UniqueInputFieldNamesRule.js");
89
62
  Object.defineProperty(exports, "UniqueInputFieldNamesRule", { enumerable: true, get: function () { return UniqueInputFieldNamesRule_ts_1.UniqueInputFieldNamesRule; } });
90
- // Spec Section: "Operation Name Uniqueness"
91
63
  var UniqueOperationNamesRule_ts_1 = require("./rules/UniqueOperationNamesRule.js");
92
64
  Object.defineProperty(exports, "UniqueOperationNamesRule", { enumerable: true, get: function () { return UniqueOperationNamesRule_ts_1.UniqueOperationNamesRule; } });
93
- // Spec Section: "Variable Uniqueness"
94
65
  var UniqueVariableNamesRule_ts_1 = require("./rules/UniqueVariableNamesRule.js");
95
66
  Object.defineProperty(exports, "UniqueVariableNamesRule", { enumerable: true, get: function () { return UniqueVariableNamesRule_ts_1.UniqueVariableNamesRule; } });
96
- // Spec Section: "Values Type Correctness"
97
67
  var ValuesOfCorrectTypeRule_ts_1 = require("./rules/ValuesOfCorrectTypeRule.js");
98
68
  Object.defineProperty(exports, "ValuesOfCorrectTypeRule", { enumerable: true, get: function () { return ValuesOfCorrectTypeRule_ts_1.ValuesOfCorrectTypeRule; } });
99
- // Spec Section: "Variables are Input Types"
100
69
  var VariablesAreInputTypesRule_ts_1 = require("./rules/VariablesAreInputTypesRule.js");
101
70
  Object.defineProperty(exports, "VariablesAreInputTypesRule", { enumerable: true, get: function () { return VariablesAreInputTypesRule_ts_1.VariablesAreInputTypesRule; } });
102
- // Spec Section: "All Variable Usages Are Allowed"
103
71
  var VariablesInAllowedPositionRule_ts_1 = require("./rules/VariablesInAllowedPositionRule.js");
104
72
  Object.defineProperty(exports, "VariablesInAllowedPositionRule", { enumerable: true, get: function () { return VariablesInAllowedPositionRule_ts_1.VariablesInAllowedPositionRule; } });
105
73
  var MaxIntrospectionDepthRule_ts_1 = require("./rules/MaxIntrospectionDepthRule.js");
106
74
  Object.defineProperty(exports, "MaxIntrospectionDepthRule", { enumerable: true, get: function () { return MaxIntrospectionDepthRule_ts_1.MaxIntrospectionDepthRule; } });
107
- // SDL-specific validation rules
108
75
  var LoneSchemaDefinitionRule_ts_1 = require("./rules/LoneSchemaDefinitionRule.js");
109
76
  Object.defineProperty(exports, "LoneSchemaDefinitionRule", { enumerable: true, get: function () { return LoneSchemaDefinitionRule_ts_1.LoneSchemaDefinitionRule; } });
110
77
  var UniqueOperationTypesRule_ts_1 = require("./rules/UniqueOperationTypesRule.js");
@@ -121,7 +88,6 @@ var UniqueDirectiveNamesRule_ts_1 = require("./rules/UniqueDirectiveNamesRule.js
121
88
  Object.defineProperty(exports, "UniqueDirectiveNamesRule", { enumerable: true, get: function () { return UniqueDirectiveNamesRule_ts_1.UniqueDirectiveNamesRule; } });
122
89
  var PossibleTypeExtensionsRule_ts_1 = require("./rules/PossibleTypeExtensionsRule.js");
123
90
  Object.defineProperty(exports, "PossibleTypeExtensionsRule", { enumerable: true, get: function () { return PossibleTypeExtensionsRule_ts_1.PossibleTypeExtensionsRule; } });
124
- // Optional rules not defined by the GraphQL Specification
125
91
  var NoDeprecatedCustomRule_ts_1 = require("./rules/custom/NoDeprecatedCustomRule.js");
126
92
  Object.defineProperty(exports, "NoDeprecatedCustomRule", { enumerable: true, get: function () { return NoDeprecatedCustomRule_ts_1.NoDeprecatedCustomRule; } });
127
93
  var NoSchemaIntrospectionCustomRule_ts_1 = require("./rules/custom/NoSchemaIntrospectionCustomRule.js");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { validate } from './validate.ts';\n\nexport { ValidationContext } from './ValidationContext.ts';\nexport type { ValidationRule } from './ValidationContext.ts';\n\n// All validation rules in the GraphQL Specification.\nexport { specifiedRules, recommendedRules } from './specifiedRules.ts';\n\n// Spec Section: \"Defer And Stream Directive Labels Are Unique\"\nexport { DeferStreamDirectiveLabelRule } from './rules/DeferStreamDirectiveLabelRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Root Field\"\nexport { DeferStreamDirectiveOnRootFieldRule } from './rules/DeferStreamDirectiveOnRootFieldRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Operations\"\nexport { DeferStreamDirectiveOnValidOperationsRule } from './rules/DeferStreamDirectiveOnValidOperationsRule.ts';\n\n// Spec Section: \"Executable Definitions\"\nexport { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule.ts';\n\n// Spec Section: \"Field Selections on Objects, Interfaces, and Unions Types\"\nexport { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule.ts';\n\n// Spec Section: \"Fragments on Composite Types\"\nexport { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule.ts';\n\n// Spec Section: \"Argument Names\"\nexport { KnownArgumentNamesRule } from './rules/KnownArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Defined\"\nexport { KnownDirectivesRule } from './rules/KnownDirectivesRule.ts';\n\n// Spec Section: \"Fragment spread target defined\"\nexport { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule.ts';\n\n// Spec Section: \"Operation Type Existence\"\nexport { KnownOperationTypesRule } from './rules/KnownOperationTypesRule.ts';\n\n// Spec Section: \"Fragment Spread Type Existence\"\nexport { KnownTypeNamesRule } from './rules/KnownTypeNamesRule.ts';\n\n// Spec Section: \"Lone Anonymous Operation\"\nexport { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule.ts';\n\n// Spec Section: \"Fragments must not form cycles\"\nexport { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule.ts';\n\n// Spec Section: \"All Variable Used Defined\"\nexport { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule.ts';\n\n// Spec Section: \"Fragments must be used\"\nexport { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule.ts';\n\n// Spec Section: \"All Variables Used\"\nexport { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule.ts';\n\n// Spec Section: \"Field Selection Merging\"\nexport { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule.ts';\n\n// Spec Section: \"Fragment spread is possible\"\nexport { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule.ts';\n\n// Spec Section: \"Argument Optionality\"\nexport { ProvidedRequiredArgumentsRule } from './rules/ProvidedRequiredArgumentsRule.ts';\n\n// Spec Section: \"Leaf Field Selections\"\nexport { ScalarLeafsRule } from './rules/ScalarLeafsRule.ts';\n\n// Spec Section: \"Subscriptions with Single Root Field\"\nexport { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule.ts';\n\n// Spec Section: \"Stream Directives Are Used On List Fields\"\nexport { StreamDirectiveOnListFieldRule } from './rules/StreamDirectiveOnListFieldRule.ts';\n\n// Spec Section: \"Argument Uniqueness\"\nexport { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Unique Per Location\"\nexport { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule.ts';\n\n// Spec Section: \"Fragment Name Uniqueness\"\nexport { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule.ts';\n\n// Spec Section: \"Input Object Field Uniqueness\"\nexport { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule.ts';\n\n// Spec Section: \"Operation Name Uniqueness\"\nexport { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule.ts';\n\n// Spec Section: \"Variable Uniqueness\"\nexport { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule.ts';\n\n// Spec Section: \"Values Type Correctness\"\nexport { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule.ts';\n\n// Spec Section: \"Variables are Input Types\"\nexport { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule.ts';\n\n// Spec Section: \"All Variable Usages Are Allowed\"\nexport { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule.ts';\n\nexport { MaxIntrospectionDepthRule } from './rules/MaxIntrospectionDepthRule.ts';\n\n// SDL-specific validation rules\nexport { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule.ts';\nexport { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule.ts';\nexport { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule.ts';\nexport { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule.ts';\nexport { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule.ts';\nexport { UniqueArgumentDefinitionNamesRule } from './rules/UniqueArgumentDefinitionNamesRule.ts';\nexport { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule.ts';\nexport { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule.ts';\n\n// Optional rules not defined by the GraphQL Specification\nexport { NoDeprecatedCustomRule } from './rules/custom/NoDeprecatedCustomRule.ts';\nexport { NoSchemaIntrospectionCustomRule } from './rules/custom/NoSchemaIntrospectionCustomRule.ts';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":";;;AAOA,6CAAyC;AAAhC,uGAAA,QAAQ,OAAA;AAGjB,+DAA2D;AAAlD,yHAAA,iBAAiB,OAAA;AAI1B,yDAAuE;AAA9D,mHAAA,cAAc,OAAA;AAAE,qHAAA,gBAAgB,OAAA;AAGzC,6FAAyF;AAAhF,iJAAA,6BAA6B,OAAA;AAGtC,yGAAqG;AAA5F,6JAAA,mCAAmC,OAAA;AAG5C,qHAAiH;AAAxG,yKAAA,yCAAyC,OAAA;AAGlD,qFAAiF;AAAxE,yIAAA,yBAAyB,OAAA;AAGlC,iFAA6E;AAApE,qIAAA,uBAAuB,OAAA;AAGhC,6FAAyF;AAAhF,iJAAA,6BAA6B,OAAA;AAGtC,+EAA2E;AAAlE,mIAAA,sBAAsB,OAAA;AAG/B,yEAAqE;AAA5D,6HAAA,mBAAmB,OAAA;AAG5B,+EAA2E;AAAlE,mIAAA,sBAAsB,OAAA;AAG/B,iFAA6E;AAApE,qIAAA,uBAAuB,OAAA;AAGhC,uEAAmE;AAA1D,2HAAA,kBAAkB,OAAA;AAG3B,uFAAmF;AAA1E,2IAAA,0BAA0B,OAAA;AAGnC,2EAAuE;AAA9D,+HAAA,oBAAoB,OAAA;AAG7B,mFAA+E;AAAtE,uIAAA,wBAAwB,OAAA;AAGjC,6EAAyE;AAAhE,iIAAA,qBAAqB,OAAA;AAG9B,6EAAyE;AAAhE,iIAAA,qBAAqB,OAAA;AAG9B,mGAA+F;AAAtF,uJAAA,gCAAgC,OAAA;AAGzC,yFAAqF;AAA5E,6IAAA,2BAA2B,OAAA;AAGpC,6FAAyF;AAAhF,iJAAA,6BAA6B,OAAA;AAGtC,iEAA6D;AAApD,qHAAA,eAAe,OAAA;AAGxB,2FAAuF;AAA9E,+IAAA,4BAA4B,OAAA;AAGrC,+FAA2F;AAAlF,mJAAA,8BAA8B,OAAA;AAGvC,iFAA6E;AAApE,qIAAA,uBAAuB,OAAA;AAGhC,iGAA6F;AAApF,qJAAA,+BAA+B,OAAA;AAGxC,iFAA6E;AAApE,qIAAA,uBAAuB,OAAA;AAGhC,qFAAiF;AAAxE,yIAAA,yBAAyB,OAAA;AAGlC,mFAA+E;AAAtE,uIAAA,wBAAwB,OAAA;AAGjC,iFAA6E;AAApE,qIAAA,uBAAuB,OAAA;AAGhC,iFAA6E;AAApE,qIAAA,uBAAuB,OAAA;AAGhC,uFAAmF;AAA1E,2IAAA,0BAA0B,OAAA;AAGnC,+FAA2F;AAAlF,mJAAA,8BAA8B,OAAA;AAEvC,qFAAiF;AAAxE,yIAAA,yBAAyB,OAAA;AAGlC,mFAA+E;AAAtE,uIAAA,wBAAwB,OAAA;AACjC,mFAA+E;AAAtE,uIAAA,wBAAwB,OAAA;AACjC,yEAAqE;AAA5D,6HAAA,mBAAmB,OAAA;AAC5B,mFAA+E;AAAtE,uIAAA,wBAAwB,OAAA;AACjC,+FAA2F;AAAlF,mJAAA,8BAA8B,OAAA;AACvC,qGAAiG;AAAxF,yJAAA,iCAAiC,OAAA;AAC1C,mFAA+E;AAAtE,uIAAA,wBAAwB,OAAA;AACjC,uFAAmF;AAA1E,2IAAA,0BAA0B,OAAA;AAGnC,sFAAkF;AAAzE,mIAAA,sBAAsB,OAAA;AAC/B,wGAAoG;AAA3F,qJAAA,+BAA+B,OAAA","sourcesContent":["/**\n * Validate GraphQL documents and schemas with the specified validation rules.\n *\n * These exports are also available from the root `graphql` package.\n * @packageDocumentation\n */\n\nexport { validate } from './validate.ts';\nexport type { ValidationOptions } from './validate.ts';\n\nexport { ValidationContext } from './ValidationContext.ts';\nexport type { ValidationRule } from './ValidationContext.ts';\n\n// All validation rules in the GraphQL Specification.\nexport { specifiedRules, recommendedRules } from './specifiedRules.ts';\n\n// Spec Section: \"Defer And Stream Directive Labels Are Unique\"\nexport { DeferStreamDirectiveLabelRule } from './rules/DeferStreamDirectiveLabelRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Root Field\"\nexport { DeferStreamDirectiveOnRootFieldRule } from './rules/DeferStreamDirectiveOnRootFieldRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Operations\"\nexport { DeferStreamDirectiveOnValidOperationsRule } from './rules/DeferStreamDirectiveOnValidOperationsRule.ts';\n\n// Spec Section: \"Executable Definitions\"\nexport { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule.ts';\n\n// Spec Section: \"Field Selections on Objects, Interfaces, and Unions Types\"\nexport { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule.ts';\n\n// Spec Section: \"Fragments on Composite Types\"\nexport { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule.ts';\n\n// Spec Section: \"Argument Names\"\nexport { KnownArgumentNamesRule } from './rules/KnownArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Defined\"\nexport { KnownDirectivesRule } from './rules/KnownDirectivesRule.ts';\n\n// Spec Section: \"Fragment spread target defined\"\nexport { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule.ts';\n\n// Spec Section: \"Operation Type Existence\"\nexport { KnownOperationTypesRule } from './rules/KnownOperationTypesRule.ts';\n\n// Spec Section: \"Fragment Spread Type Existence\"\nexport { KnownTypeNamesRule } from './rules/KnownTypeNamesRule.ts';\n\n// Spec Section: \"Lone Anonymous Operation\"\nexport { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule.ts';\n\n// Spec Section: \"Fragments must not form cycles\"\nexport { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule.ts';\n\n// Spec Section: \"All Variable Used Defined\"\nexport { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule.ts';\n\n// Spec Section: \"Fragments must be used\"\nexport { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule.ts';\n\n// Spec Section: \"All Variables Used\"\nexport { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule.ts';\n\n// Spec Section: \"Field Selection Merging\"\nexport { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule.ts';\n\n// Spec Section: \"Fragment spread is possible\"\nexport { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule.ts';\n\n// Spec Section: \"Argument Optionality\"\nexport { ProvidedRequiredArgumentsRule } from './rules/ProvidedRequiredArgumentsRule.ts';\n\n// Spec Section: \"Leaf Field Selections\"\nexport { ScalarLeafsRule } from './rules/ScalarLeafsRule.ts';\n\n// Spec Section: \"Subscriptions with Single Root Field\"\nexport { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule.ts';\n\n// Spec Section: \"Stream Directives Are Used On List Fields\"\nexport { StreamDirectiveOnListFieldRule } from './rules/StreamDirectiveOnListFieldRule.ts';\n\n// Spec Section: \"Argument Uniqueness\"\nexport { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Unique Per Location\"\nexport { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule.ts';\n\n// Spec Section: \"Fragment Name Uniqueness\"\nexport { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule.ts';\n\n// Spec Section: \"Input Object Field Uniqueness\"\nexport { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule.ts';\n\n// Spec Section: \"Operation Name Uniqueness\"\nexport { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule.ts';\n\n// Spec Section: \"Variable Uniqueness\"\nexport { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule.ts';\n\n// Spec Section: \"Values Type Correctness\"\nexport { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule.ts';\n\n// Spec Section: \"Variables are Input Types\"\nexport { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule.ts';\n\n// Spec Section: \"All Variable Usages Are Allowed\"\nexport { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule.ts';\n\nexport { MaxIntrospectionDepthRule } from './rules/MaxIntrospectionDepthRule.ts';\n\n// SDL-specific validation rules\nexport { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule.ts';\nexport { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule.ts';\nexport { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule.ts';\nexport { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule.ts';\nexport { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule.ts';\nexport { UniqueArgumentDefinitionNamesRule } from './rules/UniqueArgumentDefinitionNamesRule.ts';\nexport { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule.ts';\nexport { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule.ts';\n\n// Optional rules not defined by the GraphQL Specification\nexport { NoDeprecatedCustomRule } from './rules/custom/NoDeprecatedCustomRule.ts';\nexport { NoSchemaIntrospectionCustomRule } from './rules/custom/NoSchemaIntrospectionCustomRule.ts';\n"]}
@@ -1,71 +1,38 @@
1
1
  export { validate } from "./validate.mjs";
2
2
  export { ValidationContext } from "./ValidationContext.mjs";
3
- // All validation rules in the GraphQL Specification.
4
3
  export { specifiedRules, recommendedRules } from "./specifiedRules.mjs";
5
- // Spec Section: "Defer And Stream Directive Labels Are Unique"
6
4
  export { DeferStreamDirectiveLabelRule } from "./rules/DeferStreamDirectiveLabelRule.mjs";
7
- // Spec Section: "Defer And Stream Directives Are Used On Valid Root Field"
8
5
  export { DeferStreamDirectiveOnRootFieldRule } from "./rules/DeferStreamDirectiveOnRootFieldRule.mjs";
9
- // Spec Section: "Defer And Stream Directives Are Used On Valid Operations"
10
6
  export { DeferStreamDirectiveOnValidOperationsRule } from "./rules/DeferStreamDirectiveOnValidOperationsRule.mjs";
11
- // Spec Section: "Executable Definitions"
12
7
  export { ExecutableDefinitionsRule } from "./rules/ExecutableDefinitionsRule.mjs";
13
- // Spec Section: "Field Selections on Objects, Interfaces, and Unions Types"
14
8
  export { FieldsOnCorrectTypeRule } from "./rules/FieldsOnCorrectTypeRule.mjs";
15
- // Spec Section: "Fragments on Composite Types"
16
9
  export { FragmentsOnCompositeTypesRule } from "./rules/FragmentsOnCompositeTypesRule.mjs";
17
- // Spec Section: "Argument Names"
18
10
  export { KnownArgumentNamesRule } from "./rules/KnownArgumentNamesRule.mjs";
19
- // Spec Section: "Directives Are Defined"
20
11
  export { KnownDirectivesRule } from "./rules/KnownDirectivesRule.mjs";
21
- // Spec Section: "Fragment spread target defined"
22
12
  export { KnownFragmentNamesRule } from "./rules/KnownFragmentNamesRule.mjs";
23
- // Spec Section: "Operation Type Existence"
24
13
  export { KnownOperationTypesRule } from "./rules/KnownOperationTypesRule.mjs";
25
- // Spec Section: "Fragment Spread Type Existence"
26
14
  export { KnownTypeNamesRule } from "./rules/KnownTypeNamesRule.mjs";
27
- // Spec Section: "Lone Anonymous Operation"
28
15
  export { LoneAnonymousOperationRule } from "./rules/LoneAnonymousOperationRule.mjs";
29
- // Spec Section: "Fragments must not form cycles"
30
16
  export { NoFragmentCyclesRule } from "./rules/NoFragmentCyclesRule.mjs";
31
- // Spec Section: "All Variable Used Defined"
32
17
  export { NoUndefinedVariablesRule } from "./rules/NoUndefinedVariablesRule.mjs";
33
- // Spec Section: "Fragments must be used"
34
18
  export { NoUnusedFragmentsRule } from "./rules/NoUnusedFragmentsRule.mjs";
35
- // Spec Section: "All Variables Used"
36
19
  export { NoUnusedVariablesRule } from "./rules/NoUnusedVariablesRule.mjs";
37
- // Spec Section: "Field Selection Merging"
38
20
  export { OverlappingFieldsCanBeMergedRule } from "./rules/OverlappingFieldsCanBeMergedRule.mjs";
39
- // Spec Section: "Fragment spread is possible"
40
21
  export { PossibleFragmentSpreadsRule } from "./rules/PossibleFragmentSpreadsRule.mjs";
41
- // Spec Section: "Argument Optionality"
42
22
  export { ProvidedRequiredArgumentsRule } from "./rules/ProvidedRequiredArgumentsRule.mjs";
43
- // Spec Section: "Leaf Field Selections"
44
23
  export { ScalarLeafsRule } from "./rules/ScalarLeafsRule.mjs";
45
- // Spec Section: "Subscriptions with Single Root Field"
46
24
  export { SingleFieldSubscriptionsRule } from "./rules/SingleFieldSubscriptionsRule.mjs";
47
- // Spec Section: "Stream Directives Are Used On List Fields"
48
25
  export { StreamDirectiveOnListFieldRule } from "./rules/StreamDirectiveOnListFieldRule.mjs";
49
- // Spec Section: "Argument Uniqueness"
50
26
  export { UniqueArgumentNamesRule } from "./rules/UniqueArgumentNamesRule.mjs";
51
- // Spec Section: "Directives Are Unique Per Location"
52
27
  export { UniqueDirectivesPerLocationRule } from "./rules/UniqueDirectivesPerLocationRule.mjs";
53
- // Spec Section: "Fragment Name Uniqueness"
54
28
  export { UniqueFragmentNamesRule } from "./rules/UniqueFragmentNamesRule.mjs";
55
- // Spec Section: "Input Object Field Uniqueness"
56
29
  export { UniqueInputFieldNamesRule } from "./rules/UniqueInputFieldNamesRule.mjs";
57
- // Spec Section: "Operation Name Uniqueness"
58
30
  export { UniqueOperationNamesRule } from "./rules/UniqueOperationNamesRule.mjs";
59
- // Spec Section: "Variable Uniqueness"
60
31
  export { UniqueVariableNamesRule } from "./rules/UniqueVariableNamesRule.mjs";
61
- // Spec Section: "Values Type Correctness"
62
32
  export { ValuesOfCorrectTypeRule } from "./rules/ValuesOfCorrectTypeRule.mjs";
63
- // Spec Section: "Variables are Input Types"
64
33
  export { VariablesAreInputTypesRule } from "./rules/VariablesAreInputTypesRule.mjs";
65
- // Spec Section: "All Variable Usages Are Allowed"
66
34
  export { VariablesInAllowedPositionRule } from "./rules/VariablesInAllowedPositionRule.mjs";
67
35
  export { MaxIntrospectionDepthRule } from "./rules/MaxIntrospectionDepthRule.mjs";
68
- // SDL-specific validation rules
69
36
  export { LoneSchemaDefinitionRule } from "./rules/LoneSchemaDefinitionRule.mjs";
70
37
  export { UniqueOperationTypesRule } from "./rules/UniqueOperationTypesRule.mjs";
71
38
  export { UniqueTypeNamesRule } from "./rules/UniqueTypeNamesRule.mjs";
@@ -74,7 +41,6 @@ export { UniqueFieldDefinitionNamesRule } from "./rules/UniqueFieldDefinitionNam
74
41
  export { UniqueArgumentDefinitionNamesRule } from "./rules/UniqueArgumentDefinitionNamesRule.mjs";
75
42
  export { UniqueDirectiveNamesRule } from "./rules/UniqueDirectiveNamesRule.mjs";
76
43
  export { PossibleTypeExtensionsRule } from "./rules/PossibleTypeExtensionsRule.mjs";
77
- // Optional rules not defined by the GraphQL Specification
78
44
  export { NoDeprecatedCustomRule } from "./rules/custom/NoDeprecatedCustomRule.mjs";
79
45
  export { NoSchemaIntrospectionCustomRule } from "./rules/custom/NoSchemaIntrospectionCustomRule.mjs";
80
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { validate } from './validate.ts';\n\nexport { ValidationContext } from './ValidationContext.ts';\nexport type { ValidationRule } from './ValidationContext.ts';\n\n// All validation rules in the GraphQL Specification.\nexport { specifiedRules, recommendedRules } from './specifiedRules.ts';\n\n// Spec Section: \"Defer And Stream Directive Labels Are Unique\"\nexport { DeferStreamDirectiveLabelRule } from './rules/DeferStreamDirectiveLabelRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Root Field\"\nexport { DeferStreamDirectiveOnRootFieldRule } from './rules/DeferStreamDirectiveOnRootFieldRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Operations\"\nexport { DeferStreamDirectiveOnValidOperationsRule } from './rules/DeferStreamDirectiveOnValidOperationsRule.ts';\n\n// Spec Section: \"Executable Definitions\"\nexport { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule.ts';\n\n// Spec Section: \"Field Selections on Objects, Interfaces, and Unions Types\"\nexport { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule.ts';\n\n// Spec Section: \"Fragments on Composite Types\"\nexport { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule.ts';\n\n// Spec Section: \"Argument Names\"\nexport { KnownArgumentNamesRule } from './rules/KnownArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Defined\"\nexport { KnownDirectivesRule } from './rules/KnownDirectivesRule.ts';\n\n// Spec Section: \"Fragment spread target defined\"\nexport { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule.ts';\n\n// Spec Section: \"Operation Type Existence\"\nexport { KnownOperationTypesRule } from './rules/KnownOperationTypesRule.ts';\n\n// Spec Section: \"Fragment Spread Type Existence\"\nexport { KnownTypeNamesRule } from './rules/KnownTypeNamesRule.ts';\n\n// Spec Section: \"Lone Anonymous Operation\"\nexport { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule.ts';\n\n// Spec Section: \"Fragments must not form cycles\"\nexport { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule.ts';\n\n// Spec Section: \"All Variable Used Defined\"\nexport { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule.ts';\n\n// Spec Section: \"Fragments must be used\"\nexport { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule.ts';\n\n// Spec Section: \"All Variables Used\"\nexport { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule.ts';\n\n// Spec Section: \"Field Selection Merging\"\nexport { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule.ts';\n\n// Spec Section: \"Fragment spread is possible\"\nexport { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule.ts';\n\n// Spec Section: \"Argument Optionality\"\nexport { ProvidedRequiredArgumentsRule } from './rules/ProvidedRequiredArgumentsRule.ts';\n\n// Spec Section: \"Leaf Field Selections\"\nexport { ScalarLeafsRule } from './rules/ScalarLeafsRule.ts';\n\n// Spec Section: \"Subscriptions with Single Root Field\"\nexport { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule.ts';\n\n// Spec Section: \"Stream Directives Are Used On List Fields\"\nexport { StreamDirectiveOnListFieldRule } from './rules/StreamDirectiveOnListFieldRule.ts';\n\n// Spec Section: \"Argument Uniqueness\"\nexport { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Unique Per Location\"\nexport { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule.ts';\n\n// Spec Section: \"Fragment Name Uniqueness\"\nexport { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule.ts';\n\n// Spec Section: \"Input Object Field Uniqueness\"\nexport { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule.ts';\n\n// Spec Section: \"Operation Name Uniqueness\"\nexport { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule.ts';\n\n// Spec Section: \"Variable Uniqueness\"\nexport { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule.ts';\n\n// Spec Section: \"Values Type Correctness\"\nexport { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule.ts';\n\n// Spec Section: \"Variables are Input Types\"\nexport { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule.ts';\n\n// Spec Section: \"All Variable Usages Are Allowed\"\nexport { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule.ts';\n\nexport { MaxIntrospectionDepthRule } from './rules/MaxIntrospectionDepthRule.ts';\n\n// SDL-specific validation rules\nexport { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule.ts';\nexport { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule.ts';\nexport { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule.ts';\nexport { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule.ts';\nexport { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule.ts';\nexport { UniqueArgumentDefinitionNamesRule } from './rules/UniqueArgumentDefinitionNamesRule.ts';\nexport { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule.ts';\nexport { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule.ts';\n\n// Optional rules not defined by the GraphQL Specification\nexport { NoDeprecatedCustomRule } from './rules/custom/NoDeprecatedCustomRule.ts';\nexport { NoSchemaIntrospectionCustomRule } from './rules/custom/NoSchemaIntrospectionCustomRule.ts';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,QAAQ,EAAE,uBAAsB;AAGzC,OAAO,EAAE,iBAAiB,EAAE,gCAA+B;AAI3D,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,6BAA4B;AAGvE,OAAO,EAAE,6BAA6B,EAAE,kDAAiD;AAGzF,OAAO,EAAE,mCAAmC,EAAE,wDAAuD;AAGrG,OAAO,EAAE,yCAAyC,EAAE,8DAA6D;AAGjH,OAAO,EAAE,yBAAyB,EAAE,8CAA6C;AAGjF,OAAO,EAAE,uBAAuB,EAAE,4CAA2C;AAG7E,OAAO,EAAE,6BAA6B,EAAE,kDAAiD;AAGzF,OAAO,EAAE,sBAAsB,EAAE,2CAA0C;AAG3E,OAAO,EAAE,mBAAmB,EAAE,wCAAuC;AAGrE,OAAO,EAAE,sBAAsB,EAAE,2CAA0C;AAG3E,OAAO,EAAE,uBAAuB,EAAE,4CAA2C;AAG7E,OAAO,EAAE,kBAAkB,EAAE,uCAAsC;AAGnE,OAAO,EAAE,0BAA0B,EAAE,+CAA8C;AAGnF,OAAO,EAAE,oBAAoB,EAAE,yCAAwC;AAGvE,OAAO,EAAE,wBAAwB,EAAE,6CAA4C;AAG/E,OAAO,EAAE,qBAAqB,EAAE,0CAAyC;AAGzE,OAAO,EAAE,qBAAqB,EAAE,0CAAyC;AAGzE,OAAO,EAAE,gCAAgC,EAAE,qDAAoD;AAG/F,OAAO,EAAE,2BAA2B,EAAE,gDAA+C;AAGrF,OAAO,EAAE,6BAA6B,EAAE,kDAAiD;AAGzF,OAAO,EAAE,eAAe,EAAE,oCAAmC;AAG7D,OAAO,EAAE,4BAA4B,EAAE,iDAAgD;AAGvF,OAAO,EAAE,8BAA8B,EAAE,mDAAkD;AAG3F,OAAO,EAAE,uBAAuB,EAAE,4CAA2C;AAG7E,OAAO,EAAE,+BAA+B,EAAE,oDAAmD;AAG7F,OAAO,EAAE,uBAAuB,EAAE,4CAA2C;AAG7E,OAAO,EAAE,yBAAyB,EAAE,8CAA6C;AAGjF,OAAO,EAAE,wBAAwB,EAAE,6CAA4C;AAG/E,OAAO,EAAE,uBAAuB,EAAE,4CAA2C;AAG7E,OAAO,EAAE,uBAAuB,EAAE,4CAA2C;AAG7E,OAAO,EAAE,0BAA0B,EAAE,+CAA8C;AAGnF,OAAO,EAAE,8BAA8B,EAAE,mDAAkD;AAE3F,OAAO,EAAE,yBAAyB,EAAE,8CAA6C;AAGjF,OAAO,EAAE,wBAAwB,EAAE,6CAA4C;AAC/E,OAAO,EAAE,wBAAwB,EAAE,6CAA4C;AAC/E,OAAO,EAAE,mBAAmB,EAAE,wCAAuC;AACrE,OAAO,EAAE,wBAAwB,EAAE,6CAA4C;AAC/E,OAAO,EAAE,8BAA8B,EAAE,mDAAkD;AAC3F,OAAO,EAAE,iCAAiC,EAAE,sDAAqD;AACjG,OAAO,EAAE,wBAAwB,EAAE,6CAA4C;AAC/E,OAAO,EAAE,0BAA0B,EAAE,+CAA8C;AAGnF,OAAO,EAAE,sBAAsB,EAAE,kDAAiD;AAClF,OAAO,EAAE,+BAA+B,EAAE,2DAA0D","sourcesContent":["/**\n * Validate GraphQL documents and schemas with the specified validation rules.\n *\n * These exports are also available from the root `graphql` package.\n * @packageDocumentation\n */\n\nexport { validate } from './validate.ts';\nexport type { ValidationOptions } from './validate.ts';\n\nexport { ValidationContext } from './ValidationContext.ts';\nexport type { ValidationRule } from './ValidationContext.ts';\n\n// All validation rules in the GraphQL Specification.\nexport { specifiedRules, recommendedRules } from './specifiedRules.ts';\n\n// Spec Section: \"Defer And Stream Directive Labels Are Unique\"\nexport { DeferStreamDirectiveLabelRule } from './rules/DeferStreamDirectiveLabelRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Root Field\"\nexport { DeferStreamDirectiveOnRootFieldRule } from './rules/DeferStreamDirectiveOnRootFieldRule.ts';\n\n// Spec Section: \"Defer And Stream Directives Are Used On Valid Operations\"\nexport { DeferStreamDirectiveOnValidOperationsRule } from './rules/DeferStreamDirectiveOnValidOperationsRule.ts';\n\n// Spec Section: \"Executable Definitions\"\nexport { ExecutableDefinitionsRule } from './rules/ExecutableDefinitionsRule.ts';\n\n// Spec Section: \"Field Selections on Objects, Interfaces, and Unions Types\"\nexport { FieldsOnCorrectTypeRule } from './rules/FieldsOnCorrectTypeRule.ts';\n\n// Spec Section: \"Fragments on Composite Types\"\nexport { FragmentsOnCompositeTypesRule } from './rules/FragmentsOnCompositeTypesRule.ts';\n\n// Spec Section: \"Argument Names\"\nexport { KnownArgumentNamesRule } from './rules/KnownArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Defined\"\nexport { KnownDirectivesRule } from './rules/KnownDirectivesRule.ts';\n\n// Spec Section: \"Fragment spread target defined\"\nexport { KnownFragmentNamesRule } from './rules/KnownFragmentNamesRule.ts';\n\n// Spec Section: \"Operation Type Existence\"\nexport { KnownOperationTypesRule } from './rules/KnownOperationTypesRule.ts';\n\n// Spec Section: \"Fragment Spread Type Existence\"\nexport { KnownTypeNamesRule } from './rules/KnownTypeNamesRule.ts';\n\n// Spec Section: \"Lone Anonymous Operation\"\nexport { LoneAnonymousOperationRule } from './rules/LoneAnonymousOperationRule.ts';\n\n// Spec Section: \"Fragments must not form cycles\"\nexport { NoFragmentCyclesRule } from './rules/NoFragmentCyclesRule.ts';\n\n// Spec Section: \"All Variable Used Defined\"\nexport { NoUndefinedVariablesRule } from './rules/NoUndefinedVariablesRule.ts';\n\n// Spec Section: \"Fragments must be used\"\nexport { NoUnusedFragmentsRule } from './rules/NoUnusedFragmentsRule.ts';\n\n// Spec Section: \"All Variables Used\"\nexport { NoUnusedVariablesRule } from './rules/NoUnusedVariablesRule.ts';\n\n// Spec Section: \"Field Selection Merging\"\nexport { OverlappingFieldsCanBeMergedRule } from './rules/OverlappingFieldsCanBeMergedRule.ts';\n\n// Spec Section: \"Fragment spread is possible\"\nexport { PossibleFragmentSpreadsRule } from './rules/PossibleFragmentSpreadsRule.ts';\n\n// Spec Section: \"Argument Optionality\"\nexport { ProvidedRequiredArgumentsRule } from './rules/ProvidedRequiredArgumentsRule.ts';\n\n// Spec Section: \"Leaf Field Selections\"\nexport { ScalarLeafsRule } from './rules/ScalarLeafsRule.ts';\n\n// Spec Section: \"Subscriptions with Single Root Field\"\nexport { SingleFieldSubscriptionsRule } from './rules/SingleFieldSubscriptionsRule.ts';\n\n// Spec Section: \"Stream Directives Are Used On List Fields\"\nexport { StreamDirectiveOnListFieldRule } from './rules/StreamDirectiveOnListFieldRule.ts';\n\n// Spec Section: \"Argument Uniqueness\"\nexport { UniqueArgumentNamesRule } from './rules/UniqueArgumentNamesRule.ts';\n\n// Spec Section: \"Directives Are Unique Per Location\"\nexport { UniqueDirectivesPerLocationRule } from './rules/UniqueDirectivesPerLocationRule.ts';\n\n// Spec Section: \"Fragment Name Uniqueness\"\nexport { UniqueFragmentNamesRule } from './rules/UniqueFragmentNamesRule.ts';\n\n// Spec Section: \"Input Object Field Uniqueness\"\nexport { UniqueInputFieldNamesRule } from './rules/UniqueInputFieldNamesRule.ts';\n\n// Spec Section: \"Operation Name Uniqueness\"\nexport { UniqueOperationNamesRule } from './rules/UniqueOperationNamesRule.ts';\n\n// Spec Section: \"Variable Uniqueness\"\nexport { UniqueVariableNamesRule } from './rules/UniqueVariableNamesRule.ts';\n\n// Spec Section: \"Values Type Correctness\"\nexport { ValuesOfCorrectTypeRule } from './rules/ValuesOfCorrectTypeRule.ts';\n\n// Spec Section: \"Variables are Input Types\"\nexport { VariablesAreInputTypesRule } from './rules/VariablesAreInputTypesRule.ts';\n\n// Spec Section: \"All Variable Usages Are Allowed\"\nexport { VariablesInAllowedPositionRule } from './rules/VariablesInAllowedPositionRule.ts';\n\nexport { MaxIntrospectionDepthRule } from './rules/MaxIntrospectionDepthRule.ts';\n\n// SDL-specific validation rules\nexport { LoneSchemaDefinitionRule } from './rules/LoneSchemaDefinitionRule.ts';\nexport { UniqueOperationTypesRule } from './rules/UniqueOperationTypesRule.ts';\nexport { UniqueTypeNamesRule } from './rules/UniqueTypeNamesRule.ts';\nexport { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule.ts';\nexport { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule.ts';\nexport { UniqueArgumentDefinitionNamesRule } from './rules/UniqueArgumentDefinitionNamesRule.ts';\nexport { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule.ts';\nexport { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule.ts';\n\n// Optional rules not defined by the GraphQL Specification\nexport { NoDeprecatedCustomRule } from './rules/custom/NoDeprecatedCustomRule.ts';\nexport { NoSchemaIntrospectionCustomRule } from './rules/custom/NoSchemaIntrospectionCustomRule.ts';\n"]}
@@ -1,8 +1,38 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from "../../language/visitor.mjs";
2
3
  import type { ValidationContext } from "../ValidationContext.mjs";
3
4
  /**
4
5
  * Defer and stream directive labels are unique
5
6
  *
6
7
  * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.
8
+ * @param context - The validation context used while checking the document.
9
+ * @returns A visitor that reports validation errors for this rule.
10
+ * @example
11
+ * ```ts
12
+ * import { parse } from 'graphql/language';
13
+ * import { buildSchema } from 'graphql/utilities';
14
+ * import { validate, DeferStreamDirectiveLabelRule } from 'graphql/validation';
15
+ *
16
+ * const schema = buildSchema(`
17
+ * type Query {
18
+ * friends: [String]
19
+ * }
20
+ * `);
21
+ * const invalidDocument = parse(`
22
+ * {
23
+ * friends @stream(label: "friends")
24
+ * other: friends @stream(label: "friends")
25
+ * }
26
+ * `);
27
+ * const validDocument = parse(`
28
+ * {
29
+ * friends @stream(label: "friends")
30
+ * other: friends @stream(label: "otherFriends")
31
+ * }
32
+ * `);
33
+ *
34
+ * validate(schema, invalidDocument, [DeferStreamDirectiveLabelRule]).length; // => 1
35
+ * validate(schema, validDocument, [DeferStreamDirectiveLabelRule]); // => []
36
+ * ```
7
37
  */
8
38
  export declare function DeferStreamDirectiveLabelRule(context: ValidationContext): ASTVisitor;
@@ -1,8 +1,38 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from "../../language/visitor.js";
2
3
  import type { ValidationContext } from "../ValidationContext.js";
3
4
  /**
4
5
  * Defer and stream directive labels are unique
5
6
  *
6
7
  * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.
8
+ * @param context - The validation context used while checking the document.
9
+ * @returns A visitor that reports validation errors for this rule.
10
+ * @example
11
+ * ```ts
12
+ * import { parse } from 'graphql/language';
13
+ * import { buildSchema } from 'graphql/utilities';
14
+ * import { validate, DeferStreamDirectiveLabelRule } from 'graphql/validation';
15
+ *
16
+ * const schema = buildSchema(`
17
+ * type Query {
18
+ * friends: [String]
19
+ * }
20
+ * `);
21
+ * const invalidDocument = parse(`
22
+ * {
23
+ * friends @stream(label: "friends")
24
+ * other: friends @stream(label: "friends")
25
+ * }
26
+ * `);
27
+ * const validDocument = parse(`
28
+ * {
29
+ * friends @stream(label: "friends")
30
+ * other: friends @stream(label: "otherFriends")
31
+ * }
32
+ * `);
33
+ *
34
+ * validate(schema, invalidDocument, [DeferStreamDirectiveLabelRule]).length; // => 1
35
+ * validate(schema, validDocument, [DeferStreamDirectiveLabelRule]); // => []
36
+ * ```
7
37
  */
8
38
  export declare function DeferStreamDirectiveLabelRule(context: ValidationContext): ASTVisitor;
@@ -4,11 +4,6 @@ exports.DeferStreamDirectiveLabelRule = DeferStreamDirectiveLabelRule;
4
4
  const GraphQLError_ts_1 = require("../../error/GraphQLError.js");
5
5
  const kinds_ts_1 = require("../../language/kinds.js");
6
6
  const directives_ts_1 = require("../../type/directives.js");
7
- /**
8
- * Defer and stream directive labels are unique
9
- *
10
- * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.
11
- */
12
7
  function DeferStreamDirectiveLabelRule(context) {
13
8
  const knownLabels = new Map();
14
9
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"DeferStreamDirectiveLabelRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveLabelRule.ts"],"names":[],"mappings":";;AAkBA,sEAyCC;AA3DD,iEAA2D;AAG3D,sDAA+C;AAG/C,4DAGkC;AAIlC;;;;GAIG;AACH,SAAgB,6BAA6B,CAC3C,OAA0B;IAE1B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,IACE,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qCAAqB,CAAC,IAAI;gBAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sCAAsB,CAAC,IAAI,EAC/C,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CACpC,CAAC;gBACF,MAAM,UAAU,GAAG,aAAa,EAAE,KAAK,CAAC;gBACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,IAAI,EAAE,CAAC;oBACjD,OAAO;gBACT,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,oCAAoC,EACjE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,mHAAmH,EACnH,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAC9B,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["import { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { DirectiveNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\n/**\n * Defer and stream directive labels are unique\n *\n * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.\n */\nexport function DeferStreamDirectiveLabelRule(\n context: ValidationContext,\n): ASTVisitor {\n const knownLabels = new Map<string, DirectiveNode>();\n return {\n Directive(node) {\n if (\n node.name.value === GraphQLDeferDirective.name ||\n node.name.value === GraphQLStreamDirective.name\n ) {\n const labelArgument = node.arguments?.find(\n (arg) => arg.name.value === 'label',\n );\n const labelValue = labelArgument?.value;\n if (!labelValue || labelValue.kind === Kind.NULL) {\n return;\n }\n if (labelValue.kind !== Kind.STRING) {\n context.reportError(\n new GraphQLError(\n `Argument \"@${node.name.value}(label:)\" must be a static string.`,\n { nodes: node },\n ),\n );\n return;\n }\n\n const knownLabel = knownLabels.get(labelValue.value);\n if (knownLabel != null) {\n context.reportError(\n new GraphQLError(\n 'Value for arguments \"defer(label:)\" and \"stream(label:)\" must be unique across all Defer/Stream directive usages.',\n { nodes: [knownLabel, node] },\n ),\n );\n } else {\n knownLabels.set(labelValue.value, node);\n }\n }\n },\n };\n}\n"]}
1
+ {"version":3,"file":"DeferStreamDirectiveLabelRule.js","sourceRoot":"","sources":["../../../src/validation/rules/DeferStreamDirectiveLabelRule.ts"],"names":[],"mappings":";;AAiDA,sEAyCC;AAxFD,iEAA2D;AAG3D,sDAA+C;AAG/C,4DAGkC;AAsClC,SAAgB,6BAA6B,CAC3C,OAA0B;IAE1B,MAAM,WAAW,GAAG,IAAI,GAAG,EAAyB,CAAC;IACrD,OAAO;QACL,SAAS,CAAC,IAAI;YACZ,IACE,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,qCAAqB,CAAC,IAAI;gBAC9C,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,sCAAsB,CAAC,IAAI,EAC/C,CAAC;gBACD,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CACxC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,OAAO,CACpC,CAAC;gBACF,MAAM,UAAU,GAAG,aAAa,EAAE,KAAK,CAAC;gBACxC,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,IAAI,EAAE,CAAC;oBACjD,OAAO;gBACT,CAAC;gBACD,IAAI,UAAU,CAAC,IAAI,KAAK,eAAI,CAAC,MAAM,EAAE,CAAC;oBACpC,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,cAAc,IAAI,CAAC,IAAI,CAAC,KAAK,oCAAoC,EACjE,EAAE,KAAK,EAAE,IAAI,EAAE,CAChB,CACF,CAAC;oBACF,OAAO;gBACT,CAAC;gBAED,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,UAAU,IAAI,IAAI,EAAE,CAAC;oBACvB,OAAO,CAAC,WAAW,CACjB,IAAI,8BAAY,CACd,mHAAmH,EACnH,EAAE,KAAK,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,EAAE,CAC9B,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC","sourcesContent":["/** @category Validation Rules */\n\nimport { GraphQLError } from '../../error/GraphQLError.ts';\n\nimport type { DirectiveNode } from '../../language/ast.ts';\nimport { Kind } from '../../language/kinds.ts';\nimport type { ASTVisitor } from '../../language/visitor.ts';\n\nimport {\n GraphQLDeferDirective,\n GraphQLStreamDirective,\n} from '../../type/directives.ts';\n\nimport type { ValidationContext } from '../ValidationContext.ts';\n\n/**\n * Defer and stream directive labels are unique\n *\n * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.\n * @param context - The validation context used while checking the document.\n * @returns A visitor that reports validation errors for this rule.\n * @example\n * ```ts\n * import { parse } from 'graphql/language';\n * import { buildSchema } from 'graphql/utilities';\n * import { validate, DeferStreamDirectiveLabelRule } from 'graphql/validation';\n *\n * const schema = buildSchema(`\n * type Query {\n * friends: [String]\n * }\n * `);\n * const invalidDocument = parse(`\n * {\n * friends @stream(label: \"friends\")\n * other: friends @stream(label: \"friends\")\n * }\n * `);\n * const validDocument = parse(`\n * {\n * friends @stream(label: \"friends\")\n * other: friends @stream(label: \"otherFriends\")\n * }\n * `);\n *\n * validate(schema, invalidDocument, [DeferStreamDirectiveLabelRule]).length; // => 1\n * validate(schema, validDocument, [DeferStreamDirectiveLabelRule]); // => []\n * ```\n */\nexport function DeferStreamDirectiveLabelRule(\n context: ValidationContext,\n): ASTVisitor {\n const knownLabels = new Map<string, DirectiveNode>();\n return {\n Directive(node) {\n if (\n node.name.value === GraphQLDeferDirective.name ||\n node.name.value === GraphQLStreamDirective.name\n ) {\n const labelArgument = node.arguments?.find(\n (arg) => arg.name.value === 'label',\n );\n const labelValue = labelArgument?.value;\n if (!labelValue || labelValue.kind === Kind.NULL) {\n return;\n }\n if (labelValue.kind !== Kind.STRING) {\n context.reportError(\n new GraphQLError(\n `Argument \"@${node.name.value}(label:)\" must be a static string.`,\n { nodes: node },\n ),\n );\n return;\n }\n\n const knownLabel = knownLabels.get(labelValue.value);\n if (knownLabel != null) {\n context.reportError(\n new GraphQLError(\n 'Value for arguments \"defer(label:)\" and \"stream(label:)\" must be unique across all Defer/Stream directive usages.',\n { nodes: [knownLabel, node] },\n ),\n );\n } else {\n knownLabels.set(labelValue.value, node);\n }\n }\n },\n };\n}\n"]}
@@ -1,11 +1,6 @@
1
1
  import { GraphQLError } from "../../error/GraphQLError.mjs";
2
2
  import { Kind } from "../../language/kinds.mjs";
3
3
  import { GraphQLDeferDirective, GraphQLStreamDirective, } from "../../type/directives.mjs";
4
- /**
5
- * Defer and stream directive labels are unique
6
- *
7
- * A GraphQL document is only valid if defer and stream directives' label argument is static and unique.
8
- */
9
4
  export function DeferStreamDirectiveLabelRule(context) {
10
5
  const knownLabels = new Map();
11
6
  return {