graphql 15.1.0 → 15.4.0

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 (343) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +10 -12
  3. package/error/GraphQLError.js +5 -5
  4. package/error/GraphQLError.js.flow +5 -5
  5. package/error/GraphQLError.mjs +1 -1
  6. package/error/formatError.js +1 -1
  7. package/error/formatError.js.flow +2 -3
  8. package/error/index.js +4 -4
  9. package/error/index.js.flow +0 -1
  10. package/error/locatedError.d.ts +2 -2
  11. package/error/locatedError.js +10 -5
  12. package/error/locatedError.js.flow +11 -5
  13. package/error/locatedError.mjs +6 -4
  14. package/error/syntaxError.js +1 -1
  15. package/error/syntaxError.js.flow +1 -2
  16. package/execution/execute.d.ts +24 -16
  17. package/execution/execute.js +123 -105
  18. package/execution/execute.js.flow +169 -153
  19. package/execution/execute.mjs +101 -82
  20. package/execution/index.d.ts +2 -0
  21. package/execution/index.js +9 -3
  22. package/execution/index.js.flow +12 -3
  23. package/execution/index.mjs +1 -1
  24. package/execution/values.js +11 -11
  25. package/execution/values.js.flow +10 -14
  26. package/graphql.js +5 -5
  27. package/graphql.js.flow +9 -9
  28. package/index.d.ts +19 -1
  29. package/index.js +27 -9
  30. package/index.js.flow +10 -3
  31. package/index.mjs +4 -3
  32. package/jsutils/ObjMap.js.flow +0 -1
  33. package/jsutils/Path.d.ts +6 -1
  34. package/jsutils/Path.js +3 -2
  35. package/jsutils/Path.js.flow +3 -2
  36. package/jsutils/Path.mjs +3 -2
  37. package/jsutils/PromiseOrValue.js.flow +0 -1
  38. package/jsutils/defineInspect.js +2 -2
  39. package/jsutils/defineInspect.js.flow +0 -1
  40. package/jsutils/devAssert.js.flow +0 -1
  41. package/jsutils/didYouMean.js.flow +0 -1
  42. package/jsutils/identityFunc.js.flow +0 -1
  43. package/jsutils/inspect.js +1 -2
  44. package/jsutils/inspect.js.flow +10 -8
  45. package/jsutils/inspect.mjs +1 -1
  46. package/jsutils/instanceOf.js.flow +2 -3
  47. package/jsutils/invariant.js.flow +0 -1
  48. package/jsutils/isAsyncIterable.js +19 -0
  49. package/jsutils/isAsyncIterable.js.flow +18 -0
  50. package/jsutils/isAsyncIterable.mjs +16 -0
  51. package/jsutils/isCollection.js +1 -1
  52. package/jsutils/isCollection.js.flow +0 -1
  53. package/jsutils/isObjectLike.js.flow +0 -1
  54. package/jsutils/isPromise.js.flow +0 -1
  55. package/jsutils/keyMap.js.flow +1 -2
  56. package/jsutils/keyValMap.js.flow +1 -2
  57. package/jsutils/mapValue.js +1 -1
  58. package/jsutils/mapValue.js.flow +1 -2
  59. package/jsutils/memoize3.js +2 -5
  60. package/jsutils/memoize3.js.flow +2 -5
  61. package/jsutils/memoize3.mjs +2 -5
  62. package/jsutils/nodejsCustomInspectSymbol.js.flow +0 -1
  63. package/jsutils/printPathArray.js.flow +0 -1
  64. package/jsutils/promiseForObject.js.flow +1 -2
  65. package/jsutils/promiseReduce.js +1 -1
  66. package/jsutils/promiseReduce.js.flow +1 -1
  67. package/jsutils/promiseReduce.mjs +1 -1
  68. package/jsutils/suggestionList.js.flow +1 -2
  69. package/jsutils/toObjMap.js +1 -1
  70. package/jsutils/toObjMap.js.flow +5 -6
  71. package/language/ast.js +1 -1
  72. package/language/ast.js.flow +2 -3
  73. package/language/blockString.d.ts +1 -1
  74. package/language/blockString.js +53 -32
  75. package/language/blockString.js.flow +49 -34
  76. package/language/blockString.mjs +54 -33
  77. package/language/directiveLocation.js.flow +0 -1
  78. package/language/experimentalOnlineParser/grammar.d.ts +1006 -0
  79. package/language/experimentalOnlineParser/grammar.js +987 -0
  80. package/language/experimentalOnlineParser/grammar.js.flow +1000 -0
  81. package/language/experimentalOnlineParser/grammar.mjs +980 -0
  82. package/language/experimentalOnlineParser/index.d.ts +6 -0
  83. package/language/experimentalOnlineParser/index.js +31 -0
  84. package/language/experimentalOnlineParser/index.js.flow +7 -0
  85. package/language/experimentalOnlineParser/index.mjs +1 -0
  86. package/language/experimentalOnlineParser/onlineParser.d.ts +125 -0
  87. package/language/experimentalOnlineParser/onlineParser.js +604 -0
  88. package/language/experimentalOnlineParser/onlineParser.js.flow +723 -0
  89. package/language/experimentalOnlineParser/onlineParser.mjs +587 -0
  90. package/language/index.js +12 -12
  91. package/language/index.js.flow +0 -1
  92. package/language/kinds.js.flow +0 -1
  93. package/language/lexer.js +242 -183
  94. package/language/lexer.js.flow +191 -186
  95. package/language/lexer.mjs +239 -180
  96. package/language/location.js.flow +1 -2
  97. package/language/parser.js +73 -68
  98. package/language/parser.js.flow +112 -106
  99. package/language/parser.mjs +66 -62
  100. package/language/predicates.js +1 -1
  101. package/language/predicates.js.flow +1 -2
  102. package/language/printLocation.js +1 -1
  103. package/language/printLocation.js.flow +4 -4
  104. package/language/printer.js +20 -13
  105. package/language/printer.js.flow +27 -25
  106. package/language/printer.mjs +18 -11
  107. package/language/source.d.ts +12 -6
  108. package/language/source.js +25 -9
  109. package/language/source.js.flow +25 -8
  110. package/language/source.mjs +19 -7
  111. package/language/tokenKind.js.flow +0 -1
  112. package/language/visitor.d.ts +3 -3
  113. package/language/visitor.js +5 -5
  114. package/language/visitor.js.flow +5 -5
  115. package/language/visitor.mjs +3 -3
  116. package/package.json +1 -1
  117. package/polyfills/arrayFrom.js +2 -2
  118. package/polyfills/arrayFrom.js.flow +1 -2
  119. package/polyfills/arrayFrom.mjs +1 -1
  120. package/polyfills/find.js +1 -1
  121. package/polyfills/find.js.flow +1 -2
  122. package/polyfills/find.mjs +1 -1
  123. package/polyfills/isFinite.js +1 -1
  124. package/polyfills/isFinite.js.flow +1 -2
  125. package/polyfills/isFinite.mjs +1 -1
  126. package/polyfills/isInteger.js +1 -1
  127. package/polyfills/isInteger.js.flow +1 -2
  128. package/polyfills/isInteger.mjs +1 -1
  129. package/polyfills/objectEntries.js +1 -1
  130. package/polyfills/objectEntries.js.flow +2 -3
  131. package/polyfills/objectEntries.mjs +1 -1
  132. package/polyfills/objectValues.js +1 -1
  133. package/polyfills/objectValues.js.flow +2 -3
  134. package/polyfills/objectValues.mjs +1 -1
  135. package/polyfills/symbols.js +3 -5
  136. package/polyfills/symbols.js.flow +9 -6
  137. package/polyfills/symbols.mjs +3 -5
  138. package/subscription/index.js +1 -1
  139. package/subscription/index.js.flow +0 -1
  140. package/subscription/mapAsyncIterator.js +2 -2
  141. package/subscription/mapAsyncIterator.js.flow +9 -10
  142. package/subscription/mapAsyncIterator.mjs +1 -1
  143. package/subscription/subscribe.js +61 -73
  144. package/subscription/subscribe.js.flow +74 -88
  145. package/subscription/subscribe.mjs +53 -65
  146. package/type/definition.d.ts +181 -31
  147. package/type/definition.js +37 -32
  148. package/type/definition.js.flow +66 -51
  149. package/type/definition.mjs +20 -18
  150. package/type/directives.d.ts +17 -3
  151. package/type/directives.js +17 -16
  152. package/type/directives.js.flow +20 -21
  153. package/type/directives.mjs +6 -5
  154. package/type/index.d.ts +12 -0
  155. package/type/index.js +6 -6
  156. package/type/index.js.flow +0 -1
  157. package/type/introspection.js +86 -68
  158. package/type/introspection.js.flow +85 -54
  159. package/type/introspection.mjs +79 -61
  160. package/type/scalars.js +9 -9
  161. package/type/scalars.js.flow +3 -3
  162. package/type/scalars.mjs +1 -1
  163. package/type/schema.d.ts +17 -4
  164. package/type/schema.js +13 -13
  165. package/type/schema.js.flow +18 -16
  166. package/type/schema.mjs +1 -1
  167. package/type/validate.js +52 -19
  168. package/type/validate.js.flow +67 -18
  169. package/type/validate.mjs +44 -10
  170. package/utilities/TypeInfo.js +7 -7
  171. package/utilities/TypeInfo.js.flow +16 -18
  172. package/utilities/TypeInfo.mjs +1 -1
  173. package/utilities/assertValidName.js +2 -2
  174. package/utilities/assertValidName.js.flow +0 -1
  175. package/utilities/astFromValue.js +10 -10
  176. package/utilities/astFromValue.js.flow +2 -3
  177. package/utilities/buildASTSchema.js +17 -27
  178. package/utilities/buildASTSchema.js.flow +11 -28
  179. package/utilities/buildASTSchema.mjs +11 -21
  180. package/utilities/buildClientSchema.js +14 -14
  181. package/utilities/buildClientSchema.js.flow +41 -29
  182. package/utilities/buildClientSchema.mjs +5 -5
  183. package/utilities/coerceInputValue.js +14 -14
  184. package/utilities/coerceInputValue.js.flow +7 -6
  185. package/utilities/coerceInputValue.mjs +2 -2
  186. package/utilities/concatAST.js +9 -8
  187. package/utilities/concatAST.js.flow +9 -9
  188. package/utilities/concatAST.mjs +9 -6
  189. package/utilities/extendSchema.js +26 -19
  190. package/utilities/extendSchema.js.flow +58 -45
  191. package/utilities/extendSchema.mjs +9 -2
  192. package/utilities/findBreakingChanges.js +9 -9
  193. package/utilities/findBreakingChanges.js.flow +12 -11
  194. package/utilities/findDeprecatedUsages.d.ts +9 -1
  195. package/utilities/findDeprecatedUsages.js +11 -27
  196. package/utilities/findDeprecatedUsages.js.flow +15 -44
  197. package/utilities/findDeprecatedUsages.mjs +11 -25
  198. package/utilities/getIntrospectionQuery.js.flow +2 -3
  199. package/utilities/getOperationAST.js +1 -1
  200. package/utilities/getOperationAST.js.flow +1 -5
  201. package/utilities/getOperationAST.mjs +1 -1
  202. package/utilities/getOperationRootType.js +1 -1
  203. package/utilities/getOperationRootType.js.flow +5 -6
  204. package/utilities/index.d.ts +4 -1
  205. package/utilities/index.js +22 -22
  206. package/utilities/index.js.flow +1 -2
  207. package/utilities/index.mjs +1 -1
  208. package/utilities/introspectionFromSchema.js +6 -8
  209. package/utilities/introspectionFromSchema.js.flow +10 -10
  210. package/utilities/introspectionFromSchema.mjs +3 -4
  211. package/utilities/lexicographicSortSchema.js +10 -8
  212. package/utilities/lexicographicSortSchema.js.flow +19 -12
  213. package/utilities/lexicographicSortSchema.mjs +3 -1
  214. package/utilities/printSchema.js +15 -16
  215. package/utilities/printSchema.js.flow +34 -25
  216. package/utilities/printSchema.mjs +6 -7
  217. package/utilities/separateOperations.js +2 -2
  218. package/utilities/separateOperations.js.flow +2 -6
  219. package/utilities/separateOperations.mjs +1 -1
  220. package/utilities/stripIgnoredCharacters.js +6 -16
  221. package/utilities/stripIgnoredCharacters.js.flow +4 -13
  222. package/utilities/stripIgnoredCharacters.mjs +3 -10
  223. package/utilities/typeComparators.js +1 -1
  224. package/utilities/typeComparators.js.flow +2 -4
  225. package/utilities/typeFromAST.js +6 -6
  226. package/utilities/typeFromAST.js.flow +11 -14
  227. package/utilities/typeFromAST.mjs +2 -2
  228. package/utilities/typedQueryDocumentNode.d.ts +20 -0
  229. package/utilities/valueFromAST.js +6 -6
  230. package/utilities/valueFromAST.js.flow +7 -5
  231. package/utilities/valueFromASTUntyped.js +4 -4
  232. package/utilities/valueFromASTUntyped.js.flow +2 -3
  233. package/validation/ValidationContext.d.ts +3 -0
  234. package/validation/ValidationContext.js +7 -3
  235. package/validation/ValidationContext.js.flow +28 -22
  236. package/validation/ValidationContext.mjs +4 -0
  237. package/validation/index.d.ts +4 -0
  238. package/validation/index.js +52 -36
  239. package/validation/index.js.flow +4 -1
  240. package/validation/index.mjs +4 -1
  241. package/validation/rules/ExecutableDefinitions.js +1 -1
  242. package/validation/rules/ExecutableDefinitions.js.flow +0 -1
  243. package/validation/rules/ExecutableDefinitionsRule.js +3 -3
  244. package/validation/rules/ExecutableDefinitionsRule.js.flow +2 -3
  245. package/validation/rules/FieldsOnCorrectTypeRule.js +5 -5
  246. package/validation/rules/FieldsOnCorrectTypeRule.js.flow +9 -8
  247. package/validation/rules/FragmentsOnCompositeTypesRule.js +4 -4
  248. package/validation/rules/FragmentsOnCompositeTypesRule.js.flow +2 -3
  249. package/validation/rules/KnownArgumentNamesRule.js +5 -5
  250. package/validation/rules/KnownArgumentNamesRule.js.flow +5 -5
  251. package/validation/rules/KnownDirectivesRule.js +6 -6
  252. package/validation/rules/KnownDirectivesRule.js.flow +10 -11
  253. package/validation/rules/KnownFragmentNamesRule.js +1 -1
  254. package/validation/rules/KnownFragmentNamesRule.js.flow +3 -3
  255. package/validation/rules/KnownTypeNamesRule.js +12 -10
  256. package/validation/rules/KnownTypeNamesRule.js.flow +14 -11
  257. package/validation/rules/KnownTypeNamesRule.mjs +6 -5
  258. package/validation/rules/LoneAnonymousOperationRule.js +2 -2
  259. package/validation/rules/LoneAnonymousOperationRule.js.flow +2 -3
  260. package/validation/rules/LoneSchemaDefinition.js +1 -1
  261. package/validation/rules/LoneSchemaDefinition.js.flow +0 -1
  262. package/validation/rules/LoneSchemaDefinitionRule.js +1 -1
  263. package/validation/rules/LoneSchemaDefinitionRule.js.flow +2 -3
  264. package/validation/rules/NoFragmentCyclesRule.js +1 -1
  265. package/validation/rules/NoFragmentCyclesRule.js.flow +4 -5
  266. package/validation/rules/NoUndefinedVariablesRule.js +1 -1
  267. package/validation/rules/NoUndefinedVariablesRule.js.flow +3 -3
  268. package/validation/rules/NoUnusedFragmentsRule.js +1 -1
  269. package/validation/rules/NoUnusedFragmentsRule.js.flow +3 -3
  270. package/validation/rules/NoUnusedVariablesRule.js +1 -1
  271. package/validation/rules/NoUnusedVariablesRule.js.flow +3 -3
  272. package/validation/rules/OverlappingFieldsCanBeMergedRule.js +20 -20
  273. package/validation/rules/OverlappingFieldsCanBeMergedRule.js.flow +29 -27
  274. package/validation/rules/OverlappingFieldsCanBeMergedRule.mjs +12 -12
  275. package/validation/rules/PossibleFragmentSpreadsRule.js +5 -5
  276. package/validation/rules/PossibleFragmentSpreadsRule.js.flow +7 -4
  277. package/validation/rules/PossibleTypeExtensions.js +1 -1
  278. package/validation/rules/PossibleTypeExtensions.js.flow +0 -1
  279. package/validation/rules/PossibleTypeExtensionsRule.js +8 -8
  280. package/validation/rules/PossibleTypeExtensionsRule.js.flow +8 -6
  281. package/validation/rules/ProvidedRequiredArgumentsRule.js +7 -7
  282. package/validation/rules/ProvidedRequiredArgumentsRule.js.flow +7 -6
  283. package/validation/rules/ScalarLeafsRule.js +3 -3
  284. package/validation/rules/ScalarLeafsRule.js.flow +3 -4
  285. package/validation/rules/SingleFieldSubscriptionsRule.js +1 -1
  286. package/validation/rules/SingleFieldSubscriptionsRule.js.flow +3 -4
  287. package/validation/rules/UniqueArgumentNamesRule.js +1 -1
  288. package/validation/rules/UniqueArgumentNamesRule.js.flow +2 -3
  289. package/validation/rules/UniqueDirectiveNames.js +1 -1
  290. package/validation/rules/UniqueDirectiveNames.js.flow +0 -1
  291. package/validation/rules/UniqueDirectiveNamesRule.js +1 -1
  292. package/validation/rules/UniqueDirectiveNamesRule.js.flow +2 -3
  293. package/validation/rules/UniqueDirectivesPerLocationRule.js +4 -4
  294. package/validation/rules/UniqueDirectivesPerLocationRule.js.flow +4 -5
  295. package/validation/rules/UniqueEnumValueNames.js +1 -1
  296. package/validation/rules/UniqueEnumValueNames.js.flow +0 -1
  297. package/validation/rules/UniqueEnumValueNamesRule.js +2 -2
  298. package/validation/rules/UniqueEnumValueNamesRule.js.flow +11 -4
  299. package/validation/rules/UniqueFieldDefinitionNames.js +1 -1
  300. package/validation/rules/UniqueFieldDefinitionNames.js.flow +0 -1
  301. package/validation/rules/UniqueFieldDefinitionNamesRule.js +3 -3
  302. package/validation/rules/UniqueFieldDefinitionNamesRule.js.flow +17 -6
  303. package/validation/rules/UniqueFieldDefinitionNamesRule.mjs +1 -1
  304. package/validation/rules/UniqueFragmentNamesRule.js +1 -1
  305. package/validation/rules/UniqueFragmentNamesRule.js.flow +3 -3
  306. package/validation/rules/UniqueInputFieldNamesRule.js +1 -1
  307. package/validation/rules/UniqueInputFieldNamesRule.js.flow +3 -3
  308. package/validation/rules/UniqueOperationNamesRule.js +1 -1
  309. package/validation/rules/UniqueOperationNamesRule.js.flow +3 -3
  310. package/validation/rules/UniqueOperationTypes.js +1 -1
  311. package/validation/rules/UniqueOperationTypes.js.flow +0 -1
  312. package/validation/rules/UniqueOperationTypesRule.js +1 -1
  313. package/validation/rules/UniqueOperationTypesRule.js.flow +10 -4
  314. package/validation/rules/UniqueTypeNames.js +1 -1
  315. package/validation/rules/UniqueTypeNames.js.flow +0 -1
  316. package/validation/rules/UniqueTypeNamesRule.js +1 -1
  317. package/validation/rules/UniqueTypeNamesRule.js.flow +3 -4
  318. package/validation/rules/UniqueVariableNamesRule.js +1 -1
  319. package/validation/rules/UniqueVariableNamesRule.js.flow +3 -4
  320. package/validation/rules/ValuesOfCorrectTypeRule.js +8 -8
  321. package/validation/rules/ValuesOfCorrectTypeRule.js.flow +3 -4
  322. package/validation/rules/VariablesAreInputTypesRule.js +4 -4
  323. package/validation/rules/VariablesAreInputTypesRule.js.flow +3 -4
  324. package/validation/rules/VariablesInAllowedPositionRule.js +6 -6
  325. package/validation/rules/VariablesInAllowedPositionRule.js.flow +6 -6
  326. package/validation/rules/custom/NoDeprecatedCustomRule.d.ts +14 -0
  327. package/validation/rules/custom/NoDeprecatedCustomRule.js +79 -0
  328. package/validation/rules/custom/NoDeprecatedCustomRule.js.flow +94 -0
  329. package/validation/rules/custom/NoDeprecatedCustomRule.mjs +68 -0
  330. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts +16 -0
  331. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js +34 -0
  332. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.js.flow +38 -0
  333. package/validation/rules/custom/NoSchemaIntrospectionCustomRule.mjs +25 -0
  334. package/validation/specifiedRules.js +33 -33
  335. package/validation/specifiedRules.js.flow +0 -1
  336. package/validation/validate.js +7 -7
  337. package/validation/validate.js.flow +4 -9
  338. package/version.js +2 -2
  339. package/version.js.flow +2 -3
  340. package/version.mjs +2 -2
  341. package/polyfills/flatMap.js +0 -30
  342. package/polyfills/flatMap.js.flow +0 -28
  343. package/polyfills/flatMap.mjs +0 -23
