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
@@ -26,12 +26,18 @@ var _specifiedRules = require('./specifiedRules.js');
26
26
 
27
27
  var _ValidationContext = require('./ValidationContext.js');
28
28
 
29
+ /** @category Validation */
29
30
  // Per the specification, descriptions must not affect validation.
30
31
  // See https://spec.graphql.org/draft/#sec-Descriptions
31
32
  const QueryDocumentKeysToValidate = (0, _mapValue.mapValue)(
32
33
  _ast.QueryDocumentKeys,
33
34
  (keys) => keys.filter((key) => key !== 'description'),
34
35
  );
36
+ /**
37
+ * Options used when validating a GraphQL document.
38
+ * @internal
39
+ */
40
+
35
41
  /**
36
42
  * Implements the "Validation" section of the spec.
37
43
  *
@@ -41,24 +47,76 @@ const QueryDocumentKeysToValidate = (0, _mapValue.mapValue)(
41
47
  * A list of specific validation rules may be provided. If not provided, the
42
48
  * default list of rules defined by the GraphQL specification will be used.
43
49
  *
44
- * Each validation rules is a function which returns a visitor
50
+ * Each validation rule is a function that returns a visitor
45
51
  * (see the language/visitor API). Visitor methods are expected to return
46
52
  * GraphQLErrors, or Arrays of GraphQLErrors when invalid.
47
53
  *
48
54
  * Validate will stop validation after a `maxErrors` limit has been reached.
49
55
  * Attackers can send pathologically invalid queries to induce a DoS attack,
50
- * so by default `maxErrors` set to 100 errors.
56
+ * so `maxErrors` defaults to 100 errors.
51
57
  *
52
58
  * Optionally a custom TypeInfo instance may be provided. If not provided, one
53
59
  * will be created from the provided schema.
60
+ * @param schema - Schema to validate against.
61
+ * @param documentAST - Document AST to validate.
62
+ * @param rules - Validation rules to apply.
63
+ * @param options - Validation options, including error limits.
64
+ * @param typeInfo - TypeInfo instance to update during traversal.
65
+ * @returns Validation errors, or an empty array when the document is valid.
66
+ * @example
67
+ * ```ts
68
+ * // Validate with the default specified rules.
69
+ * import { parse } from 'graphql/language';
70
+ * import { buildSchema } from 'graphql/utilities';
71
+ * import { validate } from 'graphql/validation';
72
+ *
73
+ * const schema = buildSchema(`
74
+ * type Query {
75
+ * greeting: String
76
+ * }
77
+ * `);
78
+ *
79
+ * validate(schema, parse('{ greeting }')); // => []
80
+ *
81
+ * const errors = validate(schema, parse('{ missing }'));
82
+ * errors[0].message; // => 'Cannot query field "missing" on type "Query".'
83
+ * ```
84
+ * @example
85
+ * ```ts
86
+ * // This variant uses a custom rule list, TypeInfo, and validation options.
87
+ * import { parse } from 'graphql/language';
88
+ * import { buildSchema, TypeInfo } from 'graphql/utilities';
89
+ * import { FieldsOnCorrectTypeRule, validate } from 'graphql/validation';
90
+ *
91
+ * const schema = buildSchema(`
92
+ * type Query {
93
+ * greeting: String
94
+ * }
95
+ * `);
96
+ * const document = parse('{ missingOne missingTwo }');
97
+ *
98
+ * const errors = validate(
99
+ * schema,
100
+ * document,
101
+ * [FieldsOnCorrectTypeRule],
102
+ * { maxErrors: 1 },
103
+ * new TypeInfo(schema),
104
+ * );
105
+ *
106
+ * errors.length; // => 2
107
+ * errors[1].message; // => 'Too many validation errors, error limit reached. Validation aborted.'
108
+ * ```
54
109
  */
