graphql 16.14.0 → 16.14.1

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 (371) hide show
  1. package/error/GraphQLError.d.ts +151 -15
  2. package/error/GraphQLError.js +143 -12
  3. package/error/GraphQLError.mjs +143 -12
  4. package/error/index.d.ts +6 -0
  5. package/error/index.mjs +6 -0
  6. package/error/locatedError.d.ts +20 -0
  7. package/error/locatedError.js +21 -0
  8. package/error/locatedError.mjs +20 -0
  9. package/error/syntaxError.d.ts +15 -0
  10. package/error/syntaxError.js +16 -0
  11. package/error/syntaxError.mjs +15 -0
  12. package/execution/collectFields.js +6 -0
  13. package/execution/collectFields.mjs +6 -0
  14. package/execution/execute.d.ts +211 -12
  15. package/execution/execute.js +214 -23
  16. package/execution/execute.mjs +213 -23
  17. package/execution/index.d.ts +6 -0
  18. package/execution/index.mjs +6 -0
  19. package/execution/mapAsyncIterator.d.ts +2 -0
  20. package/execution/mapAsyncIterator.js +2 -0
  21. package/execution/mapAsyncIterator.mjs +2 -0
  22. package/execution/subscribe.d.ts +195 -5
  23. package/execution/subscribe.js +154 -11
  24. package/execution/subscribe.mjs +153 -11
  25. package/execution/values.d.ts +167 -10
  26. package/execution/values.js +149 -5
  27. package/execution/values.mjs +148 -5
  28. package/graphql.d.ts +163 -41
  29. package/graphql.js +126 -4
  30. package/graphql.mjs +131 -41
  31. package/index.d.ts +11 -17
  32. package/index.mjs +13 -19
  33. package/jsutils/Maybe.d.ts +5 -1
  34. package/jsutils/ObjMap.d.ts +4 -0
  35. package/jsutils/Path.d.ts +30 -0
  36. package/jsutils/Path.js +29 -0
  37. package/jsutils/Path.mjs +29 -0
  38. package/jsutils/PromiseOrValue.d.ts +1 -0
  39. package/jsutils/devAssert.d.ts +1 -0
  40. package/jsutils/devAssert.js +1 -0
  41. package/jsutils/devAssert.mjs +1 -0
  42. package/jsutils/didYouMean.d.ts +4 -1
  43. package/jsutils/didYouMean.js +4 -1
  44. package/jsutils/didYouMean.mjs +4 -1
  45. package/jsutils/groupBy.d.ts +2 -0
  46. package/jsutils/groupBy.js +2 -0
  47. package/jsutils/groupBy.mjs +2 -0
  48. package/jsutils/identityFunc.d.ts +2 -0
  49. package/jsutils/identityFunc.js +2 -0
  50. package/jsutils/identityFunc.mjs +2 -0
  51. package/jsutils/inspect.d.ts +2 -0
  52. package/jsutils/inspect.js +2 -0
  53. package/jsutils/inspect.mjs +2 -0
  54. package/jsutils/instanceOf.d.ts +2 -0
  55. package/jsutils/instanceOf.js +2 -0
  56. package/jsutils/instanceOf.mjs +2 -0
  57. package/jsutils/invariant.d.ts +1 -0
  58. package/jsutils/invariant.js +1 -0
  59. package/jsutils/invariant.mjs +1 -0
  60. package/jsutils/isAsyncIterable.d.ts +2 -0
  61. package/jsutils/isAsyncIterable.js +2 -0
  62. package/jsutils/isAsyncIterable.mjs +2 -0
  63. package/jsutils/isIterableObject.d.ts +6 -5
  64. package/jsutils/isIterableObject.js +6 -5
  65. package/jsutils/isIterableObject.mjs +6 -5
  66. package/jsutils/isObjectLike.d.ts +2 -0
  67. package/jsutils/isObjectLike.js +2 -0
  68. package/jsutils/isObjectLike.mjs +2 -0
  69. package/jsutils/isPromise.d.ts +2 -0
  70. package/jsutils/isPromise.js +2 -0
  71. package/jsutils/isPromise.mjs +2 -0
  72. package/jsutils/keyMap.d.ts +7 -14
  73. package/jsutils/keyMap.js +7 -14
  74. package/jsutils/keyMap.mjs +7 -14
  75. package/jsutils/keyValMap.d.ts +9 -6
  76. package/jsutils/keyValMap.js +9 -6
  77. package/jsutils/keyValMap.mjs +9 -6
  78. package/jsutils/mapValue.d.ts +2 -0
  79. package/jsutils/mapValue.js +2 -0
  80. package/jsutils/mapValue.mjs +2 -0
  81. package/jsutils/memoize3.d.ts +2 -0
  82. package/jsutils/memoize3.js +2 -0
  83. package/jsutils/memoize3.mjs +2 -0
  84. package/jsutils/naturalCompare.d.ts +2 -0
  85. package/jsutils/naturalCompare.js +2 -0
  86. package/jsutils/naturalCompare.mjs +2 -0
  87. package/jsutils/printPathArray.d.ts +2 -0
  88. package/jsutils/printPathArray.js +2 -0
  89. package/jsutils/printPathArray.mjs +2 -0
  90. package/jsutils/promiseForObject.d.ts +2 -0
  91. package/jsutils/promiseForObject.js +2 -0
  92. package/jsutils/promiseForObject.mjs +2 -0
  93. package/jsutils/promiseReduce.d.ts +2 -0
  94. package/jsutils/promiseReduce.js +2 -0
  95. package/jsutils/promiseReduce.mjs +2 -0
  96. package/jsutils/suggestionList.d.ts +2 -0
  97. package/jsutils/suggestionList.js +4 -0
  98. package/jsutils/suggestionList.mjs +4 -0
  99. package/jsutils/toError.d.ts +2 -0
  100. package/jsutils/toError.js +2 -0
  101. package/jsutils/toError.mjs +2 -0
  102. package/jsutils/toObjMap.d.ts +1 -0
  103. package/jsutils/toObjMap.js +1 -0
  104. package/jsutils/toObjMap.mjs +1 -0
  105. package/language/ast.d.ts +412 -54
  106. package/language/ast.js +95 -38
  107. package/language/ast.mjs +95 -38
  108. package/language/blockString.d.ts +1 -3
  109. package/language/blockString.js +1 -3
  110. package/language/blockString.mjs +1 -3
  111. package/language/directiveLocation.d.ts +28 -8
  112. package/language/directiveLocation.js +9 -6
  113. package/language/directiveLocation.mjs +9 -6
  114. package/language/index.d.ts +6 -0
  115. package/language/index.mjs +6 -0
  116. package/language/kinds.d.ts +57 -18
  117. package/language/kinds.js +9 -6
  118. package/language/kinds.mjs +9 -6
  119. package/language/lexer.d.ts +47 -14
  120. package/language/lexer.js +71 -13
  121. package/language/lexer.mjs +70 -13
  122. package/language/location.d.ts +16 -3
  123. package/language/location.js +14 -3
  124. package/language/location.mjs +14 -3
  125. package/language/parser.d.ts +236 -13
  126. package/language/parser.js +224 -0
  127. package/language/parser.mjs +224 -3
  128. package/language/predicates.d.ts +169 -0
  129. package/language/predicates.js +170 -0
  130. package/language/predicates.mjs +180 -0
  131. package/language/printLocation.d.ts +28 -0
  132. package/language/printLocation.js +29 -0
  133. package/language/printLocation.mjs +28 -0
  134. package/language/printString.d.ts +2 -0
  135. package/language/printString.js +5 -1
  136. package/language/printString.mjs +5 -1
  137. package/language/printer.d.ts +12 -0
  138. package/language/printer.js +19 -0
  139. package/language/printer.mjs +18 -0
  140. package/language/schemaCoordinateLexer.d.ts +8 -6
  141. package/language/schemaCoordinateLexer.js +10 -6
  142. package/language/schemaCoordinateLexer.mjs +10 -6
  143. package/language/source.d.ts +28 -0
  144. package/language/source.js +32 -0
  145. package/language/source.mjs +31 -0
  146. package/language/tokenKind.d.ts +30 -3
  147. package/language/tokenKind.js +8 -3
  148. package/language/tokenKind.mjs +8 -3
  149. package/language/visitor.d.ts +200 -72
  150. package/language/visitor.js +122 -50
  151. package/language/visitor.mjs +122 -54
  152. package/package.json +1 -1
  153. package/subscription/index.d.ts +9 -3
  154. package/subscription/index.mjs +9 -3
  155. package/type/assertName.d.ts +18 -1
  156. package/type/assertName.js +19 -1
  157. package/type/assertName.mjs +18 -1
  158. package/type/definition.d.ts +2540 -79
  159. package/type/definition.js +2214 -61
  160. package/type/definition.mjs +2241 -60
  161. package/type/directives.d.ts +193 -18
  162. package/type/directives.js +196 -19
  163. package/type/directives.mjs +196 -19
  164. package/type/index.d.ts +6 -0
  165. package/type/index.mjs +6 -0
  166. package/type/introspection.d.ts +36 -0
  167. package/type/introspection.js +33 -0
  168. package/type/introspection.mjs +41 -0
  169. package/type/scalars.d.ts +29 -2
  170. package/type/scalars.js +37 -2
  171. package/type/scalars.mjs +36 -2
  172. package/type/schema.d.ts +490 -28
  173. package/type/schema.js +484 -26
  174. package/type/schema.mjs +484 -26
  175. package/type/validate.d.ts +31 -0
  176. package/type/validate.js +32 -0
  177. package/type/validate.mjs +31 -0
  178. package/utilities/TypeInfo.d.ts +441 -1
  179. package/utilities/TypeInfo.js +444 -1
  180. package/utilities/TypeInfo.mjs +443 -1
  181. package/utilities/assertValidName.d.ts +27 -2
  182. package/utilities/assertValidName.js +28 -2
  183. package/utilities/assertValidName.mjs +27 -2
  184. package/utilities/astFromValue.d.ts +33 -3
  185. package/utilities/astFromValue.js +36 -3
  186. package/utilities/astFromValue.mjs +35 -3
  187. package/utilities/buildASTSchema.d.ts +65 -6
  188. package/utilities/buildASTSchema.js +65 -6
  189. package/utilities/buildASTSchema.mjs +65 -6
  190. package/utilities/buildClientSchema.d.ts +15 -0
  191. package/utilities/buildClientSchema.js +16 -0
  192. package/utilities/buildClientSchema.mjs +15 -0
  193. package/utilities/coerceInputValue.d.ts +46 -0
  194. package/utilities/coerceInputValue.js +47 -0
  195. package/utilities/coerceInputValue.mjs +46 -0
  196. package/utilities/concatAST.d.ts +12 -0
  197. package/utilities/concatAST.js +13 -0
  198. package/utilities/concatAST.mjs +12 -0
  199. package/utilities/extendSchema.d.ts +56 -3
  200. package/utilities/extendSchema.js +63 -3
  201. package/utilities/extendSchema.mjs +62 -3
  202. package/utilities/findBreakingChanges.d.ts +95 -0
  203. package/utilities/findBreakingChanges.js +68 -0
  204. package/utilities/findBreakingChanges.mjs +70 -0
  205. package/utilities/getIntrospectionQuery.d.ts +132 -0
  206. package/utilities/getIntrospectionQuery.js +41 -0
  207. package/utilities/getIntrospectionQuery.mjs +41 -0
  208. package/utilities/getOperationAST.d.ts +15 -0
  209. package/utilities/getOperationAST.js +16 -0
  210. package/utilities/getOperationAST.mjs +15 -0
  211. package/utilities/getOperationRootType.d.ts +18 -1
  212. package/utilities/getOperationRootType.js +19 -1
  213. package/utilities/getOperationRootType.mjs +18 -1
  214. package/utilities/index.d.ts +7 -0
  215. package/utilities/index.mjs +7 -0
  216. package/utilities/introspectionFromSchema.d.ts +54 -0
  217. package/utilities/introspectionFromSchema.js +55 -0
  218. package/utilities/introspectionFromSchema.mjs +54 -0
  219. package/utilities/lexicographicSortSchema.d.ts +35 -0
  220. package/utilities/lexicographicSortSchema.js +36 -0
  221. package/utilities/lexicographicSortSchema.mjs +35 -0
  222. package/utilities/printSchema.d.ts +63 -0
  223. package/utilities/printSchema.js +66 -0
  224. package/utilities/printSchema.mjs +67 -0
  225. package/utilities/resolveSchemaCoordinate.d.ts +62 -0
  226. package/utilities/resolveSchemaCoordinate.js +64 -0
  227. package/utilities/resolveSchemaCoordinate.mjs +63 -0
  228. package/utilities/separateOperations.d.ts +30 -0
  229. package/utilities/separateOperations.js +31 -0
  230. package/utilities/separateOperations.mjs +30 -0
  231. package/utilities/stripIgnoredCharacters.d.ts +13 -6
  232. package/utilities/stripIgnoredCharacters.js +16 -6
  233. package/utilities/stripIgnoredCharacters.mjs +15 -6
  234. package/utilities/typeComparators.d.ts +84 -0
  235. package/utilities/typeComparators.js +85 -0
  236. package/utilities/typeComparators.mjs +84 -0
  237. package/utilities/typeFromAST.d.ts +86 -0
  238. package/utilities/typeFromAST.js +3 -0
  239. package/utilities/typeFromAST.mjs +3 -0
  240. package/utilities/typedQueryDocumentNode.d.ts +4 -0
  241. package/utilities/valueFromAST.d.ts +38 -0
  242. package/utilities/valueFromAST.js +39 -0
  243. package/utilities/valueFromAST.mjs +38 -0
  244. package/utilities/valueFromASTUntyped.d.ts +15 -2
  245. package/utilities/valueFromASTUntyped.js +16 -2
  246. package/utilities/valueFromASTUntyped.mjs +15 -2
  247. package/validation/ValidationContext.d.ts +399 -0
  248. package/validation/ValidationContext.js +400 -0
  249. package/validation/ValidationContext.mjs +401 -0
  250. package/validation/index.d.ts +6 -0
  251. package/validation/index.mjs +6 -0
  252. package/validation/rules/ExecutableDefinitionsRule.d.ts +28 -0
  253. package/validation/rules/ExecutableDefinitionsRule.js +29 -0
  254. package/validation/rules/ExecutableDefinitionsRule.mjs +28 -0
  255. package/validation/rules/FieldsOnCorrectTypeRule.d.ts +28 -0
  256. package/validation/rules/FieldsOnCorrectTypeRule.js +33 -0
  257. package/validation/rules/FieldsOnCorrectTypeRule.mjs +32 -0
  258. package/validation/rules/FragmentsOnCompositeTypesRule.d.ts +28 -0
  259. package/validation/rules/FragmentsOnCompositeTypesRule.js +29 -0
  260. package/validation/rules/FragmentsOnCompositeTypesRule.mjs +28 -0
  261. package/validation/rules/KnownArgumentNamesRule.d.ts +29 -3
  262. package/validation/rules/KnownArgumentNamesRule.js +30 -3
  263. package/validation/rules/KnownArgumentNamesRule.mjs +29 -3
  264. package/validation/rules/KnownDirectivesRule.d.ts +28 -0
  265. package/validation/rules/KnownDirectivesRule.js +29 -0
  266. package/validation/rules/KnownDirectivesRule.mjs +28 -0
  267. package/validation/rules/KnownFragmentNamesRule.d.ts +28 -0
  268. package/validation/rules/KnownFragmentNamesRule.js +29 -0
  269. package/validation/rules/KnownFragmentNamesRule.mjs +28 -0
  270. package/validation/rules/KnownTypeNamesRule.d.ts +28 -0
  271. package/validation/rules/KnownTypeNamesRule.js +29 -0
  272. package/validation/rules/KnownTypeNamesRule.mjs +28 -0
  273. package/validation/rules/LoneAnonymousOperationRule.d.ts +28 -0
  274. package/validation/rules/LoneAnonymousOperationRule.js +29 -0
  275. package/validation/rules/LoneAnonymousOperationRule.mjs +28 -0
  276. package/validation/rules/LoneSchemaDefinitionRule.d.ts +21 -0
  277. package/validation/rules/LoneSchemaDefinitionRule.js +22 -0
  278. package/validation/rules/LoneSchemaDefinitionRule.mjs +21 -0
  279. package/validation/rules/MaxIntrospectionDepthRule.d.ts +31 -0
  280. package/validation/rules/MaxIntrospectionDepthRule.js +33 -0
  281. package/validation/rules/MaxIntrospectionDepthRule.mjs +34 -0
  282. package/validation/rules/NoFragmentCyclesRule.d.ts +28 -0
  283. package/validation/rules/NoFragmentCyclesRule.js +29 -0
  284. package/validation/rules/NoFragmentCyclesRule.mjs +28 -0
  285. package/validation/rules/NoUndefinedVariablesRule.d.ts +28 -0
  286. package/validation/rules/NoUndefinedVariablesRule.js +29 -0
  287. package/validation/rules/NoUndefinedVariablesRule.mjs +28 -0
  288. package/validation/rules/NoUnusedFragmentsRule.d.ts +28 -0
  289. package/validation/rules/NoUnusedFragmentsRule.js +29 -0
  290. package/validation/rules/NoUnusedFragmentsRule.mjs +28 -0
  291. package/validation/rules/NoUnusedVariablesRule.d.ts +29 -0
  292. package/validation/rules/NoUnusedVariablesRule.js +30 -0
  293. package/validation/rules/NoUnusedVariablesRule.mjs +29 -0
  294. package/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts +33 -0
  295. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +45 -6
  296. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +45 -6
  297. package/validation/rules/PossibleFragmentSpreadsRule.d.ts +36 -0
  298. package/validation/rules/PossibleFragmentSpreadsRule.js +37 -0
  299. package/validation/rules/PossibleFragmentSpreadsRule.mjs +36 -0
  300. package/validation/rules/PossibleTypeExtensionsRule.d.ts +21 -0
  301. package/validation/rules/PossibleTypeExtensionsRule.js +22 -0
  302. package/validation/rules/PossibleTypeExtensionsRule.mjs +21 -0
  303. package/validation/rules/ProvidedRequiredArgumentsRule.d.ts +29 -3
  304. package/validation/rules/ProvidedRequiredArgumentsRule.js +30 -3
  305. package/validation/rules/ProvidedRequiredArgumentsRule.mjs +29 -3
  306. package/validation/rules/ScalarLeafsRule.d.ts +28 -0
  307. package/validation/rules/ScalarLeafsRule.js +29 -0
  308. package/validation/rules/ScalarLeafsRule.mjs +28 -0
  309. package/validation/rules/SingleFieldSubscriptionsRule.d.ts +33 -0
  310. package/validation/rules/SingleFieldSubscriptionsRule.js +34 -0
  311. package/validation/rules/SingleFieldSubscriptionsRule.mjs +33 -0
  312. package/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts +21 -0
  313. package/validation/rules/UniqueArgumentDefinitionNamesRule.js +22 -0
  314. package/validation/rules/UniqueArgumentDefinitionNamesRule.mjs +21 -0
  315. package/validation/rules/UniqueArgumentNamesRule.d.ts +28 -0
  316. package/validation/rules/UniqueArgumentNamesRule.js +29 -0
  317. package/validation/rules/UniqueArgumentNamesRule.mjs +28 -0
  318. package/validation/rules/UniqueDirectiveNamesRule.d.ts +21 -0
  319. package/validation/rules/UniqueDirectiveNamesRule.js +22 -0
  320. package/validation/rules/UniqueDirectiveNamesRule.mjs +21 -0
  321. package/validation/rules/UniqueDirectivesPerLocationRule.d.ts +28 -0
  322. package/validation/rules/UniqueDirectivesPerLocationRule.js +29 -0
  323. package/validation/rules/UniqueDirectivesPerLocationRule.mjs +28 -0
  324. package/validation/rules/UniqueEnumValueNamesRule.d.ts +21 -0
  325. package/validation/rules/UniqueEnumValueNamesRule.js +22 -0
  326. package/validation/rules/UniqueEnumValueNamesRule.mjs +21 -0
  327. package/validation/rules/UniqueFieldDefinitionNamesRule.d.ts +21 -0
  328. package/validation/rules/UniqueFieldDefinitionNamesRule.js +22 -0
  329. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +21 -0
  330. package/validation/rules/UniqueFragmentNamesRule.d.ts +28 -0
  331. package/validation/rules/UniqueFragmentNamesRule.js +29 -0
  332. package/validation/rules/UniqueFragmentNamesRule.mjs +28 -0
  333. package/validation/rules/UniqueInputFieldNamesRule.d.ts +32 -0
  334. package/validation/rules/UniqueInputFieldNamesRule.js +33 -0
  335. package/validation/rules/UniqueInputFieldNamesRule.mjs +32 -0
  336. package/validation/rules/UniqueOperationNamesRule.d.ts +28 -0
  337. package/validation/rules/UniqueOperationNamesRule.js +29 -0
  338. package/validation/rules/UniqueOperationNamesRule.mjs +28 -0
  339. package/validation/rules/UniqueOperationTypesRule.d.ts +21 -0
  340. package/validation/rules/UniqueOperationTypesRule.js +22 -0
  341. package/validation/rules/UniqueOperationTypesRule.mjs +21 -0
  342. package/validation/rules/UniqueTypeNamesRule.d.ts +21 -0
  343. package/validation/rules/UniqueTypeNamesRule.js +22 -0
  344. package/validation/rules/UniqueTypeNamesRule.mjs +21 -0
  345. package/validation/rules/UniqueVariableNamesRule.d.ts +28 -0
  346. package/validation/rules/UniqueVariableNamesRule.js +29 -0
  347. package/validation/rules/UniqueVariableNamesRule.mjs +28 -0
  348. package/validation/rules/ValuesOfCorrectTypeRule.d.ts +28 -0
  349. package/validation/rules/ValuesOfCorrectTypeRule.js +31 -0
  350. package/validation/rules/ValuesOfCorrectTypeRule.mjs +30 -0
  351. package/validation/rules/VariablesAreInputTypesRule.d.ts +32 -0
  352. package/validation/rules/VariablesAreInputTypesRule.js +33 -0
  353. package/validation/rules/VariablesAreInputTypesRule.mjs +32 -0
  354. package/validation/rules/VariablesInAllowedPositionRule.d.ts +28 -0
  355. package/validation/rules/VariablesInAllowedPositionRule.js +35 -1
  356. package/validation/rules/VariablesInAllowedPositionRule.mjs +34 -1
  357. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +41 -0
  358. package/validation/rules/custom/NoDeprecatedCustomRule.js +42 -0
  359. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +41 -0
  360. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +28 -0
  361. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +29 -0
  362. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +28 -0
  363. package/validation/specifiedRules.d.ts +2 -3
  364. package/validation/specifiedRules.js +2 -3
  365. package/validation/specifiedRules.mjs +2 -3
  366. package/validation/validate.d.ts +70 -9
  367. package/validation/validate.js +63 -7
  368. package/validation/validate.mjs +63 -7
  369. package/version.d.ts +3 -6
  370. package/version.js +6 -8
  371. package/version.mjs +5 -8