@@ -1,28 +1,30 @@
1
1
  // @flow strict
2
-
3
- import { type ObjMap } from '../jsutils/ObjMap';
4
-
5
- import { type GraphQLError } from '../error/GraphQLError';
6
-
7
- import { Kind } from '../language/kinds';
8
- import { type ASTVisitor, visit } from '../language/visitor';
9
- import {
10
- type DocumentNode,
11
- type OperationDefinitionNode,
12
- type VariableNode,
13
- type SelectionSetNode,
14
- type FragmentSpreadNode,
15
- type FragmentDefinitionNode,
2
+ import type { ObjMap } from '../jsutils/ObjMap';
3
+
4
+ import type { GraphQLError } from '../error/GraphQLError';
5
+
6
+ import type { ASTVisitor } from '../language/visitor';
7
+ import type {
8
+ DocumentNode,
9
+ OperationDefinitionNode,
10
+ VariableNode,
11
+ SelectionSetNode,
12
+ FragmentSpreadNode,
13
+ FragmentDefinitionNode,
16
14
  } from '../language/ast';
17
15
 
18
- import { type GraphQLSchema } from '../type/schema';
19
- import { type GraphQLDirective } from '../type/directives';
20
- import {
21
- type GraphQLInputType,
22
- type GraphQLOutputType,
23
- type GraphQLCompositeType,
24
- type GraphQLField,
25
- type GraphQLArgument,
16
+ import { Kind } from '../language/kinds';
17
+ import { visit } from '../language/visitor';
18
+
19
+ import type { GraphQLSchema } from '../type/schema';
20
+ import type { GraphQLDirective } from '../type/directives';
21
+ import type {
22
+ GraphQLInputType,
23
+ GraphQLOutputType,
24
+ GraphQLCompositeType,
25
+ GraphQLField,
26
+ GraphQLArgument,
27
+ GraphQLEnumValue,
26
28
  } from '../type/definition';
27
29
 
28
30
  import { TypeInfo, visitWithTypeInfo } from '../utilities/TypeInfo';
@@ -243,6 +245,10 @@ export class ValidationContext extends ASTValidationContext {
243
245
  getArgument(): ?GraphQLArgument {
244
246
  return this._typeInfo.getArgument();
245
247
  }
248
+
249
+ getEnumValue(): ?GraphQLEnumValue {
250
+ return this._typeInfo.getEnumValue();
251
+ }
246
252
  }
247
253
 
248
254
  export type ValidationRule = (ValidationContext) => ASTVisitor;
@@ -216,5 +216,9 @@ export var ValidationContext = /*#__PURE__*/function (_ASTValidationContext2) {
216
216
  return this._typeInfo.getArgument();
217
217
  };
218
218
 
219
+ _proto3.getEnumValue = function getEnumValue() {
220
+ return this._typeInfo.getEnumValue();
221
+ };
222
+
219
223
  return ValidationContext;
220
224
  }(ASTValidationContext);
@@ -90,3 +90,7 @@ export { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule';
90
90
  export { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule';
91
91
  export { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule';
92
92
  export { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule';
93
+
94
+ // Optional rules not defined by the GraphQL Specification
95
+ export { NoDeprecatedCustomRule } from './rules/custom/NoDeprecatedCustomRule';
96
+ export { NoSchemaIntrospectionCustomRule } from './rules/custom/NoSchemaIntrospectionCustomRule';
@@ -219,75 +219,91 @@ Object.defineProperty(exports, "PossibleTypeExtensionsRule", {
219
219
  return _PossibleTypeExtensionsRule.PossibleTypeExtensionsRule;
220
220
  }
221
221
  });
222
+ Object.defineProperty(exports, "NoDeprecatedCustomRule", {
223
+ enumerable: true,
224
+ get: function get() {
225
+ return _NoDeprecatedCustomRule.NoDeprecatedCustomRule;
226
+ }
227
+ });
228
+ Object.defineProperty(exports, "NoSchemaIntrospectionCustomRule", {
229
+ enumerable: true,
230
+ get: function get() {
231
+ return _NoSchemaIntrospectionCustomRule.NoSchemaIntrospectionCustomRule;
232
+ }
233
+ });
234
+
235
+ var _validate = require("./validate.js");
236
+
237
+ var _ValidationContext = require("./ValidationContext.js");
222
238
 
223
- var _validate = require("./validate");
239
+ var _specifiedRules = require("./specifiedRules.js");
224
240
 
225
- var _ValidationContext = require("./ValidationContext");
241
+ var _ExecutableDefinitionsRule = require("./rules/ExecutableDefinitionsRule.js");
226
242
 
227
- var _specifiedRules = require("./specifiedRules");
243
+ var _FieldsOnCorrectTypeRule = require("./rules/FieldsOnCorrectTypeRule.js");
228
244
 
229
- var _ExecutableDefinitionsRule = require("./rules/ExecutableDefinitionsRule");
245
+ var _FragmentsOnCompositeTypesRule = require("./rules/FragmentsOnCompositeTypesRule.js");
230
246
 
231
- var _FieldsOnCorrectTypeRule = require("./rules/FieldsOnCorrectTypeRule");
247
+ var _KnownArgumentNamesRule = require("./rules/KnownArgumentNamesRule.js");
232
248
 
233
- var _FragmentsOnCompositeTypesRule = require("./rules/FragmentsOnCompositeTypesRule");
249
+ var _KnownDirectivesRule = require("./rules/KnownDirectivesRule.js");
234
250
 
235
- var _KnownArgumentNamesRule = require("./rules/KnownArgumentNamesRule");
251
+ var _KnownFragmentNamesRule = require("./rules/KnownFragmentNamesRule.js");
236
252
 
237
- var _KnownDirectivesRule = require("./rules/KnownDirectivesRule");
253
+ var _KnownTypeNamesRule = require("./rules/KnownTypeNamesRule.js");
238
254
 
239
- var _KnownFragmentNamesRule = require("./rules/KnownFragmentNamesRule");
255
+ var _LoneAnonymousOperationRule = require("./rules/LoneAnonymousOperationRule.js");
240
256
 
241
- var _KnownTypeNamesRule = require("./rules/KnownTypeNamesRule");
257
+ var _NoFragmentCyclesRule = require("./rules/NoFragmentCyclesRule.js");
242
258
 
243
- var _LoneAnonymousOperationRule = require("./rules/LoneAnonymousOperationRule");
259
+ var _NoUndefinedVariablesRule = require("./rules/NoUndefinedVariablesRule.js");
244
260
 
245
- var _NoFragmentCyclesRule = require("./rules/NoFragmentCyclesRule");
261
+ var _NoUnusedFragmentsRule = require("./rules/NoUnusedFragmentsRule.js");
246
262
 
247
- var _NoUndefinedVariablesRule = require("./rules/NoUndefinedVariablesRule");
263
+ var _NoUnusedVariablesRule = require("./rules/NoUnusedVariablesRule.js");
248
264
 
249
- var _NoUnusedFragmentsRule = require("./rules/NoUnusedFragmentsRule");
265
+ var _OverlappingFieldsCanBeMergedRule = require("./rules/OverlappingFieldsCanBeMergedRule.js");
250
266
 
251
- var _NoUnusedVariablesRule = require("./rules/NoUnusedVariablesRule");
267
+ var _PossibleFragmentSpreadsRule = require("./rules/PossibleFragmentSpreadsRule.js");
252
268
 
253
- var _OverlappingFieldsCanBeMergedRule = require("./rules/OverlappingFieldsCanBeMergedRule");
269
+ var _ProvidedRequiredArgumentsRule = require("./rules/ProvidedRequiredArgumentsRule.js");
254
270
 
255
- var _PossibleFragmentSpreadsRule = require("./rules/PossibleFragmentSpreadsRule");
271
+ var _ScalarLeafsRule = require("./rules/ScalarLeafsRule.js");
256
272
 
257
- var _ProvidedRequiredArgumentsRule = require("./rules/ProvidedRequiredArgumentsRule");
273
+ var _SingleFieldSubscriptionsRule = require("./rules/SingleFieldSubscriptionsRule.js");
258
274
 
259
- var _ScalarLeafsRule = require("./rules/ScalarLeafsRule");
275
+ var _UniqueArgumentNamesRule = require("./rules/UniqueArgumentNamesRule.js");
260
276
 
261
- var _SingleFieldSubscriptionsRule = require("./rules/SingleFieldSubscriptionsRule");
277
+ var _UniqueDirectivesPerLocationRule = require("./rules/UniqueDirectivesPerLocationRule.js");
262
278
 
263
- var _UniqueArgumentNamesRule = require("./rules/UniqueArgumentNamesRule");
279
+ var _UniqueFragmentNamesRule = require("./rules/UniqueFragmentNamesRule.js");
264
280
 
265
- var _UniqueDirectivesPerLocationRule = require("./rules/UniqueDirectivesPerLocationRule");
281
+ var _UniqueInputFieldNamesRule = require("./rules/UniqueInputFieldNamesRule.js");
266
282
 
267
- var _UniqueFragmentNamesRule = require("./rules/UniqueFragmentNamesRule");
283
+ var _UniqueOperationNamesRule = require("./rules/UniqueOperationNamesRule.js");
268
284
 
269
- var _UniqueInputFieldNamesRule = require("./rules/UniqueInputFieldNamesRule");
285
+ var _UniqueVariableNamesRule = require("./rules/UniqueVariableNamesRule.js");
270
286
 
271
- var _UniqueOperationNamesRule = require("./rules/UniqueOperationNamesRule");
287
+ var _ValuesOfCorrectTypeRule = require("./rules/ValuesOfCorrectTypeRule.js");
272
288
 
273
- var _UniqueVariableNamesRule = require("./rules/UniqueVariableNamesRule");
289
+ var _VariablesAreInputTypesRule = require("./rules/VariablesAreInputTypesRule.js");
274
290
 
275
- var _ValuesOfCorrectTypeRule = require("./rules/ValuesOfCorrectTypeRule");
291
+ var _VariablesInAllowedPositionRule = require("./rules/VariablesInAllowedPositionRule.js");
276
292
 
277
- var _VariablesAreInputTypesRule = require("./rules/VariablesAreInputTypesRule");
293
+ var _LoneSchemaDefinitionRule = require("./rules/LoneSchemaDefinitionRule.js");
278
294
 
279
- var _VariablesInAllowedPositionRule = require("./rules/VariablesInAllowedPositionRule");
295
+ var _UniqueOperationTypesRule = require("./rules/UniqueOperationTypesRule.js");
280
296
 
281
- var _LoneSchemaDefinitionRule = require("./rules/LoneSchemaDefinitionRule");
297
+ var _UniqueTypeNamesRule = require("./rules/UniqueTypeNamesRule.js");
282
298
 
283
- var _UniqueOperationTypesRule = require("./rules/UniqueOperationTypesRule");
299
+ var _UniqueEnumValueNamesRule = require("./rules/UniqueEnumValueNamesRule.js");
284
300
 
285
- var _UniqueTypeNamesRule = require("./rules/UniqueTypeNamesRule");
301
+ var _UniqueFieldDefinitionNamesRule = require("./rules/UniqueFieldDefinitionNamesRule.js");
286
302
 
287
- var _UniqueEnumValueNamesRule = require("./rules/UniqueEnumValueNamesRule");
303
+ var _UniqueDirectiveNamesRule = require("./rules/UniqueDirectiveNamesRule.js");
288
304
 
289
- var _UniqueFieldDefinitionNamesRule = require("./rules/UniqueFieldDefinitionNamesRule");
305
+ var _PossibleTypeExtensionsRule = require("./rules/PossibleTypeExtensionsRule.js");
290
306
 
291
- var _UniqueDirectiveNamesRule = require("./rules/UniqueDirectiveNamesRule");
307
+ var _NoDeprecatedCustomRule = require("./rules/custom/NoDeprecatedCustomRule.js");
292
308
 
293
- var _PossibleTypeExtensionsRule = require("./rules/PossibleTypeExtensionsRule");
309
+ var _NoSchemaIntrospectionCustomRule = require("./rules/custom/NoSchemaIntrospectionCustomRule.js");
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  export { validate } from './validate';
4
3
 
5
4
  export { ValidationContext } from './ValidationContext';
@@ -94,3 +93,7 @@ export { UniqueEnumValueNamesRule } from './rules/UniqueEnumValueNamesRule';
94
93
  export { UniqueFieldDefinitionNamesRule } from './rules/UniqueFieldDefinitionNamesRule';
95
94
  export { UniqueDirectiveNamesRule } from './rules/UniqueDirectiveNamesRule';
96
95
  export { PossibleTypeExtensionsRule } from './rules/PossibleTypeExtensionsRule';
96
+
97
+ // Optional rules not defined by the GraphQL Specification
98
+ export { NoDeprecatedCustomRule } from './rules/custom/NoDeprecatedCustomRule';
99
+ export { NoSchemaIntrospectionCustomRule } from './rules/custom/NoSchemaIntrospectionCustomRule';
@@ -61,4 +61,7 @@ export { UniqueTypeNamesRule } from "./rules/UniqueTypeNamesRule.mjs";
61
61
  export { UniqueEnumValueNamesRule } from "./rules/UniqueEnumValueNamesRule.mjs";
62
62
  export { UniqueFieldDefinitionNamesRule } from "./rules/UniqueFieldDefinitionNamesRule.mjs";
63
63
  export { UniqueDirectiveNamesRule } from "./rules/UniqueDirectiveNamesRule.mjs";
64
- export { PossibleTypeExtensionsRule } from "./rules/PossibleTypeExtensionsRule.mjs";
64
+ export { PossibleTypeExtensionsRule } from "./rules/PossibleTypeExtensionsRule.mjs"; // Optional rules not defined by the GraphQL Specification
65
+
66
+ export { NoDeprecatedCustomRule } from "./rules/custom/NoDeprecatedCustomRule.mjs";
67
+ export { NoSchemaIntrospectionCustomRule } from "./rules/custom/NoSchemaIntrospectionCustomRule.mjs";
@@ -10,4 +10,4 @@ Object.defineProperty(exports, "ExecutableDefinitions", {
10
10
  }
11
11
  });
12
12
 
13
- var _ExecutableDefinitionsRule = require("./ExecutableDefinitionsRule");
13
+ var _ExecutableDefinitionsRule = require("./ExecutableDefinitionsRule.js");
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  /**
4
3
  * @deprecated and will be removed in v16
5
4
  * Please use either:
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.ExecutableDefinitionsRule = ExecutableDefinitionsRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
- var _kinds = require("../../language/kinds");
10
+ var _kinds = require("../../language/kinds.js");
11
11
 
12
- var _predicates = require("../../language/predicates");
12
+ var _predicates = require("../../language/predicates.js");
13
13
 
14
14
  /**
15
15
  * Executable definitions
@@ -1,12 +1,11 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
4
+ import type { ASTVisitor } from '../../language/visitor';
5
5
  import { Kind } from '../../language/kinds';
6
- import { type ASTVisitor } from '../../language/visitor';
7
6
  import { isExecutableDefinitionNode } from '../../language/predicates';
8
7
 
9
- import { type ASTValidationContext } from '../ValidationContext';
8
+ import type { ASTValidationContext } from '../ValidationContext';
10
9
 
11
10
  /**
12
11
  * Executable definitions
@@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FieldsOnCorrectTypeRule = FieldsOnCorrectTypeRule;
7
7
 
8
- var _arrayFrom = _interopRequireDefault(require("../../polyfills/arrayFrom"));
8
+ var _arrayFrom = _interopRequireDefault(require("../../polyfills/arrayFrom.js"));
9
9
 
10
- var _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean"));
10
+ var _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean.js"));
11
11
 
12
- var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList"));
12
+ var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList.js"));
13
13
 
14
- var _GraphQLError = require("../../error/GraphQLError");
14
+ var _GraphQLError = require("../../error/GraphQLError.js");
15
15
 
16
- var _definition = require("../../type/definition");
16
+ var _definition = require("../../type/definition.js");
17
17
 
18
18
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
@@ -1,5 +1,4 @@
1
1
  // @flow strict
2
-
3
2
  import arrayFrom from '../../polyfills/arrayFrom';
4
3
 
5
4
  import didYouMean from '../../jsutils/didYouMean';
@@ -7,20 +6,22 @@ import suggestionList from '../../jsutils/suggestionList';
7
6
 
8
7
  import { GraphQLError } from '../../error/GraphQLError';
9
8
 
10
- import { type FieldNode } from '../../language/ast';
11
- import { type ASTVisitor } from '../../language/visitor';
9
+ import type { FieldNode } from '../../language/ast';
10
+ import type { ASTVisitor } from '../../language/visitor';
12
11
 
13
- import { type GraphQLSchema } from '../../type/schema';
12
+ import type { GraphQLSchema } from '../../type/schema';
13
+ import type {
14
+ GraphQLOutputType,
15
+ GraphQLObjectType,
16
+ GraphQLInterfaceType,
17
+ } from '../../type/definition';
14
18
  import {
15
- type GraphQLOutputType,
16
- type GraphQLObjectType,
17
- type GraphQLInterfaceType,
18
19
  isObjectType,
19
20
  isInterfaceType,
20
21
  isAbstractType,
21
22
  } from '../../type/definition';
22
23
 
23
- import { type ValidationContext } from '../ValidationContext';
24
+ import type { ValidationContext } from '../ValidationContext';
24
25
 
25
26
  /**
26
27
  * Fields on correct type
@@ -5,13 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.FragmentsOnCompositeTypesRule = FragmentsOnCompositeTypesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
- var _printer = require("../../language/printer");
10
+ var _printer = require("../../language/printer.js");
11
11
 
12
- var _definition = require("../../type/definition");
12
+ var _definition = require("../../type/definition.js");
13
13
 
14
- var _typeFromAST = require("../../utilities/typeFromAST");
14
+ var _typeFromAST = require("../../utilities/typeFromAST.js");
15
15
 
16
16
  /**
17
17
  * Fragments on composite type
@@ -1,15 +1,14 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
3
 
4
+ import type { ASTVisitor } from '../../language/visitor';
5
5
  import { print } from '../../language/printer';
6
- import { type ASTVisitor } from '../../language/visitor';
7
6
 
8
7
  import { isCompositeType } from '../../type/definition';
9
8
 
10
9
  import { typeFromAST } from '../../utilities/typeFromAST';
11
10
 
12
- import { type ValidationContext } from '../ValidationContext';
11
+ import type { ValidationContext } from '../ValidationContext';
13
12
 
14
13
  /**
15
14
  * Fragments on composite type
@@ -6,15 +6,15 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.KnownArgumentNamesRule = KnownArgumentNamesRule;
7
7
  exports.KnownArgumentNamesOnDirectivesRule = KnownArgumentNamesOnDirectivesRule;
8
8
 
9
- var _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean"));
9
+ var _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean.js"));
10
10
 
11
- var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList"));
11
+ var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList.js"));
12
12
 
13
- var _GraphQLError = require("../../error/GraphQLError");
13
+ var _GraphQLError = require("../../error/GraphQLError.js");
14
14
 
15
- var _kinds = require("../../language/kinds");
15
+ var _kinds = require("../../language/kinds.js");
16
16
 
17
- var _directives = require("../../type/directives");
17
+ var _directives = require("../../type/directives.js");
18
18
 
19
19
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
20
 
@@ -1,18 +1,17 @@
1
1
  // @flow strict
2
-
3
2
  import didYouMean from '../../jsutils/didYouMean';
4
3
  import suggestionList from '../../jsutils/suggestionList';
5
4
 
6
5
  import { GraphQLError } from '../../error/GraphQLError';
7
6
 
7
+ import type { ASTVisitor } from '../../language/visitor';
8
8
  import { Kind } from '../../language/kinds';
9
- import { type ASTVisitor } from '../../language/visitor';
10
9
 
11
10
  import { specifiedDirectives } from '../../type/directives';
12
11
 
13
- import {
14
- type ValidationContext,
15
- type SDLValidationContext,
12
+ import type {
13
+ ValidationContext,
14
+ SDLValidationContext,
16
15
  } from '../ValidationContext';
17
16
 
18
17
  /**
@@ -23,6 +22,7 @@ import {
23
22
  */
24
23
  export function KnownArgumentNamesRule(context: ValidationContext): ASTVisitor {
25
24
  return {
25
+ // eslint-disable-next-line new-cap
26
26
  ...KnownArgumentNamesOnDirectivesRule(context),
27
27
  Argument(argNode) {
28
28
  const argDef = context.getArgument();
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.KnownDirectivesRule = KnownDirectivesRule;
7
7
 
8
- var _inspect = _interopRequireDefault(require("../../jsutils/inspect"));
8
+ var _inspect = _interopRequireDefault(require("../../jsutils/inspect.js"));
9
9
 
10
- var _invariant = _interopRequireDefault(require("../../jsutils/invariant"));
10
+ var _invariant = _interopRequireDefault(require("../../jsutils/invariant.js"));
11
11
 
12
- var _GraphQLError = require("../../error/GraphQLError");
12
+ var _GraphQLError = require("../../error/GraphQLError.js");
13
13
 
14
- var _kinds = require("../../language/kinds");
14
+ var _kinds = require("../../language/kinds.js");
15
15
 
16
- var _directiveLocation = require("../../language/directiveLocation");
16
+ var _directiveLocation = require("../../language/directiveLocation.js");
17
17
 
18
- var _directives = require("../../type/directives");
18
+ var _directives = require("../../type/directives.js");
19
19
 
20
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
21
 
@@ -1,23 +1,20 @@
1
1
  // @flow strict
2
-
3
2
  import inspect from '../../jsutils/inspect';
4
3
  import invariant from '../../jsutils/invariant';
5
4
 
6
5
  import { GraphQLError } from '../../error/GraphQLError';
7
6
 
7
+ import type { ASTVisitor } from '../../language/visitor';
8
+ import type { ASTNode, OperationTypeNode } from '../../language/ast';
9
+ import type { DirectiveLocationEnum } from '../../language/directiveLocation';
8
10
  import { Kind } from '../../language/kinds';
9
- import { type ASTVisitor } from '../../language/visitor';
10
- import { type OperationTypeNode } from '../../language/ast';
11
- import {
12
- type DirectiveLocationEnum,
13
- DirectiveLocation,
14
- } from '../../language/directiveLocation';
11
+ import { DirectiveLocation } from '../../language/directiveLocation';
15
12
 
16
13
  import { specifiedDirectives } from '../../type/directives';
17
14
 
18
- import {
19
- type ValidationContext,
20
- type SDLValidationContext,
15
+ import type {
16
+ ValidationContext,
17
+ SDLValidationContext,
21
18
  } from '../ValidationContext';
22
19
 
23
20
  /**
@@ -71,7 +68,9 @@ export function KnownDirectivesRule(
71
68
  };
72
69
  }
73
70
 
74
- function getDirectiveLocationForASTPath(ancestors) {
71
+ function getDirectiveLocationForASTPath(
72
+ ancestors: $ReadOnlyArray<ASTNode | $ReadOnlyArray<ASTNode>>,
73
+ ): DirectiveLocationEnum | void {
75
74
  const appliedTo = ancestors[ancestors.length - 1];
76
75
  invariant(!Array.isArray(appliedTo));
77
76
 
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.KnownFragmentNamesRule = KnownFragmentNamesRule;
7
7
 
8
- var _GraphQLError = require("../../error/GraphQLError");
8
+ var _GraphQLError = require("../../error/GraphQLError.js");
9
9
 
10
10
  /**
11
11
  * Known fragment names
@@ -1,9 +1,9 @@
1
1
  // @flow strict
2
-
3
2
  import { GraphQLError } from '../../error/GraphQLError';
4
- import { type ASTVisitor } from '../../language/visitor';
5
3
 
6
- import { type ValidationContext } from '../ValidationContext';
4
+ import type { ASTVisitor } from '../../language/visitor';
5
+
6
+ import type { ValidationContext } from '../ValidationContext';
7
7
 
8
8
  /**
9
9
  * Known fragment names
@@ -5,15 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.KnownTypeNamesRule = KnownTypeNamesRule;
7
7
 
8
- var _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean"));
8
+ var _didYouMean = _interopRequireDefault(require("../../jsutils/didYouMean.js"));
9
9
 
10
- var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList"));
10
+ var _suggestionList = _interopRequireDefault(require("../../jsutils/suggestionList.js"));
11
11
 
12
- var _GraphQLError = require("../../error/GraphQLError");
12
+ var _GraphQLError = require("../../error/GraphQLError.js");
13
13
 
14
- var _predicates = require("../../language/predicates");
14
+ var _predicates = require("../../language/predicates.js");
15
15
 
16
- var _scalars = require("../../type/scalars");
16
+ var _scalars = require("../../type/scalars.js");
17
+
18
+ var _introspection = require("../../type/introspection.js");
17
19
 
18
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
21
 
@@ -47,23 +49,23 @@ function KnownTypeNamesRule(context) {
47
49
  var definitionNode = (_ancestors$ = ancestors[2]) !== null && _ancestors$ !== void 0 ? _ancestors$ : parent;
48
50
  var isSDL = definitionNode != null && isSDLNode(definitionNode);
49
51
 
50
- if (isSDL && isSpecifiedScalarName(typeName)) {
52
+ if (isSDL && isStandardTypeName(typeName)) {
51
53
  return;
52
54
  }
53
55
 
54
- var suggestedTypes = (0, _suggestionList.default)(typeName, isSDL ? specifiedScalarsNames.concat(typeNames) : typeNames);
56
+ var suggestedTypes = (0, _suggestionList.default)(typeName, isSDL ? standardTypeNames.concat(typeNames) : typeNames);
55
57
  context.reportError(new _GraphQLError.GraphQLError("Unknown type \"".concat(typeName, "\".") + (0, _didYouMean.default)(suggestedTypes), node));
56
58
  }
57
59
  }
58
60
  };
59
61
  }
60
62
 
61
- var specifiedScalarsNames = _scalars.specifiedScalarTypes.map(function (type) {
63
+ var standardTypeNames = [].concat(_scalars.specifiedScalarTypes, _introspection.introspectionTypes).map(function (type) {
62
64
  return type.name;
63
65
  });
64
66
 
65
- function isSpecifiedScalarName(typeName) {
66
- return specifiedScalarsNames.indexOf(typeName) !== -1;
67
+ function isStandardTypeName(typeName) {
68
+ return standardTypeNames.indexOf(typeName) !== -1;
67
69
  }
68
70
 
69
71
  function isSDLNode(value) {
@@ -1,12 +1,11 @@
1
1
  // @flow strict
2
-
3
2
  import didYouMean from '../../jsutils/didYouMean';
4
3
  import suggestionList from '../../jsutils/suggestionList';
5
4
 
6
5
  import { GraphQLError } from '../../error/GraphQLError';
7
6
 
8
- import { type ASTNode } from '../../language/ast';
9
- import { type ASTVisitor } from '../../language/visitor';
7
+ import type { ASTNode } from '../../language/ast';
8
+ import type { ASTVisitor } from '../../language/visitor';
10
9
  import {
11
10
  isTypeDefinitionNode,
12
11
  isTypeSystemDefinitionNode,
@@ -14,10 +13,11 @@ import {
14
13
  } from '../../language/predicates';
15
14
 
16
15
  import { specifiedScalarTypes } from '../../type/scalars';
16
+ import { introspectionTypes } from '../../type/introspection';
17
17
 
18
- import {
19
- type ValidationContext,
20
- type SDLValidationContext,
18
+ import type {
19
+ ValidationContext,
20
+ SDLValidationContext,
21
21
  } from '../ValidationContext';
22
22
 
23
23
  /**
@@ -49,13 +49,13 @@ export function KnownTypeNamesRule(
49
49
  if (!existingTypesMap[typeName] && !definedTypes[typeName]) {
50
50
  const definitionNode = ancestors[2] ?? parent;
51
51
  const isSDL = definitionNode != null && isSDLNode(definitionNode);
52
- if (isSDL && isSpecifiedScalarName(typeName)) {
52
+ if (isSDL && isStandardTypeName(typeName)) {
53
53
  return;
54
54
  }
55
55
 
56
56
  const suggestedTypes = suggestionList(
57
57
  typeName,
58
- isSDL ? specifiedScalarsNames.concat(typeNames) : typeNames,
58
+ isSDL ? standardTypeNames.concat(typeNames) : typeNames,
59
59
  );
60
60
  context.reportError(
61
61
  new GraphQLError(
@@ -68,9 +68,12 @@ export function KnownTypeNamesRule(
68
68
  };
69
69
  }
70
70
 
71
- const specifiedScalarsNames = specifiedScalarTypes.map((type) => type.name);
72
- function isSpecifiedScalarName(typeName) {
73
- return specifiedScalarsNames.indexOf(typeName) !== -1;
71
+ const standardTypeNames = [...specifiedScalarTypes, ...introspectionTypes].map(
72
+ (type) => type.name,
73
+ );
74
+
75
+ function isStandardTypeName(typeName: string): boolean {
76
+ return standardTypeNames.indexOf(typeName) !== -1;
74
77
  }
75
78
 
76
79
  function isSDLNode(value: ASTNode | $ReadOnlyArray<ASTNode>): boolean {