55
-
56
110
  function validate(
57
111
  schema,
58
112
  documentAST,
59
113
  rules = _specifiedRules.specifiedRules,
60
114
  options,
61
- /** @deprecated will be removed in 17.0.0 */
115
+ /**
116
+ * Deprecated TypeInfo instance used to track traversal state during
117
+ * validation. Omit this argument so validate creates the TypeInfo instance.
118
+ * @deprecated will be removed in 17.0.0
119
+ */
62
120
  typeInfo = new _TypeInfo.TypeInfo(schema),
63
121
  ) {
64
122
  var _options$maxErrors;
@@ -112,9 +170,7 @@ function validate(
112
170
 
113
171
  return errors;
114
172
  }
115
- /**
116
- * @internal
117
- */
173
+ /** @internal */
118
174
 
119
175
  function validateSDL(
120
176
  documentAST,
@@ -1,3 +1,4 @@
1
+ /** @category Validation */
1
2
  import { devAssert } from '../jsutils/devAssert.mjs';
2
3
  import { mapValue } from '../jsutils/mapValue.mjs';
3
4
  import { GraphQLError } from '../error/GraphQLError.mjs';
@@ -15,6 +16,11 @@ import {
15
16
  const QueryDocumentKeysToValidate = mapValue(QueryDocumentKeys, (keys) =>
16
17
  keys.filter((key) => key !== 'description'),
17
18
  );
19
+ /**
20
+ * Options used when validating a GraphQL document.
21
+ * @internal
22
+ */
23
+
18
24
  /**
19
25
  * Implements the "Validation" section of the spec.
20
26
  *
@@ -24,24 +30,76 @@ const QueryDocumentKeysToValidate = mapValue(QueryDocumentKeys, (keys) =>
24
30
  * A list of specific validation rules may be provided. If not provided, the
25
31
  * default list of rules defined by the GraphQL specification will be used.
26
32
  *
27
- * Each validation rules is a function which returns a visitor
33
+ * Each validation rule is a function that returns a visitor
28
34
  * (see the language/visitor API). Visitor methods are expected to return
29
35
  * GraphQLErrors, or Arrays of GraphQLErrors when invalid.
30
36
  *
31
37
  * Validate will stop validation after a `maxErrors` limit has been reached.
32
38
  * Attackers can send pathologically invalid queries to induce a DoS attack,
33
- * so by default `maxErrors` set to 100 errors.
39
+ * so `maxErrors` defaults to 100 errors.
34
40
  *
35
41
  * Optionally a custom TypeInfo instance may be provided. If not provided, one
36
42
  * will be created from the provided schema.
43
+ * @param schema - Schema to validate against.
44
+ * @param documentAST - Document AST to validate.
45
+ * @param rules - Validation rules to apply.
46
+ * @param options - Validation options, including error limits.
47
+ * @param typeInfo - TypeInfo instance to update during traversal.
48
+ * @returns Validation errors, or an empty array when the document is valid.
49
+ * @example
50
+ * ```ts
51
+ * // Validate with the default specified rules.
52
+ * import { parse } from 'graphql/language';
53
+ * import { buildSchema } from 'graphql/utilities';
54
+ * import { validate } from 'graphql/validation';
55
+ *
56
+ * const schema = buildSchema(`
57
+ * type Query {
58
+ * greeting: String
59
+ * }
60
+ * `);
61
+ *
62
+ * validate(schema, parse('{ greeting }')); // => []
63
+ *
64
+ * const errors = validate(schema, parse('{ missing }'));
65
+ * errors[0].message; // => 'Cannot query field "missing" on type "Query".'
66
+ * ```
67
+ * @example
68
+ * ```ts
69
+ * // This variant uses a custom rule list, TypeInfo, and validation options.
70
+ * import { parse } from 'graphql/language';
71
+ * import { buildSchema, TypeInfo } from 'graphql/utilities';
72
+ * import { FieldsOnCorrectTypeRule, validate } from 'graphql/validation';
73
+ *
74
+ * const schema = buildSchema(`
75
+ * type Query {
76
+ * greeting: String
77
+ * }
78
+ * `);
79
+ * const document = parse('{ missingOne missingTwo }');
80
+ *
81
+ * const errors = validate(
82
+ * schema,
83
+ * document,
84
+ * [FieldsOnCorrectTypeRule],
85
+ * { maxErrors: 1 },
86
+ * new TypeInfo(schema),
87
+ * );
88
+ *
89
+ * errors.length; // => 2
90
+ * errors[1].message; // => 'Too many validation errors, error limit reached. Validation aborted.'
91
+ * ```
37
92
  */
38
-
39
93
  export function validate(
40
94
  schema,
41
95
  documentAST,
42
96
  rules = specifiedRules,
43
97
  options,
44
- /** @deprecated will be removed in 17.0.0 */
98
+ /**
99
+ * Deprecated TypeInfo instance used to track traversal state during
100
+ * validation. Omit this argument so validate creates the TypeInfo instance.
101
+ * @deprecated will be removed in 17.0.0
102
+ */
45
103
  typeInfo = new TypeInfo(schema),
46
104
  ) {
47
105
  var _options$maxErrors;
@@ -93,9 +151,7 @@ export function validate(
93
151
 
94
152
  return errors;
95
153
  }
96
- /**
97
- * @internal
98
- */
154
+ /** @internal */
99
155
 
100
156
  export function validateSDL(
101
157
  documentAST,
package/version.d.ts CHANGED
@@ -1,10 +1,7 @@
1
- /**
2
- * A string containing the version of the GraphQL.js library
3
- */
1
+ /** @category Version */
2
+ /** A string containing the version of the GraphQL.js library */
4
3
  export declare const version: string;
5
- /**
6
- * An object containing the components of the GraphQL.js version string
7
- */
4
+ /** An object containing the components of the GraphQL.js version string */
8
5
  export declare const versionInfo: Readonly<{
9
6
  major: number;
10
7
  minor: number;
package/version.js CHANGED
@@ -4,22 +4,20 @@ Object.defineProperty(exports, '__esModule', {
4
4
  value: true,
5
5
  });
6
6
  exports.versionInfo = exports.version = void 0;
7
+
8
+ /** @category Version */
7
9
  // Note: This file is autogenerated using "resources/gen-version.js" script and
8
10
  // automatically updated by "npm version" command.
9
11
 
10
- /**
11
- * A string containing the version of the GraphQL.js library
12
- */
13
- const version = '16.14.0';
14
- /**
15
- * An object containing the components of the GraphQL.js version string
16
- */
12
+ /** A string containing the version of the GraphQL.js library */
13
+ const version = '16.14.1';
14
+ /** An object containing the components of the GraphQL.js version string */
17
15
 
18
16
  exports.version = version;
19
17
  const versionInfo = Object.freeze({
20
18
  major: 16,
21
19
  minor: 14,
22
- patch: 0,
20
+ patch: 1,
23
21
  preReleaseTag: null,
24
22
  });
25
23
  exports.versionInfo = versionInfo;
package/version.mjs CHANGED
@@ -1,17 +1,14 @@
1
+ /** @category Version */
1
2
  // Note: This file is autogenerated using "resources/gen-version.js" script and
2
3
  // automatically updated by "npm version" command.
3
4
 
4
- /**
5
- * A string containing the version of the GraphQL.js library
6
- */
7
- export const version = '16.14.0';
8
- /**
9
- * An object containing the components of the GraphQL.js version string
10
- */
5
+ /** A string containing the version of the GraphQL.js library */
6
+ export const version = '16.14.1';
7
+ /** An object containing the components of the GraphQL.js version string */
11
8
 
12
9
  export const versionInfo = Object.freeze({
13
10
  major: 16,
14
11
  minor: 14,
15
- patch: 0,
12
+ patch: 1,
16
13
  preReleaseTag: null,
17
14
  });