@@ -1,3 +1,4 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from '../../language/visitor';
2
3
  import type { ASTValidationContext } from '../ValidationContext';
3
4
  /**
@@ -6,6 +7,33 @@ import type { ASTValidationContext } from '../ValidationContext';
6
7
  * A GraphQL document is only valid if all defined operations have unique names.
7
8
  *
8
9
  * See https://spec.graphql.org/draft/#sec-Operation-Name-Uniqueness
10
+ * @param context - The validation context used while checking the document.
11
+ * @returns A visitor that reports validation errors for this rule.
12
+ * @example
13
+ * ```ts
14
+ * import { buildSchema, parse, validate } from 'graphql';
15
+ * import { UniqueOperationNamesRule } from 'graphql/validation';
16
+ *
17
+ * const schema = buildSchema(`
18
+ * type Query {
19
+ * name: String
20
+ * }
21
+ * `);
22
+ *
23
+ * const invalidDocument = parse(`
24
+ * query Same { name } query Same { name }
25
+ * `);
26
+ * const invalidErrors = validate(schema, invalidDocument, [UniqueOperationNamesRule]);
27
+ *
28
+ * invalidErrors.length; // => 1
29
+ *
30
+ * const validDocument = parse(`
31
+ * query One { name } query Two { name }
32
+ * `);
33
+ * const validErrors = validate(schema, validDocument, [UniqueOperationNamesRule]);
34
+ *
35
+ * validErrors; // => []
36
+ * ```
9
37
  */
10
38
  export declare function UniqueOperationNamesRule(
11
39
  context: ASTValidationContext,
@@ -7,12 +7,41 @@ exports.UniqueOperationNamesRule = UniqueOperationNamesRule;
7
7
 
8
8
  var _GraphQLError = require('../../error/GraphQLError.js');
9
9
 
10
+ /** @category Validation Rules */
11
+
10
12
  /**
11
13
  * Unique operation names
12
14
  *
13
15
  * A GraphQL document is only valid if all defined operations have unique names.
14
16
  *
15
17
  * See https://spec.graphql.org/draft/#sec-Operation-Name-Uniqueness
18
+ * @param context - The validation context used while checking the document.
19
+ * @returns A visitor that reports validation errors for this rule.
20
+ * @example
21
+ * ```ts
22
+ * import { buildSchema, parse, validate } from 'graphql';
23
+ * import { UniqueOperationNamesRule } from 'graphql/validation';
24
+ *
25
+ * const schema = buildSchema(`
26
+ * type Query {
27
+ * name: String
28
+ * }
29
+ * `);
30
+ *
31
+ * const invalidDocument = parse(`
32
+ * query Same { name } query Same { name }
33
+ * `);
34
+ * const invalidErrors = validate(schema, invalidDocument, [UniqueOperationNamesRule]);
35
+ *
36
+ * invalidErrors.length; // => 1
37
+ *
38
+ * const validDocument = parse(`
39
+ * query One { name } query Two { name }
40
+ * `);
41
+ * const validErrors = validate(schema, validDocument, [UniqueOperationNamesRule]);
42
+ *
43
+ * validErrors; // => []
44
+ * ```
16
45
  */
17
46
  function UniqueOperationNamesRule(context) {
18
47
  const knownOperationNames = Object.create(null);
@@ -1,3 +1,4 @@
1
+ /** @category Validation Rules */
1
2
  import { GraphQLError } from '../../error/GraphQLError.mjs';
2
3
 
3
4
  /**
@@ -6,6 +7,33 @@ import { GraphQLError } from '../../error/GraphQLError.mjs';
6
7
  * A GraphQL document is only valid if all defined operations have unique names.
7
8
  *
8
9
  * See https://spec.graphql.org/draft/#sec-Operation-Name-Uniqueness
10
+ * @param context - The validation context used while checking the document.
11
+ * @returns A visitor that reports validation errors for this rule.
12
+ * @example
13
+ * ```ts
14
+ * import { buildSchema, parse, validate } from 'graphql';
15
+ * import { UniqueOperationNamesRule } from 'graphql/validation';
16
+ *
17
+ * const schema = buildSchema(`
18
+ * type Query {
19
+ * name: String
20
+ * }
21
+ * `);
22
+ *
23
+ * const invalidDocument = parse(`
24
+ * query Same { name } query Same { name }
25
+ * `);
26
+ * const invalidErrors = validate(schema, invalidDocument, [UniqueOperationNamesRule]);
27
+ *
28
+ * invalidErrors.length; // => 1
29
+ *
30
+ * const validDocument = parse(`
31
+ * query One { name } query Two { name }
32
+ * `);
33
+ * const validErrors = validate(schema, validDocument, [UniqueOperationNamesRule]);
34
+ *
35
+ * validErrors; // => []
36
+ * ```
9
37
  */
10
38
  export function UniqueOperationNamesRule(context) {
11
39
  const knownOperationNames = Object.create(null);
@@ -1,9 +1,30 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from '../../language/visitor';
2
3
  import type { SDLValidationContext } from '../ValidationContext';
3
4
  /**
4
5
  * Unique operation types
5
6
  *
6
7
  * A GraphQL document is only valid if it has only one type per operation.
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 { buildSchema } from 'graphql';
13
+ * import { UniqueOperationTypesRule } from 'graphql/validation';
14
+ *
15
+ * const invalidSDL = `
16
+ * schema { query: Query query: Other } type Query { name: String } type Other { name: String }
17
+ * `;
18
+ *
19
+ * UniqueOperationTypesRule.name; // => 'UniqueOperationTypesRule'
20
+ * buildSchema(invalidSDL); // throws an error
21
+ *
22
+ * const validSDL = `
23
+ * schema { query: Query } type Query { name: String }
24
+ * `;
25
+ *
26
+ * buildSchema(validSDL); // does not throw
27
+ * ```
7
28
  */
8
29
  export declare function UniqueOperationTypesRule(
9
30
  context: SDLValidationContext,
@@ -7,10 +7,32 @@ exports.UniqueOperationTypesRule = UniqueOperationTypesRule;
7
7
 
8
8
  var _GraphQLError = require('../../error/GraphQLError.js');
9
9
 
10
+ /** @category Validation Rules */
11
+
10
12
  /**
11
13
  * Unique operation types
12
14
  *
13
15
  * A GraphQL document is only valid if it has only one type per operation.
16
+ * @param context - The validation context used while checking the document.
17
+ * @returns A visitor that reports validation errors for this rule.
18
+ * @example
19
+ * ```ts
20
+ * import { buildSchema } from 'graphql';
21
+ * import { UniqueOperationTypesRule } from 'graphql/validation';
22
+ *
23
+ * const invalidSDL = `
24
+ * schema { query: Query query: Other } type Query { name: String } type Other { name: String }
25
+ * `;
26
+ *
27
+ * UniqueOperationTypesRule.name; // => 'UniqueOperationTypesRule'
28
+ * buildSchema(invalidSDL); // throws an error
29
+ *
30
+ * const validSDL = `
31
+ * schema { query: Query } type Query { name: String }
32
+ * `;
33
+ *
34
+ * buildSchema(validSDL); // does not throw
35
+ * ```
14
36
  */
15
37
  function UniqueOperationTypesRule(context) {
16
38
  const schema = context.getSchema();
@@ -1,9 +1,30 @@
1
+ /** @category Validation Rules */
1
2
  import { GraphQLError } from '../../error/GraphQLError.mjs';
2
3
 
3
4
  /**
4
5
  * Unique operation types
5
6
  *
6
7
  * A GraphQL document is only valid if it has only one type per operation.
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 { buildSchema } from 'graphql';
13
+ * import { UniqueOperationTypesRule } from 'graphql/validation';
14
+ *
15
+ * const invalidSDL = `
16
+ * schema { query: Query query: Other } type Query { name: String } type Other { name: String }
17
+ * `;
18
+ *
19
+ * UniqueOperationTypesRule.name; // => 'UniqueOperationTypesRule'
20
+ * buildSchema(invalidSDL); // throws an error
21
+ *
22
+ * const validSDL = `
23
+ * schema { query: Query } type Query { name: String }
24
+ * `;
25
+ *
26
+ * buildSchema(validSDL); // does not throw
27
+ * ```
7
28
  */
8
29
  export function UniqueOperationTypesRule(context) {
9
30
  const schema = context.getSchema();
@@ -1,9 +1,30 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from '../../language/visitor';
2
3
  import type { SDLValidationContext } from '../ValidationContext';
3
4
  /**
4
5
  * Unique type names
5
6
  *
6
7
  * A GraphQL document is only valid if all defined types have unique names.
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 { buildSchema } from 'graphql';
13
+ * import { UniqueTypeNamesRule } from 'graphql/validation';
14
+ *
15
+ * const invalidSDL = `
16
+ * type Query { name: String } type Query { other: String }
17
+ * `;
18
+ *
19
+ * UniqueTypeNamesRule.name; // => 'UniqueTypeNamesRule'
20
+ * buildSchema(invalidSDL); // throws an error
21
+ *
22
+ * const validSDL = `
23
+ * type Query { name: String } type Other { name: String }
24
+ * `;
25
+ *
26
+ * buildSchema(validSDL); // does not throw
27
+ * ```
7
28
  */
8
29
  export declare function UniqueTypeNamesRule(
9
30
  context: SDLValidationContext,
@@ -7,10 +7,32 @@ exports.UniqueTypeNamesRule = UniqueTypeNamesRule;
7
7
 
8
8
  var _GraphQLError = require('../../error/GraphQLError.js');
9
9
 
10
+ /** @category Validation Rules */
11
+
10
12
  /**
11
13
  * Unique type names
12
14
  *
13
15
  * A GraphQL document is only valid if all defined types have unique names.
16
+ * @param context - The validation context used while checking the document.
17
+ * @returns A visitor that reports validation errors for this rule.
18
+ * @example
19
+ * ```ts
20
+ * import { buildSchema } from 'graphql';
21
+ * import { UniqueTypeNamesRule } from 'graphql/validation';
22
+ *
23
+ * const invalidSDL = `
24
+ * type Query { name: String } type Query { other: String }
25
+ * `;
26
+ *
27
+ * UniqueTypeNamesRule.name; // => 'UniqueTypeNamesRule'
28
+ * buildSchema(invalidSDL); // throws an error
29
+ *
30
+ * const validSDL = `
31
+ * type Query { name: String } type Other { name: String }
32
+ * `;
33
+ *
34
+ * buildSchema(validSDL); // does not throw
35
+ * ```
14
36
  */
15
37
  function UniqueTypeNamesRule(context) {
16
38
  const knownTypeNames = Object.create(null);
@@ -1,9 +1,30 @@
1
+ /** @category Validation Rules */
1
2
  import { GraphQLError } from '../../error/GraphQLError.mjs';
2
3
 
3
4
  /**
4
5
  * Unique type names
5
6
  *
6
7
  * A GraphQL document is only valid if all defined types have unique names.
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 { buildSchema } from 'graphql';
13
+ * import { UniqueTypeNamesRule } from 'graphql/validation';
14
+ *
15
+ * const invalidSDL = `
16
+ * type Query { name: String } type Query { other: String }
17
+ * `;
18
+ *
19
+ * UniqueTypeNamesRule.name; // => 'UniqueTypeNamesRule'
20
+ * buildSchema(invalidSDL); // throws an error
21
+ *
22
+ * const validSDL = `
23
+ * type Query { name: String } type Other { name: String }
24
+ * `;
25
+ *
26
+ * buildSchema(validSDL); // does not throw
27
+ * ```
7
28
  */
8
29
  export function UniqueTypeNamesRule(context) {
9
30
  const knownTypeNames = Object.create(null);
@@ -1,9 +1,37 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from '../../language/visitor';
2
3
  import type { ASTValidationContext } from '../ValidationContext';
3
4
  /**
4
5
  * Unique variable names
5
6
  *
6
7
  * A GraphQL operation is only valid if all its variables are uniquely named.
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 { buildSchema, parse, validate } from 'graphql';
13
+ * import { UniqueVariableNamesRule } from 'graphql/validation';
14
+ *
15
+ * const schema = buildSchema(`
16
+ * type Query {
17
+ * field(arg: ID): String
18
+ * }
19
+ * `);
20
+ *
21
+ * const invalidDocument = parse(`
22
+ * query ($id: ID, $id: ID) { field(arg: $id) }
23
+ * `);
24
+ * const invalidErrors = validate(schema, invalidDocument, [UniqueVariableNamesRule]);
25
+ *
26
+ * invalidErrors.length; // => 1
27
+ *
28
+ * const validDocument = parse(`
29
+ * query ($id: ID) { field(arg: $id) }
30
+ * `);
31
+ * const validErrors = validate(schema, validDocument, [UniqueVariableNamesRule]);
32
+ *
33
+ * validErrors; // => []
34
+ * ```
7
35
  */
8
36
  export declare function UniqueVariableNamesRule(
9
37
  context: ASTValidationContext,
@@ -9,10 +9,39 @@ var _groupBy = require('../../jsutils/groupBy.js');
9
9
 
10
10
  var _GraphQLError = require('../../error/GraphQLError.js');
11
11
 
12
+ /** @category Validation Rules */
13
+
12
14
  /**
13
15
  * Unique variable names
14
16
  *
15
17
  * A GraphQL operation is only valid if all its variables are uniquely named.
18
+ * @param context - The validation context used while checking the document.
19
+ * @returns A visitor that reports validation errors for this rule.
20
+ * @example
21
+ * ```ts
22
+ * import { buildSchema, parse, validate } from 'graphql';
23
+ * import { UniqueVariableNamesRule } from 'graphql/validation';
24
+ *
25
+ * const schema = buildSchema(`
26
+ * type Query {
27
+ * field(arg: ID): String
28
+ * }
29
+ * `);
30
+ *
31
+ * const invalidDocument = parse(`
32
+ * query ($id: ID, $id: ID) { field(arg: $id) }
33
+ * `);
34
+ * const invalidErrors = validate(schema, invalidDocument, [UniqueVariableNamesRule]);
35
+ *
36
+ * invalidErrors.length; // => 1
37
+ *
38
+ * const validDocument = parse(`
39
+ * query ($id: ID) { field(arg: $id) }
40
+ * `);
41
+ * const validErrors = validate(schema, validDocument, [UniqueVariableNamesRule]);
42
+ *
43
+ * validErrors; // => []
44
+ * ```
16
45
  */
17
46
  function UniqueVariableNamesRule(context) {
18
47
  return {
@@ -1,3 +1,4 @@
1
+ /** @category Validation Rules */
1
2
  import { groupBy } from '../../jsutils/groupBy.mjs';
2
3
  import { GraphQLError } from '../../error/GraphQLError.mjs';
3
4
 
@@ -5,6 +6,33 @@ import { GraphQLError } from '../../error/GraphQLError.mjs';
5
6
  * Unique variable names
6
7
  *
7
8
  * A GraphQL operation is only valid if all its variables are uniquely named.
9
+ * @param context - The validation context used while checking the document.
10
+ * @returns A visitor that reports validation errors for this rule.
11
+ * @example
12
+ * ```ts
13
+ * import { buildSchema, parse, validate } from 'graphql';
14
+ * import { UniqueVariableNamesRule } from 'graphql/validation';
15
+ *
16
+ * const schema = buildSchema(`
17
+ * type Query {
18
+ * field(arg: ID): String
19
+ * }
20
+ * `);
21
+ *
22
+ * const invalidDocument = parse(`
23
+ * query ($id: ID, $id: ID) { field(arg: $id) }
24
+ * `);
25
+ * const invalidErrors = validate(schema, invalidDocument, [UniqueVariableNamesRule]);
26
+ *
27
+ * invalidErrors.length; // => 1
28
+ *
29
+ * const validDocument = parse(`
30
+ * query ($id: ID) { field(arg: $id) }
31
+ * `);
32
+ * const validErrors = validate(schema, validDocument, [UniqueVariableNamesRule]);
33
+ *
34
+ * validErrors; // => []
35
+ * ```
8
36
  */
9
37
  export function UniqueVariableNamesRule(context) {
10
38
  return {
@@ -1,3 +1,4 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from '../../language/visitor';
2
3
  import type { ValidationContext } from '../ValidationContext';
3
4
  /**
@@ -7,6 +8,33 @@ import type { ValidationContext } from '../ValidationContext';
7
8
  * expected at their position.
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Values-of-Correct-Type
11
+ * @param context - The validation context used while checking the document.
12
+ * @returns A visitor that reports validation errors for this rule.
13
+ * @example
14
+ * ```ts
15
+ * import { buildSchema, parse, validate } from 'graphql';
16
+ * import { ValuesOfCorrectTypeRule } from 'graphql/validation';
17
+ *
18
+ * const schema = buildSchema(`
19
+ * type Query {
20
+ * count(limit: Int): Int
21
+ * }
22
+ * `);
23
+ *
24
+ * const invalidDocument = parse(`
25
+ * { count(limit: "many") }
26
+ * `);
27
+ * const invalidErrors = validate(schema, invalidDocument, [ValuesOfCorrectTypeRule]);
28
+ *
29
+ * invalidErrors.length; // => 1
30
+ *
31
+ * const validDocument = parse(`
32
+ * { count(limit: 1) }
33
+ * `);
34
+ * const validErrors = validate(schema, validDocument, [ValuesOfCorrectTypeRule]);
35
+ *
36
+ * validErrors; // => []
37
+ * ```
10
38
  */
11
39
  export declare function ValuesOfCorrectTypeRule(
12
40
  context: ValidationContext,
@@ -21,6 +21,8 @@ var _printer = require('../../language/printer.js');
21
21
 
22
22
  var _definition = require('../../type/definition.js');
23
23
 
24
+ /** @category Validation Rules */
25
+
24
26
  /**
25
27
  * Value literals of correct type
26
28
  *
@@ -28,6 +30,33 @@ var _definition = require('../../type/definition.js');
28
30
  * expected at their position.
29
31
  *
30
32
  * See https://spec.graphql.org/draft/#sec-Values-of-Correct-Type
33
+ * @param context - The validation context used while checking the document.
34
+ * @returns A visitor that reports validation errors for this rule.
35
+ * @example
36
+ * ```ts
37
+ * import { buildSchema, parse, validate } from 'graphql';
38
+ * import { ValuesOfCorrectTypeRule } from 'graphql/validation';
39
+ *
40
+ * const schema = buildSchema(`
41
+ * type Query {
42
+ * count(limit: Int): Int
43
+ * }
44
+ * `);
45
+ *
46
+ * const invalidDocument = parse(`
47
+ * { count(limit: "many") }
48
+ * `);
49
+ * const invalidErrors = validate(schema, invalidDocument, [ValuesOfCorrectTypeRule]);
50
+ *
51
+ * invalidErrors.length; // => 1
52
+ *
53
+ * const validDocument = parse(`
54
+ * { count(limit: 1) }
55
+ * `);
56
+ * const validErrors = validate(schema, validDocument, [ValuesOfCorrectTypeRule]);
57
+ *
58
+ * validErrors; // => []
59
+ * ```
31
60
  */
32
61
  function ValuesOfCorrectTypeRule(context) {
33
62
  return {
@@ -133,6 +162,8 @@ function ValuesOfCorrectTypeRule(context) {
133
162
  /**
134
163
  * Any value literal may be a valid representation of a Scalar, depending on
135
164
  * that scalar type.
165
+ *
166
+ * @internal
136
167
  */
137
168
 
138
169
  function isValidValueNode(context, node) {
@@ -1,3 +1,4 @@
1
+ /** @category Validation Rules */
1
2
  import { didYouMean } from '../../jsutils/didYouMean.mjs';
2
3
  import { inspect } from '../../jsutils/inspect.mjs';
3
4
  import { keyMap } from '../../jsutils/keyMap.mjs';
@@ -22,6 +23,33 @@ import {
22
23
  * expected at their position.
23
24
  *
24
25
  * See https://spec.graphql.org/draft/#sec-Values-of-Correct-Type
26
+ * @param context - The validation context used while checking the document.
27
+ * @returns A visitor that reports validation errors for this rule.
28
+ * @example
29
+ * ```ts
30
+ * import { buildSchema, parse, validate } from 'graphql';
31
+ * import { ValuesOfCorrectTypeRule } from 'graphql/validation';
32
+ *
33
+ * const schema = buildSchema(`
34
+ * type Query {
35
+ * count(limit: Int): Int
36
+ * }
37
+ * `);
38
+ *
39
+ * const invalidDocument = parse(`
40
+ * { count(limit: "many") }
41
+ * `);
42
+ * const invalidErrors = validate(schema, invalidDocument, [ValuesOfCorrectTypeRule]);
43
+ *
44
+ * invalidErrors.length; // => 1
45
+ *
46
+ * const validDocument = parse(`
47
+ * { count(limit: 1) }
48
+ * `);
49
+ * const validErrors = validate(schema, validDocument, [ValuesOfCorrectTypeRule]);
50
+ *
51
+ * validErrors; // => []
52
+ * ```
25
53
  */
26
54
  export function ValuesOfCorrectTypeRule(context) {
27
55
  return {
@@ -118,6 +146,8 @@ export function ValuesOfCorrectTypeRule(context) {
118
146
  /**
119
147
  * Any value literal may be a valid representation of a Scalar, depending on
120
148
  * that scalar type.
149
+ *
150
+ * @internal
121
151
  */
122
152
 
123
153
  function isValidValueNode(context, node) {
@@ -1,3 +1,4 @@
1
+ /** @category Validation Rules */
1
2
  import type { ASTVisitor } from '../../language/visitor';
2
3
  import type { ValidationContext } from '../ValidationContext';
3
4
  /**
@@ -7,6 +8,37 @@ import type { ValidationContext } from '../ValidationContext';
7
8
  * input types (scalar, enum, or input object).
8
9
  *
9
10
  * See https://spec.graphql.org/draft/#sec-Variables-Are-Input-Types
11
+ * @param context - The validation context used while checking the document.
12
+ * @returns A visitor that reports validation errors for this rule.
13
+ * @example
14
+ * ```ts
15
+ * import { buildSchema, parse, validate } from 'graphql';
16
+ * import { VariablesAreInputTypesRule } from 'graphql/validation';
17
+ *
18
+ * const schema = buildSchema(`
19
+ * type Query {
20
+ * field(arg: ID): String
21
+ * }
22
+ *
23
+ * type User {
24
+ * name: String
25
+ * }
26
+ * `);
27
+ *
28
+ * const invalidDocument = parse(`
29
+ * query ($user: User) { field(arg: "1") }
30
+ * `);
31
+ * const invalidErrors = validate(schema, invalidDocument, [VariablesAreInputTypesRule]);
32
+ *
33
+ * invalidErrors.length; // => 1
34
+ *
35
+ * const validDocument = parse(`
36
+ * query ($id: ID) { field(arg: $id) }
37
+ * `);
38
+ * const validErrors = validate(schema, validDocument, [VariablesAreInputTypesRule]);
39
+ *
40
+ * validErrors; // => []
41
+ * ```
10
42
  */
11
43
  export declare function VariablesAreInputTypesRule(
12
44
  context: ValidationContext,
@@ -13,6 +13,8 @@ var _definition = require('../../type/definition.js');
13
13
 
14
14
  var _typeFromAST = require('../../utilities/typeFromAST.js');
15
15
 
16
+ /** @category Validation Rules */
17
+
16
18
  /**
17
19
  * Variables are input types
18
20
  *
@@ -20,6 +22,37 @@ var _typeFromAST = require('../../utilities/typeFromAST.js');
20
22
  * input types (scalar, enum, or input object).
21
23
  *
22
24
  * See https://spec.graphql.org/draft/#sec-Variables-Are-Input-Types
25
+ * @param context - The validation context used while checking the document.
26
+ * @returns A visitor that reports validation errors for this rule.
27
+ * @example
28
+ * ```ts
29
+ * import { buildSchema, parse, validate } from 'graphql';
30
+ * import { VariablesAreInputTypesRule } from 'graphql/validation';
31
+ *
32
+ * const schema = buildSchema(`
33
+ * type Query {
34
+ * field(arg: ID): String
35
+ * }
36
+ *
37
+ * type User {
38
+ * name: String
39
+ * }
40
+ * `);
41
+ *
42
+ * const invalidDocument = parse(`
43
+ * query ($user: User) { field(arg: "1") }
44
+ * `);
45
+ * const invalidErrors = validate(schema, invalidDocument, [VariablesAreInputTypesRule]);
46
+ *
47
+ * invalidErrors.length; // => 1
48
+ *
49
+ * const validDocument = parse(`
50
+ * query ($id: ID) { field(arg: $id) }
51
+ * `);
52
+ * const validErrors = validate(schema, validDocument, [VariablesAreInputTypesRule]);
53
+ *
54
+ * validErrors; // => []
55
+ * ```
23
56
  */
24
57
  function VariablesAreInputTypesRule(context) {
25
58
  return {